diff --git a/test/EFCore.Cosmos.FunctionalTests/BuiltInDataTypesCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/BuiltInDataTypesCosmosTest.cs index 31f14211bb5..05320678375 100644 --- a/test/EFCore.Cosmos.FunctionalTests/BuiltInDataTypesCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/BuiltInDataTypesCosmosTest.cs @@ -50,9 +50,11 @@ public override void Object_to_string_conversion() base.Object_to_string_conversion(); AssertSql( - @"SELECT c[""TestSignedByte""], c[""TestByte""], c[""TestInt16""], c[""TestUnsignedInt16""], c[""TestInt32""], c[""TestUnsignedInt32""], c[""TestInt64""], c[""TestUnsignedInt64""], c[""TestSingle""], c[""TestDouble""], c[""TestDecimal""], c[""TestCharacter""], c[""TestDateTime""], c[""TestDateTimeOffset""], c[""TestTimeSpan""] +""" +SELECT c["TestSignedByte"], c["TestByte"], c["TestInt16"], c["TestUnsignedInt16"], c["TestInt32"], c["TestUnsignedInt32"], c["TestInt64"], c["TestUnsignedInt64"], c["TestSingle"], c["TestDouble"], c["TestDecimal"], c["TestCharacter"], c["TestDateTime"], c["TestDateTimeOffset"], c["TestTimeSpan"] FROM root c -WHERE ((c[""Discriminator""] = ""BuiltInDataTypes"") AND (c[""Id""] = 13))"); +WHERE ((c["Discriminator"] = "BuiltInDataTypes") AND (c["Id"] = 13)) +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Cosmos.FunctionalTests/CustomConvertersCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/CustomConvertersCosmosTest.cs index 7d9cfb08014..eae0210accf 100644 --- a/test/EFCore.Cosmos.FunctionalTests/CustomConvertersCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/CustomConvertersCosmosTest.cs @@ -71,9 +71,11 @@ public override void Where_bool_gets_converted_to_equality_when_value_conversion base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used(); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Blog"", ""RssBlog"") AND (c[""IsVisible""] = ""Y""))"); +WHERE (c["Discriminator"] IN ("Blog", "RssBlog") AND (c["IsVisible"] = "Y")) +"""); } [ConditionalFact] @@ -82,9 +84,11 @@ public override void Where_negated_bool_gets_converted_to_equality_when_value_co base.Where_negated_bool_gets_converted_to_equality_when_value_conversion_is_used(); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Blog"", ""RssBlog"") AND NOT((c[""IsVisible""] = ""Y"")))"); +WHERE (c["Discriminator"] IN ("Blog", "RssBlog") AND NOT((c["IsVisible"] = "Y"))) +"""); } [ConditionalFact] @@ -93,9 +97,11 @@ public override void Where_bool_gets_converted_to_equality_when_value_conversion base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_EFProperty(); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Blog"", ""RssBlog"") AND (c[""IsVisible""] = ""Y""))"); +WHERE (c["Discriminator"] IN ("Blog", "RssBlog") AND (c["IsVisible"] = "Y")) +"""); } [ConditionalFact] @@ -104,9 +110,11 @@ public override void Where_bool_gets_converted_to_equality_when_value_conversion base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_indexer(); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Blog"", ""RssBlog"") AND NOT((c[""IndexerVisible""] = ""Aye"")))"); +WHERE (c["Discriminator"] IN ("Blog", "RssBlog") AND NOT((c["IndexerVisible"] = "Aye"))) +"""); } [ConditionalFact(Skip = "Issue#27678")] diff --git a/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs index fb8e4c85c64..b0f632fb609 100644 --- a/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/EndToEndCosmosTest.cs @@ -1167,12 +1167,15 @@ public void Can_read_with_find_with_partition_key_without_value_generator() Assert.Equal("Theon", customerFromStore.Name); Assert.Equal(pk1, customerFromStore.PartitionKey); AssertSql( - context, @"@__p_1='42' + context, +""" +@__p_1='42' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""Id""] = @__p_1)) -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["Id"] = @__p_1)) +OFFSET 0 LIMIT 1 +"""); customerFromStore.Name = "Theon Greyjoy"; @@ -1297,12 +1300,15 @@ public async Task Can_read_with_find_with_PK_resource_id() Assert.Equal("42", customerFromStore.id); Assert.Equal("Theon", customerFromStore.Name); AssertSql( - context, @"@__p_0='42' + context, +""" +@__p_0='42' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""CustomerWithResourceId"") AND (c[""id""] = @__p_0)) -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "CustomerWithResourceId") AND (c["id"] = @__p_0)) +OFFSET 0 LIMIT 1 +"""); } } diff --git a/test/EFCore.Cosmos.FunctionalTests/PartitionKeyTest.cs b/test/EFCore.Cosmos.FunctionalTests/PartitionKeyTest.cs index eb27eb9cb8d..146e50417a7 100644 --- a/test/EFCore.Cosmos.FunctionalTests/PartitionKeyTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/PartitionKeyTest.cs @@ -25,11 +25,13 @@ public PartitionKeyTest(CosmosPartitionKeyFixture fixture) public virtual async Task Can_add_update_delete_end_to_end_with_partition_key() { const string readSql = - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""PartitionKey""] -OFFSET 0 LIMIT 1"; +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["PartitionKey"] +OFFSET 0 LIMIT 1 +"""; await PartitionKeyTestAsync( ctx => ctx.Customers.OrderBy(c => c.PartitionKey).FirstAsync(), @@ -43,10 +45,12 @@ await PartitionKeyTestAsync( public virtual async Task Can_add_update_delete_end_to_end_with_with_partition_key_extension() { const string readSql = - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -OFFSET 0 LIMIT 1"; +WHERE (c["Discriminator"] = "Customer") +OFFSET 0 LIMIT 1 +"""; await PartitionKeyTestAsync( ctx => ctx.Customers.WithPartitionKey("1").FirstAsync(), @@ -60,10 +64,12 @@ await PartitionKeyTestAsync( public async Task Can_query_with_implicit_partition_key_filter() { const string readSql = - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""Id""] = 42) OR (c[""Name""] = ""John Snow""))) -OFFSET 0 LIMIT 1"; +WHERE ((c["Discriminator"] = "Customer") AND ((c["Id"] = 42) OR (c["Name"] = "John Snow"))) +OFFSET 0 LIMIT 1 +"""; await PartitionKeyTestAsync( ctx => ctx.Customers diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/FromSqlQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/FromSqlQueryCosmosTest.cs index 5a634670ce5..3e8e84909e6 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/FromSqlQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/FromSqlQueryCosmosTest.cs @@ -37,10 +37,12 @@ public async Task FromSqlRaw_queryable_simple(bool async) Assert.Equal(14, context.ChangeTracker.Entries().Count()); AssertSql( - @"SELECT c +""" +SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" AND c[""ContactName""] LIKE '%z%' -) c"); + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" AND c["ContactName"] LIKE '%z%' +) c +"""); } [ConditionalTheory] @@ -75,10 +77,12 @@ public async Task FromSqlRaw_queryable_simple_columns_out_of_order(bool async) Assert.Equal(91, context.ChangeTracker.Entries().Count()); AssertSql( - @"SELECT c +""" +SELECT c FROM ( - SELECT c[""id""], c[""Discriminator""], c[""Region""], c[""PostalCode""], c[""Phone""], c[""Fax""], c[""CustomerID""], c[""Country""], c[""ContactTitle""], c[""ContactName""], c[""CompanyName""], c[""City""], c[""Address""] FROM root c WHERE c[""Discriminator""] = ""Customer"" -) c"); + SELECT c["id"], c["Discriminator"], c["Region"], c["PostalCode"], c["Phone"], c["Fax"], c["CustomerID"], c["Country"], c["ContactTitle"], c["ContactName"], c["CompanyName"], c["City"], c["Address"] FROM root c WHERE c["Discriminator"] = "Customer" +) c +"""); } [ConditionalTheory] @@ -97,10 +101,12 @@ public async Task FromSqlRaw_queryable_simple_columns_out_of_order_and_extra_col Assert.Equal(91, context.ChangeTracker.Entries().Count()); AssertSql( - @"SELECT c +""" +SELECT c FROM ( - SELECT c[""id""], c[""Discriminator""], c[""Region""], c[""PostalCode""], c[""PostalCode""] AS Foo, c[""Phone""], c[""Fax""], c[""CustomerID""], c[""Country""], c[""ContactTitle""], c[""ContactName""], c[""CompanyName""], c[""City""], c[""Address""] FROM root c WHERE c[""Discriminator""] = ""Customer"" -) c"); + SELECT c["id"], c["Discriminator"], c["Region"], c["PostalCode"], c["PostalCode"] AS Foo, c["Phone"], c["Fax"], c["CustomerID"], c["Country"], c["ContactTitle"], c["ContactName"], c["CompanyName"], c["City"], c["Address"] FROM root c WHERE c["Discriminator"] = "Customer" +) c +"""); } [ConditionalTheory] @@ -121,11 +127,13 @@ public async Task FromSqlRaw_queryable_composed(bool async) Assert.Equal(14, context.ChangeTracker.Entries().Count()); AssertSql( - @"SELECT c +""" +SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" ) c -WHERE CONTAINS(c[""ContactName""], ""z"")"); +WHERE CONTAINS(c["ContactName"], "z") +"""); } [ConditionalTheory] @@ -191,11 +199,13 @@ public async Task FromSqlRaw_queryable_composed_compiled(bool async) } AssertSql( - @"SELECT c +""" +SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" ) c -WHERE CONTAINS(c[""ContactName""], ""z"")"); +WHERE CONTAINS(c["ContactName"], "z") +"""); } [ConditionalTheory] @@ -232,11 +242,13 @@ public virtual async Task FromSqlRaw_queryable_composed_compiled_with_parameter( } AssertSql( - @"SELECT c +""" +SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" AND c[""CustomerID""] = ""CONSH"" + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" AND c["CustomerID"] = "CONSH" ) c -WHERE CONTAINS(c[""ContactName""], ""z"")"); +WHERE CONTAINS(c["ContactName"], "z") +"""); } [ConditionalTheory] @@ -245,9 +257,11 @@ public virtual async Task FromSqlRaw_queryable_multiple_line_query(bool async) { using var context = CreateContext(); var query = context.Set().FromSqlRaw( - @"SELECT * +""" +SELECT * FROM root c -WHERE c[""Discriminator""] = ""Customer"" AND c[""City""] = 'London'"); +WHERE c["Discriminator"] = "Customer" AND c["City"] = 'London' +"""); var actual = async ? await query.ToArrayAsync() @@ -257,12 +271,14 @@ FROM root c Assert.True(actual.All(c => c.City == "London")); AssertSql( - @"SELECT c +""" +SELECT c FROM ( SELECT * FROM root c - WHERE c[""Discriminator""] = ""Customer"" AND c[""City""] = 'London' -) c"); + WHERE c["Discriminator"] = "Customer" AND c["City"] = 'London' +) c +"""); } [ConditionalTheory] @@ -271,9 +287,11 @@ public virtual async Task FromSqlRaw_queryable_composed_multiple_line_query(bool { using var context = CreateContext(); var query = context.Set().FromSqlRaw( - @"SELECT * +""" +SELECT * FROM root c -WHERE c[""Discriminator""] = ""Customer""") +WHERE c["Discriminator"] = "Customer" +""") .Where(c => c.City == "London"); var actual = async @@ -284,13 +302,15 @@ FROM root c Assert.True(actual.All(c => c.City == "London")); AssertSql( - @"SELECT c +""" +SELECT c FROM ( SELECT * FROM root c - WHERE c[""Discriminator""] = ""Customer"" + WHERE c["Discriminator"] = "Customer" ) c -WHERE (c[""City""] = ""London"")"); +WHERE (c["City"] = "London") +"""); } [ConditionalTheory] @@ -314,13 +334,15 @@ public async Task FromSqlRaw_queryable_with_parameters(bool async) Assert.True(actual.All(c => c.ContactTitle == "Sales Representative")); AssertSql( - @"@p0='London' +""" +@p0='London' @p1='Sales Representative' SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" AND c[""City""] = @p0 AND c[""ContactTitle""] = @p1 -) c"); + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" AND c["City"] = @p0 AND c["ContactTitle"] = @p1 +) c +"""); } [ConditionalTheory] @@ -342,13 +364,15 @@ public async Task FromSqlRaw_queryable_with_parameters_inline(bool async) Assert.True(actual.All(c => c.ContactTitle == "Sales Representative")); AssertSql( - @"@p0='London' +""" +@p0='London' @p1='Sales Representative' SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" AND c[""City""] = @p0 AND c[""ContactTitle""] = @p1 -) c"); + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" AND c["City"] = @p0 AND c["ContactTitle"] = @p1 +) c +"""); } [ConditionalTheory] @@ -369,12 +393,14 @@ public async Task FromSqlRaw_queryable_with_null_parameter(bool async) Assert.Single(actual); AssertSql( - @"@p0=null +""" +@p0=null SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Employee"" AND c[""ReportsTo""] = @p0 OR (IS_NULL(c[""ReportsTo""]) AND IS_NULL(@p0)) -) c"); + SELECT * FROM root c WHERE c["Discriminator"] = "Employee" AND c["ReportsTo"] = @p0 OR (IS_NULL(c["ReportsTo"]) AND IS_NULL(@p0)) +) c +"""); } [ConditionalTheory] @@ -399,14 +425,16 @@ public async Task FromSqlRaw_queryable_with_parameters_and_closure(bool async) Assert.True(actual.All(c => c.ContactTitle == "Sales Representative")); AssertSql( - @"@p0='London' +""" +@p0='London' @__contactTitle_1='Sales Representative' SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" AND c[""City""] = @p0 + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" AND c["City"] = @p0 ) c -WHERE (c[""ContactTitle""] = @__contactTitle_1)"); +WHERE (c["ContactTitle"] = @__contactTitle_1) +"""); } [ConditionalTheory] @@ -435,15 +463,19 @@ public virtual async Task FromSqlRaw_queryable_simple_cache_key_includes_query_s Assert.True(actual.All(c => c.City == "Seattle")); AssertSql( - @"SELECT c +""" +SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" AND c[""City""] = 'London' -) c", - // - @"SELECT c + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" AND c["City"] = 'London' +) c +""", + // +""" +SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" AND c[""City""] = 'Seattle' -) c"); + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" AND c["City"] = 'Seattle' +) c +"""); } [ConditionalTheory] @@ -479,21 +511,25 @@ public virtual async Task FromSqlRaw_queryable_with_parameters_cache_key_include Assert.True(actual.All(c => c.ContactTitle == "Accounting Manager")); AssertSql( - @"@p0='London' +""" +@p0='London' @p1='Sales Representative' SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" AND c[""City""] = @p0 AND c[""ContactTitle""] = @p1 -) c", - // - @"@p0='Madrid' + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" AND c["City"] = @p0 AND c["ContactTitle"] = @p1 +) c +""", + // +""" +@p0='Madrid' @p1='Accounting Manager' SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" AND c[""City""] = @p0 AND c[""ContactTitle""] = @p1 -) c"); + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" AND c["City"] = @p0 AND c["ContactTitle"] = @p1 +) c +"""); } [ConditionalTheory] @@ -512,10 +548,12 @@ public virtual async Task FromSqlRaw_queryable_simple_as_no_tracking_not_compose Assert.Empty(context.ChangeTracker.Entries()); AssertSql( - @"SELECT c +""" +SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" -) c"); + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" +) c +"""); } [ConditionalTheory] @@ -536,12 +574,14 @@ FROM root c Assert.Equal(2, actual.Length); AssertSql( - @"SELECT c[""ProductName""] +""" +SELECT c["ProductName"] FROM ( SELECT * FROM root c - WHERE c[""Discriminator""] = ""Product"" AND NOT c[""Discontinued""] AND ((c[""UnitsInStock""] + c[""UnitsOnOrder""]) < c[""ReorderLevel""]) -) c"); + WHERE c["Discriminator"] = "Product" AND NOT c["Discontinued"] AND ((c["UnitsInStock"] + c["UnitsOnOrder"]) < c["ReorderLevel"]) +) c +"""); } [ConditionalTheory] @@ -559,11 +599,13 @@ public virtual async Task FromSqlRaw_composed_with_nullable_predicate(bool async Assert.Empty(actual); AssertSql( - @"SELECT c +""" +SELECT c FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" ) c -WHERE (c[""ContactName""] = c[""CompanyName""])"); +WHERE (c["ContactName"] = c["CompanyName"]) +"""); } [ConditionalTheory] @@ -601,10 +643,12 @@ public virtual async Task FromSqlRaw_queryable_simple_projection_not_composed(bo Assert.Empty(context.ChangeTracker.Entries()); AssertSql( - @"SELECT c[""CustomerID""], c[""City""] +""" +SELECT c["CustomerID"], c["City"] FROM ( - SELECT * FROM root c WHERE c[""Discriminator""] = ""Customer"" -) c"); + SELECT * FROM root c WHERE c["Discriminator"] = "Customer" +) c +"""); } [ConditionalTheory] diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/InheritanceQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/InheritanceQueryCosmosTest.cs index 9958d72a336..6a389c4adca 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/InheritanceQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/InheritanceQueryCosmosTest.cs @@ -17,20 +17,26 @@ public override async Task Can_query_when_shared_column(bool async) await base.Can_query_when_shared_column(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Coke"") -OFFSET 0 LIMIT 2", - // - @"SELECT c +WHERE (c["Discriminator"] = "Coke") +OFFSET 0 LIMIT 2 +""", + // +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Lilt"") -OFFSET 0 LIMIT 2", - // - @"SELECT c +WHERE (c["Discriminator"] = "Lilt") +OFFSET 0 LIMIT 2 +""", + // +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Tea"") -OFFSET 0 LIMIT 2"); +WHERE (c["Discriminator"] = "Tea") +OFFSET 0 LIMIT 2 +"""); } public override async Task Can_query_all_types_when_shared_column(bool async) @@ -38,9 +44,11 @@ public override async Task Can_query_all_types_when_shared_column(bool async) await base.Can_query_all_types_when_shared_column(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE c[""Discriminator""] IN (""Drink"", ""Coke"", ""Lilt"", ""Tea"")"); +WHERE c["Discriminator"] IN ("Drink", "Coke", "Lilt", "Tea") +"""); } public override async Task Can_use_of_type_animal(bool async) @@ -48,10 +56,12 @@ public override async Task Can_use_of_type_animal(bool async) await base.Can_use_of_type_animal(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE c[""Discriminator""] IN (""Eagle"", ""Kiwi"") -ORDER BY c[""Species""]"); +WHERE c["Discriminator"] IN ("Eagle", "Kiwi") +ORDER BY c["Species"] +"""); } public override async Task Can_use_is_kiwi(bool async) @@ -59,9 +69,11 @@ public override async Task Can_use_is_kiwi(bool async) await base.Can_use_is_kiwi(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Discriminator""] = ""Kiwi""))"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Discriminator"] = "Kiwi")) +"""); } public override async Task Can_use_is_kiwi_with_cast(bool async) @@ -69,9 +81,11 @@ public override async Task Can_use_is_kiwi_with_cast(bool async) await base.Can_use_is_kiwi_with_cast(async); AssertSql( - @"SELECT VALUE {""Value"" : ((c[""Discriminator""] = ""Kiwi"") ? c[""FoundOn""] : 0)} +""" +SELECT VALUE {"Value" : ((c["Discriminator"] = "Kiwi") ? c["FoundOn"] : 0)} FROM root c -WHERE c[""Discriminator""] IN (""Eagle"", ""Kiwi"")"); +WHERE c["Discriminator"] IN ("Eagle", "Kiwi") +"""); } public override async Task Can_use_backwards_is_animal(bool async) @@ -79,9 +93,11 @@ public override async Task Can_use_backwards_is_animal(bool async) await base.Can_use_backwards_is_animal(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Kiwi"")"); +WHERE (c["Discriminator"] = "Kiwi") +"""); } public override async Task Can_use_is_kiwi_with_other_predicate(bool async) @@ -89,9 +105,11 @@ public override async Task Can_use_is_kiwi_with_other_predicate(bool async) await base.Can_use_is_kiwi_with_other_predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND ((c[""Discriminator""] = ""Kiwi"") AND (c[""CountryId""] = 1)))"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND ((c["Discriminator"] = "Kiwi") AND (c["CountryId"] = 1))) +"""); } public override async Task Can_use_is_kiwi_in_projection(bool async) @@ -99,9 +117,11 @@ public override async Task Can_use_is_kiwi_in_projection(bool async) await base.Can_use_is_kiwi_in_projection(async); AssertSql( - @"SELECT VALUE {""c"" : (c[""Discriminator""] = ""Kiwi"")} +""" +SELECT VALUE {"c" : (c["Discriminator"] = "Kiwi")} FROM root c -WHERE c[""Discriminator""] IN (""Eagle"", ""Kiwi"")"); +WHERE c["Discriminator"] IN ("Eagle", "Kiwi") +"""); } public override async Task Can_use_of_type_bird(bool async) @@ -109,10 +129,12 @@ public override async Task Can_use_of_type_bird(bool async) await base.Can_use_of_type_bird(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND c[""Discriminator""] IN (""Eagle"", ""Kiwi"")) -ORDER BY c[""Species""]"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND c["Discriminator"] IN ("Eagle", "Kiwi")) +ORDER BY c["Species"] +"""); } public override async Task Can_use_of_type_bird_predicate(bool async) @@ -120,10 +142,12 @@ public override async Task Can_use_of_type_bird_predicate(bool async) await base.Can_use_of_type_bird_predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""CountryId""] = 1)) AND c[""Discriminator""] IN (""Eagle"", ""Kiwi"")) -ORDER BY c[""Species""]"); +WHERE ((c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["CountryId"] = 1)) AND c["Discriminator"] IN ("Eagle", "Kiwi")) +ORDER BY c["Species"] +"""); } public override async Task Can_use_of_type_bird_with_projection(bool async) @@ -131,9 +155,11 @@ public override async Task Can_use_of_type_bird_with_projection(bool async) await base.Can_use_of_type_bird_with_projection(async); AssertSql( - @"SELECT c[""EagleId""] +""" +SELECT c["EagleId"] FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND c[""Discriminator""] IN (""Eagle"", ""Kiwi""))"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND c["Discriminator"] IN ("Eagle", "Kiwi")) +"""); } public override async Task Can_use_of_type_bird_first(bool async) @@ -141,11 +167,13 @@ public override async Task Can_use_of_type_bird_first(bool async) await base.Can_use_of_type_bird_first(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND c[""Discriminator""] IN (""Eagle"", ""Kiwi"")) -ORDER BY c[""Species""] -OFFSET 0 LIMIT 1"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND c["Discriminator"] IN ("Eagle", "Kiwi")) +ORDER BY c["Species"] +OFFSET 0 LIMIT 1 +"""); } public override async Task Can_use_of_type_kiwi(bool async) @@ -153,9 +181,11 @@ public override async Task Can_use_of_type_kiwi(bool async) await base.Can_use_of_type_kiwi(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Discriminator""] = ""Kiwi""))"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Discriminator"] = "Kiwi")) +"""); } public override async Task Can_use_backwards_of_type_animal(bool async) @@ -163,9 +193,11 @@ public override async Task Can_use_backwards_of_type_animal(bool async) await base.Can_use_backwards_of_type_animal(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Kiwi"")"); +WHERE (c["Discriminator"] = "Kiwi") +"""); } public override async Task Can_use_of_type_rose(bool async) @@ -173,9 +205,11 @@ public override async Task Can_use_of_type_rose(bool async) await base.Can_use_of_type_rose(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Daisy"", ""Rose"") AND (c[""Discriminator""] = ""Rose""))"); +WHERE (c["Discriminator"] IN ("Daisy", "Rose") AND (c["Discriminator"] = "Rose")) +"""); } public override async Task Can_query_all_animals(bool async) @@ -183,10 +217,12 @@ public override async Task Can_query_all_animals(bool async) await base.Can_query_all_animals(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE c[""Discriminator""] IN (""Eagle"", ""Kiwi"") -ORDER BY c[""Species""]"); +WHERE c["Discriminator"] IN ("Eagle", "Kiwi") +ORDER BY c["Species"] +"""); } [ConditionalTheory(Skip = "Issue#17246 Views are not supported")] @@ -202,10 +238,12 @@ public override async Task Can_query_all_plants(bool async) await base.Can_query_all_plants(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE c[""Discriminator""] IN (""Daisy"", ""Rose"") -ORDER BY c[""Species""]"); +WHERE c["Discriminator"] IN ("Daisy", "Rose") +ORDER BY c["Species"] +"""); } public override async Task Can_filter_all_animals(bool async) @@ -213,10 +251,12 @@ public override async Task Can_filter_all_animals(bool async) await base.Can_filter_all_animals(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Name""] = ""Great spotted kiwi"")) -ORDER BY c[""Species""]"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Name"] = "Great spotted kiwi")) +ORDER BY c["Species"] +"""); } public override async Task Can_query_all_birds(bool async) @@ -224,10 +264,12 @@ public override async Task Can_query_all_birds(bool async) await base.Can_query_all_birds(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE c[""Discriminator""] IN (""Eagle"", ""Kiwi"") -ORDER BY c[""Species""]"); +WHERE c["Discriminator"] IN ("Eagle", "Kiwi") +ORDER BY c["Species"] +"""); } public override async Task Can_query_just_kiwis(bool async) @@ -235,10 +277,12 @@ public override async Task Can_query_just_kiwis(bool async) await base.Can_query_just_kiwis(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Kiwi"") -OFFSET 0 LIMIT 2"); +WHERE (c["Discriminator"] = "Kiwi") +OFFSET 0 LIMIT 2 +"""); } public override async Task Can_query_just_roses(bool async) @@ -246,10 +290,12 @@ public override async Task Can_query_just_roses(bool async) await base.Can_query_just_roses(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Rose"") -OFFSET 0 LIMIT 2"); +WHERE (c["Discriminator"] = "Rose") +OFFSET 0 LIMIT 2 +"""); } [ConditionalTheory(Skip = "Issue#17246 Non-embedded Include")] @@ -273,9 +319,11 @@ public override async Task Can_use_of_type_kiwi_where_south_on_derived_property( await base.Can_use_of_type_kiwi_where_south_on_derived_property(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Discriminator""] = ""Kiwi"")) AND (c[""FoundOn""] = 1))"); +WHERE ((c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Discriminator"] = "Kiwi")) AND (c["FoundOn"] = 1)) +"""); } public override async Task Can_use_of_type_kiwi_where_north_on_derived_property(bool async) @@ -283,9 +331,11 @@ public override async Task Can_use_of_type_kiwi_where_north_on_derived_property( await base.Can_use_of_type_kiwi_where_north_on_derived_property(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Discriminator""] = ""Kiwi"")) AND (c[""FoundOn""] = 0))"); +WHERE ((c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Discriminator"] = "Kiwi")) AND (c["FoundOn"] = 0)) +"""); } public override async Task Discriminator_used_when_projection_over_derived_type(bool async) @@ -293,9 +343,11 @@ public override async Task Discriminator_used_when_projection_over_derived_type( await base.Discriminator_used_when_projection_over_derived_type(async); AssertSql( - @"SELECT c[""FoundOn""] +""" +SELECT c["FoundOn"] FROM root c -WHERE (c[""Discriminator""] = ""Kiwi"")"); +WHERE (c["Discriminator"] = "Kiwi") +"""); } public override async Task Discriminator_used_when_projection_over_derived_type2(bool async) @@ -303,9 +355,11 @@ public override async Task Discriminator_used_when_projection_over_derived_type2 await base.Discriminator_used_when_projection_over_derived_type2(async); AssertSql( - @"SELECT c[""IsFlightless""], c[""Discriminator""] +""" +SELECT c["IsFlightless"], c["Discriminator"] FROM root c -WHERE c[""Discriminator""] IN (""Eagle"", ""Kiwi"")"); +WHERE c["Discriminator"] IN ("Eagle", "Kiwi") +"""); } public override async Task Discriminator_with_cast_in_shadow_property(bool async) @@ -313,9 +367,11 @@ public override async Task Discriminator_with_cast_in_shadow_property(bool async await base.Discriminator_with_cast_in_shadow_property(async); AssertSql( - @"SELECT VALUE {""Predator"" : c[""Name""]} +""" +SELECT VALUE {"Predator" : c["Name"]} FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (""Kiwi"" = c[""Discriminator""]))"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND ("Kiwi" = c["Discriminator"])) +"""); } public override async Task Discriminator_used_when_projection_over_of_type(bool async) @@ -323,9 +379,11 @@ public override async Task Discriminator_used_when_projection_over_of_type(bool await base.Discriminator_used_when_projection_over_of_type(async); AssertSql( - @"SELECT c[""FoundOn""] +""" +SELECT c["FoundOn"] FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Discriminator""] = ""Kiwi""))"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Discriminator"] = "Kiwi")) +"""); } [ConditionalFact(Skip = "Issue#17246 Transations not supported")] @@ -362,13 +420,15 @@ public override async Task Subquery_OfType(bool async) await base.Subquery_OfType(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT DISTINCT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Discriminator""] = ""Kiwi"")) -ORDER BY c[""Species""] -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Discriminator"] = "Kiwi")) +ORDER BY c["Species"] +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Union_entity_equality(bool async) @@ -383,10 +443,12 @@ public override void Setting_foreign_key_to_a_different_type_throws() base.Setting_foreign_key_to_a_different_type_throws(); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Kiwi"") -OFFSET 0 LIMIT 2"); +WHERE (c["Discriminator"] = "Kiwi") +OFFSET 0 LIMIT 2 +"""); } public override async Task Byte_enum_value_constant_used_in_projection(bool async) @@ -394,9 +456,11 @@ public override async Task Byte_enum_value_constant_used_in_projection(bool asyn await base.Byte_enum_value_constant_used_in_projection(async); AssertSql( - @"SELECT VALUE {""c"" : (c[""IsFlightless""] ? 0 : 1)} +""" +SELECT VALUE {"c" : (c["IsFlightless"] ? 0 : 1)} FROM root c -WHERE (c[""Discriminator""] = ""Kiwi"")"); +WHERE (c["Discriminator"] = "Kiwi") +"""); } public override void Member_access_on_intermediate_type_works() @@ -404,10 +468,12 @@ public override void Member_access_on_intermediate_type_works() base.Member_access_on_intermediate_type_works(); AssertSql( - @"SELECT c[""Name""] +""" +SELECT c["Name"] FROM root c -WHERE (c[""Discriminator""] = ""Kiwi"") -ORDER BY c[""Name""]"); +WHERE (c["Discriminator"] = "Kiwi") +ORDER BY c["Name"] +"""); } [ConditionalTheory(Skip = "Issue#17246 subquery usage")] @@ -423,9 +489,11 @@ public override async Task Selecting_only_base_properties_on_base_type(bool asyn await base.Selecting_only_base_properties_on_base_type(async); AssertSql( - @"SELECT c[""Name""] +""" +SELECT c["Name"] FROM root c -WHERE c[""Discriminator""] IN (""Eagle"", ""Kiwi"")"); +WHERE c["Discriminator"] IN ("Eagle", "Kiwi") +"""); } public override async Task Selecting_only_base_properties_on_derived_type(bool async) @@ -433,9 +501,11 @@ public override async Task Selecting_only_base_properties_on_derived_type(bool a await base.Selecting_only_base_properties_on_derived_type(async); AssertSql( - @"SELECT c[""Name""] +""" +SELECT c["Name"] FROM root c -WHERE c[""Discriminator""] IN (""Eagle"", ""Kiwi"")"); +WHERE c["Discriminator"] IN ("Eagle", "Kiwi") +"""); } public override async Task GetType_in_hierarchy_in_abstract_base_type(bool async) @@ -443,9 +513,11 @@ public override async Task GetType_in_hierarchy_in_abstract_base_type(bool async await base.GetType_in_hierarchy_in_abstract_base_type(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND false)"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND false) +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) @@ -453,9 +525,11 @@ public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) await base.GetType_in_hierarchy_in_intermediate_type(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND false)"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND false) +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool async) @@ -463,9 +537,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool a await base.GetType_in_hierarchy_in_leaf_type_with_sibling(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Discriminator""] = ""Eagle""))"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Discriminator"] = "Eagle")) +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool async) @@ -473,9 +549,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool await base.GetType_in_hierarchy_in_leaf_type_with_sibling2(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Discriminator""] = ""Kiwi""))"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Discriminator"] = "Kiwi")) +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(bool async) @@ -483,9 +561,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_rever await base.GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Discriminator""] = ""Kiwi""))"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Discriminator"] = "Kiwi")) +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(bool async) @@ -493,9 +573,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_e await base.GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""Eagle"", ""Kiwi"") AND (c[""Discriminator""] != ""Kiwi""))"); +WHERE (c["Discriminator"] IN ("Eagle", "Kiwi") AND (c["Discriminator"] != "Kiwi")) +"""); } protected override bool EnforcesFkConstraints diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindAggregateOperatorsQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindAggregateOperatorsQueryCosmosTest.cs index ef0cc724245..c63a9ddd897 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindAggregateOperatorsQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindAggregateOperatorsQueryCosmosTest.cs @@ -29,9 +29,11 @@ public override async Task Average_over_default_returns_default(bool async) await base.Average_over_default_returns_default(async); AssertSql( - @"SELECT AVG((c[""OrderID""] - 10248)) AS c +""" +SELECT AVG((c["OrderID"] - 10248)) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = 10248))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = 10248)) +"""); } public override async Task Contains_over_keyless_entity_throws(bool async) @@ -40,10 +42,12 @@ public override async Task Contains_over_keyless_entity_throws(bool async) await AssertTranslationFailed(() => base.Contains_over_keyless_entity_throws(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -OFFSET 0 LIMIT 1"); +WHERE (c["Discriminator"] = "Customer") +OFFSET 0 LIMIT 1 +"""); } public override async Task Contains_with_local_non_primitive_list_closure_mix(bool async) @@ -51,9 +55,11 @@ public override async Task Contains_with_local_non_primitive_list_closure_mix(bo await base.Contains_with_local_non_primitive_list_closure_mix(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI")) +"""); } public override async Task Contains_with_local_non_primitive_list_inline_closure_mix(bool async) @@ -61,13 +67,17 @@ public override async Task Contains_with_local_non_primitive_list_inline_closure await base.Contains_with_local_non_primitive_list_inline_closure_mix(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI""))", - // - @"SELECT c +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI")) +""", + // +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ANATR""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ANATR")) +"""); } public override async Task Count_on_projection_with_client_eval(bool async) @@ -75,17 +85,23 @@ public override async Task Count_on_projection_with_client_eval(bool async) await base.Count_on_projection_with_client_eval(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")", - // - @"SELECT COUNT(1) AS c +WHERE (c["Discriminator"] = "Order") +""", + // +""" +SELECT COUNT(1) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")", - // - @"SELECT COUNT(1) AS c +WHERE (c["Discriminator"] = "Order") +""", + // +""" +SELECT COUNT(1) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task First(bool async) @@ -93,11 +109,13 @@ public override async Task First(bool async) await base.First(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""ContactName""] -OFFSET 0 LIMIT 1"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["ContactName"] +OFFSET 0 LIMIT 1 +"""); } public override async Task Max_over_default_returns_default(bool async) @@ -105,9 +123,11 @@ public override async Task Max_over_default_returns_default(bool async) await base.Max_over_default_returns_default(async); AssertSql( - @"SELECT MAX((c[""OrderID""] - 10248)) AS c +""" +SELECT MAX((c["OrderID"] - 10248)) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = 10248))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = 10248)) +"""); } public override async Task Min_over_default_returns_default(bool async) @@ -116,9 +136,11 @@ public override async Task Min_over_default_returns_default(bool async) await base.Min_over_default_returns_default(async); AssertSql( - @"SELECT MIN((c[""OrderID""] - 10248)) AS c +""" +SELECT MIN((c["OrderID"] - 10248)) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = 10248))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = 10248)) +"""); } public override async Task Sum_over_empty_returns_zero(bool async) @@ -126,9 +148,11 @@ public override async Task Sum_over_empty_returns_zero(bool async) await base.Sum_over_empty_returns_zero(async); AssertSql( - @"SELECT SUM(c[""OrderID""]) AS c +""" +SELECT SUM(c["OrderID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = 42))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = 42)) +"""); } public override async Task First_Predicate(bool async) @@ -136,11 +160,13 @@ public override async Task First_Predicate(bool async) await base.First_Predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London"")) -ORDER BY c[""ContactName""] -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +ORDER BY c["ContactName"] +OFFSET 0 LIMIT 1 +"""); } public override async Task Single_Throws(bool async) @@ -148,10 +174,12 @@ public override async Task Single_Throws(bool async) await base.Single_Throws(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -OFFSET 0 LIMIT 2"); +WHERE (c["Discriminator"] = "Customer") +OFFSET 0 LIMIT 2 +"""); } public override async Task Where_First(bool async) @@ -159,11 +187,13 @@ public override async Task Where_First(bool async) await base.Where_First(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London"")) -ORDER BY c[""ContactName""] -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +ORDER BY c["ContactName"] +OFFSET 0 LIMIT 1 +"""); } public override async Task Where_Single(bool async) @@ -171,10 +201,12 @@ public override async Task Where_Single(bool async) await base.Where_Single(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI"")) -OFFSET 0 LIMIT 2"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +OFFSET 0 LIMIT 2 +"""); } public override async Task FirstOrDefault(bool async) @@ -182,11 +214,13 @@ public override async Task FirstOrDefault(bool async) await base.FirstOrDefault(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""ContactName""] -OFFSET 0 LIMIT 1"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["ContactName"] +OFFSET 0 LIMIT 1 +"""); } public override async Task Array_cast_to_IEnumerable_Contains_with_constant(bool async) @@ -194,9 +228,11 @@ public override async Task Array_cast_to_IEnumerable_Contains_with_constant(bool await base.Array_cast_to_IEnumerable_Contains_with_constant(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ALFKI"", ""WRONG""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ALFKI", "WRONG")) +"""); } public override async Task FirstOrDefault_Predicate(bool async) @@ -204,11 +240,13 @@ public override async Task FirstOrDefault_Predicate(bool async) await base.FirstOrDefault_Predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London"")) -ORDER BY c[""ContactName""] -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +ORDER BY c["ContactName"] +OFFSET 0 LIMIT 1 +"""); } public override async Task SingleOrDefault_Predicate(bool async) @@ -216,10 +254,12 @@ public override async Task SingleOrDefault_Predicate(bool async) await base.SingleOrDefault_Predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI"")) -OFFSET 0 LIMIT 2"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +OFFSET 0 LIMIT 2 +"""); } public override async Task SingleOrDefault_Throws(bool async) @@ -227,10 +267,12 @@ public override async Task SingleOrDefault_Throws(bool async) await base.SingleOrDefault_Throws(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -OFFSET 0 LIMIT 2"); +WHERE (c["Discriminator"] = "Customer") +OFFSET 0 LIMIT 2 +"""); } public override async Task Where_FirstOrDefault(bool async) @@ -238,11 +280,13 @@ public override async Task Where_FirstOrDefault(bool async) await base.Where_FirstOrDefault(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London"")) -ORDER BY c[""ContactName""] -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +ORDER BY c["ContactName"] +OFFSET 0 LIMIT 1 +"""); } public override async Task Where_SingleOrDefault(bool async) @@ -250,10 +294,12 @@ public override async Task Where_SingleOrDefault(bool async) await base.Where_SingleOrDefault(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI"")) -OFFSET 0 LIMIT 2"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +OFFSET 0 LIMIT 2 +"""); } public override async Task Select_All(bool async) @@ -269,9 +315,11 @@ public override async Task Sum_with_no_arg(bool async) await base.Sum_with_no_arg(async); AssertSql( - @"SELECT SUM(c[""OrderID""]) AS c +""" +SELECT SUM(c["OrderID"]) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Sum_with_no_data_cast_to_nullable(bool async) @@ -279,9 +327,11 @@ public override async Task Sum_with_no_data_cast_to_nullable(bool async) await base.Sum_with_no_data_cast_to_nullable(async); AssertSql( - @"SELECT SUM(c[""OrderID""]) AS c +""" +SELECT SUM(c["OrderID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] < 0))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] < 0)) +"""); } public override async Task Sum_with_binary_expression(bool async) @@ -289,9 +339,11 @@ public override async Task Sum_with_binary_expression(bool async) await base.Sum_with_binary_expression(async); AssertSql( - @"SELECT SUM((c[""OrderID""] * 2)) AS c +""" +SELECT SUM((c["OrderID"] * 2)) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Sum_with_no_arg_empty(bool async) @@ -299,9 +351,11 @@ public override async Task Sum_with_no_arg_empty(bool async) await base.Sum_with_no_arg_empty(async); AssertSql( - @"SELECT SUM(c[""OrderID""]) AS c +""" +SELECT SUM(c["OrderID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = 42))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = 42)) +"""); } public override async Task Sum_with_no_data_nullable(bool async) @@ -309,9 +363,11 @@ public override async Task Sum_with_no_data_nullable(bool async) await base.Sum_with_no_data_nullable(async); AssertSql( - @"SELECT SUM(c[""SupplierID""]) AS c +""" +SELECT SUM(c["SupplierID"]) AS c FROM root c -WHERE (c[""Discriminator""] = ""Product"")"); +WHERE (c["Discriminator"] = "Product") +"""); } public override async Task Sum_with_arg(bool async) @@ -319,9 +375,11 @@ public override async Task Sum_with_arg(bool async) await base.Sum_with_arg(async); AssertSql( - @"SELECT SUM(c[""OrderID""]) AS c +""" +SELECT SUM(c["OrderID"]) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Sum_with_arg_expression(bool async) @@ -329,9 +387,11 @@ public override async Task Sum_with_arg_expression(bool async) await base.Sum_with_arg_expression(async); AssertSql( - @"SELECT SUM((c[""OrderID""] + c[""OrderID""])) AS c +""" +SELECT SUM((c["OrderID"] + c["OrderID"])) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Sum_with_division_on_decimal(bool async) @@ -356,9 +416,11 @@ public override async Task Sum_with_coalesce(bool async) await base.Sum_with_coalesce(async); AssertSql( - @"SELECT SUM(((c[""UnitPrice""] != null) ? c[""UnitPrice""] : 0.0)) AS c +""" +SELECT SUM(((c["UnitPrice"] != null) ? c["UnitPrice"] : 0.0)) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""ProductID""] < 40))"); +WHERE ((c["Discriminator"] = "Product") AND (c["ProductID"] < 40)) +"""); } public override async Task Sum_over_subquery_is_client_eval(bool async) @@ -390,9 +452,11 @@ public override async Task Sum_on_float_column(bool async) await base.Sum_on_float_column(async); AssertSql( - @"SELECT SUM(c[""Discount""]) AS c +""" +SELECT SUM(c["Discount"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND (c[""ProductID""] = 1))"); +WHERE ((c["Discriminator"] = "OrderDetail") AND (c["ProductID"] = 1)) +"""); } public override async Task Sum_on_float_column_in_subquery(bool async) @@ -408,9 +472,11 @@ public override async Task Average_no_data(bool async) await base.Average_no_data(async); AssertSql( - @"SELECT AVG(c[""OrderID""]) AS c +""" +SELECT AVG(c["OrderID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = -1))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = -1)) +"""); } public override async Task Average_no_data_nullable(bool async) @@ -418,9 +484,11 @@ public override async Task Average_no_data_nullable(bool async) await base.Average_no_data_nullable(async); AssertSql( - @"SELECT AVG(c[""SupplierID""]) AS c +""" +SELECT AVG(c["SupplierID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""SupplierID""] = -1))"); +WHERE ((c["Discriminator"] = "Product") AND (c["SupplierID"] = -1)) +"""); } public override async Task Average_no_data_cast_to_nullable(bool async) @@ -428,9 +496,11 @@ public override async Task Average_no_data_cast_to_nullable(bool async) await base.Average_no_data_cast_to_nullable(async); AssertSql( - @"SELECT AVG(c[""OrderID""]) AS c +""" +SELECT AVG(c["OrderID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = -1))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = -1)) +"""); } public override async Task Min_no_data(bool async) @@ -438,9 +508,11 @@ public override async Task Min_no_data(bool async) await base.Min_no_data(async); AssertSql( - @"SELECT MIN(c[""OrderID""]) AS c +""" +SELECT MIN(c["OrderID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = -1))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = -1)) +"""); } public override async Task Max_no_data(bool async) @@ -448,9 +520,11 @@ public override async Task Max_no_data(bool async) await base.Max_no_data(async); AssertSql( - @"SELECT MAX(c[""OrderID""]) AS c +""" +SELECT MAX(c["OrderID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = -1))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = -1)) +"""); } public override async Task Average_no_data_subquery(bool async) @@ -474,9 +548,11 @@ public override async Task Max_no_data_nullable(bool async) await base.Max_no_data_nullable(async); AssertSql( - @"SELECT MAX(c[""SupplierID""]) AS c +""" +SELECT MAX(c["SupplierID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""SupplierID""] = -1))"); +WHERE ((c["Discriminator"] = "Product") AND (c["SupplierID"] = -1)) +"""); } public override async Task Max_no_data_cast_to_nullable(bool async) @@ -484,9 +560,11 @@ public override async Task Max_no_data_cast_to_nullable(bool async) await base.Max_no_data_cast_to_nullable(async); AssertSql( - @"SELECT MAX(c[""OrderID""]) AS c +""" +SELECT MAX(c["OrderID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = -1))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = -1)) +"""); } public override async Task Min_no_data_subquery(bool async) @@ -503,9 +581,11 @@ public override async Task Average_with_no_arg(bool async) await Assert.ThrowsAsync(async () => await base.Average_with_no_arg(async)); AssertSql( - @"SELECT AVG(c[""OrderID""]) AS c +""" +SELECT AVG(c["OrderID"]) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Average_with_binary_expression(bool async) @@ -513,9 +593,11 @@ public override async Task Average_with_binary_expression(bool async) await base.Average_with_binary_expression(async); AssertSql( - @"SELECT AVG((c[""OrderID""] * 2)) AS c +""" +SELECT AVG((c["OrderID"] * 2)) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Average_with_arg(bool async) @@ -524,9 +606,11 @@ public override async Task Average_with_arg(bool async) await Assert.ThrowsAsync(async () => await base.Average_with_arg(async)); AssertSql( - @"SELECT AVG(c[""OrderID""]) AS c +""" +SELECT AVG(c["OrderID"]) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Average_with_arg_expression(bool async) @@ -534,9 +618,11 @@ public override async Task Average_with_arg_expression(bool async) await base.Average_with_arg_expression(async); AssertSql( - @"SELECT AVG((c[""OrderID""] + c[""OrderID""])) AS c +""" +SELECT AVG((c["OrderID"] + c["OrderID"])) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Average_with_division_on_decimal(bool async) @@ -561,9 +647,11 @@ public override async Task Average_with_coalesce(bool async) await base.Average_with_coalesce(async); AssertSql( - @"SELECT AVG(((c[""UnitPrice""] != null) ? c[""UnitPrice""] : 0.0)) AS c +""" +SELECT AVG(((c["UnitPrice"] != null) ? c["UnitPrice"] : 0.0)) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""ProductID""] < 40))"); +WHERE ((c["Discriminator"] = "Product") AND (c["ProductID"] < 40)) +"""); } public override async Task Average_over_subquery_is_client_eval(bool async) @@ -595,9 +683,11 @@ public override async Task Average_on_float_column(bool async) await base.Average_on_float_column(async); AssertSql( - @"SELECT AVG(c[""Discount""]) AS c +""" +SELECT AVG(c["Discount"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND (c[""ProductID""] = 1))"); +WHERE ((c["Discriminator"] = "OrderDetail") AND (c["ProductID"] = 1)) +"""); } public override async Task Average_on_float_column_in_subquery(bool async) @@ -621,9 +711,11 @@ public override async Task Min_with_no_arg(bool async) await base.Min_with_no_arg(async); AssertSql( - @"SELECT MIN(c[""OrderID""]) AS c +""" +SELECT MIN(c["OrderID"]) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Min_with_arg(bool async) @@ -631,9 +723,11 @@ public override async Task Min_with_arg(bool async) await base.Min_with_arg(async); AssertSql( - @"SELECT MIN(c[""OrderID""]) AS c +""" +SELECT MIN(c["OrderID"]) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Min_no_data_nullable(bool async) @@ -641,9 +735,11 @@ public override async Task Min_no_data_nullable(bool async) await base.Min_no_data_nullable(async); AssertSql( - @"SELECT MIN(c[""SupplierID""]) AS c +""" +SELECT MIN(c["SupplierID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""SupplierID""] = -1))"); +WHERE ((c["Discriminator"] = "Product") AND (c["SupplierID"] = -1)) +"""); } public override async Task Min_no_data_cast_to_nullable(bool async) @@ -651,9 +747,11 @@ public override async Task Min_no_data_cast_to_nullable(bool async) await base.Min_no_data_cast_to_nullable(async); AssertSql( - @"SELECT MIN(c[""OrderID""]) AS c +""" +SELECT MIN(c["OrderID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = -1))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = -1)) +"""); } public override async Task Min_with_coalesce(bool async) @@ -661,9 +759,11 @@ public override async Task Min_with_coalesce(bool async) await base.Min_with_coalesce(async); AssertSql( - @"SELECT MIN(((c[""UnitPrice""] != null) ? c[""UnitPrice""] : 0.0)) AS c +""" +SELECT MIN(((c["UnitPrice"] != null) ? c["UnitPrice"] : 0.0)) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""ProductID""] < 40))"); +WHERE ((c["Discriminator"] = "Product") AND (c["ProductID"] < 40)) +"""); } public override async Task Min_over_subquery_is_client_eval(bool async) @@ -695,9 +795,11 @@ public override async Task Max_with_no_arg(bool async) await base.Max_with_no_arg(async); AssertSql( - @"SELECT MAX(c[""OrderID""]) AS c +""" +SELECT MAX(c["OrderID"]) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Max_with_arg(bool async) @@ -705,9 +807,11 @@ public override async Task Max_with_arg(bool async) await base.Max_with_arg(async); AssertSql( - @"SELECT MAX(c[""OrderID""]) AS c +""" +SELECT MAX(c["OrderID"]) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Max_with_coalesce(bool async) @@ -715,9 +819,11 @@ public override async Task Max_with_coalesce(bool async) await base.Max_with_coalesce(async); AssertSql( - @"SELECT MAX(((c[""UnitPrice""] != null) ? c[""UnitPrice""] : 0.0)) AS c +""" +SELECT MAX(((c["UnitPrice"] != null) ? c["UnitPrice"] : 0.0)) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""ProductID""] < 40))"); +WHERE ((c["Discriminator"] = "Product") AND (c["ProductID"] < 40)) +"""); } public override async Task Max_over_subquery_is_client_eval(bool async) @@ -749,9 +855,11 @@ public override async Task Count_with_no_predicate(bool async) await base.Count_with_no_predicate(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Count_with_predicate(bool async) @@ -759,9 +867,11 @@ public override async Task Count_with_predicate(bool async) await base.Count_with_predicate(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Count_with_order_by(bool async) @@ -769,9 +879,11 @@ public override async Task Count_with_order_by(bool async) await base.Count_with_order_by(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Where_OrderBy_Count(bool async) @@ -779,9 +891,11 @@ public override async Task Where_OrderBy_Count(bool async) await base.Where_OrderBy_Count(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task OrderBy_Where_Count(bool async) @@ -789,9 +903,11 @@ public override async Task OrderBy_Where_Count(bool async) await base.OrderBy_Where_Count(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task OrderBy_Count_with_predicate(bool async) @@ -799,9 +915,11 @@ public override async Task OrderBy_Count_with_predicate(bool async) await base.OrderBy_Count_with_predicate(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task OrderBy_Where_Count_with_predicate(bool async) @@ -809,9 +927,11 @@ public override async Task OrderBy_Where_Count_with_predicate(bool async) await base.OrderBy_Where_Count_with_predicate(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE (((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] > 10)) AND (c[""CustomerID""] != ""ALFKI""))"); +WHERE (((c["Discriminator"] = "Order") AND (c["OrderID"] > 10)) AND (c["CustomerID"] != "ALFKI")) +"""); } public override async Task Where_OrderBy_Count_client_eval(bool async) @@ -885,13 +1005,15 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_client_Take(async)); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Employee"") +WHERE (c["Discriminator"] = "Employee") ORDER BY 42 -OFFSET 0 LIMIT @__p_0"); +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Distinct(bool async) @@ -899,9 +1021,11 @@ public override async Task Distinct(bool async) await base.Distinct(async); AssertSql( - @"SELECT DISTINCT c +""" +SELECT DISTINCT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } [ConditionalTheory(Skip = "Fails on CI #27688")] @@ -910,9 +1034,11 @@ public override async Task Distinct_Scalar(bool async) await base.Distinct_Scalar(async); AssertSql( - @"SELECT DISTINCT c[""City""] +""" +SELECT DISTINCT c[""City""] FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c[""Discriminator""] = ""Customer"") +"""); } public override async Task OrderBy_Distinct(bool async) @@ -920,10 +1046,12 @@ public override async Task OrderBy_Distinct(bool async) await base.OrderBy_Distinct(async); AssertSql( - @"SELECT DISTINCT c[""City""] +""" +SELECT DISTINCT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Distinct_OrderBy(bool async) @@ -969,10 +1097,12 @@ public override async Task Single_Predicate(bool async) await base.Single_Predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI"")) -OFFSET 0 LIMIT 2"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +OFFSET 0 LIMIT 2 +"""); } public override async Task FirstOrDefault_inside_subquery_gets_server_evaluated(bool async) @@ -1004,11 +1134,13 @@ public override async Task Last(bool async) await base.Last(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""ContactName""] DESC -OFFSET 0 LIMIT 1"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["ContactName"] DESC +OFFSET 0 LIMIT 1 +"""); } public override async Task Last_when_no_order_by(bool async) @@ -1016,10 +1148,12 @@ public override async Task Last_when_no_order_by(bool async) await base.Last_when_no_order_by(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI"")) -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +OFFSET 0 LIMIT 1 +"""); } public override async Task LastOrDefault_when_no_order_by(bool async) @@ -1027,10 +1161,12 @@ public override async Task LastOrDefault_when_no_order_by(bool async) await base.LastOrDefault_when_no_order_by(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI"")) -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +OFFSET 0 LIMIT 1 +"""); } public override async Task Last_Predicate(bool async) @@ -1038,11 +1174,13 @@ public override async Task Last_Predicate(bool async) await base.Last_Predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London"")) -ORDER BY c[""ContactName""] DESC -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +ORDER BY c["ContactName"] DESC +OFFSET 0 LIMIT 1 +"""); } public override async Task Where_Last(bool async) @@ -1050,11 +1188,13 @@ public override async Task Where_Last(bool async) await base.Where_Last(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London"")) -ORDER BY c[""ContactName""] DESC -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +ORDER BY c["ContactName"] DESC +OFFSET 0 LIMIT 1 +"""); } public override async Task LastOrDefault(bool async) @@ -1062,11 +1202,13 @@ public override async Task LastOrDefault(bool async) await base.LastOrDefault(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""ContactName""] DESC -OFFSET 0 LIMIT 1"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["ContactName"] DESC +OFFSET 0 LIMIT 1 +"""); } public override async Task LastOrDefault_Predicate(bool async) @@ -1074,11 +1216,13 @@ public override async Task LastOrDefault_Predicate(bool async) await base.LastOrDefault_Predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London"")) -ORDER BY c[""ContactName""] DESC -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +ORDER BY c["ContactName"] DESC +OFFSET 0 LIMIT 1 +"""); } public override async Task Where_LastOrDefault(bool async) @@ -1086,11 +1230,13 @@ public override async Task Where_LastOrDefault(bool async) await base.Where_LastOrDefault(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London"")) -ORDER BY c[""ContactName""] DESC -OFFSET 0 LIMIT 1"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +ORDER BY c["ContactName"] DESC +OFFSET 0 LIMIT 1 +"""); } public override async Task Contains_with_subquery(bool async) @@ -1106,13 +1252,17 @@ public override async Task Contains_with_local_array_closure(bool async) await base.Contains_with_local_array_closure(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI""))", - // - @"SELECT c +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI")) +""", + // +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE")) +"""); } public override async Task Contains_with_subquery_and_local_array_closure(bool async) @@ -1128,13 +1278,17 @@ public override async Task Contains_with_local_uint_array_closure(bool async) await base.Contains_with_local_uint_array_closure(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND c[""EmployeeID""] IN (0, 1))", - // - @"SELECT c +WHERE ((c["Discriminator"] = "Employee") AND c["EmployeeID"] IN (0, 1)) +""", + // +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND c[""EmployeeID""] IN (0))"); +WHERE ((c["Discriminator"] = "Employee") AND c["EmployeeID"] IN (0)) +"""); } public override async Task Contains_with_local_nullable_uint_array_closure(bool async) @@ -1142,13 +1296,17 @@ public override async Task Contains_with_local_nullable_uint_array_closure(bool await base.Contains_with_local_nullable_uint_array_closure(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND c[""EmployeeID""] IN (0, 1))", - // - @"SELECT c +WHERE ((c["Discriminator"] = "Employee") AND c["EmployeeID"] IN (0, 1)) +""", + // +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND c[""EmployeeID""] IN (0))"); +WHERE ((c["Discriminator"] = "Employee") AND c["EmployeeID"] IN (0)) +"""); } public override async Task Contains_with_local_array_inline(bool async) @@ -1156,9 +1314,11 @@ public override async Task Contains_with_local_array_inline(bool async) await base.Contains_with_local_array_inline(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI")) +"""); } public override async Task Contains_with_local_list_closure(bool async) @@ -1166,9 +1326,11 @@ public override async Task Contains_with_local_list_closure(bool async) await base.Contains_with_local_list_closure(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI")) +"""); } public override async Task Contains_with_local_object_list_closure(bool async) @@ -1176,9 +1338,11 @@ public override async Task Contains_with_local_object_list_closure(bool async) await base.Contains_with_local_object_list_closure(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI")) +"""); } public override async Task Contains_with_local_list_closure_all_null(bool async) @@ -1186,9 +1350,11 @@ public override async Task Contains_with_local_list_closure_all_null(bool async) await base.Contains_with_local_list_closure_all_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = null)) +"""); } public override async Task Contains_with_local_list_inline(bool async) @@ -1196,9 +1362,11 @@ public override async Task Contains_with_local_list_inline(bool async) await base.Contains_with_local_list_inline(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI")) +"""); } public override async Task Contains_with_local_list_inline_closure_mix(bool async) @@ -1206,13 +1374,17 @@ public override async Task Contains_with_local_list_inline_closure_mix(bool asyn await base.Contains_with_local_list_inline_closure_mix(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI""))", - // - @"SELECT c +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI")) +""", + // +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ANATR""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ANATR")) +"""); } public override async Task Contains_with_local_collection_false(bool async) @@ -1220,9 +1392,11 @@ public override async Task Contains_with_local_collection_false(bool async) await base.Contains_with_local_collection_false(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND NOT(c[""CustomerID""] IN (""ABCDE"", ""ALFKI"")))"); +WHERE ((c["Discriminator"] = "Customer") AND NOT(c["CustomerID"] IN ("ABCDE", "ALFKI"))) +"""); } public override async Task Contains_with_local_collection_complex_predicate_and(bool async) @@ -1230,9 +1404,11 @@ public override async Task Contains_with_local_collection_complex_predicate_and( await base.Contains_with_local_collection_complex_predicate_and(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CustomerID""] = ""ALFKI"") OR (c[""CustomerID""] = ""ABCDE"")) AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CustomerID"] = "ALFKI") OR (c["CustomerID"] = "ABCDE")) AND c["CustomerID"] IN ("ABCDE", "ALFKI"))) +"""); } public override async Task Contains_with_local_collection_complex_predicate_or(bool async) @@ -1240,9 +1416,11 @@ public override async Task Contains_with_local_collection_complex_predicate_or(b await base.Contains_with_local_collection_complex_predicate_or(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ABCDE"", ""ALFKI"") OR ((c[""CustomerID""] = ""ALFKI"") OR (c[""CustomerID""] = ""ABCDE""))))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ABCDE", "ALFKI") OR ((c["CustomerID"] = "ALFKI") OR (c["CustomerID"] = "ABCDE")))) +"""); } public override async Task Contains_with_local_collection_complex_predicate_not_matching_ins1(bool async) @@ -1250,9 +1428,11 @@ public override async Task Contains_with_local_collection_complex_predicate_not_ await base.Contains_with_local_collection_complex_predicate_not_matching_ins1(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CustomerID""] = ""ALFKI"") OR (c[""CustomerID""] = ""ABCDE"")) OR NOT(c[""CustomerID""] IN (""ABCDE"", ""ALFKI""))))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CustomerID"] = "ALFKI") OR (c["CustomerID"] = "ABCDE")) OR NOT(c["CustomerID"] IN ("ABCDE", "ALFKI")))) +"""); } public override async Task Contains_with_local_collection_complex_predicate_not_matching_ins2(bool async) @@ -1260,9 +1440,11 @@ public override async Task Contains_with_local_collection_complex_predicate_not_ await base.Contains_with_local_collection_complex_predicate_not_matching_ins2(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ABCDE"", ""ALFKI"") AND ((c[""CustomerID""] != ""ALFKI"") AND (c[""CustomerID""] != ""ABCDE""))))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ABCDE", "ALFKI") AND ((c["CustomerID"] != "ALFKI") AND (c["CustomerID"] != "ABCDE")))) +"""); } public override async Task Contains_with_local_collection_sql_injection(bool async) @@ -1270,9 +1452,11 @@ public override async Task Contains_with_local_collection_sql_injection(bool asy await base.Contains_with_local_collection_sql_injection(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ALFKI"", ""ABC')); GO; DROP TABLE Orders; GO; --"") OR ((c[""CustomerID""] = ""ALFKI"") OR (c[""CustomerID""] = ""ABCDE""))))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ALFKI", "ABC')); GO; DROP TABLE Orders; GO; --") OR ((c["CustomerID"] = "ALFKI") OR (c["CustomerID"] = "ABCDE")))) +"""); } public override async Task Contains_with_local_collection_empty_closure(bool async) @@ -1280,9 +1464,11 @@ public override async Task Contains_with_local_collection_empty_closure(bool asy await base.Contains_with_local_collection_empty_closure(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (true = false))"); +WHERE ((c["Discriminator"] = "Customer") AND (true = false)) +"""); } public override async Task Contains_with_local_collection_empty_inline(bool async) @@ -1290,9 +1476,11 @@ public override async Task Contains_with_local_collection_empty_inline(bool asyn await base.Contains_with_local_collection_empty_inline(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND NOT((true = false)))"); +WHERE ((c["Discriminator"] = "Customer") AND NOT((true = false))) +"""); } public override async Task Contains_top_level(bool async) @@ -1388,10 +1576,12 @@ public override async Task Contains_over_entityType_should_rewrite_to_identity_e await AssertTranslationFailed(() => base.Contains_over_entityType_should_rewrite_to_identity_equality(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = 10248)) -OFFSET 0 LIMIT 2"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = 10248)) +OFFSET 0 LIMIT 2 +"""); } public override async Task List_Contains_over_entityType_should_rewrite_to_identity_equality(bool async) @@ -1407,9 +1597,11 @@ public override async Task List_Contains_with_constant_list(bool async) await base.List_Contains_with_constant_list(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ALFKI"", ""ANATR""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ALFKI", "ANATR")) +"""); } public override async Task List_Contains_with_parameter_list(bool async) @@ -1417,9 +1609,11 @@ public override async Task List_Contains_with_parameter_list(bool async) await base.List_Contains_with_parameter_list(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ALFKI"", ""ANATR""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ALFKI", "ANATR")) +"""); } public override async Task Contains_with_parameter_list_value_type_id(bool async) @@ -1427,9 +1621,11 @@ public override async Task Contains_with_parameter_list_value_type_id(bool async await base.Contains_with_parameter_list_value_type_id(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND c[""OrderID""] IN (10248, 10249))"); +WHERE ((c["Discriminator"] = "Order") AND c["OrderID"] IN (10248, 10249)) +"""); } public override async Task Contains_with_constant_list_value_type_id(bool async) @@ -1437,9 +1633,11 @@ public override async Task Contains_with_constant_list_value_type_id(bool async) await base.Contains_with_constant_list_value_type_id(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND c[""OrderID""] IN (10248, 10249))"); +WHERE ((c["Discriminator"] = "Order") AND c["OrderID"] IN (10248, 10249)) +"""); } public override async Task IImmutableSet_Contains_with_parameter(bool async) @@ -1447,9 +1645,11 @@ public override async Task IImmutableSet_Contains_with_parameter(bool async) await base.IImmutableSet_Contains_with_parameter(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ALFKI")) +"""); } public override async Task IReadOnlySet_Contains_with_parameter(bool async) @@ -1457,9 +1657,11 @@ public override async Task IReadOnlySet_Contains_with_parameter(bool async) await base.IReadOnlySet_Contains_with_parameter(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ALFKI")) +"""); } public override async Task HashSet_Contains_with_parameter(bool async) @@ -1467,9 +1669,11 @@ public override async Task HashSet_Contains_with_parameter(bool async) await base.HashSet_Contains_with_parameter(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ALFKI")) +"""); } public override async Task ImmutableHashSet_Contains_with_parameter(bool async) @@ -1477,9 +1681,11 @@ public override async Task ImmutableHashSet_Contains_with_parameter(bool async) await base.ImmutableHashSet_Contains_with_parameter(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ALFKI")) +"""); } public override async Task Contains_over_entityType_with_null_should_rewrite_to_false(bool async) @@ -1503,9 +1709,11 @@ public override async Task String_FirstOrDefault_in_projection_does_not_do_clien await base.String_FirstOrDefault_in_projection_does_not_do_client_eval(async); AssertSql( - @"SELECT LEFT(c[""CustomerID""], 1) AS c +""" +SELECT LEFT(c["CustomerID"], 1) AS c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Project_constant_Sum(bool async) @@ -1513,9 +1721,11 @@ public override async Task Project_constant_Sum(bool async) await base.Project_constant_Sum(async); AssertSql( - @"SELECT SUM(1) AS c +""" +SELECT SUM(1) AS c FROM root c -WHERE (c[""Discriminator""] = ""Employee"")"); +WHERE (c["Discriminator"] = "Employee") +"""); } public override async Task Where_subquery_any_equals_operator(bool async) @@ -1523,9 +1733,11 @@ public override async Task Where_subquery_any_equals_operator(bool async) await base.Where_subquery_any_equals_operator(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI"", ""ANATR""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI", "ANATR")) +"""); } public override async Task Where_subquery_any_equals(bool async) @@ -1533,9 +1745,11 @@ public override async Task Where_subquery_any_equals(bool async) await base.Where_subquery_any_equals(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI"", ""ANATR""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI", "ANATR")) +"""); } public override async Task Where_subquery_any_equals_static(bool async) @@ -1543,9 +1757,11 @@ public override async Task Where_subquery_any_equals_static(bool async) await base.Where_subquery_any_equals_static(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI"", ""ANATR""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["CustomerID"] IN ("ABCDE", "ALFKI", "ANATR")) +"""); } public override async Task Where_subquery_where_any(bool async) @@ -1553,13 +1769,17 @@ public override async Task Where_subquery_where_any(bool async) await base.Where_subquery_where_any(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""México D.F."")) AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI"", ""ANATR""))", - // - @"SELECT c +WHERE (((c["Discriminator"] = "Customer") AND (c["City"] = "México D.F.")) AND c["CustomerID"] IN ("ABCDE", "ALFKI", "ANATR")) +""", + // +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""México D.F."")) AND c[""CustomerID""] IN (""ABCDE"", ""ALFKI"", ""ANATR""))"); +WHERE (((c["Discriminator"] = "Customer") AND (c["City"] = "México D.F.")) AND c["CustomerID"] IN ("ABCDE", "ALFKI", "ANATR")) +"""); } public override async Task Where_subquery_all_not_equals_operator(bool async) @@ -1567,9 +1787,11 @@ public override async Task Where_subquery_all_not_equals_operator(bool async) await base.Where_subquery_all_not_equals_operator(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND NOT(c[""CustomerID""] IN (""ABCDE"", ""ALFKI"", ""ANATR"")))"); +WHERE ((c["Discriminator"] = "Customer") AND NOT(c["CustomerID"] IN ("ABCDE", "ALFKI", "ANATR"))) +"""); } public override async Task Where_subquery_all_not_equals(bool async) @@ -1577,9 +1799,11 @@ public override async Task Where_subquery_all_not_equals(bool async) await base.Where_subquery_all_not_equals(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND NOT(c[""CustomerID""] IN (""ABCDE"", ""ALFKI"", ""ANATR"")))"); +WHERE ((c["Discriminator"] = "Customer") AND NOT(c["CustomerID"] IN ("ABCDE", "ALFKI", "ANATR"))) +"""); } public override async Task Where_subquery_all_not_equals_static(bool async) @@ -1587,9 +1811,11 @@ public override async Task Where_subquery_all_not_equals_static(bool async) await base.Where_subquery_all_not_equals_static(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND NOT(c[""CustomerID""] IN (""ABCDE"", ""ALFKI"", ""ANATR"")))"); +WHERE ((c["Discriminator"] = "Customer") AND NOT(c["CustomerID"] IN ("ABCDE", "ALFKI", "ANATR"))) +"""); } public override async Task Where_subquery_where_all(bool async) @@ -1597,13 +1823,17 @@ public override async Task Where_subquery_where_all(bool async) await base.Where_subquery_where_all(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""México D.F."")) AND NOT(c[""CustomerID""] IN (""ABCDE"", ""ALFKI"", ""ANATR"")))", - // - @"SELECT c +WHERE (((c["Discriminator"] = "Customer") AND (c["City"] = "México D.F.")) AND NOT(c["CustomerID"] IN ("ABCDE", "ALFKI", "ANATR"))) +""", + // +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""México D.F."")) AND NOT(c[""CustomerID""] IN (""ABCDE"", ""ALFKI"", ""ANATR"")))"); +WHERE (((c["Discriminator"] = "Customer") AND (c["City"] = "México D.F.")) AND NOT(c["CustomerID"] IN ("ABCDE", "ALFKI", "ANATR"))) +"""); } public override async Task Cast_to_same_Type_Count_works(bool async) @@ -1611,9 +1841,11 @@ public override async Task Cast_to_same_Type_Count_works(bool async) await base.Cast_to_same_Type_Count_works(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Cast_before_aggregate_is_preserved(bool async) diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindDbFunctionsQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindDbFunctionsQueryCosmosTest.cs index b914dd47f1d..1c7fa46fc45 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindDbFunctionsQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindDbFunctionsQueryCosmosTest.cs @@ -57,9 +57,11 @@ public override async Task Random_return_less_than_1(bool async) await base.Random_return_less_than_1(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (RAND() < 1.0))"); +WHERE ((c["Discriminator"] = "Order") AND (RAND() < 1.0)) +"""); } public override async Task Random_return_greater_than_0(bool async) @@ -67,9 +69,11 @@ public override async Task Random_return_greater_than_0(bool async) await base.Random_return_greater_than_0(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (RAND() >= 0.0))"); +WHERE ((c["Discriminator"] = "Order") AND (RAND() >= 0.0)) +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindFunctionsQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindFunctionsQueryCosmosTest.cs index 29e28e78351..17c7cc3b7c6 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindFunctionsQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindFunctionsQueryCosmosTest.cs @@ -27,9 +27,11 @@ public override async Task String_StartsWith_Literal(bool async) await base.String_StartsWith_Literal(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""ContactName""] != null) AND ((""M"" != null) AND STARTSWITH(c[""ContactName""], ""M""))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["ContactName"] != null) AND (("M" != null) AND STARTSWITH(c["ContactName"], "M")))) +"""); } public override async Task String_StartsWith_Identity(bool async) @@ -37,9 +39,11 @@ public override async Task String_StartsWith_Identity(bool async) await base.String_StartsWith_Identity(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""ContactName""] = """") OR ((c[""ContactName""] != null) AND ((c[""ContactName""] != null) AND STARTSWITH(c[""ContactName""], c[""ContactName""])))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["ContactName"] = "") OR ((c["ContactName"] != null) AND ((c["ContactName"] != null) AND STARTSWITH(c["ContactName"], c["ContactName"]))))) +"""); } public override async Task String_StartsWith_Column(bool async) @@ -47,9 +51,11 @@ public override async Task String_StartsWith_Column(bool async) await base.String_StartsWith_Column(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""ContactName""] = """") OR ((c[""ContactName""] != null) AND ((c[""ContactName""] != null) AND STARTSWITH(c[""ContactName""], c[""ContactName""])))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["ContactName"] = "") OR ((c["ContactName"] != null) AND ((c["ContactName"] != null) AND STARTSWITH(c["ContactName"], c["ContactName"]))))) +"""); } public override async Task String_StartsWith_MethodCall(bool async) @@ -57,9 +63,11 @@ public override async Task String_StartsWith_MethodCall(bool async) await base.String_StartsWith_MethodCall(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""ContactName""] != null) AND ((""M"" != null) AND STARTSWITH(c[""ContactName""], ""M""))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["ContactName"] != null) AND (("M" != null) AND STARTSWITH(c["ContactName"], "M")))) +"""); } public override async Task String_EndsWith_Literal(bool async) @@ -67,9 +75,11 @@ public override async Task String_EndsWith_Literal(bool async) await base.String_EndsWith_Literal(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""ContactName""] != null) AND ((""b"" != null) AND ENDSWITH(c[""ContactName""], ""b""))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["ContactName"] != null) AND (("b" != null) AND ENDSWITH(c["ContactName"], "b")))) +"""); } public override async Task String_EndsWith_Identity(bool async) @@ -77,9 +87,11 @@ public override async Task String_EndsWith_Identity(bool async) await base.String_EndsWith_Identity(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""ContactName""] = """") OR ((c[""ContactName""] != null) AND ((c[""ContactName""] != null) AND ENDSWITH(c[""ContactName""], c[""ContactName""])))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["ContactName"] = "") OR ((c["ContactName"] != null) AND ((c["ContactName"] != null) AND ENDSWITH(c["ContactName"], c["ContactName"]))))) +"""); } public override async Task String_EndsWith_Column(bool async) @@ -87,9 +99,11 @@ public override async Task String_EndsWith_Column(bool async) await base.String_EndsWith_Column(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""ContactName""] = """") OR ((c[""ContactName""] != null) AND ((c[""ContactName""] != null) AND ENDSWITH(c[""ContactName""], c[""ContactName""])))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["ContactName"] = "") OR ((c["ContactName"] != null) AND ((c["ContactName"] != null) AND ENDSWITH(c["ContactName"], c["ContactName"]))))) +"""); } public override async Task String_EndsWith_MethodCall(bool async) @@ -97,9 +111,11 @@ public override async Task String_EndsWith_MethodCall(bool async) await base.String_EndsWith_MethodCall(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""ContactName""] != null) AND ((""m"" != null) AND ENDSWITH(c[""ContactName""], ""m""))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["ContactName"] != null) AND (("m" != null) AND ENDSWITH(c["ContactName"], "m")))) +"""); } public override async Task String_Contains_Literal(bool async) @@ -107,18 +123,22 @@ public override async Task String_Contains_Literal(bool async) await base.String_Contains_Literal(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND CONTAINS(c[""ContactName""], ""M""))"); +WHERE ((c["Discriminator"] = "Customer") AND CONTAINS(c["ContactName"], "M")) +"""); } public override async Task String_Contains_Identity(bool async) { await base.String_Contains_Identity(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND CONTAINS(c[""ContactName""], c[""ContactName""]))"); +WHERE ((c["Discriminator"] = "Customer") AND CONTAINS(c["ContactName"], c["ContactName"])) +"""); } public override async Task String_Contains_Column(bool async) @@ -126,9 +146,11 @@ public override async Task String_Contains_Column(bool async) await base.String_Contains_Column(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND CONTAINS(c[""ContactName""], c[""ContactName""]))"); +WHERE ((c["Discriminator"] = "Customer") AND CONTAINS(c["ContactName"], c["ContactName"])) +"""); } public override async Task String_FirstOrDefault_MethodCall(bool async) @@ -136,9 +158,11 @@ public override async Task String_FirstOrDefault_MethodCall(bool async) await base.String_FirstOrDefault_MethodCall(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (LEFT(c[""ContactName""], 1) = ""A""))"); +WHERE ((c["Discriminator"] = "Customer") AND (LEFT(c["ContactName"], 1) = "A")) +"""); } public override async Task String_LastOrDefault_MethodCall(bool async) @@ -146,9 +170,11 @@ public override async Task String_LastOrDefault_MethodCall(bool async) await base.String_LastOrDefault_MethodCall(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (RIGHT(c[""ContactName""], 1) = ""s""))"); +WHERE ((c["Discriminator"] = "Customer") AND (RIGHT(c["ContactName"], 1) = "s")) +"""); } public override async Task String_Contains_MethodCall(bool async) @@ -156,9 +182,11 @@ public override async Task String_Contains_MethodCall(bool async) await base.String_Contains_MethodCall(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND CONTAINS(c[""ContactName""], ""M""))"); +WHERE ((c["Discriminator"] = "Customer") AND CONTAINS(c["ContactName"], "M")) +"""); } public override async Task String_Compare_simple_zero(bool async) @@ -262,9 +290,11 @@ public override async Task Where_math_abs1(bool async) await base.Where_math_abs1(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (ABS(c[""ProductID""]) > 10))"); +WHERE ((c["Discriminator"] = "Product") AND (ABS(c["ProductID"]) > 10)) +"""); } public override async Task Where_math_abs2(bool async) @@ -272,9 +302,11 @@ public override async Task Where_math_abs2(bool async) await base.Where_math_abs2(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""UnitPrice""] < 7.0)) AND (ABS(c[""Quantity""]) > 10))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["UnitPrice"] < 7.0)) AND (ABS(c["Quantity"]) > 10)) +"""); } public override async Task Where_math_abs3(bool async) @@ -282,9 +314,11 @@ public override async Task Where_math_abs3(bool async) await base.Where_math_abs3(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""Quantity""] < 5)) AND (ABS(c[""UnitPrice""]) > 10.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["Quantity"] < 5)) AND (ABS(c["UnitPrice"]) > 10.0)) +"""); } public override async Task Where_math_abs_uncorrelated(bool async) @@ -292,9 +326,11 @@ public override async Task Where_math_abs_uncorrelated(bool async) await base.Where_math_abs_uncorrelated(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""UnitPrice""] < 7.0)) AND (10 < c[""ProductID""]))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["UnitPrice"] < 7.0)) AND (10 < c["ProductID"])) +"""); } public override async Task Where_math_ceiling1(bool async) @@ -310,9 +346,11 @@ public override async Task Where_math_ceiling2(bool async) await base.Where_math_ceiling2(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""Quantity""] < 5)) AND (CEILING(c[""UnitPrice""]) > 10.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["Quantity"] < 5)) AND (CEILING(c["UnitPrice"]) > 10.0)) +"""); } public override async Task Where_math_floor(bool async) @@ -320,9 +358,11 @@ public override async Task Where_math_floor(bool async) await base.Where_math_floor(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""Quantity""] < 5)) AND (FLOOR(c[""UnitPrice""]) > 10.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["Quantity"] < 5)) AND (FLOOR(c["UnitPrice"]) > 10.0)) +"""); } public override async Task Where_math_power(bool async) @@ -346,9 +386,11 @@ public override async Task Where_math_round(bool async) await base.Where_math_round(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""Quantity""] < 5)) AND (ROUND(c[""UnitPrice""]) > 10.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["Quantity"] < 5)) AND (ROUND(c["UnitPrice"]) > 10.0)) +"""); } public override Task Sum_over_round_works_correctly_in_projection(bool async) @@ -368,9 +410,11 @@ public override async Task Select_math_round_int(bool async) await base.Select_math_round_int(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] < 10250))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] < 10250)) +"""); } public override async Task Select_math_truncate_int(bool async) @@ -378,9 +422,11 @@ public override async Task Select_math_truncate_int(bool async) await base.Select_math_truncate_int(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] < 10250))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] < 10250)) +"""); } public override async Task Where_math_round2(bool async) @@ -396,9 +442,11 @@ public override async Task Where_math_truncate(bool async) await base.Where_math_truncate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""Quantity""] < 5)) AND (TRUNC(c[""UnitPrice""]) > 10.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["Quantity"] < 5)) AND (TRUNC(c["UnitPrice"]) > 10.0)) +"""); } public override async Task Where_math_exp(bool async) @@ -502,9 +550,11 @@ public override async Task Where_math_sign(bool async) await base.Where_math_sign(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (SIGN(c[""Discount""]) > 0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (SIGN(c["Discount"]) > 0)) +"""); } public override async Task Where_math_min(bool async) @@ -536,9 +586,11 @@ public override async Task Where_mathf_ceiling1(bool async) await base.Where_mathf_ceiling1(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""UnitPrice""] < 7.0)) AND (CEILING(c[""Discount""]) > 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["UnitPrice"] < 7.0)) AND (CEILING(c["Discount"]) > 0.0)) +"""); } public override async Task Where_mathf_floor(bool async) @@ -554,9 +606,11 @@ public override async Task Where_mathf_power(bool async) await base.Where_mathf_power(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND (POWER(c[""Discount""], 3.0) > 0.005))"); +WHERE ((c["Discriminator"] = "OrderDetail") AND (POWER(c["Discount"], 3.0) > 0.005)) +"""); } public override async Task Where_mathf_square(bool async) @@ -564,9 +618,11 @@ public override async Task Where_mathf_square(bool async) await base.Where_mathf_square(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND (POWER(c[""Discount""], 2.0) > 0.05))"); +WHERE ((c["Discriminator"] = "OrderDetail") AND (POWER(c["Discount"], 2.0) > 0.05)) +"""); } public override async Task Where_mathf_round2(bool async) @@ -590,9 +646,11 @@ public override async Task Where_mathf_exp(bool async) await base.Where_mathf_exp(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (EXP(c[""Discount""]) > 1.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (EXP(c["Discount"]) > 1.0)) +"""); } public override async Task Where_mathf_log10(bool async) @@ -600,9 +658,11 @@ public override async Task Where_mathf_log10(bool async) await base.Where_mathf_log10(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND ((c[""OrderID""] = 11077) AND (c[""Discount""] > 0.0))) AND (LOG10(c[""Discount""]) < 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND ((c["OrderID"] = 11077) AND (c["Discount"] > 0.0))) AND (LOG10(c["Discount"]) < 0.0)) +"""); } public override async Task Where_mathf_log(bool async) @@ -610,9 +670,11 @@ public override async Task Where_mathf_log(bool async) await base.Where_mathf_log(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND ((c[""OrderID""] = 11077) AND (c[""Discount""] > 0.0))) AND (LOG(c[""Discount""]) < 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND ((c["OrderID"] = 11077) AND (c["Discount"] > 0.0))) AND (LOG(c["Discount"]) < 0.0)) +"""); } public override async Task Where_mathf_log_new_base(bool async) @@ -620,9 +682,11 @@ public override async Task Where_mathf_log_new_base(bool async) await base.Where_mathf_log_new_base(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND ((c[""OrderID""] = 11077) AND (c[""Discount""] > 0.0))) AND (LOG(c[""Discount""], 7.0) < 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND ((c["OrderID"] = 11077) AND (c["Discount"] > 0.0))) AND (LOG(c["Discount"], 7.0) < 0.0)) +"""); } public override async Task Where_mathf_sqrt(bool async) @@ -630,9 +694,11 @@ public override async Task Where_mathf_sqrt(bool async) await base.Where_mathf_sqrt(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (SQRT(c[""Discount""]) > 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (SQRT(c["Discount"]) > 0.0)) +"""); } public override async Task Where_mathf_acos(bool async) @@ -640,9 +706,11 @@ public override async Task Where_mathf_acos(bool async) await base.Where_mathf_acos(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (ACOS(c[""Discount""]) > 1.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (ACOS(c["Discount"]) > 1.0)) +"""); } public override async Task Where_mathf_asin(bool async) @@ -650,9 +718,11 @@ public override async Task Where_mathf_asin(bool async) await base.Where_mathf_asin(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (ASIN(c[""Discount""]) > 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (ASIN(c["Discount"]) > 0.0)) +"""); } public override async Task Where_mathf_atan(bool async) @@ -660,9 +730,11 @@ public override async Task Where_mathf_atan(bool async) await base.Where_mathf_atan(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (ATAN(c[""Discount""]) > 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (ATAN(c["Discount"]) > 0.0)) +"""); } public override async Task Where_mathf_atan2(bool async) @@ -670,9 +742,11 @@ public override async Task Where_mathf_atan2(bool async) await base.Where_mathf_atan2(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (ATN2(c[""Discount""], 1.0) > 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (ATN2(c["Discount"], 1.0) > 0.0)) +"""); } public override async Task Where_mathf_cos(bool async) @@ -680,9 +754,11 @@ public override async Task Where_mathf_cos(bool async) await base.Where_mathf_cos(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (COS(c[""Discount""]) > 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (COS(c["Discount"]) > 0.0)) +"""); } public override async Task Where_mathf_sin(bool async) @@ -690,9 +766,11 @@ public override async Task Where_mathf_sin(bool async) await base.Where_mathf_sin(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (SIN(c[""Discount""]) > 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (SIN(c["Discount"]) > 0.0)) +"""); } public override async Task Where_mathf_tan(bool async) @@ -700,9 +778,11 @@ public override async Task Where_mathf_tan(bool async) await base.Where_mathf_tan(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (TAN(c[""Discount""]) > 0.0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (TAN(c["Discount"]) > 0.0)) +"""); } public override async Task Where_mathf_sign(bool async) @@ -710,9 +790,11 @@ public override async Task Where_mathf_sign(bool async) await base.Where_mathf_sign(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""OrderDetail"") AND (c[""OrderID""] = 11077)) AND (SIGN(c[""Discount""]) > 0))"); +WHERE (((c["Discriminator"] = "OrderDetail") AND (c["OrderID"] = 11077)) AND (SIGN(c["Discount"]) > 0)) +"""); } public override async Task Where_guid_newguid(bool async) @@ -728,9 +810,11 @@ public override async Task Where_string_to_upper(bool async) await base.Where_string_to_upper(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (UPPER(c[""CustomerID""]) = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (UPPER(c["CustomerID"]) = "ALFKI")) +"""); } public override async Task Where_string_to_lower(bool async) @@ -738,9 +822,11 @@ public override async Task Where_string_to_lower(bool async) await base.Where_string_to_lower(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (LOWER(c[""CustomerID""]) = ""alfki""))"); +WHERE ((c["Discriminator"] = "Customer") AND (LOWER(c["CustomerID"]) = "alfki")) +"""); } public override async Task Where_functions_nested(bool async) @@ -820,9 +906,11 @@ public override async Task Indexof_with_emptystring(bool async) await base.Indexof_with_emptystring(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (INDEX_OF(c[""ContactName""], """") = 0))"); +WHERE ((c["Discriminator"] = "Customer") AND (INDEX_OF(c["ContactName"], "") = 0)) +"""); } public override async Task Indexof_with_one_constant_arg(bool async) @@ -830,9 +918,11 @@ public override async Task Indexof_with_one_constant_arg(bool async) await base.Indexof_with_one_constant_arg(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (INDEX_OF(c[""ContactName""], ""a"") = 1))"); +WHERE ((c["Discriminator"] = "Customer") AND (INDEX_OF(c["ContactName"], "a") = 1)) +"""); } public override async Task Indexof_with_one_parameter_arg(bool async) @@ -840,11 +930,13 @@ public override async Task Indexof_with_one_parameter_arg(bool async) await base.Indexof_with_one_parameter_arg(async); AssertSql( - @"@__pattern_0='a' +""" +@__pattern_0='a' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (INDEX_OF(c[""ContactName""], @__pattern_0) = 1))"); +WHERE ((c["Discriminator"] = "Customer") AND (INDEX_OF(c["ContactName"], @__pattern_0) = 1)) +"""); } public override async Task Indexof_with_constant_starting_position(bool async) @@ -852,9 +944,11 @@ public override async Task Indexof_with_constant_starting_position(bool async) await base.Indexof_with_constant_starting_position(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (INDEX_OF(c[""ContactName""], ""a"", 2) = 4))"); +WHERE ((c["Discriminator"] = "Customer") AND (INDEX_OF(c["ContactName"], "a", 2) = 4)) +"""); } public override async Task Indexof_with_parameter_starting_position(bool async) @@ -862,11 +956,13 @@ public override async Task Indexof_with_parameter_starting_position(bool async) await base.Indexof_with_parameter_starting_position(async); AssertSql( - @"@__start_0='2' +""" +@__start_0='2' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (INDEX_OF(c[""ContactName""], ""a"", @__start_0) = 4))"); +WHERE ((c["Discriminator"] = "Customer") AND (INDEX_OF(c["ContactName"], "a", @__start_0) = 4)) +"""); } public override async Task Replace_with_emptystring(bool async) @@ -874,9 +970,11 @@ public override async Task Replace_with_emptystring(bool async) await base.Replace_with_emptystring(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (REPLACE(c[""ContactName""], ""ia"", """") = ""Mar Anders""))"); +WHERE ((c["Discriminator"] = "Customer") AND (REPLACE(c["ContactName"], "ia", "") = "Mar Anders")) +"""); } public override async Task Replace_using_property_arguments(bool async) @@ -884,9 +982,11 @@ public override async Task Replace_using_property_arguments(bool async) await base.Replace_using_property_arguments(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (REPLACE(c[""ContactName""], c[""ContactName""], c[""CustomerID""]) = c[""CustomerID""]))"); +WHERE ((c["Discriminator"] = "Customer") AND (REPLACE(c["ContactName"], c["ContactName"], c["CustomerID"]) = c["CustomerID"])) +"""); } public override async Task Substring_with_one_arg_with_zero_startindex(bool async) @@ -894,9 +994,11 @@ public override async Task Substring_with_one_arg_with_zero_startindex(bool asyn await base.Substring_with_one_arg_with_zero_startindex(async); AssertSql( - @"SELECT c[""ContactName""] +""" +SELECT c["ContactName"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (SUBSTRING(c[""CustomerID""], 0, LENGTH(c[""CustomerID""])) = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (SUBSTRING(c["CustomerID"], 0, LENGTH(c["CustomerID"])) = "ALFKI")) +"""); } public override async Task Substring_with_one_arg_with_constant(bool async) @@ -904,9 +1006,11 @@ public override async Task Substring_with_one_arg_with_constant(bool async) await base.Substring_with_one_arg_with_constant(async); AssertSql( - @"SELECT c[""ContactName""] +""" +SELECT c["ContactName"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (SUBSTRING(c[""CustomerID""], 1, LENGTH(c[""CustomerID""])) = ""LFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (SUBSTRING(c["CustomerID"], 1, LENGTH(c["CustomerID"])) = "LFKI")) +"""); } public override async Task Substring_with_one_arg_with_closure(bool async) @@ -914,11 +1018,13 @@ public override async Task Substring_with_one_arg_with_closure(bool async) await base.Substring_with_one_arg_with_closure(async); AssertSql( - @"@__start_0='2' +""" +@__start_0='2' -SELECT c[""ContactName""] +SELECT c["ContactName"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (SUBSTRING(c[""CustomerID""], @__start_0, LENGTH(c[""CustomerID""])) = ""FKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (SUBSTRING(c["CustomerID"], @__start_0, LENGTH(c["CustomerID"])) = "FKI")) +"""); } public override async Task Substring_with_two_args_with_zero_startindex(bool async) @@ -926,9 +1032,11 @@ public override async Task Substring_with_two_args_with_zero_startindex(bool asy await base.Substring_with_two_args_with_zero_startindex(async); AssertSql( - @"SELECT LEFT(c[""ContactName""], 3) AS c +""" +SELECT LEFT(c["ContactName"], 3) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Substring_with_two_args_with_zero_length(bool async) @@ -936,9 +1044,11 @@ public override async Task Substring_with_two_args_with_zero_length(bool async) await base.Substring_with_two_args_with_zero_length(async); AssertSql( - @"SELECT SUBSTRING(c[""ContactName""], 2, 0) AS c +""" +SELECT SUBSTRING(c["ContactName"], 2, 0) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Substring_with_two_args_with_constant(bool async) @@ -946,9 +1056,11 @@ public override async Task Substring_with_two_args_with_constant(bool async) await base.Substring_with_two_args_with_constant(async); AssertSql( - @"SELECT SUBSTRING(c[""ContactName""], 1, 3) AS c +""" +SELECT SUBSTRING(c["ContactName"], 1, 3) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Substring_with_two_args_with_closure(bool async) @@ -956,11 +1068,13 @@ public override async Task Substring_with_two_args_with_closure(bool async) await base.Substring_with_two_args_with_closure(async); AssertSql( - @"@__start_0='2' +""" +@__start_0='2' -SELECT SUBSTRING(c[""ContactName""], @__start_0, 3) AS c +SELECT SUBSTRING(c["ContactName"], @__start_0, 3) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Substring_with_two_args_with_Index_of(bool async) @@ -968,9 +1082,11 @@ public override async Task Substring_with_two_args_with_Index_of(bool async) await base.Substring_with_two_args_with_Index_of(async); AssertSql( - @"SELECT SUBSTRING(c[""ContactName""], INDEX_OF(c[""ContactName""], ""a""), 3) AS c +""" +SELECT SUBSTRING(c["ContactName"], INDEX_OF(c["ContactName"], "a"), 3) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task IsNullOrEmpty_in_predicate(bool async) @@ -1002,9 +1118,11 @@ public override async Task IsNullOrEmpty_in_projection(bool async) await base.IsNullOrEmpty_in_projection(async); AssertSql( - @"SELECT c[""CustomerID""], c[""Region""] +""" +SELECT c["CustomerID"], c["Region"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task IsNullOrEmpty_negated_in_projection(bool async) @@ -1012,9 +1130,11 @@ public override async Task IsNullOrEmpty_negated_in_projection(bool async) await base.IsNullOrEmpty_negated_in_projection(async); AssertSql( - @"SELECT c[""CustomerID""], c[""Region""] +""" +SELECT c["CustomerID"], c["Region"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task IsNullOrWhiteSpace_in_predicate(bool async) @@ -1030,9 +1150,11 @@ public override async Task TrimStart_without_arguments_in_predicate(bool async) await base.TrimStart_without_arguments_in_predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (LTRIM(c[""ContactTitle""]) = ""Owner""))"); +WHERE ((c["Discriminator"] = "Customer") AND (LTRIM(c["ContactTitle"]) = "Owner")) +"""); } public override async Task TrimStart_with_char_argument_in_predicate(bool async) @@ -1056,9 +1178,11 @@ public override async Task TrimEnd_without_arguments_in_predicate(bool async) await base.TrimEnd_without_arguments_in_predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (RTRIM(c[""ContactTitle""]) = ""Owner""))"); +WHERE ((c["Discriminator"] = "Customer") AND (RTRIM(c["ContactTitle"]) = "Owner")) +"""); } public override async Task TrimEnd_with_char_argument_in_predicate(bool async) @@ -1082,9 +1206,11 @@ public override async Task Trim_without_argument_in_predicate(bool async) await base.Trim_without_argument_in_predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (TRIM(c[""ContactTitle""]) = ""Owner""))"); +WHERE ((c["Discriminator"] = "Customer") AND (TRIM(c["ContactTitle"]) = "Owner")) +"""); } public override async Task Trim_with_char_argument_in_predicate(bool async) @@ -1109,10 +1235,12 @@ public override async Task Order_by_length_twice(bool async) await Assert.ThrowsAsync(() => base.Order_by_length_twice(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY LENGTH(c[""CustomerID""]), c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY LENGTH(c["CustomerID"]), c["CustomerID"] +"""); } public override async Task Order_by_length_twice_followed_by_projection_of_naked_collection_navigation(bool async) @@ -1128,9 +1256,11 @@ public override async Task Static_string_equals_in_predicate(bool async) await base.Static_string_equals_in_predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ANATR""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ANATR")) +"""); } public override async Task Static_equals_nullable_datetime_compared_to_non_nullable(bool async) @@ -1138,11 +1268,13 @@ public override async Task Static_equals_nullable_datetime_compared_to_non_nulla await base.Static_equals_nullable_datetime_compared_to_non_nullable(async); AssertSql( - @"@__arg_0='1996-07-04T00:00:00' +""" +@__arg_0='1996-07-04T00:00:00' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] = @__arg_0))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] = @__arg_0)) +"""); } public override async Task Static_equals_int_compared_to_long(bool async) @@ -1150,9 +1282,11 @@ public override async Task Static_equals_int_compared_to_long(bool async) await base.Static_equals_int_compared_to_long(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND false)"); +WHERE ((c["Discriminator"] = "Order") AND false) +"""); } public override async Task Projecting_Math_Truncate_and_ordering_by_it_twice(bool async) @@ -1208,9 +1342,11 @@ public override async Task Regex_IsMatch_MethodCall(bool async) await base.Regex_IsMatch_MethodCall(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND RegexMatch(c[""CustomerID""], ""^T""))"); +WHERE ((c["Discriminator"] = "Customer") AND RegexMatch(c["CustomerID"], "^T")) +"""); } public override async Task Regex_IsMatch_MethodCall_constant_input(bool async) @@ -1218,9 +1354,11 @@ public override async Task Regex_IsMatch_MethodCall_constant_input(bool async) await base.Regex_IsMatch_MethodCall_constant_input(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND RegexMatch(""ALFKI"", c[""CustomerID""]))"); +WHERE ((c["Discriminator"] = "Customer") AND RegexMatch("ALFKI", c["CustomerID"])) +"""); } [ConditionalTheory] @@ -1233,9 +1371,11 @@ await AssertQuery( entryCount: 6); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND RegexMatch(c[""CustomerID""], ""^T""))"); +WHERE ((c["Discriminator"] = "Customer") AND RegexMatch(c["CustomerID"], "^T")) +"""); } [ConditionalTheory] @@ -1248,9 +1388,11 @@ await AssertQuery( entryCount: 6); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND RegexMatch(c[""CustomerID""], ""^T"", ""i""))"); +WHERE ((c["Discriminator"] = "Customer") AND RegexMatch(c["CustomerID"], "^T", "i")) +"""); } [ConditionalTheory] @@ -1263,9 +1405,11 @@ await AssertQuery( entryCount: 6); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND RegexMatch(c[""CustomerID""], ""^T"", ""m""))"); +WHERE ((c["Discriminator"] = "Customer") AND RegexMatch(c["CustomerID"], "^T", "m")) +"""); } [ConditionalTheory] @@ -1278,9 +1422,11 @@ await AssertQuery( entryCount: 6); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND RegexMatch(c[""CustomerID""], ""^T"", ""s""))"); +WHERE ((c["Discriminator"] = "Customer") AND RegexMatch(c["CustomerID"], "^T", "s")) +"""); } [ConditionalTheory] @@ -1293,9 +1439,11 @@ await AssertQuery( entryCount: 6); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND RegexMatch(c[""CustomerID""], ""^T"", ""x""))"); +WHERE ((c["Discriminator"] = "Customer") AND RegexMatch(c["CustomerID"], "^T", "x")) +"""); } [ConditionalTheory] @@ -1309,9 +1457,11 @@ await AssertQuery( entryCount: 6); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND RegexMatch(c[""CustomerID""], ""^T"", ""ix""))"); +WHERE ((c["Discriminator"] = "Customer") AND RegexMatch(c["CustomerID"], "^T", "ix")) +"""); } [ConditionalTheory] @@ -1341,9 +1491,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND STRINGEQUALS(c[""CustomerID""], ""alFkI"", true))"); +WHERE ((c["Discriminator"] = "Customer") AND STRINGEQUALS(c["CustomerID"], "alFkI", true)) +"""); } [ConditionalTheory] @@ -1356,9 +1508,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND STRINGEQUALS(c[""CustomerID""], ""alFkI"", true))"); +WHERE ((c["Discriminator"] = "Customer") AND STRINGEQUALS(c["CustomerID"], "alFkI", true)) +"""); } [ConditionalTheory] @@ -1371,9 +1525,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND STRINGEQUALS(c[""CustomerID""], ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND STRINGEQUALS(c["CustomerID"], "ALFKI")) +"""); } [ConditionalTheory] @@ -1386,9 +1542,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND STRINGEQUALS(c[""CustomerID""], ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND STRINGEQUALS(c["CustomerID"], "ALFKI")) +"""); } public override async Task Datetime_subtraction_TotalDays(bool async) @@ -1404,9 +1562,11 @@ public override async Task String_Contains_constant_with_whitespace(bool async) await base.String_Contains_constant_with_whitespace(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND CONTAINS(c[""ContactName""], "" ""))"); +WHERE ((c["Discriminator"] = "Customer") AND CONTAINS(c["ContactName"], " ")) +"""); } public override async Task String_Contains_parameter_with_whitespace(bool async) @@ -1414,11 +1574,13 @@ public override async Task String_Contains_parameter_with_whitespace(bool async) await base.String_Contains_parameter_with_whitespace(async); AssertSql( - @"@__pattern_0=' ' +""" +@__pattern_0=' ' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND CONTAINS(c[""ContactName""], @__pattern_0))"); +WHERE ((c["Discriminator"] = "Customer") AND CONTAINS(c["ContactName"], @__pattern_0)) +"""); } public override async Task Select_mathf_round(bool async) @@ -1426,9 +1588,11 @@ public override async Task Select_mathf_round(bool async) await base.Select_mathf_round(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] < 10250))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] < 10250)) +"""); } public override async Task Select_mathf_round2(bool async) @@ -1436,9 +1600,11 @@ public override async Task Select_mathf_round2(bool async) await base.Select_mathf_round2(async); AssertSql( - @"SELECT c[""UnitPrice""] +""" +SELECT c["UnitPrice"] FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND (c[""Quantity""] < 5))"); +WHERE ((c["Discriminator"] = "OrderDetail") AND (c["Quantity"] < 5)) +"""); } public override async Task Select_mathf_truncate(bool async) @@ -1446,9 +1612,11 @@ public override async Task Select_mathf_truncate(bool async) await base.Select_mathf_truncate(async); AssertSql( - @"SELECT c[""UnitPrice""] +""" +SELECT c["UnitPrice"] FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND (c[""Quantity""] < 5))"); +WHERE ((c["Discriminator"] = "OrderDetail") AND (c["Quantity"] < 5)) +"""); } public override Task String_Join_over_non_nullable_column(bool async) diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindKeylessEntitiesQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindKeylessEntitiesQueryCosmosTest.cs index 7e779aaacb6..efda76c9a06 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindKeylessEntitiesQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindKeylessEntitiesQueryCosmosTest.cs @@ -26,9 +26,11 @@ public override async Task KeylessEntity_simple(bool async) await base.KeylessEntity_simple(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task KeylessEntity_where_simple(bool async) @@ -36,9 +38,11 @@ public override async Task KeylessEntity_where_simple(bool async) await base.KeylessEntity_where_simple(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +"""); } public override async Task KeylessEntity_by_database_view(bool async) @@ -50,9 +54,11 @@ public override async Task KeylessEntity_by_database_view(bool async) () => base.KeylessEntity_by_database_view(async))).Actual); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""ProductView"")"); +WHERE (c["Discriminator"] = "ProductView") +"""); } public override async Task Entity_mapped_to_view_on_right_side_of_join(bool async) @@ -70,9 +76,11 @@ public override async Task KeylessEntity_with_nav_defining_query(bool async) () => base.KeylessEntity_with_nav_defining_query(async))).Actual); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""OrderCount""] > 0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["OrderCount"] > 0)) +"""); } public override async Task KeylessEntity_with_mixed_tracking(bool async) @@ -96,9 +104,11 @@ public override async Task KeylessEntity_with_defining_query(bool async) await base.KeylessEntity_with_defining_query(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task KeylessEntity_with_defining_query_and_correlated_collection(bool async) @@ -154,9 +164,11 @@ public override async Task Auto_initialized_view_set(bool async) await base.Auto_initialized_view_set(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindMiscellaneousQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindMiscellaneousQueryCosmosTest.cs index 677e078dc6a..97c83867b6b 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindMiscellaneousQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindMiscellaneousQueryCosmosTest.cs @@ -33,9 +33,11 @@ public virtual async Task Simple_IQueryable(bool async) await AssertQuery(async, ss => ss.Set(), entryCount: 91); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Shaper_command_caching_when_parameter_names_different(bool async) @@ -43,13 +45,17 @@ public override async Task Shaper_command_caching_when_parameter_names_different await base.Shaper_command_caching_when_parameter_names_different(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))", - // - @"SELECT COUNT(1) AS c +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +""", + // +""" +SELECT COUNT(1) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Lifting_when_subquery_nested_order_by_anonymous(bool async) @@ -73,12 +79,14 @@ public override async Task Local_dictionary(bool async) await base.Local_dictionary(async); AssertSql( - @"@__p_0='ALFKI' +""" +@__p_0='ALFKI' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = @__p_0)) -OFFSET 0 LIMIT 2"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = @__p_0)) +OFFSET 0 LIMIT 2 +"""); } public override async Task Entity_equality_self(bool async) @@ -86,9 +94,11 @@ public override async Task Entity_equality_self(bool async) await base.Entity_equality_self(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = c[""CustomerID""]))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = c["CustomerID"])) +"""); } public override async Task Entity_equality_local(bool async) @@ -96,11 +106,13 @@ public override async Task Entity_equality_local(bool async) await base.Entity_equality_local(async); AssertSql( - @"@__entity_equality_local_0_CustomerID='ANATR' +""" +@__entity_equality_local_0_CustomerID='ANATR' -SELECT c[""CustomerID""] +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = @__entity_equality_local_0_CustomerID))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = @__entity_equality_local_0_CustomerID)) +"""); } public override async Task Entity_equality_local_composite_key(bool async) @@ -108,12 +120,14 @@ public override async Task Entity_equality_local_composite_key(bool async) await base.Entity_equality_local_composite_key(async); AssertSql( - @"@__entity_equality_local_0_OrderID='10248' +""" +@__entity_equality_local_0_OrderID='10248' @__entity_equality_local_0_ProductID='11' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND ((c[""OrderID""] = @__entity_equality_local_0_OrderID) AND (c[""ProductID""] = @__entity_equality_local_0_ProductID)))"); +WHERE ((c["Discriminator"] = "OrderDetail") AND ((c["OrderID"] = @__entity_equality_local_0_OrderID) AND (c["ProductID"] = @__entity_equality_local_0_ProductID))) +"""); } public override async Task Join_with_entity_equality_local_on_both_sources(bool async) @@ -129,9 +143,11 @@ public override async Task Entity_equality_local_inline(bool async) await base.Entity_equality_local_inline(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ANATR""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ANATR")) +"""); } public override async Task Entity_equality_local_inline_composite_key(bool async) @@ -139,9 +155,11 @@ public override async Task Entity_equality_local_inline_composite_key(bool async await base.Entity_equality_local_inline_composite_key(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND ((c[""OrderID""] = 10248) AND (c[""ProductID""] = 11)))"); +WHERE ((c["Discriminator"] = "OrderDetail") AND ((c["OrderID"] = 10248) AND (c["ProductID"] = 11))) +"""); } public override async Task Entity_equality_null(bool async) @@ -149,9 +167,11 @@ public override async Task Entity_equality_null(bool async) await base.Entity_equality_null(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = null)) +"""); } public override async Task Entity_equality_not_null(bool async) @@ -159,9 +179,11 @@ public override async Task Entity_equality_not_null(bool async) await base.Entity_equality_not_null(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] != null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] != null)) +"""); } public override async Task Query_when_evaluatable_queryable_method_call_with_repository(bool async) @@ -448,10 +470,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_arithmetic(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Employee"") -ORDER BY (c[""EmployeeID""] - c[""EmployeeID""])"); +WHERE (c["Discriminator"] = "Employee") +ORDER BY (c["EmployeeID"] - c["EmployeeID"]) +"""); } public override async Task OrderBy_condition_comparison(bool async) @@ -461,10 +485,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_condition_comparison(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Product"") -ORDER BY (c[""UnitsInStock""] > 0), c[""ProductID""]"); +WHERE (c["Discriminator"] = "Product") +ORDER BY (c["UnitsInStock"] > 0), c["ProductID"] +"""); } public override async Task OrderBy_ternary_conditions(bool async) @@ -474,10 +500,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_ternary_conditions(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Product"") -ORDER BY ((c[""UnitsInStock""] > 10) ? (c[""ProductID""] > 40) : (c[""ProductID""] <= 40)), c[""ProductID""]"); +WHERE (c["Discriminator"] = "Product") +ORDER BY ((c["UnitsInStock"] > 10) ? (c["ProductID"] > 40) : (c["ProductID"] <= 40)), c["ProductID"] +"""); } public override async Task OrderBy_any(bool async) @@ -513,14 +541,16 @@ public override async Task Skip_Take(bool async) await base.Skip_Take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""ContactName""] -OFFSET @__p_0 LIMIT @__p_1"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["ContactName"] +OFFSET @__p_0 LIMIT @__p_1 +"""); } public override async Task Join_Customers_Orders_Skip_Take(bool async) @@ -606,9 +636,11 @@ public override async Task Queryable_simple(bool async) await base.Queryable_simple(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Queryable_simple_anonymous(bool async) @@ -616,9 +648,11 @@ public override async Task Queryable_simple_anonymous(bool async) await base.Queryable_simple_anonymous(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Queryable_nested_simple(bool async) @@ -626,9 +660,11 @@ public override async Task Queryable_nested_simple(bool async) await base.Queryable_nested_simple(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Queryable_simple_anonymous_projection_subquery(bool async) @@ -636,12 +672,14 @@ public override async Task Queryable_simple_anonymous_projection_subquery(bool a await base.Queryable_simple_anonymous_projection_subquery(async); AssertSql( - @"@__p_0='91' +""" +@__p_0='91' -SELECT c[""City""] +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Customer") +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Queryable_simple_anonymous_subquery(bool async) @@ -649,12 +687,14 @@ public override async Task Queryable_simple_anonymous_subquery(bool async) await base.Queryable_simple_anonymous_subquery(async); AssertSql( - @"@__p_0='91' +""" +@__p_0='91' SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Customer") +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Take_simple(bool async) @@ -662,13 +702,15 @@ public override async Task Take_simple(bool async) await base.Take_simple(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Take_simple_parameterized(bool async) @@ -676,13 +718,15 @@ public override async Task Take_simple_parameterized(bool async) await base.Take_simple_parameterized(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Take_simple_projection(bool async) @@ -690,13 +734,15 @@ public override async Task Take_simple_projection(bool async) await base.Take_simple_projection(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' -SELECT c[""City""] +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Take_subquery_projection(bool async) @@ -704,13 +750,15 @@ public override async Task Take_subquery_projection(bool async) await base.Take_subquery_projection(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' -SELECT c[""City""] +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task OrderBy_Take_Count(bool async) @@ -1170,14 +1218,16 @@ public override async Task Skip_Take_Distinct(bool async) await base.Skip_Take_Distinct(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' SELECT DISTINCT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""ContactName""] -OFFSET @__p_0 LIMIT @__p_1"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["ContactName"] +OFFSET @__p_0 LIMIT @__p_1 +"""); } public override async Task Skip_Take_Any(bool async) @@ -1225,10 +1275,12 @@ public override async Task OrderBy(bool async) await base.OrderBy(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task OrderBy_true(bool async) @@ -1238,10 +1290,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_true(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY true"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY true +"""); } public override async Task OrderBy_integer(bool async) @@ -1251,10 +1305,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_integer(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY 3"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY 3 +"""); } public override async Task OrderBy_parameter(bool async) @@ -1264,12 +1320,14 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_parameter(async)); AssertSql( - @"@__param_0='5' +""" +@__param_0='5' SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY @__param_0"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY @__param_0 +"""); } public override async Task OrderBy_anon(bool async) @@ -1277,10 +1335,12 @@ public override async Task OrderBy_anon(bool async) await base.OrderBy_anon(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task OrderBy_anon2(bool async) @@ -1288,10 +1348,12 @@ public override async Task OrderBy_anon2(bool async) await base.OrderBy_anon2(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task OrderBy_client_mixed(bool async) @@ -1313,13 +1375,15 @@ public override async Task Take_Distinct(bool async) await base.Take_Distinct(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT DISTINCT c FROM root c -WHERE (c[""Discriminator""] = ""Order"") -ORDER BY c[""OrderID""] -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Order") +ORDER BY c["OrderID"] +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Distinct_Take(bool async) @@ -1347,10 +1411,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_shadow(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Employee"") -ORDER BY c[""Title""], c[""EmployeeID""]"); +WHERE (c["Discriminator"] = "Employee") +ORDER BY c["Title"], c["EmployeeID"] +"""); } public override async Task OrderBy_multiple(bool async) @@ -1360,10 +1426,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_multiple(async)); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A"")))) -ORDER BY c[""Country""], c[""City""]"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) +ORDER BY c["Country"], c["City"] +"""); } public override async Task OrderBy_ThenBy_Any(bool async) @@ -1415,10 +1483,12 @@ public override async Task Where_subquery_expression(bool async) () => base.Where_subquery_expression(async))).Message); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Order"") -OFFSET 0 LIMIT 1"); +WHERE (c["Discriminator"] = "Order") +OFFSET 0 LIMIT 1 +"""); } public override async Task Where_subquery_expression_same_parametername(bool async) @@ -1427,11 +1497,13 @@ public override async Task Where_subquery_expression_same_parametername(bool asy await AssertTranslationFailed(() => base.Where_subquery_expression_same_parametername(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Order"") -ORDER BY c[""OrderID""] -OFFSET 0 LIMIT 1"); +WHERE (c["Discriminator"] = "Order") +ORDER BY c["OrderID"] +OFFSET 0 LIMIT 1 +"""); } public override async Task Select_DTO_distinct_translated_to_server(bool async) @@ -1439,9 +1511,11 @@ public override async Task Select_DTO_distinct_translated_to_server(bool async) await base.Select_DTO_distinct_translated_to_server(async); AssertSql( - @"SELECT DISTINCT 1 +""" +SELECT DISTINCT 1 FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] < 10300))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] < 10300)) +"""); } public override async Task Select_DTO_constructor_distinct_translated_to_server(bool async) @@ -1449,9 +1523,11 @@ public override async Task Select_DTO_constructor_distinct_translated_to_server( await base.Select_DTO_constructor_distinct_translated_to_server(async); AssertSql( - @"SELECT DISTINCT c[""CustomerID""] +""" +SELECT DISTINCT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] < 10300))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] < 10300)) +"""); } public override async Task Select_DTO_with_member_init_distinct_translated_to_server(bool async) @@ -1459,9 +1535,11 @@ public override async Task Select_DTO_with_member_init_distinct_translated_to_se await base.Select_DTO_with_member_init_distinct_translated_to_server(async); AssertSql( - @"SELECT DISTINCT VALUE {""Id"" : c[""CustomerID""], ""Count"" : c[""OrderID""]} +""" +SELECT DISTINCT VALUE {"Id" : c["CustomerID"], "Count" : c["OrderID"]} FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] < 10300))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] < 10300)) +"""); } public override async Task Select_nested_collection_count_using_DTO(bool async) @@ -1552,10 +1630,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_null_coalesce_operator(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY ((c[""Region""] != null) ? c[""Region""] : ""ZZ""), c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY ((c["Region"] != null) ? c["Region"] : "ZZ"), c["CustomerID"] +"""); } public override async Task Select_null_coalesce_operator(bool async) @@ -1565,10 +1645,12 @@ await Assert.ThrowsAsync( async () => await base.Select_null_coalesce_operator(async)); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""CompanyName"" : c[""CompanyName""], ""Region"" : ((c[""Region""] != null) ? c[""Region""] : ""ZZ"")} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "CompanyName" : c["CompanyName"], "Region" : ((c["Region"] != null) ? c["Region"] : "ZZ")} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY ((c[""Region""] != null) ? c[""Region""] : ""ZZ""), c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY ((c["Region"] != null) ? c["Region"] : "ZZ"), c["CustomerID"] +"""); } public override async Task OrderBy_conditional_operator(bool async) @@ -1578,10 +1660,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_conditional_operator(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY ((c[""Region""] = null) ? ""ZZ"" : c[""Region""]), c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY ((c["Region"] = null) ? "ZZ" : c["Region"]), c["CustomerID"] +"""); } public override async Task OrderBy_conditional_operator_where_condition_false(bool async) @@ -1589,10 +1673,12 @@ public override async Task OrderBy_conditional_operator_where_condition_false(bo await base.OrderBy_conditional_operator_where_condition_false(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""City""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["City"] +"""); } public override async Task OrderBy_comparison_operator(bool async) @@ -1602,10 +1688,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_comparison_operator(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY (c[""Region""] = ""ASK"")"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY (c["Region"] = "ASK") +"""); } public override async Task Projection_null_coalesce_operator(bool async) @@ -1613,9 +1701,11 @@ public override async Task Projection_null_coalesce_operator(bool async) await base.Projection_null_coalesce_operator(async); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""CompanyName"" : c[""CompanyName""], ""Region"" : ((c[""Region""] != null) ? c[""Region""] : ""ZZ"")} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "CompanyName" : c["CompanyName"], "Region" : ((c["Region"] != null) ? c["Region"] : "ZZ")} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Filter_coalesce_operator(bool async) @@ -1623,9 +1713,11 @@ public override async Task Filter_coalesce_operator(bool async) await base.Filter_coalesce_operator(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CompanyName""] != null) ? c[""CompanyName""] : c[""ContactName""]) = ""The Big Cheese""))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CompanyName"] != null) ? c["CompanyName"] : c["ContactName"]) = "The Big Cheese")) +"""); } public override async Task Take_skip_null_coalesce_operator(bool async) @@ -1645,13 +1737,15 @@ await Assert.ThrowsAsync( async () => await base.Select_take_null_coalesce_operator(async)); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' -SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""CompanyName"" : c[""CompanyName""], ""Region"" : ((c[""Region""] != null) ? c[""Region""] : ""ZZ"")} +SELECT VALUE {"CustomerID" : c["CustomerID"], "CompanyName" : c["CompanyName"], "Region" : ((c["Region"] != null) ? c["Region"] : "ZZ")} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY ((c[""Region""] != null) ? c[""Region""] : ""ZZ"") -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY ((c["Region"] != null) ? c["Region"] : "ZZ") +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Select_take_skip_null_coalesce_operator(bool async) @@ -1691,10 +1785,12 @@ await Assert.ThrowsAsync( () => base.Selected_column_can_coalesce(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY ((c[""Region""] != null) ? c[""Region""] : ""ZZ"")"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY ((c["Region"] != null) ? c["Region"] : "ZZ") +"""); } public override async Task DateTime_parse_is_inlined(bool async) @@ -1702,9 +1798,11 @@ public override async Task DateTime_parse_is_inlined(bool async) await base.DateTime_parse_is_inlined(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] > ""1998-01-01T12:00:00""))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] > "1998-01-01T12:00:00")) +"""); } public override async Task DateTime_parse_is_parameterized_when_from_closure(bool async) @@ -1712,11 +1810,13 @@ public override async Task DateTime_parse_is_parameterized_when_from_closure(boo await base.DateTime_parse_is_parameterized_when_from_closure(async); AssertSql( - @"@__Parse_0='1998-01-01T12:00:00' +""" +@__Parse_0='1998-01-01T12:00:00' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] > @__Parse_0))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] > @__Parse_0)) +"""); } public override async Task New_DateTime_is_inlined(bool async) @@ -1724,9 +1824,11 @@ public override async Task New_DateTime_is_inlined(bool async) await base.New_DateTime_is_inlined(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] > ""1998-01-01T12:00:00""))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] > "1998-01-01T12:00:00")) +"""); } public override async Task New_DateTime_is_parameterized_when_from_closure(bool async) @@ -1734,17 +1836,21 @@ public override async Task New_DateTime_is_parameterized_when_from_closure(bool await base.New_DateTime_is_parameterized_when_from_closure(async); AssertSql( - @"@__p_0='1998-01-01T12:00:00' +""" +@__p_0='1998-01-01T12:00:00' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] > @__p_0))", - // - @"@__p_0='1998-01-01T11:00:00' +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] > @__p_0)) +""", + // +""" +@__p_0='1998-01-01T11:00:00' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] > @__p_0))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] > @__p_0)) +"""); } public override async Task Random_next_is_not_funcletized_1(bool async) @@ -1801,11 +1907,13 @@ public override async Task Environment_newline_is_funcletized(bool async) await base.Environment_newline_is_funcletized(async); AssertSql( - @"@__NewLine_0='\r\n' +""" +@__NewLine_0='\r\n' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND CONTAINS(c[""CustomerID""], @__NewLine_0))"); +WHERE ((c[""Discriminator""] = ""Customer"") AND CONTAINS(c[""CustomerID""], @__NewLine_0)) +"""); } public override async Task String_concat_with_navigation1(bool async) @@ -1830,10 +1938,12 @@ public override async Task Select_bitwise_or(bool async) await Assert.ThrowsAsync(() => base.Select_bitwise_or(async)); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""Value"" : ((c[""CustomerID""] = ""ALFKI"") | (c[""CustomerID""] = ""ANATR""))} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "Value" : ((c["CustomerID"] = "ALFKI") | (c["CustomerID"] = "ANATR"))} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Select_bitwise_or_multiple(bool async) @@ -1842,10 +1952,12 @@ public override async Task Select_bitwise_or_multiple(bool async) await Assert.ThrowsAsync(() => base.Select_bitwise_or_multiple(async)); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""Value"" : (((c[""CustomerID""] = ""ALFKI"") | (c[""CustomerID""] = ""ANATR"")) | (c[""CustomerID""] = ""ANTON""))} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "Value" : (((c["CustomerID"] = "ALFKI") | (c["CustomerID"] = "ANATR")) | (c["CustomerID"] = "ANTON"))} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Select_bitwise_and(bool async) @@ -1854,10 +1966,12 @@ public override async Task Select_bitwise_and(bool async) await Assert.ThrowsAsync(() => base.Select_bitwise_and(async)); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""Value"" : ((c[""CustomerID""] = ""ALFKI"") & (c[""CustomerID""] = ""ANATR""))} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "Value" : ((c["CustomerID"] = "ALFKI") & (c["CustomerID"] = "ANATR"))} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Select_bitwise_and_or(bool async) @@ -1866,10 +1980,12 @@ public override async Task Select_bitwise_and_or(bool async) await Assert.ThrowsAsync(() => base.Select_bitwise_and_or(async)); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""Value"" : (((c[""CustomerID""] = ""ALFKI"") & (c[""CustomerID""] = ""ANATR"")) | (c[""CustomerID""] = ""ANTON""))} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "Value" : (((c["CustomerID"] = "ALFKI") & (c["CustomerID"] = "ANATR")) | (c["CustomerID"] = "ANTON"))} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Where_bitwise_or_with_logical_or(bool async) @@ -1880,9 +1996,11 @@ public override async Task Where_bitwise_or_with_logical_or(bool async) (await Assert.ThrowsAsync(() => base.Where_bitwise_or_with_logical_or(async))).Actual); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CustomerID""] = ""ALFKI"") | (c[""CustomerID""] = ""ANATR"")) OR (c[""CustomerID""] = ""ANTON"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CustomerID"] = "ALFKI") | (c["CustomerID"] = "ANATR")) OR (c["CustomerID"] = "ANTON"))) +"""); } public override async Task Where_bitwise_and_with_logical_and(bool async) @@ -1890,9 +2008,11 @@ public override async Task Where_bitwise_and_with_logical_and(bool async) await base.Where_bitwise_and_with_logical_and(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CustomerID""] = ""ALFKI"") & (c[""CustomerID""] = ""ANATR"")) AND (c[""CustomerID""] = ""ANTON"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CustomerID"] = "ALFKI") & (c["CustomerID"] = "ANATR")) AND (c["CustomerID"] = "ANTON"))) +"""); } public override async Task Where_bitwise_or_with_logical_and(bool async) @@ -1903,9 +2023,11 @@ public override async Task Where_bitwise_or_with_logical_and(bool async) (await Assert.ThrowsAsync(() => base.Where_bitwise_or_with_logical_and(async))).Actual); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CustomerID""] = ""ALFKI"") | (c[""CustomerID""] = ""ANATR"")) AND (c[""Country""] = ""Germany"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CustomerID"] = "ALFKI") | (c["CustomerID"] = "ANATR")) AND (c["Country"] = "Germany"))) +"""); } public override async Task Where_bitwise_and_with_logical_or(bool async) @@ -1913,9 +2035,11 @@ public override async Task Where_bitwise_and_with_logical_or(bool async) await base.Where_bitwise_and_with_logical_or(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CustomerID""] = ""ALFKI"") & (c[""CustomerID""] = ""ANATR"")) OR (c[""CustomerID""] = ""ANTON"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CustomerID"] = "ALFKI") & (c["CustomerID"] = "ANATR")) OR (c["CustomerID"] = "ANTON"))) +"""); } public override async Task Where_bitwise_binary_not(bool async) @@ -1923,11 +2047,13 @@ public override async Task Where_bitwise_binary_not(bool async) await base.Where_bitwise_binary_not(async); AssertSql( - @"@__negatedId_0='-10249' +""" +@__negatedId_0='-10249' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (~(c[""OrderID""]) = @__negatedId_0))"); +WHERE ((c["Discriminator"] = "Order") AND (~(c["OrderID"]) = @__negatedId_0)) +"""); } public override async Task Where_bitwise_binary_and(bool async) @@ -1935,9 +2061,11 @@ public override async Task Where_bitwise_binary_and(bool async) await base.Where_bitwise_binary_and(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND ((c[""OrderID""] & 10248) = 10248))"); +WHERE ((c["Discriminator"] = "Order") AND ((c["OrderID"] & 10248) = 10248)) +"""); } public override async Task Where_bitwise_binary_or(bool async) @@ -1945,9 +2073,11 @@ public override async Task Where_bitwise_binary_or(bool async) await base.Where_bitwise_binary_or(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND ((c[""OrderID""] | 10248) = 10248))"); +WHERE ((c["Discriminator"] = "Order") AND ((c["OrderID"] | 10248) = 10248)) +"""); } public override async Task Select_bitwise_or_with_logical_or(bool async) @@ -1956,10 +2086,12 @@ public override async Task Select_bitwise_or_with_logical_or(bool async) await Assert.ThrowsAsync(() => base.Select_bitwise_or_with_logical_or(async)); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""Value"" : (((c[""CustomerID""] = ""ALFKI"") | (c[""CustomerID""] = ""ANATR"")) OR (c[""CustomerID""] = ""ANTON""))} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "Value" : (((c["CustomerID"] = "ALFKI") | (c["CustomerID"] = "ANATR")) OR (c["CustomerID"] = "ANTON"))} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Select_bitwise_and_with_logical_and(bool async) @@ -1968,10 +2100,12 @@ public override async Task Select_bitwise_and_with_logical_and(bool async) await Assert.ThrowsAsync(() => base.Select_bitwise_and_with_logical_and(async)); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""Value"" : (((c[""CustomerID""] = ""ALFKI"") & (c[""CustomerID""] = ""ANATR"")) AND (c[""CustomerID""] = ""ANTON""))} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "Value" : (((c["CustomerID"] = "ALFKI") & (c["CustomerID"] = "ANATR")) AND (c["CustomerID"] = "ANTON"))} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Handle_materialization_properly_when_more_than_two_query_sources_are_involved(bool async) @@ -2027,9 +2161,11 @@ public override async Task Select_expression_long_to_string(bool async) await base.Select_expression_long_to_string(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Select_expression_int_to_string(bool async) @@ -2037,9 +2173,11 @@ public override async Task Select_expression_int_to_string(bool async) await base.Select_expression_int_to_string(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task ToString_with_formatter_is_evaluated_on_the_client(bool async) @@ -2047,13 +2185,17 @@ public override async Task ToString_with_formatter_is_evaluated_on_the_client(bo await base.ToString_with_formatter_is_evaluated_on_the_client(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))", - // - @"SELECT c[""OrderID""] +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +""", + // +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Select_expression_other_to_string(bool async) @@ -2061,9 +2203,11 @@ public override async Task Select_expression_other_to_string(bool async) await base.Select_expression_other_to_string(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Select_expression_date_add_year(bool async) @@ -2071,9 +2215,11 @@ public override async Task Select_expression_date_add_year(bool async) await base.Select_expression_date_add_year(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Select_expression_datetime_add_month(bool async) @@ -2081,9 +2227,11 @@ public override async Task Select_expression_datetime_add_month(bool async) await base.Select_expression_datetime_add_month(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Select_expression_datetime_add_hour(bool async) @@ -2091,9 +2239,11 @@ public override async Task Select_expression_datetime_add_hour(bool async) await base.Select_expression_datetime_add_hour(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Select_expression_datetime_add_minute(bool async) @@ -2101,9 +2251,11 @@ public override async Task Select_expression_datetime_add_minute(bool async) await base.Select_expression_datetime_add_minute(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Select_expression_datetime_add_second(bool async) @@ -2111,9 +2263,11 @@ public override async Task Select_expression_datetime_add_second(bool async) await base.Select_expression_datetime_add_second(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Select_expression_date_add_milliseconds_above_the_range(bool async) @@ -2121,9 +2275,11 @@ public override async Task Select_expression_date_add_milliseconds_above_the_ran await base.Select_expression_date_add_milliseconds_above_the_range(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Select_expression_date_add_milliseconds_below_the_range(bool async) @@ -2131,9 +2287,11 @@ public override async Task Select_expression_date_add_milliseconds_below_the_ran await base.Select_expression_date_add_milliseconds_below_the_range(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Select_expression_date_add_milliseconds_large_number_divided(bool async) @@ -2141,9 +2299,11 @@ public override async Task Select_expression_date_add_milliseconds_large_number_ await base.Select_expression_date_add_milliseconds_large_number_divided(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Add_minutes_on_constant_value(bool async) @@ -2151,10 +2311,12 @@ public override async Task Add_minutes_on_constant_value(bool async) await base.Add_minutes_on_constant_value(async); AssertSql( - @"SELECT VALUE {""c"" : (c[""OrderID""] % 25)} +""" +SELECT VALUE {"c" : (c["OrderID"] % 25)} FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] < 10500)) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] < 10500)) +ORDER BY c["OrderID"] +"""); } public override async Task Select_expression_references_are_updated_correctly_with_subquery(bool async) @@ -2212,14 +2374,16 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_skip_take(async)); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='8' SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""ContactTitle""], c[""ContactName""] -OFFSET @__p_0 LIMIT @__p_1"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["ContactTitle"], c["ContactName"] +OFFSET @__p_0 LIMIT @__p_1 +"""); } public override async Task OrderBy_skip_skip_take(bool async) @@ -2269,14 +2433,16 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_skip_take_distinct(async)); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='15' SELECT DISTINCT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""ContactTitle""], c[""ContactName""] -OFFSET @__p_0 LIMIT @__p_1"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["ContactTitle"], c["ContactName"] +OFFSET @__p_0 LIMIT @__p_1 +"""); } public override async Task OrderBy_coalesce_take_distinct(bool async) @@ -2286,13 +2452,15 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_coalesce_take_distinct(async)); AssertSql( - @"@__p_0='15' +""" +@__p_0='15' SELECT DISTINCT c FROM root c -WHERE (c[""Discriminator""] = ""Product"") -ORDER BY ((c[""UnitPrice""] != null) ? c[""UnitPrice""] : 0.0) -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Product") +ORDER BY ((c["UnitPrice"] != null) ? c["UnitPrice"] : 0.0) +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task OrderBy_coalesce_skip_take_distinct(bool async) @@ -2302,14 +2470,16 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_coalesce_skip_take_distinct(async)); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='15' SELECT DISTINCT c FROM root c -WHERE (c[""Discriminator""] = ""Product"") -ORDER BY ((c[""UnitPrice""] != null) ? c[""UnitPrice""] : 0.0) -OFFSET @__p_0 LIMIT @__p_1"); +WHERE (c["Discriminator"] = "Product") +ORDER BY ((c["UnitPrice"] != null) ? c["UnitPrice"] : 0.0) +OFFSET @__p_0 LIMIT @__p_1 +"""); } public override async Task OrderBy_coalesce_skip_take_distinct_take(bool async) @@ -2407,9 +2577,11 @@ public override async Task Anonymous_member_distinct_where(bool async) await base.Anonymous_member_distinct_where(async); AssertSql( - @"SELECT DISTINCT c[""CustomerID""] +""" +SELECT DISTINCT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Anonymous_member_distinct_orderby(bool async) @@ -2435,9 +2607,11 @@ public override async Task Anonymous_complex_distinct_where(bool async) await base.Anonymous_complex_distinct_where(async); AssertSql( - @"SELECT DISTINCT VALUE {""A"" : (c[""CustomerID""] || c[""City""])} +""" +SELECT DISTINCT VALUE {"A" : (c["CustomerID"] || c["City"])} FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] || c[""City""]) = ""ALFKIBerlin""))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] || c["City"]) = "ALFKIBerlin")) +"""); } public override async Task Anonymous_complex_distinct_orderby(bool async) @@ -2464,10 +2638,12 @@ await Assert.ThrowsAsync( async () => await base.Anonymous_complex_orderby(async)); AssertSql( - @"SELECT VALUE {""A"" : (c[""CustomerID""] || c[""City""])} +""" +SELECT VALUE {"A" : (c["CustomerID"] || c["City"])} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY (c[""CustomerID""] || c[""City""])"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY (c["CustomerID"] || c["City"]) +"""); } public override async Task Anonymous_subquery_orderby(bool async) @@ -2483,9 +2659,11 @@ public override async Task DTO_member_distinct_where(bool async) await base.DTO_member_distinct_where(async); AssertSql( - @"SELECT DISTINCT VALUE {""Property"" : c[""CustomerID""]} +""" +SELECT DISTINCT VALUE {"Property" : c["CustomerID"]} FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task DTO_member_distinct_orderby(bool async) @@ -2511,9 +2689,11 @@ public override async Task DTO_complex_distinct_where(bool async) await base.DTO_complex_distinct_where(async); AssertSql( - @"SELECT DISTINCT VALUE {""Property"" : (c[""CustomerID""] || c[""City""])} +""" +SELECT DISTINCT VALUE {"Property" : (c["CustomerID"] || c["City"])} FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] || c[""City""]) = ""ALFKIBerlin""))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] || c["City"]) = "ALFKIBerlin")) +"""); } public override async Task DTO_complex_distinct_orderby(bool async) @@ -2541,10 +2721,12 @@ await Assert.ThrowsAsync( async () => await base.DTO_complex_orderby(async)); AssertSql( - @"SELECT VALUE {""Property"" : (c[""CustomerID""] || c[""City""])} +""" +SELECT VALUE {"Property" : (c["CustomerID"] || c["City"])} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY (c[""CustomerID""] || c[""City""])"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY (c["CustomerID"] || c["City"]) +"""); } public override async Task DTO_subquery_orderby(bool async) @@ -2573,9 +2755,11 @@ public override async Task Int16_parameter_can_be_used_for_int_column(bool async await base.Int16_parameter_can_be_used_for_int_column(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = 10300))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = 10300)) +"""); } public override async Task Subquery_is_null_translated_correctly(bool async) @@ -2775,11 +2959,13 @@ public override async Task Comparing_to_fixed_string_parameter(bool async) await base.Comparing_to_fixed_string_parameter(async); AssertSql( - @"@__prefix_0='A' +""" +@__prefix_0='A' -SELECT c[""CustomerID""] +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((@__prefix_0 = """") OR ((c[""CustomerID""] != null) AND ((@__prefix_0 != null) AND STARTSWITH(c[""CustomerID""], @__prefix_0)))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((@__prefix_0 = "") OR ((c["CustomerID"] != null) AND ((@__prefix_0 != null) AND STARTSWITH(c["CustomerID"], @__prefix_0))))) +"""); } public override async Task Comparing_entities_using_Equals(bool async) @@ -2803,10 +2989,12 @@ public override async Task Comparing_entity_to_null_using_Equals(bool async) await base.Comparing_entity_to_null_using_Equals(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE (((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A"")))) AND NOT((c[""CustomerID""] = null))) -ORDER BY c[""CustomerID""]"); +WHERE (((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) AND NOT((c["CustomerID"] = null))) +ORDER BY c["CustomerID"] +"""); } public override async Task Comparing_navigations_using_Equals(bool async) @@ -2846,9 +3034,11 @@ public override async Task Comparing_collection_navigation_to_null(bool async) await base.Comparing_collection_navigation_to_null(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = null)) +"""); } public override async Task Comparing_collection_navigation_to_null_complex(bool async) @@ -2864,9 +3054,11 @@ public override async Task Compare_collection_navigation_with_itself(bool async) await base.Compare_collection_navigation_with_itself(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE (((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A"")))) AND (c[""CustomerID""] = c[""CustomerID""]))"); +WHERE (((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) AND (c["CustomerID"] = c["CustomerID"])) +"""); } public override async Task Compare_two_collection_navigations_with_different_query_sources(bool async) @@ -2898,10 +3090,12 @@ public override async Task OrderBy_ThenBy_same_column_different_direction(bool a await base.OrderBy_ThenBy_same_column_different_direction(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A"")))) -ORDER BY c[""CustomerID""]"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) +ORDER BY c["CustomerID"] +"""); } public override async Task OrderBy_OrderBy_same_column_different_direction(bool async) @@ -2909,10 +3103,12 @@ public override async Task OrderBy_OrderBy_same_column_different_direction(bool await base.OrderBy_OrderBy_same_column_different_direction(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A"")))) -ORDER BY c[""CustomerID""] DESC"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) +ORDER BY c["CustomerID"] DESC +"""); } public override async Task Complex_nested_query_doesnt_try_binding_to_grandparent_when_parent_returns_complex_result(bool async) @@ -2938,14 +3134,16 @@ public override async Task OrderBy_Dto_projection_skip_take(bool async) await base.OrderBy_Dto_projection_skip_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' -SELECT VALUE {""Id"" : c[""CustomerID""]} +SELECT VALUE {"Id" : c["CustomerID"]} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] -OFFSET @__p_0 LIMIT @__p_1"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +OFFSET @__p_0 LIMIT @__p_1 +"""); } public override async Task Join_take_count_works(bool async) @@ -2962,10 +3160,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_empty_list_contains(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY (true = false)"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY (true = false) +"""); } public override async Task OrderBy_empty_list_does_not_contains(bool async) @@ -2974,10 +3174,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_empty_list_does_not_contains(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY NOT((true = false))"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY NOT((true = false)) +"""); } public override async Task Manual_expression_tree_typed_null_equality(bool async) @@ -3071,13 +3273,17 @@ public override async Task Can_convert_manually_build_expression_with_default(bo await base.Can_convert_manually_build_expression_with_default(async); AssertSql( - @"SELECT COUNT(1) AS c +""" +SELECT COUNT(1) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] != null))", - // - @"SELECT COUNT(1) AS c +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] != null)) +""", + // +""" +SELECT COUNT(1) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] != null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] != null)) +"""); } public override async Task Entity_equality_orderby_descending_composite_key(bool async) @@ -3087,10 +3293,12 @@ await Assert.ThrowsAsync( async () => await base.Entity_equality_orderby_descending_composite_key(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""OrderDetail"") -ORDER BY c[""OrderID""] DESC, c[""ProductID""] DESC"); +WHERE (c["Discriminator"] = "OrderDetail") +ORDER BY c["OrderID"] DESC, c["ProductID"] DESC +"""); } public override async Task Entity_equality_orderby_subquery(bool async) @@ -3124,10 +3332,12 @@ await Assert.ThrowsAsync( async () => await base.OrderByDescending_ThenBy(async)); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] DESC, c[""Country""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] DESC, c["Country"] +"""); } public override async Task OrderByDescending_ThenByDescending(bool async) @@ -3137,10 +3347,12 @@ await Assert.ThrowsAsync( async () => await base.OrderByDescending_ThenByDescending(async)); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] DESC, c[""Country""] DESC"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] DESC, c["Country"] DESC +"""); } public override async Task OrderBy_Join(bool async) @@ -3158,10 +3370,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_ThenBy(async)); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""], c[""Country""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"], c["Country"] +"""); } public override async Task OrderBy_ThenBy_predicate(bool async) @@ -3171,10 +3385,12 @@ await Assert.ThrowsAsync( async () => await base.OrderBy_ThenBy_predicate(async)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London"")) -ORDER BY c[""City""], c[""CustomerID""]"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +ORDER BY c["City"], c["CustomerID"] +"""); } public override async Task SelectMany_correlated_simple(bool async) @@ -3247,9 +3463,11 @@ public override async Task Select_Property_when_shadow_unconstrained_generic_met await base.Select_Property_when_shadow_unconstrained_generic_method(async); AssertSql( - @"SELECT c[""Title""] +""" +SELECT c["Title"] FROM root c -WHERE (c[""Discriminator""] = ""Employee"")"); +WHERE (c["Discriminator"] = "Employee") +"""); } public override async Task Skip_orderby_const(bool async) @@ -3267,11 +3485,13 @@ public override async Task Where_Property_when_shadow_unconstrained_generic_meth await base.Where_Property_when_shadow_unconstrained_generic_method(async); AssertSql( - @"@__value_0='Sales Representative' +""" +@__value_0='Sales Representative' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""Title""] = @__value_0))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["Title"] = @__value_0)) +"""); } public override async Task Inner_parameter_in_nested_lambdas_gets_preserved(bool async) @@ -3469,10 +3689,12 @@ public override async Task Checked_context_with_arithmetic_does_not_fail(bool is await base.Checked_context_with_arithmetic_does_not_fail(isAsync); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND ((((c[""Quantity""] + 1) = 5) AND ((c[""Quantity""] - 1) = 3)) AND ((c[""Quantity""] * 1) = c[""Quantity""]))) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "OrderDetail") AND ((((c["Quantity"] + 1) = 5) AND ((c["Quantity"] - 1) = 3)) AND ((c["Quantity"] * 1) = c["Quantity"]))) +ORDER BY c["OrderID"] +"""); } public override async Task Checked_context_with_case_to_same_nullable_type_does_not_fail(bool isAsync) @@ -3480,9 +3702,11 @@ public override async Task Checked_context_with_case_to_same_nullable_type_does_ await base.Checked_context_with_case_to_same_nullable_type_does_not_fail(isAsync); AssertSql( - @"SELECT MAX(c[""Quantity""]) AS c +""" +SELECT MAX(c["Quantity"]) AS c FROM root c -WHERE (c[""Discriminator""] = ""OrderDetail"")"); +WHERE (c["Discriminator"] = "OrderDetail") +"""); } public override async Task Entity_equality_with_null_coalesce_client_side(bool async) @@ -3490,11 +3714,13 @@ public override async Task Entity_equality_with_null_coalesce_client_side(bool a await base.Entity_equality_with_null_coalesce_client_side(async); AssertSql( - @"@__entity_equality_p_0_CustomerID='ALFKI' +""" +@__entity_equality_p_0_CustomerID='ALFKI' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = @__entity_equality_p_0_CustomerID))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = @__entity_equality_p_0_CustomerID)) +"""); } public override async Task Entity_equality_contains_with_list_of_null(bool async) @@ -3502,9 +3728,11 @@ public override async Task Entity_equality_contains_with_list_of_null(bool async await base.Entity_equality_contains_with_list_of_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ALFKI"") OR (c[""CustomerID""] = null)))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ALFKI") OR (c["CustomerID"] = null))) +"""); } public override async Task Perform_identity_resolution_reuses_same_instances(bool async, bool useAsTracking) @@ -3685,10 +3913,12 @@ public override async Task AsEnumerable_over_string(bool async) await base.AsEnumerable_over_string(async); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Select_Property_when_non_shadow(bool async) @@ -3696,9 +3926,11 @@ public override async Task Select_Property_when_non_shadow(bool async) await base.Select_Property_when_non_shadow(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Cast_results_to_object(bool async) @@ -3706,9 +3938,11 @@ public override async Task Cast_results_to_object(bool async) await base.Cast_results_to_object(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Null_Coalesce_Short_Circuit_with_server_correlated_leftover(bool async) @@ -3716,9 +3950,11 @@ public override async Task Null_Coalesce_Short_Circuit_with_server_correlated_le await base.Null_Coalesce_Short_Circuit_with_server_correlated_leftover(async); AssertSql( - @"SELECT VALUE {""Result"" : false} +""" +SELECT VALUE {"Result" : false} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Concat_int_string(bool async) @@ -3726,9 +3962,11 @@ public override async Task Concat_int_string(bool async) await base.Concat_int_string(async); AssertSql( - @"SELECT c[""CustomerID""], c[""OrderID""] +""" +SELECT c["CustomerID"], c["OrderID"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_expression_datetime_add_ticks(bool async) @@ -3736,9 +3974,11 @@ public override async Task Select_expression_datetime_add_ticks(bool async) await base.Select_expression_datetime_add_ticks(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderDate""] != null))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderDate"] != null)) +"""); } public override async Task Throws_on_concurrent_query_first(bool async) @@ -3746,9 +3986,11 @@ public override async Task Throws_on_concurrent_query_first(bool async) await base.Throws_on_concurrent_query_first(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Entity_equality_through_include(bool async) @@ -3756,9 +3998,11 @@ public override async Task Entity_equality_through_include(bool async) await base.Entity_equality_through_include(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = null)) +"""); } public override async Task Concat_constant_string_int(bool async) @@ -3766,9 +4010,11 @@ public override async Task Concat_constant_string_int(bool async) await base.Concat_constant_string_int(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task OrderBy_scalar_primitive(bool async) @@ -3776,10 +4022,12 @@ public override async Task OrderBy_scalar_primitive(bool async) await base.OrderBy_scalar_primitive(async); AssertSql( - @"SELECT c[""EmployeeID""] +""" +SELECT c["EmployeeID"] FROM root c -WHERE (c[""Discriminator""] = ""Employee"") -ORDER BY c[""EmployeeID""]"); +WHERE (c["Discriminator"] = "Employee") +ORDER BY c["EmployeeID"] +"""); } public override async Task Where_Property_when_non_shadow(bool async) @@ -3787,9 +4035,11 @@ public override async Task Where_Property_when_non_shadow(bool async) await base.Where_Property_when_non_shadow(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = 10248))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = 10248)) +"""); } public override async Task OrderBy_Select(bool async) @@ -3797,10 +4047,12 @@ public override async Task OrderBy_Select(bool async) await base.OrderBy_Select(async); AssertSql( - @"SELECT c[""ContactName""] +""" +SELECT c["ContactName"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Concat_string_int(bool async) @@ -3808,9 +4060,11 @@ public override async Task Concat_string_int(bool async) await base.Concat_string_int(async); AssertSql( - @"SELECT c[""OrderID""], c[""CustomerID""] +""" +SELECT c["OrderID"], c["CustomerID"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Non_nullable_property_through_optional_navigation(bool async) @@ -3818,9 +4072,11 @@ public override async Task Non_nullable_property_through_optional_navigation(boo await base.Non_nullable_property_through_optional_navigation(async); AssertSql( - @"SELECT LENGTH(c[""Region""]) AS Length +""" +SELECT LENGTH(c["Region"]) AS Length FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task ToList_over_string(bool async) @@ -3828,10 +4084,12 @@ public override async Task ToList_over_string(bool async) await base.ToList_over_string(async); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Entity_equality_not_null_composite_key(bool async) @@ -3839,9 +4097,11 @@ public override async Task Entity_equality_not_null_composite_key(bool async) await base.Entity_equality_not_null_composite_key(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND ((c[""OrderID""] != null) AND (c[""ProductID""] != null)))"); +WHERE ((c["Discriminator"] = "OrderDetail") AND ((c["OrderID"] != null) AND (c["ProductID"] != null))) +"""); } public override void Query_composition_against_ienumerable_set() @@ -3849,9 +4109,11 @@ public override void Query_composition_against_ienumerable_set() base.Query_composition_against_ienumerable_set(); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task ToListAsync_with_canceled_token() @@ -3859,9 +4121,11 @@ public override async Task ToListAsync_with_canceled_token() await base.ToListAsync_with_canceled_token(); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Employee"")"); +WHERE (c["Discriminator"] = "Employee") +"""); } public override async Task Ternary_should_not_evaluate_both_sides(bool async) @@ -3869,11 +4133,13 @@ public override async Task Ternary_should_not_evaluate_both_sides(bool async) await base.Ternary_should_not_evaluate_both_sides(async); AssertSql( - @"@__p_0='none' +""" +@__p_0='none' -SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""Data1"" : @__p_0} +SELECT VALUE {"CustomerID" : c["CustomerID"], "Data1" : @__p_0} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Entity_equality_orderby(bool async) @@ -3881,10 +4147,12 @@ public override async Task Entity_equality_orderby(bool async) await base.Entity_equality_orderby(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Load_should_track_results(bool async) @@ -3892,9 +4160,11 @@ public override async Task Load_should_track_results(bool async) await base.Load_should_track_results(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Null_parameter_name_works(bool async) @@ -3902,9 +4172,11 @@ public override async Task Null_parameter_name_works(bool async) await base.Null_parameter_name_works(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = null)) +"""); } public override async Task Where_Property_shadow_closure(bool async) @@ -3912,17 +4184,21 @@ public override async Task Where_Property_shadow_closure(bool async) await base.Where_Property_shadow_closure(async); AssertSql( - @"@__value_0='Sales Representative' +""" +@__value_0='Sales Representative' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""Title""] = @__value_0))", - // - @"@__value_0='Steven' +WHERE ((c["Discriminator"] = "Employee") AND (c["Title"] = @__value_0)) +""", + // +""" +@__value_0='Steven' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""FirstName""] = @__value_0))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["FirstName"] = @__value_0)) +"""); } public override async Task Entity_equality_local_double_check(bool async) @@ -3930,11 +4206,13 @@ public override async Task Entity_equality_local_double_check(bool async) await base.Entity_equality_local_double_check(async); AssertSql( - @"@__entity_equality_local_0_CustomerID='ANATR' +""" +@__entity_equality_local_0_CustomerID='ANATR' -SELECT c[""CustomerID""] +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] = @__entity_equality_local_0_CustomerID) AND (@__entity_equality_local_0_CustomerID = c[""CustomerID""])))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] = @__entity_equality_local_0_CustomerID) AND (@__entity_equality_local_0_CustomerID = c["CustomerID"]))) +"""); } public override async Task ToArray_over_string(bool async) @@ -3942,10 +4220,12 @@ public override async Task ToArray_over_string(bool async) await base.ToArray_over_string(async); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task MemberInitExpression_NewExpression_is_funcletized_even_when_bindings_are_not_evaluatable(bool async) @@ -3953,9 +4233,11 @@ public override async Task MemberInitExpression_NewExpression_is_funcletized_eve await base.MemberInitExpression_NewExpression_is_funcletized_even_when_bindings_are_not_evaluatable(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A""))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) +"""); } public override async Task Entity_equality_null_composite_key(bool async) @@ -3963,9 +4245,11 @@ public override async Task Entity_equality_null_composite_key(bool async) await base.Entity_equality_null_composite_key(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""OrderDetail"") AND ((c[""OrderID""] = null) OR (c[""ProductID""] = null)))"); +WHERE ((c["Discriminator"] = "OrderDetail") AND ((c["OrderID"] = null) OR (c["ProductID"] = null))) +"""); } public override async Task Concat_parameter_string_int(bool async) @@ -3973,9 +4257,11 @@ public override async Task Concat_parameter_string_int(bool async) await base.Concat_parameter_string_int(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } // ReSharper disable once RedundantOverriddenMember @@ -3988,9 +4274,11 @@ public override async Task Where_Property_when_shadow(bool async) await base.Where_Property_when_shadow(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""Title""] = ""Sales Representative""))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["Title"] = "Sales Representative")) +"""); } public override async Task Throws_on_concurrent_query_list(bool async) @@ -3998,9 +4286,11 @@ public override async Task Throws_on_concurrent_query_list(bool async) await base.Throws_on_concurrent_query_list(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Convert_to_nullable_on_nullable_value_is_ignored(bool async) @@ -4008,9 +4298,11 @@ public override async Task Convert_to_nullable_on_nullable_value_is_ignored(bool await base.Convert_to_nullable_on_nullable_value_is_ignored(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Ternary_should_not_evaluate_both_sides_with_parameter(bool async) @@ -4018,9 +4310,11 @@ public override async Task Ternary_should_not_evaluate_both_sides_with_parameter await base.Ternary_should_not_evaluate_both_sides_with_parameter(async); AssertSql( - @"SELECT VALUE {""Data1"" : true} +""" +SELECT VALUE {"Data1" : true} FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Context_based_client_method(bool async) @@ -4028,13 +4322,17 @@ public override async Task Context_based_client_method(bool async) await base.Context_based_client_method(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")", - // - @"SELECT c +WHERE (c["Discriminator"] = "Customer") +""", + // +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task OrderByDescending(bool async) @@ -4042,10 +4340,12 @@ public override async Task OrderByDescending(bool async) await base.OrderByDescending(async); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] DESC"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] DESC +"""); } public override async Task Select_Property_when_shadow(bool async) @@ -4053,9 +4353,11 @@ public override async Task Select_Property_when_shadow(bool async) await base.Select_Property_when_shadow(async); AssertSql( - @"SELECT c[""Title""] +""" +SELECT c["Title"] FROM root c -WHERE (c[""Discriminator""] = ""Employee"")"); +WHERE (c["Discriminator"] = "Employee") +"""); } public override async Task Skip_0_Take_0_works_when_parameter(bool async) @@ -4063,21 +4365,25 @@ public override async Task Skip_0_Take_0_works_when_parameter(bool async) await base.Skip_0_Take_0_works_when_parameter(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] -OFFSET @__p_0 LIMIT @__p_0", - // - @"@__p_0='1' +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +OFFSET @__p_0 LIMIT @__p_0 +""", + // +""" +@__p_0='1' SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] -OFFSET @__p_0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +OFFSET @__p_0 LIMIT @__p_0 +"""); } public override async Task Mixed_sync_async_in_query_cache() @@ -4085,13 +4391,17 @@ public override async Task Mixed_sync_async_in_query_cache() await base.Mixed_sync_async_in_query_cache(); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")", - // - @"SELECT c +WHERE (c["Discriminator"] = "Customer") +""", + // +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Client_code_using_instance_method_throws(bool async) diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindSelectQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindSelectQueryCosmosTest.cs index c06a447ebc1..148b61cb008 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindSelectQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindSelectQueryCosmosTest.cs @@ -32,9 +32,11 @@ await AssertQuery( e => e.Value); AssertSql( - @"SELECT VALUE {""Value"" : c[""OrderID""]} +""" +SELECT VALUE {"Value" : c["OrderID"]} FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Projection_when_arithmetic_expression_precedence(bool async) @@ -42,9 +44,11 @@ public override async Task Projection_when_arithmetic_expression_precedence(bool await base.Projection_when_arithmetic_expression_precedence(async); AssertSql( - @"SELECT VALUE {""A"" : (c[""OrderID""] / (c[""OrderID""] / 2)), ""B"" : ((c[""OrderID""] / c[""OrderID""]) / 2)} +""" +SELECT VALUE {"A" : (c["OrderID"] / (c["OrderID"] / 2)), "B" : ((c["OrderID"] / c["OrderID"]) / 2)} FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Projection_when_arithmetic_expressions(bool async) @@ -52,9 +56,11 @@ public override async Task Projection_when_arithmetic_expressions(bool async) await base.Projection_when_arithmetic_expressions(async); AssertSql( - @"SELECT VALUE {""OrderID"" : c[""OrderID""], ""Double"" : (c[""OrderID""] * 2), ""Add"" : (c[""OrderID""] + 23), ""Sub"" : (100000 - c[""OrderID""]), ""Divide"" : (c[""OrderID""] / (c[""OrderID""] / 2)), ""Literal"" : 42, ""o"" : c} +""" +SELECT VALUE {"OrderID" : c["OrderID"], "Double" : (c["OrderID"] * 2), "Add" : (c["OrderID"] + 23), "Sub" : (100000 - c["OrderID"]), "Divide" : (c["OrderID"] / (c["OrderID"] / 2)), "Literal" : 42, "o" : c} FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Projection_when_arithmetic_mixed(bool async) @@ -78,9 +84,11 @@ public override async Task Projection_when_null_value(bool async) await base.Projection_when_null_value(async); AssertSql( - @"SELECT c[""Region""] +""" +SELECT c["Region"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Projection_when_client_evald_subquery(bool async) @@ -96,9 +104,11 @@ public override async Task Project_to_object_array(bool async) await base.Project_to_object_array(async); AssertSql( - @"SELECT c[""EmployeeID""], c[""ReportsTo""], c[""Title""] +""" +SELECT c["EmployeeID"], c["ReportsTo"], c["Title"] FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""EmployeeID""] = 1))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["EmployeeID"] = 1)) +"""); } public override async Task Projection_of_entity_type_into_object_array(bool async) @@ -106,10 +116,12 @@ public override async Task Projection_of_entity_type_into_object_array(bool asyn await base.Projection_of_entity_type_into_object_array(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A"")))) -ORDER BY c[""CustomerID""]"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) +ORDER BY c["CustomerID"] +"""); } public override async Task Projection_of_multiple_entity_types_into_object_array(bool async) @@ -125,10 +137,12 @@ public override async Task Projection_of_entity_type_into_object_list(bool async await base.Projection_of_entity_type_into_object_list(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Project_to_int_array(bool async) @@ -136,9 +150,11 @@ public override async Task Project_to_int_array(bool async) await base.Project_to_int_array(async); AssertSql( - @"SELECT c[""EmployeeID""], c[""ReportsTo""] +""" +SELECT c["EmployeeID"], c["ReportsTo"] FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""EmployeeID""] = 1))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["EmployeeID"] = 1)) +"""); } public override async Task Select_bool_closure_with_order_by_property_with_cast_to_nullable(bool async) @@ -155,12 +171,14 @@ await Assert.ThrowsAsync( () => base.Select_bool_closure_with_order_parameter_with_cast_to_nullable(async)); AssertSql( - @"@__boolean_0='false' +""" +@__boolean_0='false' -SELECT VALUE {""c"" : @__boolean_0} +SELECT VALUE {"c" : @__boolean_0} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY @__boolean_0"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY @__boolean_0 +"""); } public override async Task Select_scalar(bool async) @@ -168,9 +186,11 @@ public override async Task Select_scalar(bool async) await base.Select_scalar(async); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_anonymous_one(bool async) @@ -178,9 +198,11 @@ public override async Task Select_anonymous_one(bool async) await base.Select_anonymous_one(async); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_anonymous_two(bool async) @@ -188,9 +210,11 @@ public override async Task Select_anonymous_two(bool async) await base.Select_anonymous_two(async); AssertSql( - @"SELECT c[""City""], c[""Phone""] +""" +SELECT c["City"], c["Phone"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_anonymous_three(bool async) @@ -198,9 +222,11 @@ public override async Task Select_anonymous_three(bool async) await base.Select_anonymous_three(async); AssertSql( - @"SELECT c[""City""], c[""Phone""], c[""Country""] +""" +SELECT c["City"], c["Phone"], c["Country"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_anonymous_bool_constant_true(bool async) @@ -208,9 +234,11 @@ public override async Task Select_anonymous_bool_constant_true(bool async) await base.Select_anonymous_bool_constant_true(async); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""ConstantTrue"" : true} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "ConstantTrue" : true} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_anonymous_constant_in_expression(bool async) @@ -218,9 +246,11 @@ public override async Task Select_anonymous_constant_in_expression(bool async) await base.Select_anonymous_constant_in_expression(async); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""Expression"" : (LENGTH(c[""CustomerID""]) + 5)} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "Expression" : (LENGTH(c["CustomerID"]) + 5)} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_anonymous_conditional_expression(bool async) @@ -228,9 +258,11 @@ public override async Task Select_anonymous_conditional_expression(bool async) await base.Select_anonymous_conditional_expression(async); AssertSql( - @"SELECT VALUE {""ProductID"" : c[""ProductID""], ""IsAvailable"" : (c[""UnitsInStock""] > 0)} +""" +SELECT VALUE {"ProductID" : c["ProductID"], "IsAvailable" : (c["UnitsInStock"] > 0)} FROM root c -WHERE (c[""Discriminator""] = ""Product"")"); +WHERE (c["Discriminator"] = "Product") +"""); } public override async Task Select_anonymous_with_object(bool async) @@ -238,9 +270,11 @@ public override async Task Select_anonymous_with_object(bool async) await base.Select_anonymous_with_object(async); AssertSql( - @"SELECT c[""City""], c +""" +SELECT c["City"], c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_constant_int(bool async) @@ -248,9 +282,11 @@ public override async Task Select_constant_int(bool async) await base.Select_constant_int(async); AssertSql( - @"SELECT VALUE {""c"" : 0} +""" +SELECT VALUE {"c" : 0} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_constant_null_string(bool async) @@ -258,9 +294,11 @@ public override async Task Select_constant_null_string(bool async) await base.Select_constant_null_string(async); AssertSql( - @"SELECT VALUE {""c"" : null} +""" +SELECT VALUE {"c" : null} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_local(bool async) @@ -268,11 +306,13 @@ public override async Task Select_local(bool async) await base.Select_local(async); AssertSql( - @"@__x_0='10' +""" +@__x_0='10' -SELECT VALUE {""c"" : @__x_0} +SELECT VALUE {"c" : @__x_0} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_scalar_primitive_after_take(bool async) @@ -280,12 +320,14 @@ public override async Task Select_scalar_primitive_after_take(bool async) await base.Select_scalar_primitive_after_take(async); AssertSql( - @"@__p_0='9' +""" +@__p_0='9' -SELECT c[""EmployeeID""] +SELECT c["EmployeeID"] FROM root c -WHERE (c[""Discriminator""] = ""Employee"") -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Employee") +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Select_project_filter(bool async) @@ -293,9 +335,11 @@ public override async Task Select_project_filter(bool async) await base.Select_project_filter(async); AssertSql( - @"SELECT c[""CompanyName""] +""" +SELECT c["CompanyName"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +"""); } public override async Task Select_project_filter2(bool async) @@ -303,9 +347,11 @@ public override async Task Select_project_filter2(bool async) await base.Select_project_filter2(async); AssertSql( - @"SELECT c[""City""] +""" +SELECT c["City"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +"""); } public override async Task Select_nested_collection(bool async) @@ -377,9 +423,11 @@ public override async Task New_date_time_in_anonymous_type_works(bool async) await base.New_date_time_in_anonymous_type_works(async); AssertSql( - @"SELECT 1 +""" +SELECT 1 FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A""))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) +"""); } public override async Task Select_non_matching_value_types_int_to_long_introduces_explicit_cast(bool async) @@ -387,10 +435,12 @@ public override async Task Select_non_matching_value_types_int_to_long_introduce await base.Select_non_matching_value_types_int_to_long_introduces_explicit_cast(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task Select_non_matching_value_types_nullable_int_to_long_introduces_explicit_cast(bool async) @@ -398,10 +448,12 @@ public override async Task Select_non_matching_value_types_nullable_int_to_long_ await base.Select_non_matching_value_types_nullable_int_to_long_introduces_explicit_cast(async); AssertSql( - @"SELECT c[""EmployeeID""] +""" +SELECT c["EmployeeID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task Select_non_matching_value_types_nullable_int_to_int_doesnt_introduce_explicit_cast(bool async) @@ -409,10 +461,12 @@ public override async Task Select_non_matching_value_types_nullable_int_to_int_d await base.Select_non_matching_value_types_nullable_int_to_int_doesnt_introduce_explicit_cast(async); AssertSql( - @"SELECT c[""EmployeeID""] +""" +SELECT c["EmployeeID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task Select_non_matching_value_types_int_to_nullable_int_doesnt_introduce_explicit_cast(bool async) @@ -420,10 +474,12 @@ public override async Task Select_non_matching_value_types_int_to_nullable_int_d await base.Select_non_matching_value_types_int_to_nullable_int_doesnt_introduce_explicit_cast(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task Select_non_matching_value_types_from_binary_expression_introduces_explicit_cast(bool async) @@ -431,10 +487,12 @@ public override async Task Select_non_matching_value_types_from_binary_expressio await base.Select_non_matching_value_types_from_binary_expression_introduces_explicit_cast(async); AssertSql( - @"SELECT VALUE {""c"" : (c[""OrderID""] + c[""OrderID""])} +""" +SELECT VALUE {"c" : (c["OrderID"] + c["OrderID"])} FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task Select_non_matching_value_types_from_binary_expression_nested_introduces_top_level_explicit_cast( @@ -443,10 +501,12 @@ public override async Task Select_non_matching_value_types_from_binary_expressio await base.Select_non_matching_value_types_from_binary_expression_nested_introduces_top_level_explicit_cast(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task Select_non_matching_value_types_from_unary_expression_introduces_explicit_cast1(bool async) @@ -454,10 +514,12 @@ public override async Task Select_non_matching_value_types_from_unary_expression await base.Select_non_matching_value_types_from_unary_expression_introduces_explicit_cast1(async); AssertSql( - @"SELECT VALUE {""c"" : -(c[""OrderID""])} +""" +SELECT VALUE {"c" : -(c["OrderID"])} FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task Select_non_matching_value_types_from_unary_expression_introduces_explicit_cast2(bool async) @@ -465,10 +527,12 @@ public override async Task Select_non_matching_value_types_from_unary_expression await base.Select_non_matching_value_types_from_unary_expression_introduces_explicit_cast2(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task Select_non_matching_value_types_from_length_introduces_explicit_cast(bool async) @@ -476,10 +540,12 @@ public override async Task Select_non_matching_value_types_from_length_introduce await base.Select_non_matching_value_types_from_length_introduces_explicit_cast(async); AssertSql( - @"SELECT LENGTH(c[""CustomerID""]) AS c +""" +SELECT LENGTH(c["CustomerID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task Select_non_matching_value_types_from_method_call_introduces_explicit_cast(bool async) @@ -487,10 +553,12 @@ public override async Task Select_non_matching_value_types_from_method_call_intr await base.Select_non_matching_value_types_from_method_call_introduces_explicit_cast(async); AssertSql( - @"SELECT ABS(c[""OrderID""]) AS c +""" +SELECT ABS(c["OrderID"]) AS c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task Select_non_matching_value_types_from_anonymous_type_introduces_explicit_cast(bool async) @@ -498,10 +566,12 @@ public override async Task Select_non_matching_value_types_from_anonymous_type_i await base.Select_non_matching_value_types_from_anonymous_type_introduces_explicit_cast(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI"")) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +ORDER BY c["OrderID"] +"""); } public override async Task @@ -520,9 +590,11 @@ public override async Task Select_conditional_with_null_comparison_in_test(bool await base.Select_conditional_with_null_comparison_in_test(async); AssertSql( - @"SELECT VALUE {""c"" : ((c[""CustomerID""] = null) ? true : (c[""OrderID""] < 100))} +""" +SELECT VALUE {"c" : ((c["CustomerID"] = null) ? true : (c["OrderID"] < 100))} FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Order") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Projection_in_a_subquery_should_be_liftable(bool async) @@ -540,9 +612,11 @@ public override async Task Projection_containing_DateTime_subtraction(bool async await base.Projection_containing_DateTime_subtraction(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] < 10300))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] < 10300)) +"""); } public override async Task Project_single_element_from_collection_with_OrderBy_Take_and_FirstOrDefault(bool async) @@ -641,9 +715,11 @@ public override async Task Select_datetime_year_component(bool async) await base.Select_datetime_year_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_datetime_month_component(bool async) @@ -651,9 +727,11 @@ public override async Task Select_datetime_month_component(bool async) await base.Select_datetime_month_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_datetime_day_of_year_component(bool async) @@ -661,9 +739,11 @@ public override async Task Select_datetime_day_of_year_component(bool async) await base.Select_datetime_day_of_year_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_datetime_day_component(bool async) @@ -671,9 +751,11 @@ public override async Task Select_datetime_day_component(bool async) await base.Select_datetime_day_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_datetime_hour_component(bool async) @@ -681,9 +763,11 @@ public override async Task Select_datetime_hour_component(bool async) await base.Select_datetime_hour_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_datetime_minute_component(bool async) @@ -691,9 +775,11 @@ public override async Task Select_datetime_minute_component(bool async) await base.Select_datetime_minute_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_datetime_second_component(bool async) @@ -701,9 +787,11 @@ public override async Task Select_datetime_second_component(bool async) await base.Select_datetime_second_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_datetime_millisecond_component(bool async) @@ -711,9 +799,11 @@ public override async Task Select_datetime_millisecond_component(bool async) await base.Select_datetime_millisecond_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_byte_constant(bool async) @@ -721,9 +811,11 @@ public override async Task Select_byte_constant(bool async) await base.Select_byte_constant(async); AssertSql( - @"SELECT VALUE {""c"" : ((c[""CustomerID""] = ""ALFKI"") ? 1 : 2)} +""" +SELECT VALUE {"c" : ((c["CustomerID"] = "ALFKI") ? 1 : 2)} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_short_constant(bool async) @@ -731,9 +823,11 @@ public override async Task Select_short_constant(bool async) await base.Select_short_constant(async); AssertSql( - @"SELECT VALUE {""c"" : ((c[""CustomerID""] = ""ALFKI"") ? 1 : 2)} +""" +SELECT VALUE {"c" : ((c["CustomerID"] = "ALFKI") ? 1 : 2)} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_bool_constant(bool async) @@ -741,9 +835,11 @@ public override async Task Select_bool_constant(bool async) await base.Select_bool_constant(async); AssertSql( - @"SELECT VALUE {""c"" : ((c[""CustomerID""] = ""ALFKI"") ? true : false)} +""" +SELECT VALUE {"c" : ((c["CustomerID"] = "ALFKI") ? true : false)} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Anonymous_projection_AsNoTracking_Selector(bool async) @@ -751,9 +847,11 @@ public override async Task Anonymous_projection_AsNoTracking_Selector(bool async await base.Anonymous_projection_AsNoTracking_Selector(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Anonymous_projection_with_repeated_property_being_ordered(bool async) @@ -761,10 +859,12 @@ public override async Task Anonymous_projection_with_repeated_property_being_ord await base.Anonymous_projection_with_repeated_property_being_ordered(async); AssertSql( - @"SELECT VALUE {""A"" : c[""CustomerID""]} +""" +SELECT VALUE {"A" : c["CustomerID"]} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Anonymous_projection_with_repeated_property_being_ordered_2(bool async) @@ -780,9 +880,11 @@ public override async Task Select_GetValueOrDefault_on_DateTime(bool async) await base.Select_GetValueOrDefault_on_DateTime(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_GetValueOrDefault_on_DateTime_with_null_values(bool async) @@ -798,9 +900,11 @@ public override async Task Client_method_in_projection_requiring_materialization await base.Client_method_in_projection_requiring_materialization_1(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A""))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) +"""); } public override async Task Client_method_in_projection_requiring_materialization_2(bool async) @@ -808,9 +912,11 @@ public override async Task Client_method_in_projection_requiring_materialization await base.Client_method_in_projection_requiring_materialization_2(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A""))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) +"""); } public override async Task Multiple_select_many_with_predicate(bool async) @@ -962,9 +1068,11 @@ public override async Task Explicit_cast_in_arithmetic_operation_is_preserved(bo await base.Explicit_cast_in_arithmetic_operation_is_preserved(async); AssertSql( - @"SELECT VALUE {""OrderID"" : c[""OrderID""], ""c"" : (c[""OrderID""] + 1000)} +""" +SELECT VALUE {"OrderID" : c["OrderID"], "c" : (c["OrderID"] + 1000)} FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = 10243))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = 10243)) +"""); } public override async Task SelectMany_whose_selector_references_outer_source(bool async) @@ -1020,9 +1128,11 @@ public override async Task Coalesce_over_nullable_uint(bool async) await base.Coalesce_over_nullable_uint(async); AssertSql( - @"SELECT VALUE {""c"" : ((c[""EmployeeID""] != null) ? c[""EmployeeID""] : 0)} +""" +SELECT VALUE {"c" : ((c["EmployeeID"] != null) ? c["EmployeeID"] : 0)} FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Project_uint_through_collection_FirstOrDefault(bool async) @@ -1046,10 +1156,12 @@ public override async Task Reverse_changes_asc_order_to_desc(bool async) await base.Reverse_changes_asc_order_to_desc(async); AssertSql( - @"SELECT c[""EmployeeID""] +""" +SELECT c["EmployeeID"] FROM root c -WHERE (c[""Discriminator""] = ""Employee"") -ORDER BY c[""EmployeeID""] DESC"); +WHERE (c["Discriminator"] = "Employee") +ORDER BY c["EmployeeID"] DESC +"""); } public override async Task Reverse_changes_desc_order_to_asc(bool async) @@ -1057,10 +1169,12 @@ public override async Task Reverse_changes_desc_order_to_asc(bool async) await base.Reverse_changes_desc_order_to_asc(async); AssertSql( - @"SELECT c[""EmployeeID""] +""" +SELECT c["EmployeeID"] FROM root c -WHERE (c[""Discriminator""] = ""Employee"") -ORDER BY c[""EmployeeID""]"); +WHERE (c["Discriminator"] = "Employee") +ORDER BY c["EmployeeID"] +"""); } public override async Task Projection_AsEnumerable_projection(bool async) @@ -1076,10 +1190,12 @@ public override async Task Projection_custom_type_in_both_sides_of_ternary(bool await base.Projection_custom_type_in_both_sides_of_ternary(async); AssertSql( - @"SELECT VALUE {""c"" : (c[""City""] = ""Seattle"")} +""" +SELECT VALUE {"c" : (c["City"] = "Seattle")} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""]"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +"""); } public override async Task Projecting_multiple_collection_with_same_constant_works(bool async) @@ -1171,13 +1287,15 @@ public override async Task Projection_take_predicate_projection(bool async) await base.Projection_take_predicate_projection(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' -SELECT VALUE {""Aggregate"" : ((c[""CustomerID""] || "" "") || c[""City""])} +SELECT VALUE {"Aggregate" : ((c["CustomerID"] || " ") || c["City"])} FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A"")))) -ORDER BY c[""CustomerID""] -OFFSET 0 LIMIT @__p_0"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) +ORDER BY c["CustomerID"] +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Projection_take_projection_doesnt_project_intermittent_column(bool async) @@ -1185,13 +1303,15 @@ public override async Task Projection_take_projection_doesnt_project_intermitten await base.Projection_take_projection_doesnt_project_intermittent_column(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' -SELECT VALUE {""Aggregate"" : ((c[""CustomerID""] || "" "") || c[""City""])} +SELECT VALUE {"Aggregate" : ((c["CustomerID"] || " ") || c["City"])} FROM root c -WHERE (c[""Discriminator""] = ""Customer"") -ORDER BY c[""CustomerID""] -OFFSET 0 LIMIT @__p_0"); +WHERE (c["Discriminator"] = "Customer") +ORDER BY c["CustomerID"] +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Projection_skip_projection_doesnt_project_intermittent_column(bool async) @@ -1261,10 +1381,12 @@ public override async Task Ternary_in_client_eval_assigns_correct_types(bool asy await base.Ternary_in_client_eval_assigns_correct_types(async); AssertSql( - @"SELECT VALUE {""CustomerID"" : c[""CustomerID""], ""OrderDate"" : c[""OrderDate""], ""c"" : (c[""OrderID""] - 10000)} +""" +SELECT VALUE {"CustomerID" : c["CustomerID"], "OrderDate" : c["OrderDate"], "c" : (c["OrderID"] - 10000)} FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] < 10300)) -ORDER BY c[""OrderID""]"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] < 10300)) +ORDER BY c["OrderID"] +"""); } public override async Task Collection_include_over_result_of_single_non_scalar(bool async) @@ -1423,10 +1545,12 @@ await Assert.ThrowsAsync( () => base.Reverse_after_orderby_thenby(async)); AssertSql( - @"SELECT c[""EmployeeID""] +""" +SELECT c["EmployeeID"] FROM root c -WHERE (c[""Discriminator""] = ""Employee"") -ORDER BY c[""EmployeeID""] DESC, c[""City""]"); +WHERE (c["Discriminator"] = "Employee") +ORDER BY c["EmployeeID"] DESC, c["City"] +"""); } public override async Task Reverse_after_orderBy_and_take(bool async) @@ -1462,13 +1586,17 @@ public override async Task Select_bool_closure(bool async) await base.Select_bool_closure(async); AssertSql( - @"SELECT 1 +""" +SELECT 1 FROM root c -WHERE (c[""Discriminator""] = ""Customer"")", - // - @"SELECT 1 +WHERE (c["Discriminator"] = "Customer") +""", + // +""" +SELECT 1 FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_datetime_DayOfWeek_component(bool async) @@ -1476,9 +1604,11 @@ public override async Task Select_datetime_DayOfWeek_component(bool async) await base.Select_datetime_DayOfWeek_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Reverse_after_multiple_orderbys(bool async) @@ -1486,10 +1616,12 @@ public override async Task Reverse_after_multiple_orderbys(bool async) await base.Reverse_after_multiple_orderbys(async); AssertSql( - @"SELECT c[""EmployeeID""] +""" +SELECT c["EmployeeID"] FROM root c -WHERE (c[""Discriminator""] = ""Employee"") -ORDER BY c[""EmployeeID""]"); +WHERE (c["Discriminator"] = "Employee") +ORDER BY c["EmployeeID"] +"""); } public override async Task VisitLambda_should_not_be_visited_trivially(bool async) @@ -1497,9 +1629,11 @@ public override async Task VisitLambda_should_not_be_visited_trivially(bool asyn await base.VisitLambda_should_not_be_visited_trivially(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND ((c[""CustomerID""] != null) AND ((""A"" != null) AND STARTSWITH(c[""CustomerID""], ""A""))))"); +WHERE ((c["Discriminator"] = "Order") AND ((c["CustomerID"] != null) AND (("A" != null) AND STARTSWITH(c["CustomerID"], "A")))) +"""); } public override async Task Projecting_nullable_struct(bool async) @@ -1507,9 +1641,11 @@ public override async Task Projecting_nullable_struct(bool async) await base.Projecting_nullable_struct(async); AssertSql( - @"SELECT c[""CustomerID""], (c[""CustomerID""] = ""ALFKI"") AS c, c[""OrderID""], LENGTH(c[""CustomerID""]) AS c0 +""" +SELECT c["CustomerID"], (c["CustomerID"] = "ALFKI") AS c, c["OrderID"], LENGTH(c["CustomerID"]) AS c0 FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_customer_identity(bool async) @@ -1517,9 +1653,11 @@ public override async Task Select_customer_identity(bool async) await base.Select_customer_identity(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Projection_with_parameterized_constructor(bool async) @@ -1527,9 +1665,11 @@ public override async Task Projection_with_parameterized_constructor(bool async) await base.Projection_with_parameterized_constructor(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Select_anonymous_nested(bool async) @@ -1537,9 +1677,11 @@ public override async Task Select_anonymous_nested(bool async) await base.Select_anonymous_nested(async); AssertSql( - @"SELECT c[""City""], c[""Country""] +""" +SELECT c["City"], c["Country"] FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Cast_on_top_level_projection_brings_explicit_Cast(bool async) @@ -1547,9 +1689,11 @@ public override async Task Cast_on_top_level_projection_brings_explicit_Cast(boo await base.Cast_on_top_level_projection_brings_explicit_Cast(async); AssertSql( - @"SELECT c[""OrderID""] +""" +SELECT c["OrderID"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_anonymous_empty(bool async) @@ -1557,9 +1701,11 @@ public override async Task Select_anonymous_empty(bool async) await base.Select_anonymous_empty(async); AssertSql( - @"SELECT 1 +""" +SELECT 1 FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_scalar_primitive(bool async) @@ -1567,9 +1713,11 @@ public override async Task Select_scalar_primitive(bool async) await base.Select_scalar_primitive(async); AssertSql( - @"SELECT c[""EmployeeID""] +""" +SELECT c["EmployeeID"] FROM root c -WHERE (c[""Discriminator""] = ""Employee"")"); +WHERE (c["Discriminator"] = "Employee") +"""); } public override async Task Select_into(bool async) @@ -1577,9 +1725,11 @@ public override async Task Select_into(bool async) await base.Select_into(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Projection_with_parameterized_constructor_with_member_assignment(bool async) @@ -1587,9 +1737,11 @@ public override async Task Projection_with_parameterized_constructor_with_member await base.Projection_with_parameterized_constructor_with_member_assignment(async); AssertSql( - @"SELECT c, c[""City""] +""" +SELECT c, c["City"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Select_datetime_TimeOfDay_component(bool async) @@ -1597,9 +1749,11 @@ public override async Task Select_datetime_TimeOfDay_component(bool async) await base.Select_datetime_TimeOfDay_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_with_complex_expression_that_can_be_funcletized(bool async) @@ -1607,9 +1761,11 @@ public override async Task Select_with_complex_expression_that_can_be_funcletize await base.Select_with_complex_expression_that_can_be_funcletized(async); AssertSql( - @"SELECT INDEX_OF(c[""ContactName""], """") AS c +""" +SELECT INDEX_OF(c["ContactName"], "") AS c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Select_datetime_Ticks_component(bool async) @@ -1617,9 +1773,11 @@ public override async Task Select_datetime_Ticks_component(bool async) await base.Select_datetime_Ticks_component(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task Select_anonymous_literal(bool async) @@ -1627,9 +1785,11 @@ public override async Task Select_anonymous_literal(bool async) await base.Select_anonymous_literal(async); AssertSql( - @"SELECT VALUE {""X"" : 10} +""" +SELECT VALUE {"X" : 10} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_customer_table(bool async) @@ -1637,9 +1797,11 @@ public override async Task Select_customer_table(bool async) await base.Select_customer_table(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Select_over_10_nested_ternary_condition(bool async) @@ -1647,9 +1809,11 @@ public override async Task Select_over_10_nested_ternary_condition(bool async) await base.Select_over_10_nested_ternary_condition(async); AssertSql( - @"SELECT VALUE {""c"" : ((c[""CustomerID""] = ""1"") ? ""01"" : ((c[""CustomerID""] = ""2"") ? ""02"" : ((c[""CustomerID""] = ""3"") ? ""03"" : ((c[""CustomerID""] = ""4"") ? ""04"" : ((c[""CustomerID""] = ""5"") ? ""05"" : ((c[""CustomerID""] = ""6"") ? ""06"" : ((c[""CustomerID""] = ""7"") ? ""07"" : ((c[""CustomerID""] = ""8"") ? ""08"" : ((c[""CustomerID""] = ""9"") ? ""09"" : ((c[""CustomerID""] = ""10"") ? ""10"" : ((c[""CustomerID""] = ""11"") ? ""11"" : null)))))))))))} +""" +SELECT VALUE {"c" : ((c["CustomerID"] = "1") ? "01" : ((c["CustomerID"] = "2") ? "02" : ((c["CustomerID"] = "3") ? "03" : ((c["CustomerID"] = "4") ? "04" : ((c["CustomerID"] = "5") ? "05" : ((c["CustomerID"] = "6") ? "06" : ((c["CustomerID"] = "7") ? "07" : ((c["CustomerID"] = "8") ? "08" : ((c["CustomerID"] = "9") ? "09" : ((c["CustomerID"] = "10") ? "10" : ((c["CustomerID"] = "11") ? "11" : null)))))))))))} FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Using_enumerable_parameter_in_projection(bool async) @@ -1657,9 +1821,11 @@ public override async Task Using_enumerable_parameter_in_projection(bool async) await base.Using_enumerable_parameter_in_projection(async); AssertSql( - @"SELECT c[""CustomerID""] +""" +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] != null) AND ((""F"" != null) AND STARTSWITH(c[""CustomerID""], ""F""))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] != null) AND (("F" != null) AND STARTSWITH(c["CustomerID"], "F")))) +"""); } [ConditionalTheory(Skip = "Cross collection join Issue#17246")] diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindWhereQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindWhereQueryCosmosTest.cs index a3e48480dff..cdf0e2f8070 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindWhereQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/NorthwindWhereQueryCosmosTest.cs @@ -32,9 +32,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND ((c[""OrderID""] + 10) = 10258))"); +WHERE ((c["Discriminator"] = "Order") AND ((c["OrderID"] + 10) = 10258)) +"""); } [ConditionalTheory] @@ -47,9 +49,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND ((c[""OrderID""] - 10) = 10238))"); +WHERE ((c["Discriminator"] = "Order") AND ((c["OrderID"] - 10) = 10238)) +"""); } [ConditionalTheory] @@ -62,9 +66,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND ((c[""OrderID""] * 1) = 10248))"); +WHERE ((c["Discriminator"] = "Order") AND ((c["OrderID"] * 1) = 10248)) +"""); } [ConditionalTheory] @@ -77,9 +83,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND ((c[""OrderID""] / 1) = 10248))"); +WHERE ((c["Discriminator"] = "Order") AND ((c["OrderID"] / 1) = 10248)) +"""); } [ConditionalTheory] @@ -92,9 +100,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND ((c[""OrderID""] % 10248) = 0))"); +WHERE ((c["Discriminator"] = "Order") AND ((c["OrderID"] % 10248) = 0)) +"""); } public override async Task Where_bitwise_or(bool async) @@ -105,9 +115,11 @@ public override async Task Where_bitwise_or(bool async) (await Assert.ThrowsAsync(() => base.Where_bitwise_or(async))).Actual); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] = ""ALFKI"") | (c[""CustomerID""] = ""ANATR"")))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] = "ALFKI") | (c["CustomerID"] = "ANATR"))) +"""); } public override async Task Where_bitwise_and(bool async) @@ -115,9 +127,11 @@ public override async Task Where_bitwise_and(bool async) await base.Where_bitwise_and(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] = ""ALFKI"") & (c[""CustomerID""] = ""ANATR"")))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] = "ALFKI") & (c["CustomerID"] = "ANATR"))) +"""); } public override async Task Where_bitwise_xor(bool async) @@ -140,9 +154,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND ((c[""OrderID""] << 1) = 20496))"); +WHERE ((c["Discriminator"] = "Order") AND ((c["OrderID"] << 1) = 20496)) +"""); } [ConditionalTheory] @@ -155,9 +171,11 @@ await AssertQuery( entryCount: 2); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND ((c[""OrderID""] >> 1) = 5124))"); +WHERE ((c["Discriminator"] = "Order") AND ((c["OrderID"] >> 1) = 5124)) +"""); } [ConditionalTheory] @@ -170,9 +188,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""City""] = ""Seattle"") AND (c[""ContactTitle""] = ""Owner"")))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["City"] = "Seattle") AND (c["ContactTitle"] = "Owner"))) +"""); } [ConditionalTheory] @@ -185,9 +205,11 @@ await AssertQuery( entryCount: 2); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] = ""ALFKI"") OR (c[""CustomerID""] = ""ANATR"")))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] = "ALFKI") OR (c["CustomerID"] = "ANATR"))) +"""); } [ConditionalTheory] @@ -200,9 +222,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND NOT((c[""City""] != ""Seattle"")))"); +WHERE ((c["Discriminator"] = "Customer") AND NOT((c["City"] != "Seattle"))) +"""); } [ConditionalTheory] @@ -215,9 +239,11 @@ await AssertQuery( entryCount: 5); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] = 2))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] = 2)) +"""); } [ConditionalTheory] @@ -230,9 +256,11 @@ await AssertQuery( entryCount: 4); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] != 2))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] != 2)) +"""); } [ConditionalTheory] @@ -245,9 +273,11 @@ await AssertQuery( entryCount: 3); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] > 2))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] > 2)) +"""); } [ConditionalTheory] @@ -260,9 +290,11 @@ await AssertQuery( entryCount: 8); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] >= 2))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] >= 2)) +"""); } [ConditionalTheory] @@ -274,9 +306,11 @@ await AssertQuery( ss => ss.Set().Where(e => e.ReportsTo < 2)); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] < 2))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] < 2)) +"""); } [ConditionalTheory] @@ -289,9 +323,11 @@ await AssertQuery( entryCount: 5); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] <= 2))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] <= 2)) +"""); } [ConditionalTheory] @@ -304,9 +340,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] || ""END"") = ""ALFKIEND""))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] || "END") = "ALFKIEND")) +"""); } [ConditionalTheory] @@ -319,9 +357,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (-(c[""OrderID""]) = -10248))"); +WHERE ((c["Discriminator"] = "Order") AND (-(c["OrderID"]) = -10248)) +"""); } [ConditionalTheory] @@ -334,9 +374,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (~(c[""OrderID""]) = -10249))"); +WHERE ((c["Discriminator"] = "Order") AND (~(c["OrderID"]) = -10249)) +"""); } [ConditionalTheory] @@ -351,9 +393,11 @@ await AssertQuery( entryCount: 2); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""Region""] != null) ? c[""Region""] : ""SP"") = ""BC""))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["Region"] != null) ? c["Region"] : "SP") = "BC")) +"""); } [ConditionalTheory] @@ -366,9 +410,11 @@ await AssertQuery( entryCount: 2); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""Region""] != null) ? c[""Region""] : ""SP"") = ""BC""))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["Region"] != null) ? c["Region"] : "SP") = "BC")) +"""); } public override async Task Where_simple(bool async) @@ -376,9 +422,11 @@ public override async Task Where_simple(bool async) await base.Where_simple(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +"""); } private static readonly Expression> _filter = o => o.CustomerID == "ALFKI"; @@ -396,17 +444,21 @@ public override async Task Where_simple_closure(bool async) var queryString = await base.Where_simple_closure(async); AssertSql( - @"@__city_0='London' +""" +@__city_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_0)) +"""); Assert.Equal( - @"-- @__city_0='London' +""" +-- @__city_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_0))", queryString, ignoreLineEndingDifferences: true, +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_0)) +""", queryString, ignoreLineEndingDifferences: true, ignoreWhiteSpaceDifferences: true); return null; @@ -417,11 +469,13 @@ public override async Task Where_indexer_closure(bool async) await base.Where_indexer_closure(async); AssertSql( - @"@__p_0='London' +""" +@__p_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__p_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__p_0)) +"""); } public override async Task Where_dictionary_key_access_closure(bool async) @@ -429,11 +483,13 @@ public override async Task Where_dictionary_key_access_closure(bool async) await base.Where_dictionary_key_access_closure(async); AssertSql( - @"@__get_Item_0='London' +""" +@__get_Item_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__get_Item_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__get_Item_0)) +"""); } public override async Task Where_tuple_item_closure(bool async) @@ -441,11 +497,13 @@ public override async Task Where_tuple_item_closure(bool async) await base.Where_tuple_item_closure(async); AssertSql( - @"@__predicateTuple_Item2_0='London' +""" +@__predicateTuple_Item2_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__predicateTuple_Item2_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__predicateTuple_Item2_0)) +"""); } public override async Task Where_named_tuple_item_closure(bool async) @@ -453,11 +511,13 @@ public override async Task Where_named_tuple_item_closure(bool async) await base.Where_named_tuple_item_closure(async); AssertSql( - @"@__predicateTuple_Item2_0='London' +""" +@__predicateTuple_Item2_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__predicateTuple_Item2_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__predicateTuple_Item2_0)) +"""); } public override async Task Where_simple_closure_constant(bool async) @@ -465,11 +525,13 @@ public override async Task Where_simple_closure_constant(bool async) await base.Where_simple_closure_constant(async); AssertSql( - @"@__predicate_0='true' +""" +@__predicate_0='true' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND @__predicate_0)"); +WHERE ((c["Discriminator"] = "Customer") AND @__predicate_0) +"""); } public override async Task Where_simple_closure_via_query_cache(bool async) @@ -477,17 +539,21 @@ public override async Task Where_simple_closure_via_query_cache(bool async) await base.Where_simple_closure_via_query_cache(async); AssertSql( - @"@__city_0='London' +""" +@__city_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_0))", - // - @"@__city_0='Seattle' +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_0)) +""", + // +""" +@__city_0='Seattle' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_0)) +"""); } public override async Task Where_method_call_nullable_type_closure_via_query_cache(bool async) @@ -511,17 +577,21 @@ public override async Task Where_method_call_closure_via_query_cache(bool async) await base.Where_method_call_closure_via_query_cache(async); AssertSql( - @"@__GetCity_0='London' +""" +@__GetCity_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__GetCity_0))", - // - @"@__GetCity_0='Seattle' +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__GetCity_0)) +""", + // +""" +@__GetCity_0='Seattle' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__GetCity_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__GetCity_0)) +"""); } public override async Task Where_field_access_closure_via_query_cache(bool async) @@ -529,17 +599,21 @@ public override async Task Where_field_access_closure_via_query_cache(bool async await base.Where_field_access_closure_via_query_cache(async); AssertSql( - @"@__city_InstanceFieldValue_0='London' +""" +@__city_InstanceFieldValue_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_InstanceFieldValue_0))", - // - @"@__city_InstanceFieldValue_0='Seattle' +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_InstanceFieldValue_0)) +""", + // +""" +@__city_InstanceFieldValue_0='Seattle' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_InstanceFieldValue_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_InstanceFieldValue_0)) +"""); } public override async Task Where_property_access_closure_via_query_cache(bool async) @@ -547,17 +621,21 @@ public override async Task Where_property_access_closure_via_query_cache(bool as await base.Where_property_access_closure_via_query_cache(async); AssertSql( - @"@__city_InstancePropertyValue_0='London' +""" +@__city_InstancePropertyValue_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_InstancePropertyValue_0))", - // - @"@__city_InstancePropertyValue_0='Seattle' +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_InstancePropertyValue_0)) +""", + // +""" +@__city_InstancePropertyValue_0='Seattle' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_InstancePropertyValue_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_InstancePropertyValue_0)) +"""); } public override async Task Where_static_field_access_closure_via_query_cache(bool async) @@ -565,17 +643,21 @@ public override async Task Where_static_field_access_closure_via_query_cache(boo await base.Where_static_field_access_closure_via_query_cache(async); AssertSql( - @"@__StaticFieldValue_0='London' +""" +@__StaticFieldValue_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__StaticFieldValue_0))", - // - @"@__StaticFieldValue_0='Seattle' +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__StaticFieldValue_0)) +""", + // +""" +@__StaticFieldValue_0='Seattle' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__StaticFieldValue_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__StaticFieldValue_0)) +"""); } public override async Task Where_static_property_access_closure_via_query_cache(bool async) @@ -583,17 +665,21 @@ public override async Task Where_static_property_access_closure_via_query_cache( await base.Where_static_property_access_closure_via_query_cache(async); AssertSql( - @"@__StaticPropertyValue_0='London' +""" +@__StaticPropertyValue_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__StaticPropertyValue_0))", - // - @"@__StaticPropertyValue_0='Seattle' +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__StaticPropertyValue_0)) +""", + // +""" +@__StaticPropertyValue_0='Seattle' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__StaticPropertyValue_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__StaticPropertyValue_0)) +"""); } public override async Task Where_nested_field_access_closure_via_query_cache(bool async) @@ -601,17 +687,21 @@ public override async Task Where_nested_field_access_closure_via_query_cache(boo await base.Where_nested_field_access_closure_via_query_cache(async); AssertSql( - @"@__city_Nested_InstanceFieldValue_0='London' +""" +@__city_Nested_InstanceFieldValue_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_Nested_InstanceFieldValue_0))", - // - @"@__city_Nested_InstanceFieldValue_0='Seattle' +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_Nested_InstanceFieldValue_0)) +""", + // +""" +@__city_Nested_InstanceFieldValue_0='Seattle' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_Nested_InstanceFieldValue_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_Nested_InstanceFieldValue_0)) +"""); } public override async Task Where_nested_property_access_closure_via_query_cache(bool async) @@ -619,17 +709,21 @@ public override async Task Where_nested_property_access_closure_via_query_cache( await base.Where_nested_property_access_closure_via_query_cache(async); AssertSql( - @"@__city_Nested_InstancePropertyValue_0='London' +""" +@__city_Nested_InstancePropertyValue_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_Nested_InstancePropertyValue_0))", - // - @"@__city_Nested_InstancePropertyValue_0='Seattle' +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_Nested_InstancePropertyValue_0)) +""", + // +""" +@__city_Nested_InstancePropertyValue_0='Seattle' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_Nested_InstancePropertyValue_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_Nested_InstancePropertyValue_0)) +"""); } public override async Task Where_new_instance_field_access_query_cache(bool async) @@ -637,17 +731,21 @@ public override async Task Where_new_instance_field_access_query_cache(bool asyn await base.Where_new_instance_field_access_query_cache(async); AssertSql( - @"@__InstanceFieldValue_0='London' +""" +@__InstanceFieldValue_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__InstanceFieldValue_0))", - // - @"@__InstanceFieldValue_0='Seattle' +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__InstanceFieldValue_0)) +""", + // +""" +@__InstanceFieldValue_0='Seattle' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__InstanceFieldValue_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__InstanceFieldValue_0)) +"""); } public override async Task Where_new_instance_field_access_closure_via_query_cache(bool async) @@ -655,17 +753,21 @@ public override async Task Where_new_instance_field_access_closure_via_query_cac await base.Where_new_instance_field_access_closure_via_query_cache(async); AssertSql( - @"@__InstanceFieldValue_0='London' +""" +@__InstanceFieldValue_0='London' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__InstanceFieldValue_0))", - // - @"@__InstanceFieldValue_0='Seattle' +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__InstanceFieldValue_0)) +""", + // +""" +@__InstanceFieldValue_0='Seattle' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__InstanceFieldValue_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__InstanceFieldValue_0)) +"""); } public override async Task Where_simple_closure_via_query_cache_nullable_type(bool async) @@ -697,9 +799,11 @@ public override async Task Where_simple_shadow(bool async) await base.Where_simple_shadow(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""Title""] = ""Sales Representative""))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["Title"] = "Sales Representative")) +"""); } public override async Task Where_simple_shadow_projection(bool async) @@ -707,9 +811,11 @@ public override async Task Where_simple_shadow_projection(bool async) await base.Where_simple_shadow_projection(async); AssertSql( - @"SELECT c[""Title""] +""" +SELECT c["Title"] FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""Title""] = ""Sales Representative""))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["Title"] = "Sales Representative")) +"""); } public override async Task Where_simple_shadow_subquery(bool async) @@ -719,13 +825,15 @@ public override async Task Where_simple_shadow_subquery(bool async) (await Assert.ThrowsAsync(() => base.Where_simple_shadow_subquery(async))).Actual); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""Title""] = ""Sales Representative"")) -ORDER BY c[""EmployeeID""] -OFFSET 0 LIMIT @__p_0"); +WHERE ((c["Discriminator"] = "Employee") AND (c["Title"] = "Sales Representative")) +ORDER BY c["EmployeeID"] +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Where_shadow_subquery_FirstOrDefault(bool async) @@ -791,9 +899,11 @@ public override async Task Where_equals_method_string(bool async) await base.Where_equals_method_string(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +"""); } public override async Task Where_equals_method_string_with_ignore_case(bool async) @@ -801,9 +911,11 @@ public override async Task Where_equals_method_string_with_ignore_case(bool asyn await base.Where_equals_method_string_with_ignore_case(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND STRINGEQUALS(c[""City""], ""London"", true))"); +WHERE ((c["Discriminator"] = "Customer") AND STRINGEQUALS(c["City"], "London", true)) +"""); } public override async Task Where_equals_method_int(bool async) @@ -811,9 +923,11 @@ public override async Task Where_equals_method_int(bool async) await base.Where_equals_method_int(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""EmployeeID""] = 1))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["EmployeeID"] = 1)) +"""); } public override async Task Where_equals_using_object_overload_on_mismatched_types(bool async) @@ -821,9 +935,11 @@ public override async Task Where_equals_using_object_overload_on_mismatched_type await base.Where_equals_using_object_overload_on_mismatched_types(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND false)"); +WHERE ((c["Discriminator"] = "Employee") AND false) +"""); } public override async Task Where_equals_using_int_overload_on_mismatched_types(bool async) @@ -831,11 +947,13 @@ public override async Task Where_equals_using_int_overload_on_mismatched_types(b await base.Where_equals_using_int_overload_on_mismatched_types(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""EmployeeID""] = @__p_0))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["EmployeeID"] = @__p_0)) +"""); } public override async Task Where_equals_on_mismatched_types_nullable_int_long(bool async) @@ -843,13 +961,17 @@ public override async Task Where_equals_on_mismatched_types_nullable_int_long(bo await base.Where_equals_on_mismatched_types_nullable_int_long(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND false)", - // - @"SELECT c +WHERE ((c["Discriminator"] = "Employee") AND false) +""", + // +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND false)"); +WHERE ((c["Discriminator"] = "Employee") AND false) +"""); } public override async Task Where_equals_on_mismatched_types_nullable_long_nullable_int(bool async) @@ -857,13 +979,17 @@ public override async Task Where_equals_on_mismatched_types_nullable_long_nullab await base.Where_equals_on_mismatched_types_nullable_long_nullable_int(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND false)", - // - @"SELECT c +WHERE ((c["Discriminator"] = "Employee") AND false) +""", + // +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND false)"); +WHERE ((c["Discriminator"] = "Employee") AND false) +"""); } public override async Task Where_equals_on_mismatched_types_int_nullable_int(bool async) @@ -871,17 +997,21 @@ public override async Task Where_equals_on_mismatched_types_int_nullable_int(boo await base.Where_equals_on_mismatched_types_int_nullable_int(async); AssertSql( - @"@__intPrm_0='2' +""" +@__intPrm_0='2' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] = @__intPrm_0))", - // - @"@__intPrm_0='2' +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] = @__intPrm_0)) +""", + // +""" +@__intPrm_0='2' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (@__intPrm_0 = c[""ReportsTo""]))"); +WHERE ((c["Discriminator"] = "Employee") AND (@__intPrm_0 = c["ReportsTo"])) +"""); } public override async Task Where_equals_on_matched_nullable_int_types(bool async) @@ -889,17 +1019,21 @@ public override async Task Where_equals_on_matched_nullable_int_types(bool async await base.Where_equals_on_matched_nullable_int_types(async); AssertSql( - @"@__nullableIntPrm_0='2' +""" +@__nullableIntPrm_0='2' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (@__nullableIntPrm_0 = c[""ReportsTo""]))", - // - @"@__nullableIntPrm_0='2' +WHERE ((c["Discriminator"] = "Employee") AND (@__nullableIntPrm_0 = c["ReportsTo"])) +""", + // +""" +@__nullableIntPrm_0='2' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] = @__nullableIntPrm_0))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] = @__nullableIntPrm_0)) +"""); } public override async Task Where_equals_on_null_nullable_int_types(bool async) @@ -907,17 +1041,21 @@ public override async Task Where_equals_on_null_nullable_int_types(bool async) await base.Where_equals_on_null_nullable_int_types(async); AssertSql( - @"@__nullableIntPrm_0=null +""" +@__nullableIntPrm_0=null SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (@__nullableIntPrm_0 = c[""ReportsTo""]))", - // - @"@__nullableIntPrm_0=null +WHERE ((c["Discriminator"] = "Employee") AND (@__nullableIntPrm_0 = c["ReportsTo"])) +""", + // +""" +@__nullableIntPrm_0=null SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] = @__nullableIntPrm_0))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] = @__nullableIntPrm_0)) +"""); } public override async Task Where_comparison_nullable_type_not_null(bool async) @@ -925,9 +1063,11 @@ public override async Task Where_comparison_nullable_type_not_null(bool async) await base.Where_comparison_nullable_type_not_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] = 2))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] = 2)) +"""); } public override async Task Where_comparison_nullable_type_null(bool async) @@ -935,9 +1075,11 @@ public override async Task Where_comparison_nullable_type_null(bool async) await base.Where_comparison_nullable_type_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""ReportsTo""] = null))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["ReportsTo"] = null)) +"""); } public override async Task Where_string_length(bool async) @@ -945,9 +1087,11 @@ public override async Task Where_string_length(bool async) await base.Where_string_length(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (LENGTH(c[""City""]) = 6))"); +WHERE ((c["Discriminator"] = "Customer") AND (LENGTH(c["City"]) = 6)) +"""); } public override async Task Where_string_indexof(bool async) @@ -955,9 +1099,11 @@ public override async Task Where_string_indexof(bool async) await base.Where_string_indexof(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (INDEX_OF(c[""City""], ""Sea"") != -1))"); +WHERE ((c["Discriminator"] = "Customer") AND (INDEX_OF(c["City"], "Sea") != -1)) +"""); } public override async Task Where_string_replace(bool async) @@ -965,9 +1111,11 @@ public override async Task Where_string_replace(bool async) await base.Where_string_replace(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (REPLACE(c[""City""], ""Sea"", ""Rea"") = ""Reattle""))"); +WHERE ((c["Discriminator"] = "Customer") AND (REPLACE(c["City"], "Sea", "Rea") = "Reattle")) +"""); } public override async Task Where_string_substring(bool async) @@ -975,9 +1123,11 @@ public override async Task Where_string_substring(bool async) await base.Where_string_substring(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (SUBSTRING(c[""City""], 1, 2) = ""ea""))"); +WHERE ((c["Discriminator"] = "Customer") AND (SUBSTRING(c["City"], 1, 2) = "ea")) +"""); } public override async Task Where_datetime_now(bool async) @@ -993,11 +1143,13 @@ public override async Task Where_datetime_utcnow(bool async) await base.Where_datetime_utcnow(async); AssertSql( - @"@__myDatetime_0='2015-04-10T00:00:00' +""" +@__myDatetime_0='2015-04-10T00:00:00' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (GetCurrentDateTime() != @__myDatetime_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (GetCurrentDateTime() != @__myDatetime_0)) +"""); } public override async Task Where_datetimeoffset_utcnow(bool async) @@ -1005,11 +1157,13 @@ public override async Task Where_datetimeoffset_utcnow(bool async) await base.Where_datetimeoffset_utcnow(async); AssertSql( - @"@__myDatetimeOffset_0='2015-04-10T00:00:00-08:00' +""" +@__myDatetimeOffset_0='2015-04-10T00:00:00-08:00' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (GetCurrentDateTime() != @__myDatetimeOffset_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (GetCurrentDateTime() != @__myDatetimeOffset_0)) +"""); } public override async Task Where_datetime_today(bool async) @@ -1121,9 +1275,11 @@ public override async Task Where_simple_reversed(bool async) await base.Where_simple_reversed(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (""London"" = c[""City""]))"); +WHERE ((c["Discriminator"] = "Customer") AND ("London" = c["City"])) +"""); } public override async Task Where_is_null(bool async) @@ -1131,9 +1287,11 @@ public override async Task Where_is_null(bool async) await base.Where_is_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = null)) +"""); } public override async Task Where_null_is_null(bool async) @@ -1141,9 +1299,11 @@ public override async Task Where_null_is_null(bool async) await base.Where_null_is_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Where_constant_is_null(bool async) @@ -1151,9 +1311,11 @@ public override async Task Where_constant_is_null(bool async) await base.Where_constant_is_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND false)"); +WHERE ((c["Discriminator"] = "Customer") AND false) +"""); } public override async Task Where_is_not_null(bool async) @@ -1161,9 +1323,11 @@ public override async Task Where_is_not_null(bool async) await base.Where_is_not_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] != null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] != null)) +"""); } public override async Task Where_null_is_not_null(bool async) @@ -1171,9 +1335,11 @@ public override async Task Where_null_is_not_null(bool async) await base.Where_null_is_not_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND false)"); +WHERE ((c["Discriminator"] = "Customer") AND false) +"""); } public override async Task Where_constant_is_not_null(bool async) @@ -1181,9 +1347,11 @@ public override async Task Where_constant_is_not_null(bool async) await base.Where_constant_is_not_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Where_identity_comparison(bool async) @@ -1191,9 +1359,11 @@ public override async Task Where_identity_comparison(bool async) await base.Where_identity_comparison(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = c[""City""]))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = c["City"])) +"""); } public override async Task Where_in_optimization_multiple(bool async) @@ -1249,12 +1419,14 @@ public override async Task Where_primitive(bool async) await base.Where_primitive(async); AssertSql( - @"@__p_0='9' +""" +@__p_0='9' -SELECT c[""EmployeeID""] +SELECT c["EmployeeID"] FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""EmployeeID""] = 5)) -OFFSET 0 LIMIT @__p_0"); +WHERE ((c["Discriminator"] = "Employee") AND (c["EmployeeID"] = 5)) +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Where_bool_member(bool async) @@ -1262,9 +1434,11 @@ public override async Task Where_bool_member(bool async) await base.Where_bool_member(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND c[""Discontinued""])"); +WHERE ((c["Discriminator"] = "Product") AND c["Discontinued"]) +"""); } public override async Task Where_bool_member_false(bool async) @@ -1272,9 +1446,11 @@ public override async Task Where_bool_member_false(bool async) await base.Where_bool_member_false(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND NOT(c[""Discontinued""]))"); +WHERE ((c["Discriminator"] = "Product") AND NOT(c["Discontinued"])) +"""); } public override async Task Where_bool_client_side_negated(bool async) @@ -1290,9 +1466,11 @@ public override async Task Where_bool_member_negated_twice(bool async) await base.Where_bool_member_negated_twice(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND NOT(NOT((c[""Discontinued""] = true))))"); +WHERE ((c["Discriminator"] = "Product") AND NOT(NOT((c["Discontinued"] = true)))) +"""); } public override async Task Where_bool_member_shadow(bool async) @@ -1300,9 +1478,11 @@ public override async Task Where_bool_member_shadow(bool async) await base.Where_bool_member_shadow(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND c[""Discontinued""])"); +WHERE ((c["Discriminator"] = "Product") AND c["Discontinued"]) +"""); } public override async Task Where_bool_member_false_shadow(bool async) @@ -1310,9 +1490,11 @@ public override async Task Where_bool_member_false_shadow(bool async) await base.Where_bool_member_false_shadow(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND NOT(c[""Discontinued""]))"); +WHERE ((c["Discriminator"] = "Product") AND NOT(c["Discontinued"])) +"""); } public override async Task Where_bool_member_equals_constant(bool async) @@ -1320,9 +1502,11 @@ public override async Task Where_bool_member_equals_constant(bool async) await base.Where_bool_member_equals_constant(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""Discontinued""] = true))"); +WHERE ((c["Discriminator"] = "Product") AND (c["Discontinued"] = true)) +"""); } public override async Task Where_bool_member_in_complex_predicate(bool async) @@ -1330,9 +1514,11 @@ public override async Task Where_bool_member_in_complex_predicate(bool async) await base.Where_bool_member_in_complex_predicate(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (((c[""ProductID""] > 100) AND c[""Discontinued""]) OR (c[""Discontinued""] = true)))"); +WHERE ((c["Discriminator"] = "Product") AND (((c["ProductID"] > 100) AND c["Discontinued"]) OR (c["Discontinued"] = true))) +"""); } public override async Task Where_bool_member_compared_to_binary_expression(bool async) @@ -1340,9 +1526,11 @@ public override async Task Where_bool_member_compared_to_binary_expression(bool await base.Where_bool_member_compared_to_binary_expression(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""Discontinued""] = (c[""ProductID""] > 50)))"); +WHERE ((c["Discriminator"] = "Product") AND (c["Discontinued"] = (c["ProductID"] > 50))) +"""); } public override async Task Where_not_bool_member_compared_to_not_bool_member(bool async) @@ -1350,9 +1538,11 @@ public override async Task Where_not_bool_member_compared_to_not_bool_member(boo await base.Where_not_bool_member_compared_to_not_bool_member(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (NOT(c[""Discontinued""]) = NOT(c[""Discontinued""])))"); +WHERE ((c["Discriminator"] = "Product") AND (NOT(c["Discontinued"]) = NOT(c["Discontinued"]))) +"""); } public override async Task Where_negated_boolean_expression_compared_to_another_negated_boolean_expression(bool async) @@ -1360,9 +1550,11 @@ public override async Task Where_negated_boolean_expression_compared_to_another_ await base.Where_negated_boolean_expression_compared_to_another_negated_boolean_expression(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (NOT((c[""ProductID""] > 50)) = NOT((c[""ProductID""] > 20))))"); +WHERE ((c["Discriminator"] = "Product") AND (NOT((c["ProductID"] > 50)) = NOT((c["ProductID"] > 20)))) +"""); } public override async Task Where_not_bool_member_compared_to_binary_expression(bool async) @@ -1370,9 +1562,11 @@ public override async Task Where_not_bool_member_compared_to_binary_expression(b await base.Where_not_bool_member_compared_to_binary_expression(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (NOT(c[""Discontinued""]) = (c[""ProductID""] > 50)))"); +WHERE ((c["Discriminator"] = "Product") AND (NOT(c["Discontinued"]) = (c["ProductID"] > 50))) +"""); } public override async Task Where_bool_parameter(bool async) @@ -1380,11 +1574,13 @@ public override async Task Where_bool_parameter(bool async) await base.Where_bool_parameter(async); AssertSql( - @"@__prm_0='true' +""" +@__prm_0='true' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND @__prm_0)"); +WHERE ((c["Discriminator"] = "Product") AND @__prm_0) +"""); } public override async Task Where_bool_parameter_compared_to_binary_expression(bool async) @@ -1392,11 +1588,13 @@ public override async Task Where_bool_parameter_compared_to_binary_expression(bo await base.Where_bool_parameter_compared_to_binary_expression(async); AssertSql( - @"@__prm_0='true' +""" +@__prm_0='true' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND ((c[""ProductID""] > 50) != @__prm_0))"); +WHERE ((c["Discriminator"] = "Product") AND ((c["ProductID"] > 50) != @__prm_0)) +"""); } public override async Task Where_bool_member_and_parameter_compared_to_binary_expression_nested(bool async) @@ -1404,11 +1602,13 @@ public override async Task Where_bool_member_and_parameter_compared_to_binary_ex await base.Where_bool_member_and_parameter_compared_to_binary_expression_nested(async); AssertSql( - @"@__prm_0='true' +""" +@__prm_0='true' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""Discontinued""] = ((c[""ProductID""] > 50) != @__prm_0)))"); +WHERE ((c["Discriminator"] = "Product") AND (c["Discontinued"] = ((c["ProductID"] > 50) != @__prm_0))) +"""); } public override async Task Where_de_morgan_or_optimized(bool async) @@ -1416,9 +1616,11 @@ public override async Task Where_de_morgan_or_optimized(bool async) await base.Where_de_morgan_or_optimized(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND NOT((c[""Discontinued""] OR (c[""ProductID""] < 20))))"); +WHERE ((c["Discriminator"] = "Product") AND NOT((c["Discontinued"] OR (c["ProductID"] < 20)))) +"""); } public override async Task Where_de_morgan_and_optimized(bool async) @@ -1426,9 +1628,11 @@ public override async Task Where_de_morgan_and_optimized(bool async) await base.Where_de_morgan_and_optimized(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND NOT((c[""Discontinued""] AND (c[""ProductID""] < 20))))"); +WHERE ((c["Discriminator"] = "Product") AND NOT((c["Discontinued"] AND (c["ProductID"] < 20)))) +"""); } public override async Task Where_complex_negated_expression_optimized(bool async) @@ -1436,9 +1640,11 @@ public override async Task Where_complex_negated_expression_optimized(bool async await base.Where_complex_negated_expression_optimized(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND NOT((NOT((NOT(c[""Discontinued""]) AND (c[""ProductID""] < 60))) OR NOT((c[""ProductID""] > 30)))))"); +WHERE ((c["Discriminator"] = "Product") AND NOT((NOT((NOT(c["Discontinued"]) AND (c["ProductID"] < 60))) OR NOT((c["ProductID"] > 30))))) +"""); } public override async Task Where_short_member_comparison(bool async) @@ -1446,9 +1652,11 @@ public override async Task Where_short_member_comparison(bool async) await base.Where_short_member_comparison(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""UnitsInStock""] > 10))"); +WHERE ((c["Discriminator"] = "Product") AND (c["UnitsInStock"] > 10)) +"""); } public override async Task Where_comparison_to_nullable_bool(bool async) @@ -1456,9 +1664,11 @@ public override async Task Where_comparison_to_nullable_bool(bool async) await base.Where_comparison_to_nullable_bool(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CustomerID""] != null) AND ((""KI"" != null) AND ENDSWITH(c[""CustomerID""], ""KI""))) = true))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CustomerID"] != null) AND (("KI" != null) AND ENDSWITH(c["CustomerID"], "KI"))) = true)) +"""); } public override async Task Where_true(bool async) @@ -1466,9 +1676,11 @@ public override async Task Where_true(bool async) await base.Where_true(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Where_false(bool async) @@ -1476,9 +1688,11 @@ public override async Task Where_false(bool async) await base.Where_false(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND false)"); +WHERE ((c["Discriminator"] = "Customer") AND false) +"""); } public override async Task Where_bool_closure(bool async) @@ -1486,13 +1700,17 @@ public override async Task Where_bool_closure(bool async) await base.Where_bool_closure(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND false)", - // - @"SELECT c +WHERE ((c["Discriminator"] = "Customer") AND false) +""", + // +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""CustomerID""] = ""ALFKI"") AND true))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["CustomerID"] = "ALFKI") AND true)) +"""); } public override async Task Where_default(bool async) @@ -1500,9 +1718,11 @@ public override async Task Where_default(bool async) await base.Where_default(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""Fax""] = null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["Fax"] = null)) +"""); } public override async Task Where_expression_invoke_1(bool async) @@ -1510,9 +1730,11 @@ public override async Task Where_expression_invoke_1(bool async) await base.Where_expression_invoke_1(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Where_expression_invoke_2(bool async) @@ -1528,9 +1750,11 @@ public override async Task Where_expression_invoke_3(bool async) await base.Where_expression_invoke_3(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Where_concat_string_int_comparison1(bool async) @@ -1570,11 +1794,13 @@ public override async Task Where_string_concat_method_comparison(bool async) await base.Where_string_concat_method_comparison(async); AssertSql( - @"@__i_0='A' +""" +@__i_0='A' -SELECT c[""CustomerID""] +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((@__i_0 || c[""CustomerID""]) = c[""CompanyName""]))"); +WHERE ((c["Discriminator"] = "Customer") AND ((@__i_0 || c["CustomerID"]) = c["CompanyName"])) +"""); } public override async Task Where_string_concat_method_comparison_2(bool async) @@ -1582,12 +1808,14 @@ public override async Task Where_string_concat_method_comparison_2(bool async) await base.Where_string_concat_method_comparison_2(async); AssertSql( - @"@__i_0='A' +""" +@__i_0='A' @__j_1='B' -SELECT c[""CustomerID""] +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((@__i_0 || (@__j_1 || c[""CustomerID""])) = c[""CompanyName""]))"); +WHERE ((c["Discriminator"] = "Customer") AND ((@__i_0 || (@__j_1 || c["CustomerID"])) = c["CompanyName"])) +"""); } public override async Task Where_string_concat_method_comparison_3(bool async) @@ -1595,13 +1823,15 @@ public override async Task Where_string_concat_method_comparison_3(bool async) await base.Where_string_concat_method_comparison_3(async); AssertSql( - @"@__i_0='A' +""" +@__i_0='A' @__j_1='B' @__k_2='C' -SELECT c[""CustomerID""] +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((@__i_0 || (@__j_1 || (@__k_2 || c[""CustomerID""]))) = c[""CompanyName""]))"); +WHERE ((c["Discriminator"] = "Customer") AND ((@__i_0 || (@__j_1 || (@__k_2 || c["CustomerID"]))) = c["CompanyName"])) +"""); } public override async Task Where_ternary_boolean_condition_true(bool async) @@ -1609,9 +1839,11 @@ public override async Task Where_ternary_boolean_condition_true(bool async) await base.Where_ternary_boolean_condition_true(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""UnitsInStock""] >= 20))"); +WHERE ((c["Discriminator"] = "Product") AND (c["UnitsInStock"] >= 20)) +"""); } public override async Task Where_ternary_boolean_condition_false(bool async) @@ -1619,9 +1851,11 @@ public override async Task Where_ternary_boolean_condition_false(bool async) await base.Where_ternary_boolean_condition_false(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""UnitsInStock""] < 20))"); +WHERE ((c["Discriminator"] = "Product") AND (c["UnitsInStock"] < 20)) +"""); } public override async Task Where_ternary_boolean_condition_with_another_condition(bool async) @@ -1629,11 +1863,13 @@ public override async Task Where_ternary_boolean_condition_with_another_conditio await base.Where_ternary_boolean_condition_with_another_condition(async); AssertSql( - @"@__productId_0='15' +""" +@__productId_0='15' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND ((c[""ProductID""] < @__productId_0) AND (c[""UnitsInStock""] >= 20)))"); +WHERE ((c["Discriminator"] = "Product") AND ((c["ProductID"] < @__productId_0) AND (c["UnitsInStock"] >= 20))) +"""); } public override async Task Where_ternary_boolean_condition_with_false_as_result_true(bool async) @@ -1641,9 +1877,11 @@ public override async Task Where_ternary_boolean_condition_with_false_as_result_ await base.Where_ternary_boolean_condition_with_false_as_result_true(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (c[""UnitsInStock""] >= 20))"); +WHERE ((c["Discriminator"] = "Product") AND (c["UnitsInStock"] >= 20)) +"""); } public override async Task Where_ternary_boolean_condition_with_false_as_result_false(bool async) @@ -1651,9 +1889,11 @@ public override async Task Where_ternary_boolean_condition_with_false_as_result_ await base.Where_ternary_boolean_condition_with_false_as_result_false(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND false)"); +WHERE ((c["Discriminator"] = "Product") AND false) +"""); } public override async Task Where_compare_constructed_equal(bool async) @@ -1733,9 +1973,11 @@ public override async Task Where_compare_null(bool async) await base.Where_compare_null(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((c[""City""] = null) AND (c[""Country""] = ""UK"")))"); +WHERE ((c["Discriminator"] = "Customer") AND ((c["City"] = null) AND (c["Country"] = "UK"))) +"""); } public override async Task Where_Is_on_same_type(bool async) @@ -1743,9 +1985,11 @@ public override async Task Where_Is_on_same_type(bool async) await base.Where_Is_on_same_type(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Where_chain(bool async) @@ -1753,9 +1997,11 @@ public override async Task Where_chain(bool async) await base.Where_chain(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (((c[""Discriminator""] = ""Order"") AND (c[""CustomerID""] = ""QUICK"")) AND (c[""OrderDate""] > ""1998-01-01T00:00:00""))"); +WHERE (((c["Discriminator"] = "Order") AND (c["CustomerID"] = "QUICK")) AND (c["OrderDate"] > "1998-01-01T00:00:00")) +"""); } public override async Task Where_navigation_contains(bool async) @@ -1776,11 +2022,13 @@ public override async Task Where_array_index(bool async) await base.Where_array_index(async); AssertSql( - @"@__p_0='ALFKI' +""" +@__p_0='ALFKI' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = @__p_0))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = @__p_0)) +"""); } public override async Task Where_multiple_contains_in_subquery_with_or(bool async) @@ -1828,9 +2076,11 @@ public override async Task Time_of_day_datetime(bool async) await base.Time_of_day_datetime(async); AssertSql( - @"SELECT c[""OrderDate""] +""" +SELECT c["OrderDate"] FROM root c -WHERE (c[""Discriminator""] = ""Order"")"); +WHERE (c["Discriminator"] = "Order") +"""); } public override async Task TypeBinary_short_circuit(bool async) @@ -1838,11 +2088,13 @@ public override async Task TypeBinary_short_circuit(bool async) await base.TypeBinary_short_circuit(async); AssertSql( - @"@__p_0='false' +""" +@__p_0='false' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND @__p_0)"); +WHERE ((c["Discriminator"] = "Order") AND @__p_0) +"""); } public override async Task Decimal_cast_to_double_works(bool async) @@ -1858,9 +2110,11 @@ public override async Task Where_is_conditional(bool async) await base.Where_is_conditional(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Product"") AND (true ? false : true))"); +WHERE ((c["Discriminator"] = "Product") AND (true ? false : true)) +"""); } public override async Task Filter_non_nullable_value_after_FirstOrDefault_on_empty_collection(bool async) @@ -2036,9 +2290,11 @@ public override async Task Where_list_object_contains_over_value_type(bool async await base.Where_list_object_contains_over_value_type(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND c[""OrderID""] IN (10248, 10249))"); +WHERE ((c["Discriminator"] = "Order") AND c["OrderID"] IN (10248, 10249)) +"""); } public override async Task Where_array_of_object_contains_over_value_type(bool async) @@ -2046,9 +2302,11 @@ public override async Task Where_array_of_object_contains_over_value_type(bool a await base.Where_array_of_object_contains_over_value_type(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND c[""OrderID""] IN (10248, 10249))"); +WHERE ((c["Discriminator"] = "Order") AND c["OrderID"] IN (10248, 10249)) +"""); } public override async Task Filter_with_EF_Property_using_closure_for_property_name(bool async) @@ -2056,9 +2314,11 @@ public override async Task Filter_with_EF_Property_using_closure_for_property_na await base.Filter_with_EF_Property_using_closure_for_property_name(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task Filter_with_EF_Property_using_function_for_property_name(bool async) @@ -2066,9 +2326,11 @@ public override async Task Filter_with_EF_Property_using_function_for_property_n await base.Filter_with_EF_Property_using_function_for_property_name(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = ""ALFKI""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = "ALFKI")) +"""); } public override async Task FirstOrDefault_over_scalar_projection_compared_to_null(bool async) @@ -2188,9 +2450,11 @@ public override async Task Where_Contains_and_comparison(bool async) await base.Where_Contains_and_comparison(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ALFKI"", ""FISSA"") AND (c[""City""] = ""Seattle"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ALFKI", "FISSA") AND (c["City"] = "Seattle"))) +"""); } public override async Task Where_Contains_or_comparison(bool async) @@ -2198,9 +2462,11 @@ public override async Task Where_Contains_or_comparison(bool async) await base.Where_Contains_or_comparison(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ALFKI"", ""FISSA"") OR (c[""City""] = ""Seattle"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ALFKI", "FISSA") OR (c["City"] = "Seattle"))) +"""); } public override async Task Where_Like_and_comparison(bool async) @@ -2222,9 +2488,11 @@ public override async Task GetType_on_non_hierarchy1(bool async) await base.GetType_on_non_hierarchy1(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task GetType_on_non_hierarchy2(bool async) @@ -2232,9 +2500,11 @@ public override async Task GetType_on_non_hierarchy2(bool async) await base.GetType_on_non_hierarchy2(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND false)"); +WHERE ((c["Discriminator"] = "Customer") AND false) +"""); } public override async Task GetType_on_non_hierarchy3(bool async) @@ -2242,9 +2512,11 @@ public override async Task GetType_on_non_hierarchy3(bool async) await base.GetType_on_non_hierarchy3(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND false)"); +WHERE ((c["Discriminator"] = "Customer") AND false) +"""); } public override async Task GetType_on_non_hierarchy4(bool async) @@ -2252,9 +2524,11 @@ public override async Task GetType_on_non_hierarchy4(bool async) await base.GetType_on_non_hierarchy4(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"); +WHERE (c["Discriminator"] = "Customer") +"""); } public override async Task Case_block_simplification_works_correctly(bool async) @@ -2262,9 +2536,11 @@ public override async Task Case_block_simplification_works_correctly(bool async) await base.Case_block_simplification_works_correctly(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""Region""] = null) ? ""OR"" : c[""Region""]) = ""OR""))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["Region"] = null) ? "OR" : c["Region"]) = "OR")) +"""); } public override async Task Where_compare_null_with_cast_to_object(bool async) @@ -2272,9 +2548,11 @@ public override async Task Where_compare_null_with_cast_to_object(bool async) await base.Where_compare_null_with_cast_to_object(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = null)) +"""); } public override async Task Where_compare_with_both_cast_to_object(bool async) @@ -2282,9 +2560,11 @@ public override async Task Where_compare_with_both_cast_to_object(bool async) await base.Where_compare_with_both_cast_to_object(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +"""); } public override async Task Where_projection(bool async) @@ -2292,9 +2572,11 @@ public override async Task Where_projection(bool async) await base.Where_projection(async); AssertSql( - @"SELECT c[""CompanyName""] +""" +SELECT c["CompanyName"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = ""London""))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = "London")) +"""); } public override async Task Enclosing_class_settable_member_generates_parameter(bool async) @@ -2302,17 +2584,21 @@ public override async Task Enclosing_class_settable_member_generates_parameter(b await base.Enclosing_class_settable_member_generates_parameter(async); AssertSql( - @"@__SettableProperty_0='4' +""" +@__SettableProperty_0='4' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = @__SettableProperty_0))", - // - @"@__SettableProperty_0='10' +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = @__SettableProperty_0)) +""", + // +""" +@__SettableProperty_0='10' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = @__SettableProperty_0))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = @__SettableProperty_0)) +"""); } public override async Task Enclosing_class_readonly_member_generates_parameter(bool async) @@ -2320,11 +2606,13 @@ public override async Task Enclosing_class_readonly_member_generates_parameter(b await base.Enclosing_class_readonly_member_generates_parameter(async); AssertSql( - @"@__ReadOnlyProperty_0='5' +""" +@__ReadOnlyProperty_0='5' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = @__ReadOnlyProperty_0))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = @__ReadOnlyProperty_0)) +"""); } public override async Task Enclosing_class_const_member_does_not_generate_parameter(bool async) @@ -2332,9 +2620,11 @@ public override async Task Enclosing_class_const_member_does_not_generate_parame await base.Enclosing_class_const_member_does_not_generate_parameter(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Order"") AND (c[""OrderID""] = 1))"); +WHERE ((c["Discriminator"] = "Order") AND (c["OrderID"] = 1)) +"""); } public override async Task Generic_Ilist_contains_translates_to_server(bool async) @@ -2342,9 +2632,11 @@ public override async Task Generic_Ilist_contains_translates_to_server(bool asyn await base.Generic_Ilist_contains_translates_to_server(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND c[""City""] IN (""Seattle""))"); +WHERE ((c["Discriminator"] = "Customer") AND c["City"] IN ("Seattle")) +"""); } public override async Task Multiple_OrElse_on_same_column_converted_to_in_with_overlap(bool async) @@ -2352,9 +2644,11 @@ public override async Task Multiple_OrElse_on_same_column_converted_to_in_with_o await base.Multiple_OrElse_on_same_column_converted_to_in_with_overlap(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((((c[""CustomerID""] = ""ALFKI"") OR (c[""CustomerID""] = ""ANATR"")) OR (c[""CustomerID""] = ""ANTON"")) OR (c[""CustomerID""] = ""ANATR"")))"); +WHERE ((c["Discriminator"] = "Customer") AND ((((c["CustomerID"] = "ALFKI") OR (c["CustomerID"] = "ANATR")) OR (c["CustomerID"] = "ANTON")) OR (c["CustomerID"] = "ANATR"))) +"""); } public override async Task Multiple_OrElse_on_same_column_with_null_constant_comparison_converted_to_in(bool async) @@ -2362,9 +2656,11 @@ public override async Task Multiple_OrElse_on_same_column_with_null_constant_com await base.Multiple_OrElse_on_same_column_with_null_constant_comparison_converted_to_in(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((((c[""Region""] = ""WA"") OR (c[""Region""] = ""OR"")) OR (c[""Region""] = null)) OR (c[""Region""] = ""BC"")))"); +WHERE ((c["Discriminator"] = "Customer") AND ((((c["Region"] = "WA") OR (c["Region"] = "OR")) OR (c["Region"] = null)) OR (c["Region"] = "BC"))) +"""); } public override async Task Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(bool async) @@ -2372,9 +2668,11 @@ public override async Task Constant_array_Contains_OrElse_comparison_with_consta await base.Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ALFKI"", ""ANATR"") OR (c[""CustomerID""] = ""ANTON"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ALFKI", "ANATR") OR (c["CustomerID"] = "ANTON"))) +"""); } public override async Task Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in_with_overlap(bool async) @@ -2382,9 +2680,11 @@ public override async Task Constant_array_Contains_OrElse_comparison_with_consta await base.Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in_with_overlap(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CustomerID""] = ""ANTON"") OR c[""CustomerID""] IN (""ALFKI"", ""ANATR"")) OR (c[""CustomerID""] = ""ALFKI"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CustomerID"] = "ANTON") OR c["CustomerID"] IN ("ALFKI", "ANATR")) OR (c["CustomerID"] = "ALFKI"))) +"""); } public override async Task Constant_array_Contains_OrElse_another_Contains_gets_combined_to_one_in_with_overlap(bool async) @@ -2392,9 +2692,11 @@ public override async Task Constant_array_Contains_OrElse_another_Contains_gets_ await base.Constant_array_Contains_OrElse_another_Contains_gets_combined_to_one_in_with_overlap(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ALFKI"", ""ANATR"") OR c[""CustomerID""] IN (""ALFKI"", ""ANTON"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ALFKI", "ANATR") OR c["CustomerID"] IN ("ALFKI", "ANTON"))) +"""); } public override async Task Constant_array_Contains_AndAlso_another_Contains_gets_combined_to_one_in_with_overlap(bool async) @@ -2402,9 +2704,11 @@ public override async Task Constant_array_Contains_AndAlso_another_Contains_gets await base.Constant_array_Contains_AndAlso_another_Contains_gets_combined_to_one_in_with_overlap(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (NOT(c[""CustomerID""] IN (""ALFKI"", ""ANATR"")) AND NOT(c[""CustomerID""] IN (""ALFKI"", ""ANTON""))))"); +WHERE ((c["Discriminator"] = "Customer") AND (NOT(c["CustomerID"] IN ("ALFKI", "ANATR")) AND NOT(c["CustomerID"] IN ("ALFKI", "ANTON")))) +"""); } public override async Task Multiple_AndAlso_on_same_column_converted_to_in_using_parameters(bool async) @@ -2412,13 +2716,15 @@ public override async Task Multiple_AndAlso_on_same_column_converted_to_in_using await base.Multiple_AndAlso_on_same_column_converted_to_in_using_parameters(async); AssertSql( - @"@__prm1_0='ALFKI' +""" +@__prm1_0='ALFKI' @__prm2_1='ANATR' @__prm3_2='ANTON' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CustomerID""] != @__prm1_0) AND (c[""CustomerID""] != @__prm2_1)) AND (c[""CustomerID""] != @__prm3_2)))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CustomerID"] != @__prm1_0) AND (c["CustomerID"] != @__prm2_1)) AND (c["CustomerID"] != @__prm3_2))) +"""); } public override async Task Array_of_parameters_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(bool async) @@ -2426,9 +2732,11 @@ public override async Task Array_of_parameters_Contains_OrElse_comparison_with_c await base.Array_of_parameters_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ALFKI"", ""ANATR"") OR (c[""CustomerID""] = ""ANTON"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ALFKI", "ANATR") OR (c["CustomerID"] = "ANTON"))) +"""); } public override async Task Multiple_OrElse_on_same_column_with_null_parameter_comparison_converted_to_in(bool async) @@ -2436,11 +2744,13 @@ public override async Task Multiple_OrElse_on_same_column_with_null_parameter_co await base.Multiple_OrElse_on_same_column_with_null_parameter_comparison_converted_to_in(async); AssertSql( - @"@__prm_0=null +""" +@__prm_0=null SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((((c[""Region""] = ""WA"") OR (c[""Region""] = ""OR"")) OR (c[""Region""] = @__prm_0)) OR (c[""Region""] = ""BC"")))"); +WHERE ((c["Discriminator"] = "Customer") AND ((((c["Region"] = "WA") OR (c["Region"] = "OR")) OR (c["Region"] = @__prm_0)) OR (c["Region"] = "BC"))) +"""); } public override async Task Parameter_array_Contains_OrElse_comparison_with_constant(bool async) @@ -2448,9 +2758,11 @@ public override async Task Parameter_array_Contains_OrElse_comparison_with_const await base.Parameter_array_Contains_OrElse_comparison_with_constant(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ALFKI"", ""ANATR"") OR (c[""CustomerID""] = ""ANTON"")))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ALFKI", "ANATR") OR (c["CustomerID"] = "ANTON"))) +"""); } public override async Task Parameter_array_Contains_OrElse_comparison_with_parameter_with_overlap(bool async) @@ -2458,12 +2770,14 @@ public override async Task Parameter_array_Contains_OrElse_comparison_with_param await base.Parameter_array_Contains_OrElse_comparison_with_parameter_with_overlap(async); AssertSql( - @"@__prm1_0='ANTON' +""" +@__prm1_0='ANTON' @__prm2_2='ALFKI' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (((c[""CustomerID""] = @__prm1_0) OR c[""CustomerID""] IN (""ALFKI"", ""ANATR"")) OR (c[""CustomerID""] = @__prm2_2)))"); +WHERE ((c["Discriminator"] = "Customer") AND (((c["CustomerID"] = @__prm1_0) OR c["CustomerID"] IN ("ALFKI", "ANATR")) OR (c["CustomerID"] = @__prm2_2))) +"""); } public override async Task Two_sets_of_comparison_combine_correctly(bool async) @@ -2471,9 +2785,11 @@ public override async Task Two_sets_of_comparison_combine_correctly(bool async) await base.Two_sets_of_comparison_combine_correctly(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] IN (""ALFKI"", ""ANATR"") AND ((c[""CustomerID""] = ""ANATR"") OR (c[""CustomerID""] = ""ANTON""))))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] IN ("ALFKI", "ANATR") AND ((c["CustomerID"] = "ANATR") OR (c["CustomerID"] = "ANTON")))) +"""); } public override async Task Two_sets_of_comparison_combine_correctly2(bool async) @@ -2481,9 +2797,11 @@ public override async Task Two_sets_of_comparison_combine_correctly2(bool async) await base.Two_sets_of_comparison_combine_correctly2(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((((c[""Region""] != ""WA"") AND (c[""Region""] != ""OR"")) AND (c[""Region""] != null)) OR ((c[""Region""] != ""WA"") AND (c[""Region""] != null))))"); +WHERE ((c["Discriminator"] = "Customer") AND ((((c["Region"] != "WA") AND (c["Region"] != "OR")) AND (c["Region"] != null)) OR ((c["Region"] != "WA") AND (c["Region"] != null)))) +"""); } public override async Task Filter_with_property_compared_to_null_wrapped_in_explicit_convert_to_object(bool async) @@ -2491,9 +2809,11 @@ public override async Task Filter_with_property_compared_to_null_wrapped_in_expl await base.Filter_with_property_compared_to_null_wrapped_in_explicit_convert_to_object(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""Region""] = null))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["Region"] = null)) +"""); } public override async Task Where_nested_field_access_closure_via_query_cache_error_null(bool async) @@ -2515,9 +2835,11 @@ public override async Task Where_simple_shadow_projection_mixed(bool async) await base.Where_simple_shadow_projection_mixed(async); AssertSql( - @"SELECT VALUE {""e"" : c, ""Title"" : c[""Title""]} +""" +SELECT VALUE {"e" : c, "Title" : c["Title"]} FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""Title""] = ""Sales Representative""))"); +WHERE ((c["Discriminator"] = "Employee") AND (c["Title"] = "Sales Representative")) +"""); } public override async Task Where_primitive_tracked(bool async) @@ -2525,12 +2847,14 @@ public override async Task Where_primitive_tracked(bool async) await base.Where_primitive_tracked(async); AssertSql( - @"@__p_0='9' +""" +@__p_0='9' SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""EmployeeID""] = 5)) -OFFSET 0 LIMIT @__p_0"); +WHERE ((c["Discriminator"] = "Employee") AND (c["EmployeeID"] = 5)) +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Where_primitive_tracked2(bool async) @@ -2538,12 +2862,14 @@ public override async Task Where_primitive_tracked2(bool async) await base.Where_primitive_tracked2(async); AssertSql( - @"@__p_0='9' +""" +@__p_0='9' -SELECT VALUE {""e"" : c} +SELECT VALUE {"e" : c} FROM root c -WHERE ((c[""Discriminator""] = ""Employee"") AND (c[""EmployeeID""] = 5)) -OFFSET 0 LIMIT @__p_0"); +WHERE ((c["Discriminator"] = "Employee") AND (c["EmployeeID"] = 5)) +OFFSET 0 LIMIT @__p_0 +"""); } public override async Task Where_poco_closure(bool async) @@ -2551,17 +2877,21 @@ public override async Task Where_poco_closure(bool async) await base.Where_poco_closure(async); AssertSql( - @"@__entity_equality_customer_0_CustomerID='ALFKI' +""" +@__entity_equality_customer_0_CustomerID='ALFKI' -SELECT c[""CustomerID""] +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = @__entity_equality_customer_0_CustomerID))", - // - @"@__entity_equality_customer_0_CustomerID='ANATR' +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = @__entity_equality_customer_0_CustomerID)) +""", + // +""" +@__entity_equality_customer_0_CustomerID='ANATR' -SELECT c[""CustomerID""] +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""CustomerID""] = @__entity_equality_customer_0_CustomerID))"); +WHERE ((c["Discriminator"] = "Customer") AND (c["CustomerID"] = @__entity_equality_customer_0_CustomerID)) +"""); } public override async Task Where_concat_string_string_comparison(bool async) @@ -2569,11 +2899,13 @@ public override async Task Where_concat_string_string_comparison(bool async) await base.Where_concat_string_string_comparison(async); AssertSql( - @"@__i_0='A' +""" +@__i_0='A' -SELECT c[""CustomerID""] +SELECT c["CustomerID"] FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND ((@__i_0 || c[""CustomerID""]) = c[""CompanyName""]))"); +WHERE ((c["Discriminator"] = "Customer") AND ((@__i_0 || c["CustomerID"]) = c["CompanyName"])) +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs b/test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs index ea5ce78a99e..01e0b99021d 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/OwnedQueryCosmosTest.cs @@ -26,9 +26,11 @@ public override async Task Navigation_rewrite_on_owned_collection(bool async) await base.Navigation_rewrite_on_owned_collection(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""LeafB"") OR ((c[""Discriminator""] = ""LeafA"") OR ((c[""Discriminator""] = ""Branch"") OR (c[""Discriminator""] = ""OwnedPerson""))))"); +WHERE ((c[""Discriminator""] = ""LeafB"") OR ((c[""Discriminator""] = ""LeafA"") OR ((c[""Discriminator""] = ""Branch"") OR (c[""Discriminator""] = ""OwnedPerson"")))) +"""); } [ConditionalTheory(Skip = "Issue#16926")] @@ -52,9 +54,11 @@ public override async Task Navigation_rewrite_on_owned_reference_projecting_enti await base.Navigation_rewrite_on_owned_reference_projecting_entity(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"") AND (c[""PersonAddress""][""Country""][""Name""] = ""USA""))"); +WHERE (c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") AND (c["PersonAddress"]["Country"]["Name"] = "USA")) +"""); } public override async Task Navigation_rewrite_on_owned_reference_projecting_scalar(bool async) @@ -62,9 +66,11 @@ public override async Task Navigation_rewrite_on_owned_reference_projecting_scal await base.Navigation_rewrite_on_owned_reference_projecting_scalar(async); AssertSql( - @"SELECT c[""PersonAddress""][""Country""][""Name""] +""" +SELECT c["PersonAddress"]["Country"]["Name"] FROM root c -WHERE (c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"") AND (c[""PersonAddress""][""Country""][""Name""] = ""USA""))"); +WHERE (c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") AND (c["PersonAddress"]["Country"]["Name"] = "USA")) +"""); } public override async Task Query_for_base_type_loads_all_owned_navs(bool async) @@ -72,9 +78,11 @@ public override async Task Query_for_base_type_loads_all_owned_navs(bool async) await base.Query_for_base_type_loads_all_owned_navs(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"")"); +WHERE c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") +"""); } public override async Task Query_for_branch_type_loads_all_owned_navs(bool async) @@ -82,9 +90,11 @@ public override async Task Query_for_branch_type_loads_all_owned_navs(bool async await base.Query_for_branch_type_loads_all_owned_navs(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE c[""Discriminator""] IN (""Branch"", ""LeafA"")"); +WHERE c["Discriminator"] IN ("Branch", "LeafA") +"""); } public override async Task Query_for_branch_type_loads_all_owned_navs_tracking(bool async) @@ -92,9 +102,11 @@ public override async Task Query_for_branch_type_loads_all_owned_navs_tracking(b await base.Query_for_branch_type_loads_all_owned_navs_tracking(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE c[""Discriminator""] IN (""Branch"", ""LeafA"")"); +WHERE c["Discriminator"] IN ("Branch", "LeafA") +"""); } public override async Task Query_for_leaf_type_loads_all_owned_navs(bool async) @@ -102,9 +114,11 @@ public override async Task Query_for_leaf_type_loads_all_owned_navs(bool async) await base.Query_for_leaf_type_loads_all_owned_navs(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""LeafA"")"); +WHERE (c["Discriminator"] = "LeafA") +"""); } [ConditionalTheory(Skip = "LeftJoin #17314")] @@ -178,9 +192,11 @@ public override async Task Query_with_OfType_eagerly_loads_correct_owned_navigat await base.Query_with_OfType_eagerly_loads_correct_owned_navigations(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"") AND (c[""Discriminator""] = ""LeafA""))"); +WHERE (c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") AND (c["Discriminator"] = "LeafA")) +"""); } [ConditionalTheory(Skip = "Distinct ordering #16156")] @@ -228,9 +244,11 @@ public override async Task Can_query_on_indexer_properties(bool async) await base.Can_query_on_indexer_properties(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"") AND (c[""Name""] = ""Mona Cy""))"); +WHERE (c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") AND (c["Name"] = "Mona Cy")) +"""); } public override async Task Can_query_on_owned_indexer_properties(bool async) @@ -238,9 +256,11 @@ public override async Task Can_query_on_owned_indexer_properties(bool async) await base.Can_query_on_owned_indexer_properties(async); AssertSql( - @"SELECT c[""Name""] +""" +SELECT c["Name"] FROM root c -WHERE (c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"") AND (c[""PersonAddress""][""ZipCode""] = 38654))"); +WHERE (c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") AND (c["PersonAddress"]["ZipCode"] = 38654)) +"""); } public override async Task Can_query_on_indexer_property_when_property_name_from_closure(bool async) @@ -248,9 +268,11 @@ public override async Task Can_query_on_indexer_property_when_property_name_from await base.Can_query_on_indexer_property_when_property_name_from_closure(async); AssertSql( - @"SELECT c[""Name""] +""" +SELECT c["Name"] FROM root c -WHERE (c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"") AND (c[""Name""] = ""Mona Cy""))"); +WHERE (c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") AND (c["Name"] = "Mona Cy")) +"""); } public override async Task Can_project_indexer_properties(bool async) @@ -258,9 +280,11 @@ public override async Task Can_project_indexer_properties(bool async) await base.Can_project_indexer_properties(async); AssertSql( - @"SELECT c[""Name""] +""" +SELECT c["Name"] FROM root c -WHERE c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"")"); +WHERE c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") +"""); } public override async Task Can_project_owned_indexer_properties(bool async) @@ -268,9 +292,11 @@ public override async Task Can_project_owned_indexer_properties(bool async) await base.Can_project_owned_indexer_properties(async); AssertSql( - @"SELECT c[""PersonAddress""][""AddressLine""] +""" +SELECT c["PersonAddress"]["AddressLine"] FROM root c -WHERE c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"")"); +WHERE c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") +"""); } public override async Task Can_project_indexer_properties_converted(bool async) @@ -278,9 +304,11 @@ public override async Task Can_project_indexer_properties_converted(bool async) await base.Can_project_indexer_properties_converted(async); AssertSql( - @"SELECT c[""Name""] +""" +SELECT c["Name"] FROM root c -WHERE c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"")"); +WHERE c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") +"""); } public override async Task Can_project_owned_indexer_properties_converted(bool async) @@ -363,9 +391,11 @@ public override async Task Projecting_indexer_property_ignores_include(bool isAs await base.Projecting_indexer_property_ignores_include(isAsync); AssertSql( - @"SELECT VALUE {""Nation"" : c[""PersonAddress""][""ZipCode""]} +""" +SELECT VALUE {"Nation" : c["PersonAddress"]["ZipCode"]} FROM root c -WHERE c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"")"); +WHERE c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") +"""); } public override async Task Projecting_indexer_property_ignores_include_converted(bool isAsync) @@ -373,9 +403,11 @@ public override async Task Projecting_indexer_property_ignores_include_converted await base.Projecting_indexer_property_ignores_include_converted(isAsync); AssertSql( - @"SELECT VALUE {""Nation"" : c[""PersonAddress""][""ZipCode""]} +""" +SELECT VALUE {"Nation" : c["PersonAddress"]["ZipCode"]} FROM root c -WHERE c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"")"); +WHERE c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") +"""); } [ConditionalTheory(Skip = "Subquery #17246")] @@ -454,9 +486,11 @@ public override async Task Filter_on_indexer_using_closure(bool async) await base.Filter_on_indexer_using_closure(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"") AND (c[""PersonAddress""][""ZipCode""] = 38654))"); +WHERE (c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") AND (c["PersonAddress"]["ZipCode"] = 38654)) +"""); } public override async Task Filter_on_indexer_using_function_argument(bool async) @@ -464,9 +498,11 @@ public override async Task Filter_on_indexer_using_function_argument(bool async) await base.Filter_on_indexer_using_function_argument(async); AssertSql( - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] IN (""OwnedPerson"", ""Branch"", ""LeafB"", ""LeafA"") AND (c[""PersonAddress""][""ZipCode""] = 38654))"); +WHERE (c["Discriminator"] IN ("OwnedPerson", "Branch", "LeafB", "LeafA") AND (c["PersonAddress"]["ZipCode"] = 38654)) +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Cosmos.FunctionalTests/Query/QueryLoggingCosmosTestBase.cs b/test/EFCore.Cosmos.FunctionalTests/Query/QueryLoggingCosmosTestBase.cs index eabe0eab123..66c1ceea757 100644 --- a/test/EFCore.Cosmos.FunctionalTests/Query/QueryLoggingCosmosTestBase.cs +++ b/test/EFCore.Cosmos.FunctionalTests/Query/QueryLoggingCosmosTestBase.cs @@ -44,9 +44,11 @@ var customers Assert.Equal( CosmosResources.LogExecutingSqlQuery(new TestLogger()).GenerateMessage( "NorthwindContext", "(null)", "", Environment.NewLine, - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"), +WHERE (c["Discriminator"] = "Customer") +"""), Fixture.TestSqlLoggerFactory.Log[2].Message); } else @@ -54,9 +56,11 @@ FROM root c Assert.Equal( CosmosResources.LogExecutingSqlQuery(new TestLogger()).GenerateMessage( "NorthwindContext", "?", "", Environment.NewLine, - @"SELECT c +""" +SELECT c FROM root c -WHERE (c[""Discriminator""] = ""Customer"")"), +WHERE (c["Discriminator"] = "Customer") +"""), Fixture.TestSqlLoggerFactory.Log[2].Message); } } @@ -89,9 +93,11 @@ var customers Assert.Equal( CosmosResources.LogExecutingSqlQuery(new TestLogger()).GenerateMessage( "NorthwindContext", "(null)", "@__city_0='Redmond'", Environment.NewLine, - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_0))"), +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_0)) +"""), Fixture.TestSqlLoggerFactory.Log[3].Message); } else @@ -99,9 +105,11 @@ FROM root c Assert.Equal( CosmosResources.LogExecutingSqlQuery(new TestLogger()).GenerateMessage( "NorthwindContext", "?", "@__city_0=?", Environment.NewLine, - @"SELECT c +""" +SELECT c FROM root c -WHERE ((c[""Discriminator""] = ""Customer"") AND (c[""City""] = @__city_0))"), +WHERE ((c["Discriminator"] = "Customer") AND (c["City"] = @__city_0)) +"""), Fixture.TestSqlLoggerFactory.Log[2].Message); } } diff --git a/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsSqlGeneratorTestBase.cs b/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsSqlGeneratorTestBase.cs index def0df2543a..87d089f75fa 100644 --- a/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsSqlGeneratorTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsSqlGeneratorTestBase.cs @@ -793,7 +793,7 @@ protected virtual void Generate( } protected void AssertSql(string expected) - => Assert.Equal(expected, Sql, ignoreLineEndingDifferences: true); + => Assert.Equal(expected.TrimEnd(), Sql.TrimEnd(), ignoreLineEndingDifferences: true); protected class Person { diff --git a/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsTestBase.cs b/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsTestBase.cs index d38cf50a390..f140facdbfe 100644 --- a/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsTestBase.cs +++ b/test/EFCore.Relational.Specification.Tests/Migrations/MigrationsTestBase.cs @@ -1837,7 +1837,9 @@ await Test( }); AssertSql( - @"-- I <3 DDL"); +""" +-- I <3 DDL +"""); } protected class Person diff --git a/test/EFCore.SqlServer.FunctionalTests/BuiltInDataTypesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BuiltInDataTypesSqlServerTest.cs index bebd9e797b7..2b91c618b2c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BuiltInDataTypesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BuiltInDataTypesSqlServerTest.cs @@ -632,9 +632,11 @@ var results Assert.Empty(results); AssertSql( - @"SELECT [m].[Int] +""" +SELECT [m].[Int] FROM [MappedNullableDataTypes] AS [m] -WHERE [m].[TimeSpanAsTime] = '00:01:02'"); +WHERE [m].[TimeSpanAsTime] = '00:01:02' +"""); } [ConditionalFact] @@ -651,11 +653,13 @@ var results Assert.Empty(results); AssertSql( - @"@__timeSpan_0='02:01:00' (Nullable = true) +""" +@__timeSpan_0='02:01:00' (Nullable = true) SELECT [m].[Int] FROM [MappedNullableDataTypes] AS [m] -WHERE [m].[TimeSpanAsTime] = @__timeSpan_0"); +WHERE [m].[TimeSpanAsTime] = @__timeSpan_0 +"""); } [ConditionalFact] @@ -680,9 +684,11 @@ public void String_indexOf_over_varchar_max() Assert.Equal(-1, Assert.Single(results)); AssertSql( - @"SELECT CAST(CHARINDEX('a', [m].[StringAsVarcharMax]) AS int) - 1 +""" +SELECT CAST(CHARINDEX('a', [m].[StringAsVarcharMax]) AS int) - 1 FROM [MappedNullableDataTypes] AS [m] -WHERE [m].[Int] = 81"); +WHERE [m].[Int] = 81 +"""); } } @@ -700,11 +706,13 @@ var results Assert.Empty(results); AssertSql( - @"@__timeSpan_1='02:01:00' (Nullable = true) +""" +@__timeSpan_1='02:01:00' (Nullable = true) SELECT [m].[Int] FROM [MappedNullableDataTypes] AS [m] -WHERE DATEDIFF(hour, [m].[TimeSpanAsTime], @__timeSpan_1) = 0"); +WHERE DATEDIFF(hour, [m].[TimeSpanAsTime], @__timeSpan_1) = 0 +"""); } [ConditionalFact] @@ -721,11 +729,13 @@ var results Assert.Empty(results); AssertSql( - @"@__timeSpan_1='02:01:00' (Nullable = true) +""" +@__timeSpan_1='02:01:00' (Nullable = true) SELECT [m].[Int] FROM [MappedNullableDataTypes] AS [m] -WHERE DATEDIFF(minute, [m].[TimeSpanAsTime], @__timeSpan_1) = 0"); +WHERE DATEDIFF(minute, [m].[TimeSpanAsTime], @__timeSpan_1) = 0 +"""); } [ConditionalFact] @@ -742,11 +752,13 @@ var results Assert.Empty(results); AssertSql( - @"@__timeSpan_1='02:01:00' (Nullable = true) +""" +@__timeSpan_1='02:01:00' (Nullable = true) SELECT [m].[Int] FROM [MappedNullableDataTypes] AS [m] -WHERE DATEDIFF(second, [m].[TimeSpanAsTime], @__timeSpan_1) = 0"); +WHERE DATEDIFF(second, [m].[TimeSpanAsTime], @__timeSpan_1) = 0 +"""); } [ConditionalFact] @@ -763,11 +775,13 @@ var results Assert.Empty(results); AssertSql( - @"@__timeSpan_1='02:01:00' (Nullable = true) +""" +@__timeSpan_1='02:01:00' (Nullable = true) SELECT [m].[Int] FROM [MappedNullableDataTypes] AS [m] -WHERE DATEDIFF(millisecond, [m].[TimeSpanAsTime], @__timeSpan_1) = 0"); +WHERE DATEDIFF(millisecond, [m].[TimeSpanAsTime], @__timeSpan_1) = 0 +"""); } [ConditionalFact] @@ -784,11 +798,13 @@ var results Assert.Empty(results); AssertSql( - @"@__timeSpan_1='02:01:00' (Nullable = true) +""" +@__timeSpan_1='02:01:00' (Nullable = true) SELECT [m].[Int] FROM [MappedNullableDataTypes] AS [m] -WHERE DATEDIFF(microsecond, [m].[TimeSpanAsTime], @__timeSpan_1) = 0"); +WHERE DATEDIFF(microsecond, [m].[TimeSpanAsTime], @__timeSpan_1) = 0 +"""); } [ConditionalFact] @@ -805,11 +821,13 @@ var results Assert.Empty(results); AssertSql( - @"@__timeSpan_1='02:01:00' (Nullable = true) +""" +@__timeSpan_1='02:01:00' (Nullable = true) SELECT [m].[Int] FROM [MappedNullableDataTypes] AS [m] -WHERE DATEDIFF(nanosecond, [m].[TimeSpanAsTime], @__timeSpan_1) = 0"); +WHERE DATEDIFF(nanosecond, [m].[TimeSpanAsTime], @__timeSpan_1) = 0 +"""); } [ConditionalFact] @@ -4132,24 +4150,28 @@ public override void Object_to_string_conversion() base.Object_to_string_conversion(); AssertSql( - @"SELECT CONVERT(varchar(4), [b].[TestSignedByte]) AS [Sbyte], CONVERT(varchar(3), [b].[TestByte]) AS [Byte], CONVERT(varchar(6), [b].[TestInt16]) AS [Short], CONVERT(varchar(5), [b].[TestUnsignedInt16]) AS [Ushort], CONVERT(varchar(11), [b].[TestInt32]) AS [Int], CONVERT(varchar(10), [b].[TestUnsignedInt32]) AS [Uint], CONVERT(varchar(20), [b].[TestInt64]) AS [Long], CONVERT(varchar(20), [b].[TestUnsignedInt64]) AS [Ulong], CONVERT(varchar(100), [b].[TestSingle]) AS [Float], CONVERT(varchar(100), [b].[TestDouble]) AS [Double], CONVERT(varchar(100), [b].[TestDecimal]) AS [Decimal], CONVERT(varchar(1), [b].[TestCharacter]) AS [Char], CONVERT(varchar(100), [b].[TestDateTime]) AS [DateTime], CONVERT(varchar(100), [b].[TestDateTimeOffset]) AS [DateTimeOffset], CONVERT(varchar(100), [b].[TestTimeSpan]) AS [TimeSpan] +""" +SELECT CONVERT(varchar(4), [b].[TestSignedByte]) AS [Sbyte], CONVERT(varchar(3), [b].[TestByte]) AS [Byte], CONVERT(varchar(6), [b].[TestInt16]) AS [Short], CONVERT(varchar(5), [b].[TestUnsignedInt16]) AS [Ushort], CONVERT(varchar(11), [b].[TestInt32]) AS [Int], CONVERT(varchar(10), [b].[TestUnsignedInt32]) AS [Uint], CONVERT(varchar(20), [b].[TestInt64]) AS [Long], CONVERT(varchar(20), [b].[TestUnsignedInt64]) AS [Ulong], CONVERT(varchar(100), [b].[TestSingle]) AS [Float], CONVERT(varchar(100), [b].[TestDouble]) AS [Double], CONVERT(varchar(100), [b].[TestDecimal]) AS [Decimal], CONVERT(varchar(1), [b].[TestCharacter]) AS [Char], CONVERT(varchar(100), [b].[TestDateTime]) AS [DateTime], CONVERT(varchar(100), [b].[TestDateTimeOffset]) AS [DateTimeOffset], CONVERT(varchar(100), [b].[TestTimeSpan]) AS [TimeSpan] FROM [BuiltInDataTypes] AS [b] -WHERE [b].[Id] = 13"); +WHERE [b].[Id] = 13 +"""); } public static string QueryForColumnTypes(DbContext context, params string[] tablesToIgnore) { - const string query - = @"SELECT - TABLE_NAME, - COLUMN_NAME, - DATA_TYPE, - IS_NULLABLE, - CHARACTER_MAXIMUM_LENGTH, - NUMERIC_PRECISION, - NUMERIC_SCALE, - DATETIME_PRECISION - FROM INFORMATION_SCHEMA.COLUMNS"; + const string query = +""" +SELECT + TABLE_NAME, + COLUMN_NAME, + DATA_TYPE, + IS_NULLABLE, + CHARACTER_MAXIMUM_LENGTH, + NUMERIC_PRECISION, + NUMERIC_SCALE, + DATETIME_PRECISION +FROM INFORMATION_SCHEMA.COLUMNS +"""; var columns = new List(); diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/FiltersInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/FiltersInheritanceBulkUpdatesSqlServerTest.cs index 92a3c8afd85..cb168209663 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/FiltersInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/FiltersInheritanceBulkUpdatesSqlServerTest.cs @@ -21,9 +21,11 @@ public override async Task Delete_where_hierarchy(bool async) await base.Delete_where_hierarchy(async); AssertSql( - @"DELETE FROM [a] +""" +DELETE FROM [a] FROM [Animals] AS [a] -WHERE [a].[CountryId] = 1 AND [a].[Name] = N'Great spotted kiwi'"); +WHERE [a].[CountryId] = 1 AND [a].[Name] = N'Great spotted kiwi' +"""); } public override async Task Delete_where_hierarchy_derived(bool async) @@ -31,9 +33,11 @@ public override async Task Delete_where_hierarchy_derived(bool async) await base.Delete_where_hierarchy_derived(async); AssertSql( - @"DELETE FROM [a] +""" +DELETE FROM [a] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1 AND [a].[Name] = N'Great spotted kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1 AND [a].[Name] = N'Great spotted kiwi' +"""); } public override async Task Delete_where_using_hierarchy(bool async) @@ -41,12 +45,14 @@ public override async Task Delete_where_using_hierarchy(bool async) await base.Delete_where_using_hierarchy(async); AssertSql( - @"DELETE FROM [c] +""" +DELETE FROM [c] FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) FROM [Animals] AS [a] - WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0"); + WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Delete_where_using_hierarchy_derived(bool async) @@ -54,12 +60,14 @@ public override async Task Delete_where_using_hierarchy_derived(bool async) await base.Delete_where_using_hierarchy_derived(async); AssertSql( - @"DELETE FROM [c] +""" +DELETE FROM [c] FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) FROM [Animals] AS [a] - WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] > 0) > 0"); + WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Delete_GroupBy_Where_Select_First(bool async) @@ -81,7 +89,8 @@ public override async Task Delete_GroupBy_Where_Select_First_3(bool async) await base.Delete_GroupBy_Where_Select_First_3(async); AssertSql( - @"DELETE FROM [a] +""" +DELETE FROM [a] FROM [Animals] AS [a] WHERE [a].[CountryId] = 1 AND EXISTS ( SELECT 1 @@ -91,7 +100,8 @@ GROUP BY [a0].[CountryId] HAVING COUNT(*) < 3 AND ( SELECT TOP(1) [a1].[Id] FROM [Animals] AS [a1] - WHERE [a1].[CountryId] = 1 AND [a0].[CountryId] = [a1].[CountryId]) = [a].[Id])"); + WHERE [a1].[CountryId] = 1 AND [a0].[CountryId] = [a1].[CountryId]) = [a].[Id]) +"""); } public override async Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) @@ -106,7 +116,8 @@ public override async Task Delete_where_hierarchy_subquery(bool async) await base.Delete_where_hierarchy_subquery(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='3' DELETE FROM [a] @@ -120,7 +131,8 @@ FROM [Animals] AS [a0] ORDER BY [a0].[Name] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] - WHERE [t].[Id] = [a].[Id])"); + WHERE [t].[Id] = [a].[Id]) +"""); } public override async Task Update_where_hierarchy(bool async) @@ -128,10 +140,12 @@ public override async Task Update_where_hierarchy(bool async) await base.Update_where_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE [a] +""" +UPDATE [a] SET [a].[Name] = N'Animal' FROM [Animals] AS [a] -WHERE [a].[CountryId] = 1 AND [a].[Name] = N'Great spotted kiwi'"); +WHERE [a].[CountryId] = 1 AND [a].[Name] = N'Great spotted kiwi' +"""); } public override async Task Update_where_hierarchy_subquery(bool async) @@ -146,10 +160,12 @@ public override async Task Update_where_hierarchy_derived(bool async) await base.Update_where_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE [a] +""" +UPDATE [a] SET [a].[Name] = N'Kiwi' FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1 AND [a].[Name] = N'Great spotted kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1 AND [a].[Name] = N'Great spotted kiwi' +"""); } public override async Task Update_where_using_hierarchy(bool async) @@ -157,13 +173,15 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) FROM [Animals] AS [a] - WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0"); + WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -171,13 +189,15 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) FROM [Animals] AS [a] - WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] > 0) > 0"); + WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/InheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/InheritanceBulkUpdatesSqlServerTest.cs index 8a4b84e8971..846cf5f392c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/InheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/InheritanceBulkUpdatesSqlServerTest.cs @@ -20,9 +20,11 @@ public override async Task Delete_where_hierarchy(bool async) await base.Delete_where_hierarchy(async); AssertSql( - @"DELETE FROM [a] +""" +DELETE FROM [a] FROM [Animals] AS [a] -WHERE [a].[Name] = N'Great spotted kiwi'"); +WHERE [a].[Name] = N'Great spotted kiwi' +"""); } public override async Task Delete_where_hierarchy_derived(bool async) @@ -30,9 +32,11 @@ public override async Task Delete_where_hierarchy_derived(bool async) await base.Delete_where_hierarchy_derived(async); AssertSql( - @"DELETE FROM [a] +""" +DELETE FROM [a] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi' AND [a].[Name] = N'Great spotted kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' AND [a].[Name] = N'Great spotted kiwi' +"""); } public override async Task Delete_where_using_hierarchy(bool async) @@ -40,12 +44,14 @@ public override async Task Delete_where_using_hierarchy(bool async) await base.Delete_where_using_hierarchy(async); AssertSql( - @"DELETE FROM [c] +""" +DELETE FROM [c] FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) FROM [Animals] AS [a] - WHERE [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0"); + WHERE [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Delete_where_using_hierarchy_derived(bool async) @@ -53,12 +59,14 @@ public override async Task Delete_where_using_hierarchy_derived(bool async) await base.Delete_where_using_hierarchy_derived(async); AssertSql( - @"DELETE FROM [c] +""" +DELETE FROM [c] FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) FROM [Animals] AS [a] - WHERE [c].[Id] = [a].[CountryId] AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] > 0) > 0"); + WHERE [c].[Id] = [a].[CountryId] AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Delete_GroupBy_Where_Select_First(bool async) @@ -80,7 +88,8 @@ public override async Task Delete_GroupBy_Where_Select_First_3(bool async) await base.Delete_GroupBy_Where_Select_First_3(async); AssertSql( - @"DELETE FROM [a] +""" +DELETE FROM [a] FROM [Animals] AS [a] WHERE EXISTS ( SELECT 1 @@ -89,7 +98,8 @@ GROUP BY [a0].[CountryId] HAVING COUNT(*) < 3 AND ( SELECT TOP(1) [a1].[Id] FROM [Animals] AS [a1] - WHERE [a0].[CountryId] = [a1].[CountryId]) = [a].[Id])"); + WHERE [a0].[CountryId] = [a1].[CountryId]) = [a].[Id]) +"""); } public override async Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) @@ -104,7 +114,8 @@ public override async Task Delete_where_hierarchy_subquery(bool async) await base.Delete_where_hierarchy_subquery(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='3' DELETE FROM [a] @@ -118,7 +129,8 @@ FROM [Animals] AS [a0] ORDER BY [a0].[Name] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] - WHERE [t].[Id] = [a].[Id])"); + WHERE [t].[Id] = [a].[Id]) +"""); } public override async Task Update_where_hierarchy(bool async) @@ -126,10 +138,12 @@ public override async Task Update_where_hierarchy(bool async) await base.Update_where_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE [a] +""" +UPDATE [a] SET [a].[Name] = N'Animal' FROM [Animals] AS [a] -WHERE [a].[Name] = N'Great spotted kiwi'"); +WHERE [a].[Name] = N'Great spotted kiwi' +"""); } public override async Task Update_where_hierarchy_subquery(bool async) @@ -144,10 +158,12 @@ public override async Task Update_where_hierarchy_derived(bool async) await base.Update_where_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE [a] +""" +UPDATE [a] SET [a].[Name] = N'Kiwi' FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi' AND [a].[Name] = N'Great spotted kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' AND [a].[Name] = N'Great spotted kiwi' +"""); } public override async Task Update_where_using_hierarchy(bool async) @@ -155,13 +171,15 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) FROM [Animals] AS [a] - WHERE [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0"); + WHERE [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -169,13 +187,15 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) FROM [Animals] AS [a] - WHERE [c].[Id] = [a].[CountryId] AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] > 0) > 0"); + WHERE [c].[Id] = [a].[CountryId] AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqlServerTest.cs index 567a44a1a8d..12a75a08257 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqlServerTest.cs @@ -17,8 +17,10 @@ public override async Task Delete_aggregate_root_when_eager_loaded_owned_collect await base.Delete_aggregate_root_when_eager_loaded_owned_collection(async); AssertSql( - @"DELETE FROM [o] -FROM [Owner] AS [o]"); +""" +DELETE FROM [o] +FROM [Owner] AS [o] +"""); } public override async Task Delete_aggregate_root_when_table_sharing_with_owned(bool async) @@ -26,8 +28,10 @@ public override async Task Delete_aggregate_root_when_table_sharing_with_owned(b await base.Delete_aggregate_root_when_table_sharing_with_owned(async); AssertSql( - @"DELETE FROM [o] -FROM [Owner] AS [o]"); +""" +DELETE FROM [o] +FROM [Owner] AS [o] +"""); } public override async Task Delete_aggregate_root_when_table_sharing_with_non_owned_throws(bool async) @@ -42,10 +46,12 @@ public override async Task Delete_predicate_based_on_optional_navigation(bool as await base.Delete_predicate_based_on_optional_navigation(async); AssertSql( - @"DELETE FROM [p] +""" +DELETE FROM [p] FROM [Posts] AS [p] LEFT JOIN [Blogs] AS [b] ON [p].[BlogId] = [b].[Id] -WHERE ([b].[Title] IS NOT NULL) AND ([b].[Title] LIKE N'Arthur%')"); +WHERE ([b].[Title] IS NOT NULL) AND ([b].[Title] LIKE N'Arthur%') +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqlServerTest.cs index 7f1107a15a9..5b8206ffd48 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqlServerTest.cs @@ -23,11 +23,13 @@ public override async Task Delete_Where_TagWith(bool async) await base.Delete_Where_TagWith(async); AssertSql( - @"-- MyDelete +""" +-- MyDelete DELETE FROM [o] FROM [Order Details] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Delete_Where(bool async) @@ -35,9 +37,11 @@ public override async Task Delete_Where(bool async) await base.Delete_Where(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Delete_Where_parameter(bool async) @@ -45,15 +49,19 @@ public override async Task Delete_Where_parameter(bool async) await base.Delete_Where_parameter(async); AssertSql( - @"@__quantity_0='1' (Nullable = true) (DbType = Int16) +""" +@__quantity_0='1' (Nullable = true) (DbType = Int16) DELETE FROM [o] FROM [Order Details] AS [o] -WHERE [o].[Quantity] = @__quantity_0", +WHERE [o].[Quantity] = @__quantity_0 +""", // - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Delete_Where_OrderBy(bool async) @@ -61,12 +69,14 @@ public override async Task Delete_Where_OrderBy(bool async) await base.Delete_Where_OrderBy(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] WHERE EXISTS ( SELECT 1 FROM [Order Details] AS [o0] - WHERE [o0].[OrderID] < 10300 AND [o0].[OrderID] = [o].[OrderID] AND [o0].[ProductID] = [o].[ProductID])"); + WHERE [o0].[OrderID] < 10300 AND [o0].[OrderID] = [o].[OrderID] AND [o0].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Where_OrderBy_Skip(bool async) @@ -74,7 +84,8 @@ public override async Task Delete_Where_OrderBy_Skip(bool async) await base.Delete_Where_OrderBy_Skip(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' DELETE FROM [o] FROM [Order Details] AS [o] @@ -87,7 +98,8 @@ WHERE [o0].[OrderID] < 10300 ORDER BY [o0].[OrderID] OFFSET @__p_0 ROWS ) AS [t] - WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID])"); + WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Where_OrderBy_Take(bool async) @@ -95,7 +107,8 @@ public override async Task Delete_Where_OrderBy_Take(bool async) await base.Delete_Where_OrderBy_Take(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' DELETE FROM [o] FROM [Order Details] AS [o] @@ -107,7 +120,8 @@ FROM [Order Details] AS [o0] WHERE [o0].[OrderID] < 10300 ORDER BY [o0].[OrderID] ) AS [t] - WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID])"); + WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Where_OrderBy_Skip_Take(bool async) @@ -115,7 +129,8 @@ public override async Task Delete_Where_OrderBy_Skip_Take(bool async) await base.Delete_Where_OrderBy_Skip_Take(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' DELETE FROM [o] FROM [Order Details] AS [o] @@ -128,7 +143,8 @@ WHERE [o0].[OrderID] < 10300 ORDER BY [o0].[OrderID] OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY ) AS [t] - WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID])"); + WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Where_Skip(bool async) @@ -136,7 +152,8 @@ public override async Task Delete_Where_Skip(bool async) await base.Delete_Where_Skip(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' DELETE FROM [o] FROM [Order Details] AS [o] @@ -149,7 +166,8 @@ WHERE [o0].[OrderID] < 10300 ORDER BY (SELECT 1) OFFSET @__p_0 ROWS ) AS [t] - WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID])"); + WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Where_Take(bool async) @@ -157,11 +175,13 @@ public override async Task Delete_Where_Take(bool async) await base.Delete_Where_Take(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' DELETE TOP(@__p_0) FROM [o] FROM [Order Details] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Delete_Where_Skip_Take(bool async) @@ -169,7 +189,8 @@ public override async Task Delete_Where_Skip_Take(bool async) await base.Delete_Where_Skip_Take(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' DELETE FROM [o] FROM [Order Details] AS [o] @@ -182,7 +203,8 @@ WHERE [o0].[OrderID] < 10300 ORDER BY (SELECT 1) OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY ) AS [t] - WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID])"); + WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Where_predicate_with_GroupBy_aggregate(bool async) @@ -190,7 +212,8 @@ public override async Task Delete_Where_predicate_with_GroupBy_aggregate(bool as await base.Delete_Where_predicate_with_GroupBy_aggregate(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] WHERE [o].[OrderID] < ( SELECT TOP(1) ( @@ -199,7 +222,8 @@ FROM [Orders] AS [o1] WHERE [o0].[CustomerID] = [o1].[CustomerID] OR (([o0].[CustomerID] IS NULL) AND ([o1].[CustomerID] IS NULL))) FROM [Orders] AS [o0] GROUP BY [o0].[CustomerID] - HAVING COUNT(*) > 11)"); + HAVING COUNT(*) > 11) +"""); } public override async Task Delete_Where_predicate_with_GroupBy_aggregate_2(bool async) @@ -207,7 +231,8 @@ public override async Task Delete_Where_predicate_with_GroupBy_aggregate_2(bool await base.Delete_Where_predicate_with_GroupBy_aggregate_2(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE EXISTS ( @@ -217,7 +242,8 @@ GROUP BY [o1].[CustomerID] HAVING COUNT(*) > 9 AND ( SELECT TOP(1) [o2].[OrderID] FROM [Orders] AS [o2] - WHERE [o1].[CustomerID] = [o2].[CustomerID] OR (([o1].[CustomerID] IS NULL) AND ([o2].[CustomerID] IS NULL))) = [o0].[OrderID])"); + WHERE [o1].[CustomerID] = [o2].[CustomerID] OR (([o1].[CustomerID] IS NULL) AND ([o2].[CustomerID] IS NULL))) = [o0].[OrderID]) +"""); } public override async Task Delete_GroupBy_Where_Select(bool async) @@ -239,7 +265,8 @@ public override async Task Delete_Where_Skip_Take_Skip_Take_causing_subquery(boo await base.Delete_Where_Skip_Take_Skip_Take_causing_subquery(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' @__p_1='20' @__p_2='5' @@ -259,7 +286,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY ORDER BY (SELECT 1) OFFSET @__p_1 ROWS FETCH NEXT @__p_2 ROWS ONLY ) AS [t0] - WHERE [t0].[OrderID] = [o].[OrderID] AND [t0].[ProductID] = [o].[ProductID])"); + WHERE [t0].[OrderID] = [o].[OrderID] AND [t0].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Where_Distinct(bool async) @@ -267,9 +295,11 @@ public override async Task Delete_Where_Distinct(bool async) await base.Delete_Where_Distinct(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Delete_SelectMany(bool async) @@ -277,10 +307,12 @@ public override async Task Delete_SelectMany(bool async) await base.Delete_SelectMany(async); AssertSql( - @"DELETE FROM [o0] +""" +DELETE FROM [o0] FROM [Orders] AS [o] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -WHERE [o].[OrderID] < 10250"); +WHERE [o].[OrderID] < 10250 +"""); } public override async Task Delete_SelectMany_subquery(bool async) @@ -288,7 +320,8 @@ public override async Task Delete_SelectMany_subquery(bool async) await base.Delete_SelectMany_subquery(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] WHERE EXISTS ( SELECT 1 @@ -298,7 +331,8 @@ INNER JOIN ( FROM [Order Details] AS [o1] WHERE [o1].[ProductID] > 0 ) AS [t] ON [o0].[OrderID] = [t].[OrderID] - WHERE [o0].[OrderID] < 10250 AND [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID])"); + WHERE [o0].[OrderID] < 10250 AND [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Where_using_navigation(bool async) @@ -306,10 +340,12 @@ public override async Task Delete_Where_using_navigation(bool async) await base.Delete_Where_using_navigation(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -WHERE DATEPART(year, [o0].[OrderDate]) = 2000"); +WHERE DATEPART(year, [o0].[OrderDate]) = 2000 +"""); } public override async Task Delete_Where_using_navigation_2(bool async) @@ -317,11 +353,13 @@ public override async Task Delete_Where_using_navigation_2(bool async) await base.Delete_Where_using_navigation_2(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([c].[CustomerID] IS NOT NULL) AND ([c].[CustomerID] LIKE N'F%')"); +WHERE ([c].[CustomerID] IS NOT NULL) AND ([c].[CustomerID] LIKE N'F%') +"""); } public override async Task Delete_Union(bool async) @@ -329,7 +367,8 @@ public override async Task Delete_Union(bool async) await base.Delete_Union(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] WHERE EXISTS ( SELECT 1 @@ -342,7 +381,8 @@ WHERE [o0].[OrderID] < 10250 FROM [Order Details] AS [o1] WHERE [o1].[OrderID] > 11250 ) AS [t] - WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID])"); + WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Concat(bool async) @@ -350,7 +390,8 @@ public override async Task Delete_Concat(bool async) await base.Delete_Concat(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] WHERE EXISTS ( SELECT 1 @@ -363,7 +404,8 @@ UNION ALL FROM [Order Details] AS [o1] WHERE [o1].[OrderID] > 11250 ) AS [t] - WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID])"); + WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Intersect(bool async) @@ -371,7 +413,8 @@ public override async Task Delete_Intersect(bool async) await base.Delete_Intersect(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] WHERE EXISTS ( SELECT 1 @@ -384,7 +427,8 @@ WHERE [o0].[OrderID] < 10250 FROM [Order Details] AS [o1] WHERE [o1].[OrderID] > 11250 ) AS [t] - WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID])"); + WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Except(bool async) @@ -392,7 +436,8 @@ public override async Task Delete_Except(bool async) await base.Delete_Except(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] WHERE EXISTS ( SELECT 1 @@ -405,7 +450,8 @@ WHERE [o0].[OrderID] < 10250 FROM [Order Details] AS [o1] WHERE [o1].[OrderID] > 11250 ) AS [t] - WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID])"); + WHERE [t].[OrderID] = [o].[OrderID] AND [t].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_non_entity_projection(bool async) @@ -434,16 +480,18 @@ public override async Task Delete_FromSql_converted_to_subquery(bool async) await base.Delete_FromSql_converted_to_subquery(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""OrderID"", ""ProductID"", ""UnitPrice"", ""Quantity"", ""Discount"" - FROM ""Order Details"" - WHERE ""OrderID"" < 10300 + SELECT "OrderID", "ProductID", "UnitPrice", "Quantity", "Discount" + FROM "Order Details" + WHERE "OrderID" < 10300 ) AS [m] - WHERE [m].[OrderID] = [o].[OrderID] AND [m].[ProductID] = [o].[ProductID])"); + WHERE [m].[OrderID] = [o].[OrderID] AND [m].[ProductID] = [o].[ProductID]) +"""); } public override async Task Delete_Where_optional_navigation_predicate(bool async) @@ -451,11 +499,13 @@ public override async Task Delete_Where_optional_navigation_predicate(bool async await base.Delete_Where_optional_navigation_predicate(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([c].[City] IS NOT NULL) AND ([c].[City] LIKE N'Se%')"); +WHERE ([c].[City] IS NOT NULL) AND ([c].[City] LIKE N'Se%') +"""); } public override async Task Delete_with_join(bool async) @@ -463,7 +513,8 @@ public override async Task Delete_with_join(bool async) await base.Delete_with_join(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='100' DELETE FROM [o] @@ -474,7 +525,8 @@ FROM [Orders] AS [o0] WHERE [o0].[OrderID] < 10300 ORDER BY [o0].[OrderID] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY -) AS [t] ON [o].[OrderID] = [t].[OrderID]"); +) AS [t] ON [o].[OrderID] = [t].[OrderID] +"""); } public override async Task Delete_with_left_join(bool async) @@ -482,7 +534,8 @@ public override async Task Delete_with_left_join(bool async) await base.Delete_with_left_join(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='100' DELETE FROM [o] @@ -494,7 +547,8 @@ WHERE [o0].[OrderID] < 10300 ORDER BY [o0].[OrderID] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] ON [o].[OrderID] = [t].[OrderID] -WHERE [o].[OrderID] < 10276"); +WHERE [o].[OrderID] < 10276 +"""); } public override async Task Delete_with_cross_join(bool async) @@ -502,7 +556,8 @@ public override async Task Delete_with_cross_join(bool async) await base.Delete_with_cross_join(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] CROSS JOIN ( SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -511,7 +566,8 @@ WHERE [o0].[OrderID] < 10300 ORDER BY [o0].[OrderID] OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY ) AS [t] -WHERE [o].[OrderID] < 10276"); +WHERE [o].[OrderID] < 10276 +"""); } public override async Task Delete_with_cross_apply(bool async) @@ -519,7 +575,8 @@ public override async Task Delete_with_cross_apply(bool async) await base.Delete_with_cross_apply(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] CROSS APPLY ( SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -528,7 +585,8 @@ WHERE [o0].[OrderID] < [o].[OrderID] ORDER BY [o0].[OrderID] OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY ) AS [t] -WHERE [o].[OrderID] < 10276"); +WHERE [o].[OrderID] < 10276 +"""); } public override async Task Delete_with_outer_apply(bool async) @@ -536,7 +594,8 @@ public override async Task Delete_with_outer_apply(bool async) await base.Delete_with_outer_apply(async); AssertSql( - @"DELETE FROM [o] +""" +DELETE FROM [o] FROM [Order Details] AS [o] OUTER APPLY ( SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -545,7 +604,8 @@ WHERE [o0].[OrderID] < [o].[OrderID] ORDER BY [o0].[OrderID] OFFSET 0 ROWS FETCH NEXT 100 ROWS ONLY ) AS [t] -WHERE [o].[OrderID] < 10276"); +WHERE [o].[OrderID] < 10276 +"""); } public override async Task Update_Where_set_constant_TagWith(bool async) @@ -553,12 +613,14 @@ public override async Task Update_Where_set_constant_TagWith(bool async) await base.Update_Where_set_constant_TagWith(async); AssertExecuteUpdateSql( - @"-- MyUpdate +""" +-- MyUpdate UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_set_constant(bool async) @@ -566,10 +628,12 @@ public override async Task Update_Where_set_constant(bool async) await base.Update_Where_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_parameter_set_constant(bool async) @@ -577,27 +641,35 @@ public override async Task Update_Where_parameter_set_constant(bool async) await base.Update_Where_parameter_set_constant(async); AssertExecuteUpdateSql( - @"@__customer_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_0='ALFKI' (Size = 5) (DbType = StringFixedLength) UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customer_0", +WHERE [c].[CustomerID] = @__customer_0 +""", // - @"@__customer_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customer_0", +WHERE [c].[CustomerID] = @__customer_0 +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Update_Where_set_parameter(bool async) @@ -605,12 +677,14 @@ public override async Task Update_Where_set_parameter(bool async) await base.Update_Where_set_parameter(async); AssertExecuteUpdateSql( - @"@__value_0='Abc' (Size = 4000) +""" +@__value_0='Abc' (Size = 4000) UPDATE [c] SET [c].[ContactName] = @__value_0 FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_set_parameter_from_closure_array(bool async) @@ -618,12 +692,14 @@ public override async Task Update_Where_set_parameter_from_closure_array(bool as await base.Update_Where_set_parameter_from_closure_array(async); AssertExecuteUpdateSql( - @"@__p_0='Abc' (Size = 4000) +""" +@__p_0='Abc' (Size = 4000) UPDATE [c] SET [c].[ContactName] = @__p_0 FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_set_parameter_from_inline_list(bool async) @@ -631,10 +707,12 @@ public override async Task Update_Where_set_parameter_from_inline_list(bool asyn await base.Update_Where_set_parameter_from_inline_list(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Abc' FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_set_parameter_from_multilevel_property_access(bool async) @@ -642,12 +720,14 @@ public override async Task Update_Where_set_parameter_from_multilevel_property_a await base.Update_Where_set_parameter_from_multilevel_property_access(async); AssertExecuteUpdateSql( - @"@__container_Containee_Property_0='Abc' (Size = 4000) +""" +@__container_Containee_Property_0='Abc' (Size = 4000) UPDATE [c] SET [c].[ContactName] = @__container_Containee_Property_0 FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_Skip_set_constant(bool async) @@ -655,7 +735,8 @@ public override async Task Update_Where_Skip_set_constant(bool async) await base.Update_Where_Skip_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='4' +""" +@__p_0='4' UPDATE [c] SET [c].[ContactName] = N'Updated' @@ -666,7 +747,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ORDER BY (SELECT 1) OFFSET @__p_0 ROWS -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Update_Where_Take_set_constant(bool async) @@ -674,12 +756,14 @@ public override async Task Update_Where_Take_set_constant(bool async) await base.Update_Where_Take_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='4' +""" +@__p_0='4' UPDATE TOP(@__p_0) [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_Skip_Take_set_constant(bool async) @@ -687,7 +771,8 @@ public override async Task Update_Where_Skip_Take_set_constant(bool async) await base.Update_Where_Skip_Take_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='2' +""" +@__p_0='2' @__p_1='4' UPDATE [c] @@ -699,7 +784,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ORDER BY (SELECT 1) OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Update_Where_OrderBy_set_constant(bool async) @@ -707,14 +793,16 @@ public override async Task Update_Where_OrderBy_set_constant(bool async) await base.Update_Where_OrderBy_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] INNER JOIN ( SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Update_Where_OrderBy_Skip_set_constant(bool async) @@ -722,7 +810,8 @@ public override async Task Update_Where_OrderBy_Skip_set_constant(bool async) await base.Update_Where_OrderBy_Skip_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='4' +""" +@__p_0='4' UPDATE [c] SET [c].[ContactName] = N'Updated' @@ -733,7 +822,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ORDER BY [c0].[City] OFFSET @__p_0 ROWS -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Update_Where_OrderBy_Take_set_constant(bool async) @@ -741,7 +831,8 @@ public override async Task Update_Where_OrderBy_Take_set_constant(bool async) await base.Update_Where_OrderBy_Take_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='4' +""" +@__p_0='4' UPDATE [c] SET [c].[ContactName] = N'Updated' @@ -751,7 +842,8 @@ SELECT TOP(@__p_0) [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[Company FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ORDER BY [c0].[City] -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Update_Where_OrderBy_Skip_Take_set_constant(bool async) @@ -759,7 +851,8 @@ public override async Task Update_Where_OrderBy_Skip_Take_set_constant(bool asyn await base.Update_Where_OrderBy_Skip_Take_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='2' +""" +@__p_0='2' @__p_1='4' UPDATE [c] @@ -771,7 +864,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ORDER BY [c0].[City] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Update_Where_OrderBy_Skip_Take_Skip_Take_set_constant(bool async) @@ -779,7 +873,8 @@ public override async Task Update_Where_OrderBy_Skip_Take_Skip_Take_set_constant await base.Update_Where_OrderBy_Skip_Take_Skip_Take_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='2' +""" +@__p_0='2' @__p_1='6' UPDATE [c] @@ -796,7 +891,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] ORDER BY [t].[City] OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY -) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Update_Where_GroupBy_aggregate_set_constant(bool async) @@ -804,14 +900,16 @@ public override async Task Update_Where_GroupBy_aggregate_set_constant(bool asyn await base.Update_Where_GroupBy_aggregate_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] WHERE [c].[CustomerID] = ( SELECT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] - HAVING COUNT(*) > 11)"); + HAVING COUNT(*) > 11) +"""); } public override async Task Update_Where_GroupBy_First_set_constant(bool async) @@ -819,7 +917,8 @@ public override async Task Update_Where_GroupBy_First_set_constant(bool async) await base.Update_Where_GroupBy_First_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] WHERE [c].[CustomerID] = ( @@ -829,7 +928,8 @@ FROM [Orders] AS [o0] WHERE [o].[CustomerID] = [o0].[CustomerID] OR (([o].[CustomerID] IS NULL) AND ([o0].[CustomerID] IS NULL))) FROM [Orders] AS [o] GROUP BY [o].[CustomerID] - HAVING COUNT(*) > 11)"); + HAVING COUNT(*) > 11) +"""); } public override async Task Update_Where_GroupBy_First_set_constant_2(bool async) @@ -844,7 +944,8 @@ public override async Task Update_Where_GroupBy_First_set_constant_3(bool async) await base.Update_Where_GroupBy_First_set_constant_3(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] WHERE EXISTS ( @@ -855,7 +956,8 @@ HAVING COUNT(*) > 11 AND ( SELECT TOP(1) [c0].[CustomerID] FROM [Orders] AS [o0] LEFT JOIN [Customers] AS [c0] ON [o0].[CustomerID] = [c0].[CustomerID] - WHERE [o].[CustomerID] = [o0].[CustomerID] OR (([o].[CustomerID] IS NULL) AND ([o0].[CustomerID] IS NULL))) = [c].[CustomerID])"); + WHERE [o].[CustomerID] = [o0].[CustomerID] OR (([o].[CustomerID] IS NULL) AND ([o0].[CustomerID] IS NULL))) = [c].[CustomerID]) +"""); } public override async Task Update_Where_Distinct_set_constant(bool async) @@ -863,10 +965,12 @@ public override async Task Update_Where_Distinct_set_constant(bool async) await base.Update_Where_Distinct_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_using_navigation_set_null(bool async) @@ -874,11 +978,13 @@ public override async Task Update_Where_using_navigation_set_null(bool async) await base.Update_Where_using_navigation_set_null(async); AssertExecuteUpdateSql( - @"UPDATE [o] +""" +UPDATE [o] SET [o].[OrderDate] = NULL FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] = N'Seattle'"); +WHERE [c].[City] = N'Seattle' +"""); } public override async Task Update_Where_using_navigation_2_set_constant(bool async) @@ -886,12 +992,14 @@ public override async Task Update_Where_using_navigation_2_set_constant(bool asy await base.Update_Where_using_navigation_2_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [o] +""" +UPDATE [o] SET [o].[Quantity] = CAST(1 AS smallint) FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] = N'Seattle'"); +WHERE [c].[City] = N'Seattle' +"""); } public override async Task Update_Where_SelectMany_set_null(bool async) @@ -899,11 +1007,13 @@ public override async Task Update_Where_SelectMany_set_null(bool async) await base.Update_Where_SelectMany_set_null(async); AssertExecuteUpdateSql( - @"UPDATE [o] +""" +UPDATE [o] SET [o].[OrderDate] = NULL FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_set_property_plus_constant(bool async) @@ -911,10 +1021,12 @@ public override async Task Update_Where_set_property_plus_constant(bool async) await base.Update_Where_set_property_plus_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = COALESCE([c].[ContactName], N'') + N'Abc' FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_set_property_plus_parameter(bool async) @@ -922,12 +1034,14 @@ public override async Task Update_Where_set_property_plus_parameter(bool async) await base.Update_Where_set_property_plus_parameter(async); AssertExecuteUpdateSql( - @"@__value_0='Abc' (Size = 4000) +""" +@__value_0='Abc' (Size = 4000) UPDATE [c] SET [c].[ContactName] = COALESCE([c].[ContactName], N'') + @__value_0 FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_set_property_plus_property(bool async) @@ -935,10 +1049,12 @@ public override async Task Update_Where_set_property_plus_property(bool async) await base.Update_Where_set_property_plus_property(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = COALESCE([c].[ContactName], N'') + [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_set_constant_using_ef_property(bool async) @@ -946,10 +1062,12 @@ public override async Task Update_Where_set_constant_using_ef_property(bool asyn await base.Update_Where_set_constant_using_ef_property(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_set_null(bool async) @@ -957,10 +1075,12 @@ public override async Task Update_Where_set_null(bool async) await base.Update_Where_set_null(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = NULL FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_without_property_to_set_throws(bool async) @@ -982,13 +1102,15 @@ public override async Task Update_Where_multiple_set(bool async) await base.Update_Where_multiple_set(async); AssertExecuteUpdateSql( - @"@__value_0='Abc' (Size = 4000) +""" +@__value_0='Abc' (Size = 4000) UPDATE [c] SET [c].[City] = N'Seattle', [c].[ContactName] = @__value_0 FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_with_invalid_lambda_in_set_property_throws(bool async) @@ -1017,7 +1139,8 @@ public override async Task Update_Union_set_constant(bool async) await base.Update_Union_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] INNER JOIN ( @@ -1028,7 +1151,8 @@ WHERE [c0].[CustomerID] LIKE N'F%' SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c1] WHERE [c1].[CustomerID] LIKE N'A%' -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Update_Concat_set_constant(bool async) @@ -1036,7 +1160,8 @@ public override async Task Update_Concat_set_constant(bool async) await base.Update_Concat_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] INNER JOIN ( @@ -1047,7 +1172,8 @@ UNION ALL SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c1] WHERE [c1].[CustomerID] LIKE N'A%' -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Update_Except_set_constant(bool async) @@ -1055,7 +1181,8 @@ public override async Task Update_Except_set_constant(bool async) await base.Update_Except_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] INNER JOIN ( @@ -1066,7 +1193,8 @@ WHERE [c0].[CustomerID] LIKE N'F%' SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c1] WHERE [c1].[CustomerID] LIKE N'A%' -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Update_Intersect_set_constant(bool async) @@ -1074,7 +1202,8 @@ public override async Task Update_Intersect_set_constant(bool async) await base.Update_Intersect_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] INNER JOIN ( @@ -1085,7 +1214,8 @@ WHERE [c0].[CustomerID] LIKE N'F%' SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c1] WHERE [c1].[CustomerID] LIKE N'A%' -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Update_with_join_set_constant(bool async) @@ -1093,7 +1223,8 @@ public override async Task Update_with_join_set_constant(bool async) await base.Update_with_join_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] INNER JOIN ( @@ -1101,7 +1232,8 @@ INNER JOIN ( FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_with_left_join_set_constant(bool async) @@ -1109,7 +1241,8 @@ public override async Task Update_with_left_join_set_constant(bool async) await base.Update_with_left_join_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] LEFT JOIN ( @@ -1117,7 +1250,8 @@ LEFT JOIN ( FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_with_cross_join_set_constant(bool async) @@ -1125,7 +1259,8 @@ public override async Task Update_with_cross_join_set_constant(bool async) await base.Update_with_cross_join_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] CROSS JOIN ( @@ -1133,7 +1268,8 @@ CROSS JOIN ( FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 ) AS [t] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_with_cross_apply_set_constant(bool async) @@ -1141,7 +1277,8 @@ public override async Task Update_with_cross_apply_set_constant(bool async) await base.Update_with_cross_apply_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] CROSS APPLY ( @@ -1149,7 +1286,8 @@ CROSS APPLY ( FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 AND DATEPART(year, [o].[OrderDate]) < CAST(LEN([c].[ContactName]) AS int) ) AS [t] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_with_outer_apply_set_constant(bool async) @@ -1157,7 +1295,8 @@ public override async Task Update_with_outer_apply_set_constant(bool async) await base.Update_with_outer_apply_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] OUTER APPLY ( @@ -1165,7 +1304,8 @@ OUTER APPLY ( FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 AND DATEPART(year, [o].[OrderDate]) < CAST(LEN([c].[ContactName]) AS int) ) AS [t] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_with_cross_join_left_join_set_constant(bool async) @@ -1173,7 +1313,8 @@ public override async Task Update_with_cross_join_left_join_set_constant(bool as await base.Update_with_cross_join_left_join_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] CROSS JOIN ( @@ -1186,7 +1327,8 @@ LEFT JOIN ( FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_with_cross_join_cross_apply_set_constant(bool async) @@ -1194,7 +1336,8 @@ public override async Task Update_with_cross_join_cross_apply_set_constant(bool await base.Update_with_cross_join_cross_apply_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] CROSS JOIN ( @@ -1207,7 +1350,8 @@ CROSS APPLY ( FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 AND DATEPART(year, [o].[OrderDate]) < CAST(LEN([c].[ContactName]) AS int) ) AS [t0] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_with_cross_join_outer_apply_set_constant(bool async) @@ -1215,7 +1359,8 @@ public override async Task Update_with_cross_join_outer_apply_set_constant(bool await base.Update_with_cross_join_outer_apply_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[ContactName] = N'Updated' FROM [Customers] AS [c] CROSS JOIN ( @@ -1228,7 +1373,8 @@ OUTER APPLY ( FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 AND DATEPART(year, [o].[OrderDate]) < CAST(LEN([c].[ContactName]) AS int) ) AS [t0] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_FromSql_set_constant(bool async) @@ -1243,7 +1389,8 @@ public override async Task Update_Where_SelectMany_subquery_set_null(bool async) await base.Update_Where_SelectMany_subquery_set_null(async); AssertExecuteUpdateSql( - @"UPDATE [o] +""" +UPDATE [o] SET [o].[OrderDate] = NULL FROM [Orders] AS [o] INNER JOIN ( @@ -1255,7 +1402,8 @@ FROM [Orders] AS [o0] WHERE DATEPART(year, [o0].[OrderDate]) = 1997 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -) AS [t0] ON [o].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [o].[OrderID] = [t0].[OrderID] +"""); } public override async Task Update_Where_Join_set_property_from_joined_single_result_table(bool async) @@ -1263,14 +1411,16 @@ public override async Task Update_Where_Join_set_property_from_joined_single_res await base.Update_Where_Join_set_property_from_joined_single_result_table(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[City] = CONVERT(varchar(11), DATEPART(year, ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderDate] DESC))) FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_Join_set_property_from_joined_table(bool async) @@ -1278,7 +1428,8 @@ public override async Task Update_Where_Join_set_property_from_joined_table(bool await base.Update_Where_Join_set_property_from_joined_table(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[City] = [t].[City] FROM [Customers] AS [c] CROSS JOIN ( @@ -1286,7 +1437,8 @@ CROSS JOIN ( FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = N'ALFKI' ) AS [t] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Update_Where_Join_set_property_from_joined_single_result_scalar(bool async) @@ -1294,14 +1446,16 @@ public override async Task Update_Where_Join_set_property_from_joined_single_res await base.Update_Where_Join_set_property_from_joined_single_result_scalar(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[City] = CONVERT(varchar(11), DATEPART(year, ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderDate] DESC))) FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesSqlServerTest.cs index d0bc3be79ec..61342d0e34c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesSqlServerTest.cs @@ -28,9 +28,11 @@ public override async Task Delete_where_hierarchy_derived(bool async) await base.Delete_where_hierarchy_derived(async); AssertSql( - @"DELETE FROM [k] +""" +DELETE FROM [k] FROM [Kiwi] AS [k] -WHERE [k].[CountryId] = 1 AND [k].[Name] = N'Great spotted kiwi'"); +WHERE [k].[CountryId] = 1 AND [k].[Name] = N'Great spotted kiwi' +"""); } public override async Task Delete_where_using_hierarchy(bool async) @@ -38,7 +40,8 @@ public override async Task Delete_where_using_hierarchy(bool async) await base.Delete_where_using_hierarchy(async); AssertSql( - @"DELETE FROM [c] +""" +DELETE FROM [c] FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) @@ -49,7 +52,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] - WHERE [t].[CountryId] = 1 AND [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0"); + WHERE [t].[CountryId] = 1 AND [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0 +"""); } public override async Task Delete_where_using_hierarchy_derived(bool async) @@ -57,7 +61,8 @@ public override async Task Delete_where_using_hierarchy_derived(bool async) await base.Delete_where_using_hierarchy_derived(async); AssertSql( - @"DELETE FROM [c] +""" +DELETE FROM [c] FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) @@ -65,7 +70,8 @@ SELECT COUNT(*) SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] - WHERE [t].[CountryId] = 1 AND [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0"); + WHERE [t].[CountryId] = 1 AND [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0 +"""); } public override async Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) @@ -122,10 +128,12 @@ public override async Task Update_where_hierarchy_derived(bool async) await base.Update_where_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE [k] +""" +UPDATE [k] SET [k].[Name] = N'Kiwi' FROM [Kiwi] AS [k] -WHERE [k].[CountryId] = 1 AND [k].[Name] = N'Great spotted kiwi'"); +WHERE [k].[CountryId] = 1 AND [k].[Name] = N'Great spotted kiwi' +"""); } public override async Task Update_where_using_hierarchy(bool async) @@ -133,7 +141,8 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( @@ -145,7 +154,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] - WHERE [t].[CountryId] = 1 AND [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0"); + WHERE [t].[CountryId] = 1 AND [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -153,7 +163,8 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( @@ -162,7 +173,8 @@ SELECT COUNT(*) SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] - WHERE [t].[CountryId] = 1 AND [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0"); + WHERE [t].[CountryId] = 1 AND [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesSqlServerTest.cs index f82f8612c75..51b28b3cad0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesSqlServerTest.cs @@ -27,9 +27,11 @@ public override async Task Delete_where_hierarchy_derived(bool async) await base.Delete_where_hierarchy_derived(async); AssertSql( - @"DELETE FROM [k] +""" +DELETE FROM [k] FROM [Kiwi] AS [k] -WHERE [k].[Name] = N'Great spotted kiwi'"); +WHERE [k].[Name] = N'Great spotted kiwi' +"""); } public override async Task Delete_where_using_hierarchy(bool async) @@ -37,7 +39,8 @@ public override async Task Delete_where_using_hierarchy(bool async) await base.Delete_where_using_hierarchy(async); AssertSql( - @"DELETE FROM [c] +""" +DELETE FROM [c] FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) @@ -48,7 +51,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] - WHERE [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0"); + WHERE [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0 +"""); } public override async Task Delete_where_using_hierarchy_derived(bool async) @@ -56,7 +60,8 @@ public override async Task Delete_where_using_hierarchy_derived(bool async) await base.Delete_where_using_hierarchy_derived(async); AssertSql( - @"DELETE FROM [c] +""" +DELETE FROM [c] FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) @@ -64,7 +69,8 @@ SELECT COUNT(*) SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] - WHERE [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0"); + WHERE [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0 +"""); } public override async Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) @@ -121,10 +127,12 @@ public override async Task Update_where_hierarchy_derived(bool async) await base.Update_where_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE [k] +""" +UPDATE [k] SET [k].[Name] = N'Kiwi' FROM [Kiwi] AS [k] -WHERE [k].[Name] = N'Great spotted kiwi'"); +WHERE [k].[Name] = N'Great spotted kiwi' +"""); } public override async Task Update_where_using_hierarchy(bool async) @@ -132,7 +140,8 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( @@ -144,7 +153,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] - WHERE [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0"); + WHERE [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -152,7 +162,8 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( @@ -161,7 +172,8 @@ SELECT COUNT(*) SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] - WHERE [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0"); + WHERE [c].[Id] = [t].[CountryId] AND [t].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesSqlServerTest.cs index b46ea9bba80..e967cde399c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesSqlServerTest.cs @@ -35,7 +35,8 @@ public override async Task Delete_where_using_hierarchy(bool async) await base.Delete_where_using_hierarchy(async); AssertSql( - @"DELETE FROM [c] +""" +DELETE FROM [c] FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) @@ -43,7 +44,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] - WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0"); + WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Delete_where_using_hierarchy_derived(bool async) @@ -51,7 +53,8 @@ public override async Task Delete_where_using_hierarchy_derived(bool async) await base.Delete_where_using_hierarchy_derived(async); AssertSql( - @"DELETE FROM [c] +""" +DELETE FROM [c] FROM [Countries] AS [c] WHERE ( SELECT COUNT(*) @@ -59,7 +62,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] - WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND ([k].[Id] IS NOT NULL) AND [a].[CountryId] > 0) > 0"); + WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND ([k].[Id] IS NOT NULL) AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) @@ -123,7 +127,8 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( @@ -132,7 +137,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] - WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0"); + WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -140,7 +146,8 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( @@ -149,7 +156,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] - WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND ([k].[Id] IS NOT NULL) AND [a].[CountryId] > 0) > 0"); + WHERE [a].[CountryId] = 1 AND [c].[Id] = [a].[CountryId] AND ([k].[Id] IS NOT NULL) AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesSqlServerTest.cs index 362bf4d98cc..768158f916c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesSqlServerTest.cs @@ -104,7 +104,8 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( @@ -113,7 +114,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] - WHERE [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0"); + WHERE [c].[Id] = [a].[CountryId] AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -121,7 +123,8 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE [c] +""" +UPDATE [c] SET [c].[Name] = N'Monovia' FROM [Countries] AS [c] WHERE ( @@ -130,7 +133,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] - WHERE [c].[Id] = [a].[CountryId] AND ([k].[Id] IS NOT NULL) AND [a].[CountryId] > 0) > 0"); + WHERE [c].[Id] = [a].[CountryId] AND ([k].[Id] IS NOT NULL) AND [a].[CountryId] > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/CommandInterceptionSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/CommandInterceptionSqlServerTest.cs index 8c7d5123a40..bc3fd91babb 100644 --- a/test/EFCore.SqlServer.FunctionalTests/CommandInterceptionSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/CommandInterceptionSqlServerTest.cs @@ -16,7 +16,9 @@ protected CommandInterceptionSqlServerTestBase(InterceptionSqlServerFixtureBase public override async Task Intercept_query_passively(bool async, bool inject) { AssertSql( - @"SELECT [s].[Id], [s].[Type] FROM [Singularity] AS [s]", +""" +SELECT [s].[Id], [s].[Type] FROM [Singularity] AS [s] +""", await base.Intercept_query_passively(async, inject)); return null; @@ -25,7 +27,9 @@ public override async Task Intercept_query_passively(bool async, bool in protected override async Task QueryMutationTest(bool async, bool inject) { AssertSql( - @"SELECT [s].[Id], [s].[Type] FROM [Brane] AS [s]", +""" +SELECT [s].[Id], [s].[Type] FROM [Brane] AS [s] +""", await base.QueryMutationTest(async, inject)); return null; @@ -34,7 +38,9 @@ protected override async Task QueryMutationTest(bool async public override async Task Intercept_query_to_replace_execution(bool async, bool inject) { AssertSql( - @"SELECT [s].[Id], [s].[Type] FROM [Singularity] AS [s]", +""" +SELECT [s].[Id], [s].[Type] FROM [Singularity] AS [s] +""", await base.Intercept_query_to_replace_execution(async, inject)); return null; diff --git a/test/EFCore.SqlServer.FunctionalTests/CustomConvertersSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/CustomConvertersSqlServerTest.cs index d8d77f782e5..8d8d88d50b0 100644 --- a/test/EFCore.SqlServer.FunctionalTests/CustomConvertersSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/CustomConvertersSqlServerTest.cs @@ -216,12 +216,14 @@ public override void Value_conversion_is_appropriately_used_for_join_condition() base.Value_conversion_is_appropriately_used_for_join_condition(); AssertSql( - @"@__blogId_0='1' +""" +@__blogId_0='1' SELECT [b].[Url] FROM [Blog] AS [b] INNER JOIN [Post] AS [p] ON [b].[BlogId] = [p].[BlogId] AND [b].[IsVisible] = N'Y' AND [b].[BlogId] = @__blogId_0 -WHERE [b].[IsVisible] = N'Y'"); +WHERE [b].[IsVisible] = N'Y' +"""); } [ConditionalFact] @@ -230,12 +232,14 @@ public override void Value_conversion_is_appropriately_used_for_left_join_condit base.Value_conversion_is_appropriately_used_for_left_join_condition(); AssertSql( - @"@__blogId_0='1' +""" +@__blogId_0='1' SELECT [b].[Url] FROM [Blog] AS [b] LEFT JOIN [Post] AS [p] ON [b].[BlogId] = [p].[BlogId] AND [b].[IsVisible] = N'Y' AND [b].[BlogId] = @__blogId_0 -WHERE [b].[IsVisible] = N'Y'"); +WHERE [b].[IsVisible] = N'Y' +"""); } [ConditionalFact] @@ -244,9 +248,11 @@ public override void Where_bool_gets_converted_to_equality_when_value_conversion base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used(); AssertSql( - @"SELECT [b].[BlogId], [b].[Discriminator], [b].[IndexerVisible], [b].[IsVisible], [b].[Url], [b].[RssUrl] +""" +SELECT [b].[BlogId], [b].[Discriminator], [b].[IndexerVisible], [b].[IsVisible], [b].[Url], [b].[RssUrl] FROM [Blog] AS [b] -WHERE [b].[IsVisible] = N'Y'"); +WHERE [b].[IsVisible] = N'Y' +"""); } [ConditionalFact] @@ -255,9 +261,11 @@ public override void Where_negated_bool_gets_converted_to_equality_when_value_co base.Where_negated_bool_gets_converted_to_equality_when_value_conversion_is_used(); AssertSql( - @"SELECT [b].[BlogId], [b].[Discriminator], [b].[IndexerVisible], [b].[IsVisible], [b].[Url], [b].[RssUrl] +""" +SELECT [b].[BlogId], [b].[Discriminator], [b].[IndexerVisible], [b].[IsVisible], [b].[Url], [b].[RssUrl] FROM [Blog] AS [b] -WHERE [b].[IsVisible] = N'N'"); +WHERE [b].[IsVisible] = N'N' +"""); } public override void Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_EFProperty() @@ -265,9 +273,11 @@ public override void Where_bool_gets_converted_to_equality_when_value_conversion base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_EFProperty(); AssertSql( - @"SELECT [b].[BlogId], [b].[Discriminator], [b].[IndexerVisible], [b].[IsVisible], [b].[Url], [b].[RssUrl] +""" +SELECT [b].[BlogId], [b].[Discriminator], [b].[IndexerVisible], [b].[IsVisible], [b].[Url], [b].[RssUrl] FROM [Blog] AS [b] -WHERE [b].[IsVisible] = N'Y'"); +WHERE [b].[IsVisible] = N'Y' +"""); } public override void Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_indexer() @@ -275,9 +285,11 @@ public override void Where_bool_gets_converted_to_equality_when_value_conversion base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_indexer(); AssertSql( - @"SELECT [b].[BlogId], [b].[Discriminator], [b].[IndexerVisible], [b].[IsVisible], [b].[Url], [b].[RssUrl] +""" +SELECT [b].[BlogId], [b].[Discriminator], [b].[IndexerVisible], [b].[IsVisible], [b].[Url], [b].[RssUrl] FROM [Blog] AS [b] -WHERE [b].[IndexerVisible] = N'Nay'"); +WHERE [b].[IndexerVisible] = N'Nay' +"""); } public override void Object_to_string_conversion() @@ -290,9 +302,11 @@ public override void Id_object_as_entity_key() base.Id_object_as_entity_key(); AssertSql( - @"SELECT [b].[Id], [b].[Value] +""" +SELECT [b].[Id], [b].[Value] FROM [Book] AS [b] -WHERE [b].[Id] = 1"); +WHERE [b].[Id] = 1 +"""); } public override void Value_conversion_on_enum_collection_contains() @@ -315,7 +329,9 @@ public virtual async Task SqlQuery_with_converted_type_using_model_configuration Assert.Equal(HoldingEnum.Value2, result.Single()); AssertSql( - @"SELECT [HoldingEnum] FROM [HolderClass]"); +""" +SELECT [HoldingEnum] FROM [HolderClass] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/DataAnnotationSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/DataAnnotationSqlServerTest.cs index 38b2141100c..bda058bafbd 100644 --- a/test/EFCore.SqlServer.FunctionalTests/DataAnnotationSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/DataAnnotationSqlServerTest.cs @@ -207,15 +207,20 @@ public override void ConcurrencyCheckAttribute_throws_if_value_in_database_chang base.ConcurrencyCheckAttribute_throws_if_value_in_database_changed(); AssertSql( - @"SELECT TOP(1) [s].[Unique_No], [s].[MaxLengthProperty], [s].[Name], [s].[RowVersion], [s].[AdditionalDetails_Name], [s].[AdditionalDetails_Value], [s].[Details_Name], [s].[Details_Value] +""" +SELECT TOP(1) [s].[Unique_No], [s].[MaxLengthProperty], [s].[Name], [s].[RowVersion], [s].[AdditionalDetails_Name], [s].[AdditionalDetails_Value], [s].[Details_Name], [s].[Details_Value] FROM [Sample] AS [s] -WHERE [s].[Unique_No] = 1", +WHERE [s].[Unique_No] = 1 +""", // - @"SELECT TOP(1) [s].[Unique_No], [s].[MaxLengthProperty], [s].[Name], [s].[RowVersion], [s].[AdditionalDetails_Name], [s].[AdditionalDetails_Value], [s].[Details_Name], [s].[Details_Value] +""" +SELECT TOP(1) [s].[Unique_No], [s].[MaxLengthProperty], [s].[Name], [s].[RowVersion], [s].[AdditionalDetails_Name], [s].[AdditionalDetails_Value], [s].[Details_Name], [s].[Details_Value] FROM [Sample] AS [s] -WHERE [s].[Unique_No] = 1", +WHERE [s].[Unique_No] = 1 +""", // - @"@p2='1' +""" +@p2='1' @p0='ModifiedData' (Nullable = false) (Size = 4000) @p1='00000000-0000-0000-0003-000000000001' @p3='00000001-0000-0000-0000-000000000001' @@ -224,9 +229,11 @@ FROM [Sample] AS [s] SET NOCOUNT ON; UPDATE [Sample] SET [Name] = @p0, [RowVersion] = @p1 OUTPUT 1 -WHERE [Unique_No] = @p2 AND [RowVersion] = @p3;", +WHERE [Unique_No] = @p2 AND [RowVersion] = @p3; +""", // - @"@p2='1' +""" +@p2='1' @p0='ChangedData' (Nullable = false) (Size = 4000) @p1='00000000-0000-0000-0002-000000000001' @p3='00000001-0000-0000-0000-000000000001' @@ -235,7 +242,8 @@ OUTPUT 1 SET NOCOUNT ON; UPDATE [Sample] SET [Name] = @p0, [RowVersion] = @p1 OUTPUT 1 -WHERE [Unique_No] = @p2 AND [RowVersion] = @p3;"); +WHERE [Unique_No] = @p2 AND [RowVersion] = @p3; +"""); } public override void DatabaseGeneratedAttribute_autogenerates_values_when_set_to_identity() @@ -243,7 +251,8 @@ public override void DatabaseGeneratedAttribute_autogenerates_values_when_set_to base.DatabaseGeneratedAttribute_autogenerates_values_when_set_to_identity(); AssertSql( - @"@p0=NULL (Size = 10) +""" +@p0=NULL (Size = 10) @p1='Third' (Nullable = false) (Size = 4000) @p2='00000000-0000-0000-0000-000000000003' @p3='Third Additional Name' (Size = 4000) @@ -255,7 +264,8 @@ public override void DatabaseGeneratedAttribute_autogenerates_values_when_set_to SET NOCOUNT ON; INSERT INTO [Sample] ([MaxLengthProperty], [Name], [RowVersion], [AdditionalDetails_Name], [AdditionalDetails_Value], [Details_Name], [Details_Value]) OUTPUT INSERTED.[Unique_No] -VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6);"); +VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6); +"""); } public override void MaxLengthAttribute_throws_while_inserting_value_longer_than_max_length() @@ -263,7 +273,8 @@ public override void MaxLengthAttribute_throws_while_inserting_value_longer_than base.MaxLengthAttribute_throws_while_inserting_value_longer_than_max_length(); AssertSql( - @"@p0='Short' (Size = 10) +""" +@p0='Short' (Size = 10) @p1='ValidString' (Nullable = false) (Size = 4000) @p2='00000000-0000-0000-0000-000000000001' @p3='Third Additional Name' (Size = 4000) @@ -275,9 +286,11 @@ public override void MaxLengthAttribute_throws_while_inserting_value_longer_than SET NOCOUNT ON; INSERT INTO [Sample] ([MaxLengthProperty], [Name], [RowVersion], [AdditionalDetails_Name], [AdditionalDetails_Value], [Details_Name], [Details_Value]) OUTPUT INSERTED.[Unique_No] -VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6);", +VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6); +""", // - @"@p0='VeryVeryVeryVeryVeryVeryLongString' (Size = 4000) +""" +@p0='VeryVeryVeryVeryVeryVeryLongString' (Size = 4000) @p1='ValidString' (Nullable = false) (Size = 4000) @p2='00000000-0000-0000-0000-000000000002' @p3='Third Additional Name' (Size = 4000) @@ -289,7 +302,8 @@ OUTPUT INSERTED.[Unique_No] SET NOCOUNT ON; INSERT INTO [Sample] ([MaxLengthProperty], [Name], [RowVersion], [AdditionalDetails_Name], [AdditionalDetails_Value], [Details_Name], [Details_Value]) OUTPUT INSERTED.[Unique_No] -VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6);"); +VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6); +"""); } public override void StringLengthAttribute_throws_while_inserting_value_longer_than_max_length() @@ -297,21 +311,25 @@ public override void StringLengthAttribute_throws_while_inserting_value_longer_t base.StringLengthAttribute_throws_while_inserting_value_longer_than_max_length(); AssertSql( - @"@p0='ValidString' (Size = 16) +""" +@p0='ValidString' (Size = 16) SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [Two] ([Data]) OUTPUT INSERTED.[Id], INSERTED.[Timestamp] -VALUES (@p0);", +VALUES (@p0); +""", // - @"@p0='ValidButLongString' (Size = 4000) +""" +@p0='ValidButLongString' (Size = 4000) SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [Two] ([Data]) OUTPUT INSERTED.[Id], INSERTED.[Timestamp] -VALUES (@p0);"); +VALUES (@p0); +"""); } public override void TimestampAttribute_throws_if_value_in_database_changed() diff --git a/test/EFCore.SqlServer.FunctionalTests/EntitySplittingSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/EntitySplittingSqlServerTest.cs index 8eae6f0a8ff..0697bd278e2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/EntitySplittingSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/EntitySplittingSqlServerTest.cs @@ -69,26 +69,32 @@ public override async Task Can_roundtrip() await base.Can_roundtrip(); AssertSql( - @"@p0='2' (Nullable = true) +""" +@p0='2' (Nullable = true) SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [MeterReadings] ([ReadingStatus]) OUTPUT INSERTED.[Id] -VALUES (@p0);", +VALUES (@p0); +""", // - @"@p1='1' +""" +@p1='1' @p2='100' (Size = 4000) @p3=NULL (Size = 4000) SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [MeterReadingDetails] ([Id], [CurrentRead], [PreviousRead]) -VALUES (@p1, @p2, @p3);", +VALUES (@p1, @p2, @p3); +""", // - @"SELECT TOP(2) [m].[Id], [m0].[CurrentRead], [m0].[PreviousRead], [m].[ReadingStatus] +""" +SELECT TOP(2) [m].[Id], [m0].[CurrentRead], [m0].[PreviousRead], [m].[ReadingStatus] FROM [MeterReadings] AS [m] -INNER JOIN [MeterReadingDetails] AS [m0] ON [m].[Id] = [m0].[Id]"); +INNER JOIN [MeterReadingDetails] AS [m0] ON [m].[Id] = [m0].[Id] +"""); } protected override ITestStoreFactory TestStoreFactory diff --git a/test/EFCore.SqlServer.FunctionalTests/FindSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/FindSqlServerTest.cs index 10dcc1320d1..70a98701607 100644 --- a/test/EFCore.SqlServer.FunctionalTests/FindSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/FindSqlServerTest.cs @@ -53,11 +53,13 @@ public override void Find_int_key_from_store() base.Find_int_key_from_store(); AssertSql( - @"@__p_0='77' +""" +@__p_0='77' SELECT TOP(1) [i].[Id], [i].[Foo] FROM [IntKey] AS [i] -WHERE [i].[Id] = @__p_0"); +WHERE [i].[Id] = @__p_0 +"""); } public override void Returns_null_for_int_key_not_in_store() @@ -65,11 +67,13 @@ public override void Returns_null_for_int_key_not_in_store() base.Returns_null_for_int_key_not_in_store(); AssertSql( - @"@__p_0='99' +""" +@__p_0='99' SELECT TOP(1) [i].[Id], [i].[Foo] FROM [IntKey] AS [i] -WHERE [i].[Id] = @__p_0"); +WHERE [i].[Id] = @__p_0 +"""); } public override void Find_nullable_int_key_tracked() @@ -84,11 +88,13 @@ public override void Find_nullable_int_key_from_store() base.Find_int_key_from_store(); AssertSql( - @"@__p_0='77' +""" +@__p_0='77' SELECT TOP(1) [i].[Id], [i].[Foo] FROM [IntKey] AS [i] -WHERE [i].[Id] = @__p_0"); +WHERE [i].[Id] = @__p_0 +"""); } public override void Returns_null_for_nullable_int_key_not_in_store() @@ -96,11 +102,13 @@ public override void Returns_null_for_nullable_int_key_not_in_store() base.Returns_null_for_int_key_not_in_store(); AssertSql( - @"@__p_0='99' +""" +@__p_0='99' SELECT TOP(1) [i].[Id], [i].[Foo] FROM [IntKey] AS [i] -WHERE [i].[Id] = @__p_0"); +WHERE [i].[Id] = @__p_0 +"""); } public override void Find_string_key_tracked() @@ -115,11 +123,13 @@ public override void Find_string_key_from_store() base.Find_string_key_from_store(); AssertSql( - @"@__p_0='Cat' (Size = 450) +""" +@__p_0='Cat' (Size = 450) SELECT TOP(1) [s].[Id], [s].[Foo] FROM [StringKey] AS [s] -WHERE [s].[Id] = @__p_0"); +WHERE [s].[Id] = @__p_0 +"""); } public override void Returns_null_for_string_key_not_in_store() @@ -127,11 +137,13 @@ public override void Returns_null_for_string_key_not_in_store() base.Returns_null_for_string_key_not_in_store(); AssertSql( - @"@__p_0='Fox' (Size = 450) +""" +@__p_0='Fox' (Size = 450) SELECT TOP(1) [s].[Id], [s].[Foo] FROM [StringKey] AS [s] -WHERE [s].[Id] = @__p_0"); +WHERE [s].[Id] = @__p_0 +"""); } public override void Find_composite_key_tracked() @@ -146,12 +158,14 @@ public override void Find_composite_key_from_store() base.Find_composite_key_from_store(); AssertSql( - @"@__p_0='77' +""" +@__p_0='77' @__p_1='Dog' (Size = 450) SELECT TOP(1) [c].[Id1], [c].[Id2], [c].[Foo] FROM [CompositeKey] AS [c] -WHERE [c].[Id1] = @__p_0 AND [c].[Id2] = @__p_1"); +WHERE [c].[Id1] = @__p_0 AND [c].[Id2] = @__p_1 +"""); } public override void Returns_null_for_composite_key_not_in_store() @@ -159,12 +173,14 @@ public override void Returns_null_for_composite_key_not_in_store() base.Returns_null_for_composite_key_not_in_store(); AssertSql( - @"@__p_0='77' +""" +@__p_0='77' @__p_1='Fox' (Size = 450) SELECT TOP(1) [c].[Id1], [c].[Id2], [c].[Foo] FROM [CompositeKey] AS [c] -WHERE [c].[Id1] = @__p_0 AND [c].[Id2] = @__p_1"); +WHERE [c].[Id1] = @__p_0 AND [c].[Id2] = @__p_1 +"""); } public override void Find_base_type_tracked() @@ -179,11 +195,13 @@ public override void Find_base_type_from_store() base.Find_base_type_from_store(); AssertSql( - @"@__p_0='77' +""" +@__p_0='77' SELECT TOP(1) [b].[Id], [b].[Discriminator], [b].[Foo], [b].[Boo] FROM [BaseType] AS [b] -WHERE [b].[Id] = @__p_0"); +WHERE [b].[Id] = @__p_0 +"""); } public override void Returns_null_for_base_type_not_in_store() @@ -191,11 +209,13 @@ public override void Returns_null_for_base_type_not_in_store() base.Returns_null_for_base_type_not_in_store(); AssertSql( - @"@__p_0='99' +""" +@__p_0='99' SELECT TOP(1) [b].[Id], [b].[Discriminator], [b].[Foo], [b].[Boo] FROM [BaseType] AS [b] -WHERE [b].[Id] = @__p_0"); +WHERE [b].[Id] = @__p_0 +"""); } public override void Find_derived_type_tracked() @@ -210,11 +230,13 @@ public override void Find_derived_type_from_store() base.Find_derived_type_from_store(); AssertSql( - @"@__p_0='78' +""" +@__p_0='78' SELECT TOP(1) [b].[Id], [b].[Discriminator], [b].[Foo], [b].[Boo] FROM [BaseType] AS [b] -WHERE [b].[Discriminator] = N'DerivedType' AND [b].[Id] = @__p_0"); +WHERE [b].[Discriminator] = N'DerivedType' AND [b].[Id] = @__p_0 +"""); } public override void Returns_null_for_derived_type_not_in_store() @@ -222,11 +244,13 @@ public override void Returns_null_for_derived_type_not_in_store() base.Returns_null_for_derived_type_not_in_store(); AssertSql( - @"@__p_0='99' +""" +@__p_0='99' SELECT TOP(1) [b].[Id], [b].[Discriminator], [b].[Foo], [b].[Boo] FROM [BaseType] AS [b] -WHERE [b].[Discriminator] = N'DerivedType' AND [b].[Id] = @__p_0"); +WHERE [b].[Discriminator] = N'DerivedType' AND [b].[Id] = @__p_0 +"""); } public override void Find_base_type_using_derived_set_tracked() @@ -234,11 +258,13 @@ public override void Find_base_type_using_derived_set_tracked() base.Find_base_type_using_derived_set_tracked(); AssertSql( - @"@__p_0='88' +""" +@__p_0='88' SELECT TOP(1) [b].[Id], [b].[Discriminator], [b].[Foo], [b].[Boo] FROM [BaseType] AS [b] -WHERE [b].[Discriminator] = N'DerivedType' AND [b].[Id] = @__p_0"); +WHERE [b].[Discriminator] = N'DerivedType' AND [b].[Id] = @__p_0 +"""); } public override void Find_base_type_using_derived_set_from_store() @@ -246,11 +272,13 @@ public override void Find_base_type_using_derived_set_from_store() base.Find_base_type_using_derived_set_from_store(); AssertSql( - @"@__p_0='77' +""" +@__p_0='77' SELECT TOP(1) [b].[Id], [b].[Discriminator], [b].[Foo], [b].[Boo] FROM [BaseType] AS [b] -WHERE [b].[Discriminator] = N'DerivedType' AND [b].[Id] = @__p_0"); +WHERE [b].[Discriminator] = N'DerivedType' AND [b].[Id] = @__p_0 +"""); } public override void Find_derived_type_using_base_set_tracked() @@ -265,11 +293,13 @@ public override void Find_derived_using_base_set_type_from_store() base.Find_derived_using_base_set_type_from_store(); AssertSql( - @"@__p_0='78' +""" +@__p_0='78' SELECT TOP(1) [b].[Id], [b].[Discriminator], [b].[Foo], [b].[Boo] FROM [BaseType] AS [b] -WHERE [b].[Id] = @__p_0"); +WHERE [b].[Id] = @__p_0 +"""); } public override void Find_shadow_key_tracked() @@ -284,11 +314,13 @@ public override void Find_shadow_key_from_store() base.Find_shadow_key_from_store(); AssertSql( - @"@__p_0='77' +""" +@__p_0='77' SELECT TOP(1) [s].[Id], [s].[Foo] FROM [ShadowKey] AS [s] -WHERE [s].[Id] = @__p_0"); +WHERE [s].[Id] = @__p_0 +"""); } public override void Returns_null_for_shadow_key_not_in_store() @@ -296,11 +328,13 @@ public override void Returns_null_for_shadow_key_not_in_store() base.Returns_null_for_shadow_key_not_in_store(); AssertSql( - @"@__p_0='99' +""" +@__p_0='99' SELECT TOP(1) [s].[Id], [s].[Foo] FROM [ShadowKey] AS [s] -WHERE [s].[Id] = @__p_0"); +WHERE [s].[Id] = @__p_0 +"""); } private string Sql diff --git a/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs index 4e3dc499d90..57257ccb1dc 100644 --- a/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/LazyLoadProxySqlServerTest.cs @@ -16,11 +16,13 @@ public override void Lazy_load_collection(EntityState state, bool useAttach, boo base.Lazy_load_collection(state, useAttach, useDetach); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal(EntityState state, bool useAttach, bool useDetach) @@ -28,11 +30,13 @@ public override void Lazy_load_many_to_one_reference_to_principal(EntityState st base.Lazy_load_many_to_one_reference_to_principal(state, useAttach, useDetach); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_principal(EntityState state, bool useAttach, bool useDetach) @@ -40,11 +44,13 @@ public override void Lazy_load_one_to_one_reference_to_principal(EntityState sta base.Lazy_load_one_to_one_reference_to_principal(state, useAttach, useDetach); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_dependent(EntityState state, bool useAttach, bool useDetach) @@ -52,11 +58,13 @@ public override void Lazy_load_one_to_one_reference_to_dependent(EntityState sta base.Lazy_load_one_to_one_reference_to_dependent(state, useAttach, useDetach); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override void Lazy_load_one_to_one_PK_to_PK_reference_to_principal(EntityState state) @@ -64,11 +72,13 @@ public override void Lazy_load_one_to_one_PK_to_PK_reference_to_principal(Entity base.Lazy_load_one_to_one_PK_to_PK_reference_to_principal(state); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent(EntityState state) @@ -76,11 +86,13 @@ public override void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent(Entity base.Lazy_load_one_to_one_PK_to_PK_reference_to_dependent(state); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [s].[Id] FROM [SinglePkToPk] AS [s] -WHERE [s].[Id] = @__p_0"); +WHERE [s].[Id] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_null_FK(EntityState state) @@ -102,11 +114,13 @@ public override void Lazy_load_collection_not_found(EntityState state) base.Lazy_load_collection_not_found(state); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_not_found(EntityState state) @@ -114,11 +128,13 @@ public override void Lazy_load_many_to_one_reference_to_principal_not_found(Enti base.Lazy_load_many_to_one_reference_to_principal_not_found(state); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_principal_not_found(EntityState state) @@ -126,11 +142,13 @@ public override void Lazy_load_one_to_one_reference_to_principal_not_found(Entit base.Lazy_load_one_to_one_reference_to_principal_not_found(state); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_dependent_not_found(EntityState state) @@ -138,11 +156,13 @@ public override void Lazy_load_one_to_one_reference_to_dependent_not_found(Entit base.Lazy_load_one_to_one_reference_to_dependent_not_found(state); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override void Lazy_load_collection_already_loaded(EntityState state, CascadeTiming cascadeDeleteTiming) @@ -196,11 +216,13 @@ public override void Lazy_load_many_to_one_reference_to_principal_alternate_key( base.Lazy_load_many_to_one_reference_to_principal_alternate_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0"); +WHERE [p].[AlternateId] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_principal_alternate_key(EntityState state) @@ -208,11 +230,13 @@ public override void Lazy_load_one_to_one_reference_to_principal_alternate_key(E base.Lazy_load_one_to_one_reference_to_principal_alternate_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0"); +WHERE [p].[AlternateId] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_dependent_alternate_key(EntityState state) @@ -220,11 +244,13 @@ public override void Lazy_load_one_to_one_reference_to_dependent_alternate_key(E base.Lazy_load_one_to_one_reference_to_dependent_alternate_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [s].[Id], [s].[ParentId] FROM [SingleAk] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_null_FK_alternate_key(EntityState state) @@ -246,11 +272,13 @@ public override void Lazy_load_collection_shadow_fk(EntityState state) base.Lazy_load_collection_shadow_fk(state); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [ChildShadowFk] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_shadow_fk(EntityState state) @@ -258,11 +286,13 @@ public override void Lazy_load_many_to_one_reference_to_principal_shadow_fk(Enti base.Lazy_load_many_to_one_reference_to_principal_shadow_fk(state); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_principal_shadow_fk(EntityState state) @@ -270,11 +300,13 @@ public override void Lazy_load_one_to_one_reference_to_principal_shadow_fk(Entit base.Lazy_load_one_to_one_reference_to_principal_shadow_fk(state); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_dependent_shadow_fk(EntityState state) @@ -282,11 +314,13 @@ public override void Lazy_load_one_to_one_reference_to_dependent_shadow_fk(Entit base.Lazy_load_one_to_one_reference_to_dependent_shadow_fk(state); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [SingleShadowFk] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_null_FK_shadow_fk(EntityState state) @@ -308,12 +342,14 @@ public override void Lazy_load_collection_composite_key(EntityState state) base.Lazy_load_collection_composite_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' (Nullable = true) SELECT [c].[Id], [c].[ParentAlternateId], [c].[ParentId] FROM [ChildCompositeKey] AS [c] -WHERE [c].[ParentAlternateId] = @__p_0 AND [c].[ParentId] = @__p_1"); +WHERE [c].[ParentAlternateId] = @__p_0 AND [c].[ParentId] = @__p_1 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_composite_key(EntityState state) @@ -321,12 +357,14 @@ public override void Lazy_load_many_to_one_reference_to_principal_composite_key( base.Lazy_load_many_to_one_reference_to_principal_composite_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1"); +WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1 +"""); } public override void Lazy_load_one_to_one_reference_to_principal_composite_key(EntityState state) @@ -334,12 +372,14 @@ public override void Lazy_load_one_to_one_reference_to_principal_composite_key(E base.Lazy_load_one_to_one_reference_to_principal_composite_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' SELECT [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1"); +WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1 +"""); } public override void Lazy_load_one_to_one_reference_to_dependent_composite_key(EntityState state) @@ -347,12 +387,14 @@ public override void Lazy_load_one_to_one_reference_to_dependent_composite_key(E base.Lazy_load_one_to_one_reference_to_dependent_composite_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' (Nullable = true) SELECT [s].[Id], [s].[ParentAlternateId], [s].[ParentId] FROM [SingleCompositeKey] AS [s] -WHERE [s].[ParentAlternateId] = @__p_0 AND [s].[ParentId] = @__p_1"); +WHERE [s].[ParentAlternateId] = @__p_0 AND [s].[ParentId] = @__p_1 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_null_FK_composite_key(EntityState state) @@ -376,11 +418,13 @@ public override async Task Load_collection(EntityState state, bool async) if (!async) { AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } } @@ -390,7 +434,8 @@ public override void Top_level_projection_track_entities_before_passing_to_clien base.Top_level_projection_track_entities_before_passing_to_client_method(); AssertSql( - @"SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator] +""" +SELECT TOP(1) [p].[Id], [p].[AlternateId], [p].[Discriminator] FROM [Parent] AS [p] ORDER BY [p].[Id] @@ -398,7 +443,8 @@ ORDER BY [p].[Id] SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Entity_equality_with_proxy_parameter(bool async) @@ -406,12 +452,14 @@ public override async Task Entity_equality_with_proxy_parameter(bool async) await base.Entity_equality_with_proxy_parameter(async); AssertSql( - @"@__entity_equality_called_0_Id='707' (Nullable = true) +""" +@__entity_equality_called_0_Id='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] LEFT JOIN [Parent] AS [p] ON [c].[ParentId] = [p].[Id] -WHERE [p].[Id] = @__entity_equality_called_0_Id"); +WHERE [p].[Id] = @__entity_equality_called_0_Id +"""); } protected override void ClearLog() diff --git a/test/EFCore.SqlServer.FunctionalTests/LoadSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/LoadSqlServerTest.cs index 501bef7d0d3..4cc9aade93f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/LoadSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/LoadSqlServerTest.cs @@ -16,11 +16,13 @@ public override void Lazy_load_collection(EntityState state) base.Lazy_load_collection(state); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal(EntityState state) @@ -28,11 +30,13 @@ public override void Lazy_load_many_to_one_reference_to_principal(EntityState st base.Lazy_load_many_to_one_reference_to_principal(state); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_principal(EntityState state) @@ -40,11 +44,13 @@ public override void Lazy_load_one_to_one_reference_to_principal(EntityState sta base.Lazy_load_one_to_one_reference_to_principal(state); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_dependent(EntityState state) @@ -52,11 +58,13 @@ public override void Lazy_load_one_to_one_reference_to_dependent(EntityState sta base.Lazy_load_one_to_one_reference_to_dependent(state); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override void Lazy_load_one_to_one_PK_to_PK_reference_to_principal(EntityState state) @@ -64,11 +72,13 @@ public override void Lazy_load_one_to_one_PK_to_PK_reference_to_principal(Entity base.Lazy_load_one_to_one_PK_to_PK_reference_to_principal(state); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent(EntityState state) @@ -76,25 +86,27 @@ public override void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent(Entity base.Lazy_load_one_to_one_PK_to_PK_reference_to_dependent(state); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [s].[Id] FROM [SinglePkToPk] AS [s] -WHERE [s].[Id] = @__p_0"); +WHERE [s].[Id] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_null_FK(EntityState state) { base.Lazy_load_many_to_one_reference_to_principal_null_FK(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_one_to_one_reference_to_principal_null_FK(EntityState state) { base.Lazy_load_one_to_one_reference_to_principal_null_FK(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_collection_not_found(EntityState state) @@ -102,11 +114,13 @@ public override void Lazy_load_collection_not_found(EntityState state) base.Lazy_load_collection_not_found(state); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_not_found(EntityState state) @@ -114,11 +128,13 @@ public override void Lazy_load_many_to_one_reference_to_principal_not_found(Enti base.Lazy_load_many_to_one_reference_to_principal_not_found(state); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_principal_not_found(EntityState state) @@ -126,11 +142,13 @@ public override void Lazy_load_one_to_one_reference_to_principal_not_found(Entit base.Lazy_load_one_to_one_reference_to_principal_not_found(state); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_dependent_not_found(EntityState state) @@ -138,32 +156,34 @@ public override void Lazy_load_one_to_one_reference_to_dependent_not_found(Entit base.Lazy_load_one_to_one_reference_to_dependent_not_found(state); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override void Lazy_load_collection_already_loaded(EntityState state, CascadeTiming cascadeDeleteTiming) { base.Lazy_load_collection_already_loaded(state, cascadeDeleteTiming); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_many_to_one_reference_to_principal_already_loaded(EntityState state) { base.Lazy_load_many_to_one_reference_to_principal_already_loaded(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_one_to_one_reference_to_principal_already_loaded(EntityState state) { base.Lazy_load_one_to_one_reference_to_principal_already_loaded(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_one_to_one_reference_to_dependent_already_loaded( @@ -172,21 +192,21 @@ public override void Lazy_load_one_to_one_reference_to_dependent_already_loaded( { base.Lazy_load_one_to_one_reference_to_dependent_already_loaded(state, cascadeDeleteTiming); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_one_to_one_PK_to_PK_reference_to_principal_already_loaded(EntityState state) { base.Lazy_load_one_to_one_PK_to_PK_reference_to_principal_already_loaded(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_one_to_one_PK_to_PK_reference_to_dependent_already_loaded(EntityState state) { base.Lazy_load_one_to_one_PK_to_PK_reference_to_dependent_already_loaded(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_many_to_one_reference_to_principal_alternate_key(EntityState state) @@ -194,11 +214,13 @@ public override void Lazy_load_many_to_one_reference_to_principal_alternate_key( base.Lazy_load_many_to_one_reference_to_principal_alternate_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0"); +WHERE [p].[AlternateId] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_principal_alternate_key(EntityState state) @@ -206,11 +228,13 @@ public override void Lazy_load_one_to_one_reference_to_principal_alternate_key(E base.Lazy_load_one_to_one_reference_to_principal_alternate_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0"); +WHERE [p].[AlternateId] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_dependent_alternate_key(EntityState state) @@ -218,25 +242,27 @@ public override void Lazy_load_one_to_one_reference_to_dependent_alternate_key(E base.Lazy_load_one_to_one_reference_to_dependent_alternate_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [s].[Id], [s].[ParentId] FROM [SingleAk] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_null_FK_alternate_key(EntityState state) { base.Lazy_load_many_to_one_reference_to_principal_null_FK_alternate_key(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_one_to_one_reference_to_principal_null_FK_alternate_key(EntityState state) { base.Lazy_load_one_to_one_reference_to_principal_null_FK_alternate_key(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_collection_shadow_fk(EntityState state) @@ -244,11 +270,13 @@ public override void Lazy_load_collection_shadow_fk(EntityState state) base.Lazy_load_collection_shadow_fk(state); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [ChildShadowFk] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_shadow_fk(EntityState state) @@ -256,11 +284,13 @@ public override void Lazy_load_many_to_one_reference_to_principal_shadow_fk(Enti base.Lazy_load_many_to_one_reference_to_principal_shadow_fk(state); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_principal_shadow_fk(EntityState state) @@ -268,11 +298,13 @@ public override void Lazy_load_one_to_one_reference_to_principal_shadow_fk(Entit base.Lazy_load_one_to_one_reference_to_principal_shadow_fk(state); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override void Lazy_load_one_to_one_reference_to_dependent_shadow_fk(EntityState state) @@ -280,25 +312,27 @@ public override void Lazy_load_one_to_one_reference_to_dependent_shadow_fk(Entit base.Lazy_load_one_to_one_reference_to_dependent_shadow_fk(state); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [SingleShadowFk] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_null_FK_shadow_fk(EntityState state) { base.Lazy_load_many_to_one_reference_to_principal_null_FK_shadow_fk(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_one_to_one_reference_to_principal_null_FK_shadow_fk(EntityState state) { base.Lazy_load_one_to_one_reference_to_principal_null_FK_shadow_fk(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_collection_composite_key(EntityState state) @@ -306,12 +340,14 @@ public override void Lazy_load_collection_composite_key(EntityState state) base.Lazy_load_collection_composite_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' (Nullable = true) SELECT [c].[Id], [c].[ParentAlternateId], [c].[ParentId] FROM [ChildCompositeKey] AS [c] -WHERE [c].[ParentAlternateId] = @__p_0 AND [c].[ParentId] = @__p_1"); +WHERE [c].[ParentAlternateId] = @__p_0 AND [c].[ParentId] = @__p_1 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_composite_key(EntityState state) @@ -319,12 +355,14 @@ public override void Lazy_load_many_to_one_reference_to_principal_composite_key( base.Lazy_load_many_to_one_reference_to_principal_composite_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1"); +WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1 +"""); } public override void Lazy_load_one_to_one_reference_to_principal_composite_key(EntityState state) @@ -332,12 +370,14 @@ public override void Lazy_load_one_to_one_reference_to_principal_composite_key(E base.Lazy_load_one_to_one_reference_to_principal_composite_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1"); +WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1 +"""); } public override void Lazy_load_one_to_one_reference_to_dependent_composite_key(EntityState state) @@ -345,26 +385,28 @@ public override void Lazy_load_one_to_one_reference_to_dependent_composite_key(E base.Lazy_load_one_to_one_reference_to_dependent_composite_key(state); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' (Nullable = true) SELECT [s].[Id], [s].[ParentAlternateId], [s].[ParentId] FROM [SingleCompositeKey] AS [s] -WHERE [s].[ParentAlternateId] = @__p_0 AND [s].[ParentId] = @__p_1"); +WHERE [s].[ParentAlternateId] = @__p_0 AND [s].[ParentId] = @__p_1 +"""); } public override void Lazy_load_many_to_one_reference_to_principal_null_FK_composite_key(EntityState state) { base.Lazy_load_many_to_one_reference_to_principal_null_FK_composite_key(state); - AssertSql(""); + AssertSql(@""); } public override void Lazy_load_one_to_one_reference_to_principal_null_FK_composite_key(EntityState state) { base.Lazy_load_one_to_one_reference_to_principal_null_FK_composite_key(state); - AssertSql(""); + AssertSql(@""); } public override async Task Load_collection(EntityState state, QueryTrackingBehavior queryTrackingBehavior, bool async) @@ -372,11 +414,13 @@ public override async Task Load_collection(EntityState state, QueryTrackingBehav await base.Load_collection(state, queryTrackingBehavior, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal(EntityState state, bool async) @@ -384,11 +428,13 @@ public override async Task Load_many_to_one_reference_to_principal(EntityState s await base.Load_many_to_one_reference_to_principal(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal(EntityState state, bool async) @@ -396,11 +442,13 @@ public override async Task Load_one_to_one_reference_to_principal(EntityState st await base.Load_one_to_one_reference_to_principal(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent(EntityState state, bool async) @@ -408,11 +456,13 @@ public override async Task Load_one_to_one_reference_to_dependent(EntityState st await base.Load_one_to_one_reference_to_dependent(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_one_to_one_PK_to_PK_reference_to_principal(EntityState state, bool async) @@ -420,11 +470,13 @@ public override async Task Load_one_to_one_PK_to_PK_reference_to_principal(Entit await base.Load_one_to_one_PK_to_PK_reference_to_principal(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_PK_to_PK_reference_to_dependent(EntityState state, bool async) @@ -432,11 +484,13 @@ public override async Task Load_one_to_one_PK_to_PK_reference_to_dependent(Entit await base.Load_one_to_one_PK_to_PK_reference_to_dependent(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [s].[Id] FROM [SinglePkToPk] AS [s] -WHERE [s].[Id] = @__p_0"); +WHERE [s].[Id] = @__p_0 +"""); } public override async Task Load_collection_using_Query(EntityState state, bool async) @@ -444,11 +498,13 @@ public override async Task Load_collection_using_Query(EntityState state, bool a await base.Load_collection_using_Query(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_using_Query(EntityState state, bool async) @@ -456,11 +512,13 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query(E await base.Load_many_to_one_reference_to_principal_using_Query(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query(EntityState state, bool async) @@ -468,11 +526,13 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query(En await base.Load_one_to_one_reference_to_principal_using_Query(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_using_Query(EntityState state, bool async) @@ -480,11 +540,13 @@ public override async Task Load_one_to_one_reference_to_dependent_using_Query(En await base.Load_one_to_one_reference_to_dependent_using_Query(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT TOP(2) [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_one_to_one_PK_to_PK_reference_to_principal_using_Query(EntityState state, bool async) @@ -492,11 +554,13 @@ public override async Task Load_one_to_one_PK_to_PK_reference_to_principal_using await base.Load_one_to_one_PK_to_PK_reference_to_principal_using_Query(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_PK_to_PK_reference_to_dependent_using_Query(EntityState state, bool async) @@ -504,25 +568,27 @@ public override async Task Load_one_to_one_PK_to_PK_reference_to_dependent_using await base.Load_one_to_one_PK_to_PK_reference_to_dependent_using_Query(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT TOP(2) [s].[Id] FROM [SinglePkToPk] AS [s] -WHERE [s].[Id] = @__p_0"); +WHERE [s].[Id] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_null_FK(EntityState state, bool async) { await base.Load_many_to_one_reference_to_principal_null_FK(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_one_to_one_reference_to_principal_null_FK(EntityState state, bool async) { await base.Load_one_to_one_reference_to_principal_null_FK(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_null_FK(EntityState state, bool async) @@ -530,9 +596,11 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_n await base.Load_many_to_one_reference_to_principal_using_Query_null_FK(state, async); AssertSql( - @"SELECT TOP(2) [p].[Id], [p].[AlternateId] +""" +SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_null_FK(EntityState state, bool async) @@ -540,9 +608,11 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_nu await base.Load_one_to_one_reference_to_principal_using_Query_null_FK(state, async); AssertSql( - @"SELECT TOP(2) [p].[Id], [p].[AlternateId] +""" +SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Load_collection_not_found(EntityState state, bool async) @@ -550,11 +620,13 @@ public override async Task Load_collection_not_found(EntityState state, bool asy await base.Load_collection_not_found(state, async); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_not_found(EntityState state, bool async) @@ -562,11 +634,13 @@ public override async Task Load_many_to_one_reference_to_principal_not_found(Ent await base.Load_many_to_one_reference_to_principal_not_found(state, async); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_not_found(EntityState state, bool async) @@ -574,11 +648,13 @@ public override async Task Load_one_to_one_reference_to_principal_not_found(Enti await base.Load_one_to_one_reference_to_principal_not_found(state, async); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_not_found(EntityState state, bool async) @@ -586,11 +662,13 @@ public override async Task Load_one_to_one_reference_to_dependent_not_found(Enti await base.Load_one_to_one_reference_to_dependent_not_found(state, async); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_collection_using_Query_not_found(EntityState state, bool async) @@ -598,11 +676,13 @@ public override async Task Load_collection_using_Query_not_found(EntityState sta await base.Load_collection_using_Query_not_found(state, async); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_not_found(EntityState state, bool async) @@ -610,11 +690,13 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_n await base.Load_many_to_one_reference_to_principal_using_Query_not_found(state, async); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_not_found(EntityState state, bool async) @@ -622,11 +704,13 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_no await base.Load_one_to_one_reference_to_principal_using_Query_not_found(state, async); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_using_Query_not_found(EntityState state, bool async) @@ -634,25 +718,27 @@ public override async Task Load_one_to_one_reference_to_dependent_using_Query_no await base.Load_one_to_one_reference_to_dependent_using_Query_not_found(state, async); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT TOP(2) [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_collection_already_loaded(EntityState state, bool async, CascadeTiming cascadeDeleteTiming) { await base.Load_collection_already_loaded(state, async, cascadeDeleteTiming); - AssertSql(""); + AssertSql(@""); } public override async Task Load_many_to_one_reference_to_principal_already_loaded(EntityState state, bool async) { await base.Load_many_to_one_reference_to_principal_already_loaded(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_one_to_one_reference_to_principal_already_loaded( @@ -662,7 +748,7 @@ public override async Task Load_one_to_one_reference_to_principal_already_loaded { await base.Load_one_to_one_reference_to_principal_already_loaded(state, async, cascadeDeleteTiming); - AssertSql(""); + AssertSql(@""); } public override async Task Load_one_to_one_reference_to_dependent_already_loaded( @@ -672,21 +758,21 @@ public override async Task Load_one_to_one_reference_to_dependent_already_loaded { await base.Load_one_to_one_reference_to_dependent_already_loaded(state, async, cascadeDeleteTiming); - AssertSql(""); + AssertSql(@""); } public override async Task Load_one_to_one_PK_to_PK_reference_to_principal_already_loaded(EntityState state, bool async) { await base.Load_one_to_one_PK_to_PK_reference_to_principal_already_loaded(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_one_to_one_PK_to_PK_reference_to_dependent_already_loaded(EntityState state, bool async) { await base.Load_one_to_one_PK_to_PK_reference_to_dependent_already_loaded(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_collection_using_Query_already_loaded( @@ -697,11 +783,13 @@ public override async Task Load_collection_using_Query_already_loaded( await base.Load_collection_using_Query_already_loaded(state, async, cascadeDeleteTiming); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_already_loaded(EntityState state, bool async) @@ -709,11 +797,13 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_a await base.Load_many_to_one_reference_to_principal_using_Query_already_loaded(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_already_loaded(EntityState state, bool async) @@ -721,11 +811,13 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_al await base.Load_one_to_one_reference_to_principal_using_Query_already_loaded(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_using_Query_already_loaded( @@ -736,11 +828,13 @@ public override async Task Load_one_to_one_reference_to_dependent_using_Query_al await base.Load_one_to_one_reference_to_dependent_using_Query_already_loaded(state, async, cascadeDeleteTiming); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT TOP(2) [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_one_to_one_PK_to_PK_reference_to_principal_using_Query_already_loaded(EntityState state, bool async) @@ -748,11 +842,13 @@ public override async Task Load_one_to_one_PK_to_PK_reference_to_principal_using await base.Load_one_to_one_PK_to_PK_reference_to_principal_using_Query_already_loaded(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_PK_to_PK_reference_to_dependent_using_Query_already_loaded(EntityState state, bool async) @@ -760,11 +856,13 @@ public override async Task Load_one_to_one_PK_to_PK_reference_to_dependent_using await base.Load_one_to_one_PK_to_PK_reference_to_dependent_using_Query_already_loaded(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT TOP(2) [s].[Id] FROM [SinglePkToPk] AS [s] -WHERE [s].[Id] = @__p_0"); +WHERE [s].[Id] = @__p_0 +"""); } public override async Task Load_collection_untyped(EntityState state, bool async) @@ -772,11 +870,13 @@ public override async Task Load_collection_untyped(EntityState state, bool async await base.Load_collection_untyped(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_untyped(EntityState state, bool async) @@ -784,11 +884,13 @@ public override async Task Load_many_to_one_reference_to_principal_untyped(Entit await base.Load_many_to_one_reference_to_principal_untyped(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_untyped(EntityState state, bool async) @@ -796,11 +898,13 @@ public override async Task Load_one_to_one_reference_to_principal_untyped(Entity await base.Load_one_to_one_reference_to_principal_untyped(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_untyped(EntityState state, bool async) @@ -808,11 +912,13 @@ public override async Task Load_one_to_one_reference_to_dependent_untyped(Entity await base.Load_one_to_one_reference_to_dependent_untyped(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_collection_using_Query_untyped(EntityState state, bool async) @@ -820,11 +926,13 @@ public override async Task Load_collection_using_Query_untyped(EntityState state await base.Load_collection_using_Query_untyped(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_untyped(EntityState state, bool async) @@ -832,11 +940,13 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_u await base.Load_many_to_one_reference_to_principal_using_Query_untyped(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_untyped(EntityState state, bool async) @@ -844,11 +954,13 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_un await base.Load_one_to_one_reference_to_principal_using_Query_untyped(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_using_Query_untyped(EntityState state, bool async) @@ -856,11 +968,13 @@ public override async Task Load_one_to_one_reference_to_dependent_using_Query_un await base.Load_one_to_one_reference_to_dependent_using_Query_untyped(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_collection_not_found_untyped(EntityState state, bool async) @@ -868,11 +982,13 @@ public override async Task Load_collection_not_found_untyped(EntityState state, await base.Load_collection_not_found_untyped(state, async); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_not_found_untyped(EntityState state, bool async) @@ -880,11 +996,13 @@ public override async Task Load_many_to_one_reference_to_principal_not_found_unt await base.Load_many_to_one_reference_to_principal_not_found_untyped(state, async); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_not_found_untyped(EntityState state, bool async) @@ -892,11 +1010,13 @@ public override async Task Load_one_to_one_reference_to_principal_not_found_unty await base.Load_one_to_one_reference_to_principal_not_found_untyped(state, async); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_not_found_untyped(EntityState state, bool async) @@ -904,11 +1024,13 @@ public override async Task Load_one_to_one_reference_to_dependent_not_found_unty await base.Load_one_to_one_reference_to_dependent_not_found_untyped(state, async); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_collection_using_Query_not_found_untyped(EntityState state, bool async) @@ -916,11 +1038,13 @@ public override async Task Load_collection_using_Query_not_found_untyped(EntityS await base.Load_collection_using_Query_not_found_untyped(state, async); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_not_found_untyped(EntityState state, bool async) @@ -928,11 +1052,13 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_n await base.Load_many_to_one_reference_to_principal_using_Query_not_found_untyped(state, async); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_not_found_untyped(EntityState state, bool async) @@ -940,11 +1066,13 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_no await base.Load_one_to_one_reference_to_principal_using_Query_not_found_untyped(state, async); AssertSql( - @"@__p_0='787' +""" +@__p_0='787' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_using_Query_not_found_untyped(EntityState state, bool async) @@ -952,32 +1080,34 @@ public override async Task Load_one_to_one_reference_to_dependent_using_Query_no await base.Load_one_to_one_reference_to_dependent_using_Query_not_found_untyped(state, async); AssertSql( - @"@__p_0='767' (Nullable = true) +""" +@__p_0='767' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_collection_already_loaded_untyped(EntityState state, bool async, CascadeTiming cascadeDeleteTiming) { await base.Load_collection_already_loaded_untyped(state, async, cascadeDeleteTiming); - AssertSql(""); + AssertSql(@""); } public override async Task Load_many_to_one_reference_to_principal_already_loaded_untyped(EntityState state, bool async) { await base.Load_many_to_one_reference_to_principal_already_loaded_untyped(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_one_to_one_reference_to_principal_already_loaded_untyped(EntityState state, bool async) { await base.Load_one_to_one_reference_to_principal_already_loaded_untyped(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_one_to_one_reference_to_dependent_already_loaded_untyped( @@ -987,7 +1117,7 @@ public override async Task Load_one_to_one_reference_to_dependent_already_loaded { await base.Load_one_to_one_reference_to_dependent_already_loaded_untyped(state, async, cascadeDeleteTiming); - AssertSql(""); + AssertSql(@""); } public override async Task Load_collection_using_Query_already_loaded_untyped( @@ -998,11 +1128,13 @@ public override async Task Load_collection_using_Query_already_loaded_untyped( await base.Load_collection_using_Query_already_loaded_untyped(state, async, cascadeDeleteTiming); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [Child] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_already_loaded_untyped(EntityState state, bool async) @@ -1010,11 +1142,13 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_a await base.Load_many_to_one_reference_to_principal_using_Query_already_loaded_untyped(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_already_loaded_untyped(EntityState state, bool async) @@ -1022,11 +1156,13 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_al await base.Load_one_to_one_reference_to_principal_using_Query_already_loaded_untyped(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_using_Query_already_loaded_untyped( @@ -1037,11 +1173,13 @@ public override async Task Load_one_to_one_reference_to_dependent_using_Query_al await base.Load_one_to_one_reference_to_dependent_using_Query_already_loaded_untyped(state, async, cascadeDeleteTiming); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [Single] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_collection_alternate_key(EntityState state, bool async) @@ -1049,11 +1187,13 @@ public override async Task Load_collection_alternate_key(EntityState state, bool await base.Load_collection_alternate_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [c].[Id], [c].[ParentId] FROM [ChildAk] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_alternate_key(EntityState state, bool async) @@ -1061,11 +1201,13 @@ public override async Task Load_many_to_one_reference_to_principal_alternate_key await base.Load_many_to_one_reference_to_principal_alternate_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0"); +WHERE [p].[AlternateId] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_alternate_key(EntityState state, bool async) @@ -1073,11 +1215,13 @@ public override async Task Load_one_to_one_reference_to_principal_alternate_key( await base.Load_one_to_one_reference_to_principal_alternate_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0"); +WHERE [p].[AlternateId] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_alternate_key(EntityState state, bool async) @@ -1085,11 +1229,13 @@ public override async Task Load_one_to_one_reference_to_dependent_alternate_key( await base.Load_one_to_one_reference_to_dependent_alternate_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [s].[Id], [s].[ParentId] FROM [SingleAk] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_collection_using_Query_alternate_key(EntityState state, bool async) @@ -1097,11 +1243,13 @@ public override async Task Load_collection_using_Query_alternate_key(EntityState await base.Load_collection_using_Query_alternate_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT [c].[Id], [c].[ParentId] FROM [ChildAk] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_alternate_key(EntityState state, bool async) @@ -1109,11 +1257,13 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_a await base.Load_many_to_one_reference_to_principal_using_Query_alternate_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0"); +WHERE [p].[AlternateId] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_alternate_key(EntityState state, bool async) @@ -1121,11 +1271,13 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_al await base.Load_one_to_one_reference_to_principal_using_Query_alternate_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0"); +WHERE [p].[AlternateId] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_using_Query_alternate_key(EntityState state, bool async) @@ -1133,25 +1285,27 @@ public override async Task Load_one_to_one_reference_to_dependent_using_Query_al await base.Load_one_to_one_reference_to_dependent_using_Query_alternate_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) SELECT TOP(2) [s].[Id], [s].[ParentId] FROM [SingleAk] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_null_FK_alternate_key(EntityState state, bool async) { await base.Load_many_to_one_reference_to_principal_null_FK_alternate_key(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_one_to_one_reference_to_principal_null_FK_alternate_key(EntityState state, bool async) { await base.Load_one_to_one_reference_to_principal_null_FK_alternate_key(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_null_FK_alternate_key(EntityState state, bool async) @@ -1159,9 +1313,11 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_n await base.Load_many_to_one_reference_to_principal_using_Query_null_FK_alternate_key(state, async); AssertSql( - @"SELECT TOP(2) [p].[Id], [p].[AlternateId] +""" +SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_null_FK_alternate_key(EntityState state, bool async) @@ -1169,9 +1325,11 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_nu await base.Load_one_to_one_reference_to_principal_using_Query_null_FK_alternate_key(state, async); AssertSql( - @"SELECT TOP(2) [p].[Id], [p].[AlternateId] +""" +SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Load_collection_shadow_fk(EntityState state, bool async) @@ -1179,11 +1337,13 @@ public override async Task Load_collection_shadow_fk(EntityState state, bool asy await base.Load_collection_shadow_fk(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [ChildShadowFk] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_shadow_fk(EntityState state, bool async) @@ -1191,11 +1351,13 @@ public override async Task Load_many_to_one_reference_to_principal_shadow_fk(Ent await base.Load_many_to_one_reference_to_principal_shadow_fk(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_shadow_fk(EntityState state, bool async) @@ -1203,11 +1365,13 @@ public override async Task Load_one_to_one_reference_to_principal_shadow_fk(Enti await base.Load_one_to_one_reference_to_principal_shadow_fk(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_shadow_fk(EntityState state, bool async) @@ -1215,11 +1379,13 @@ public override async Task Load_one_to_one_reference_to_dependent_shadow_fk(Enti await base.Load_one_to_one_reference_to_dependent_shadow_fk(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [s].[Id], [s].[ParentId] FROM [SingleShadowFk] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_collection_using_Query_shadow_fk(EntityState state, bool async) @@ -1227,11 +1393,13 @@ public override async Task Load_collection_using_Query_shadow_fk(EntityState sta await base.Load_collection_using_Query_shadow_fk(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT [c].[Id], [c].[ParentId] FROM [ChildShadowFk] AS [c] -WHERE [c].[ParentId] = @__p_0"); +WHERE [c].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_shadow_fk(EntityState state, bool async) @@ -1239,11 +1407,13 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_s await base.Load_many_to_one_reference_to_principal_using_Query_shadow_fk(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_shadow_fk(EntityState state, bool async) @@ -1251,11 +1421,13 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_sh await base.Load_one_to_one_reference_to_principal_using_Query_shadow_fk(state, async); AssertSql( - @"@__p_0='707' +""" +@__p_0='707' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[Id] = @__p_0"); +WHERE [p].[Id] = @__p_0 +"""); } public override async Task Load_one_to_one_reference_to_dependent_using_Query_shadow_fk(EntityState state, bool async) @@ -1263,25 +1435,27 @@ public override async Task Load_one_to_one_reference_to_dependent_using_Query_sh await base.Load_one_to_one_reference_to_dependent_using_Query_shadow_fk(state, async); AssertSql( - @"@__p_0='707' (Nullable = true) +""" +@__p_0='707' (Nullable = true) SELECT TOP(2) [s].[Id], [s].[ParentId] FROM [SingleShadowFk] AS [s] -WHERE [s].[ParentId] = @__p_0"); +WHERE [s].[ParentId] = @__p_0 +"""); } public override async Task Load_many_to_one_reference_to_principal_null_FK_shadow_fk(EntityState state, bool async) { await base.Load_many_to_one_reference_to_principal_null_FK_shadow_fk(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_one_to_one_reference_to_principal_null_FK_shadow_fk(EntityState state, bool async) { await base.Load_one_to_one_reference_to_principal_null_FK_shadow_fk(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_null_FK_shadow_fk(EntityState state, bool async) @@ -1289,9 +1463,11 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_n await base.Load_many_to_one_reference_to_principal_using_Query_null_FK_shadow_fk(state, async); AssertSql( - @"SELECT TOP(2) [p].[Id], [p].[AlternateId] +""" +SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_null_FK_shadow_fk(EntityState state, bool async) @@ -1299,9 +1475,11 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_nu await base.Load_one_to_one_reference_to_principal_using_Query_null_FK_shadow_fk(state, async); AssertSql( - @"SELECT TOP(2) [p].[Id], [p].[AlternateId] +""" +SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Load_collection_composite_key(EntityState state, bool async) @@ -1309,12 +1487,14 @@ public override async Task Load_collection_composite_key(EntityState state, bool await base.Load_collection_composite_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' (Nullable = true) SELECT [c].[Id], [c].[ParentAlternateId], [c].[ParentId] FROM [ChildCompositeKey] AS [c] -WHERE [c].[ParentAlternateId] = @__p_0 AND [c].[ParentId] = @__p_1"); +WHERE [c].[ParentAlternateId] = @__p_0 AND [c].[ParentId] = @__p_1 +"""); } public override async Task Load_many_to_one_reference_to_principal_composite_key(EntityState state, bool async) @@ -1322,12 +1502,14 @@ public override async Task Load_many_to_one_reference_to_principal_composite_key await base.Load_many_to_one_reference_to_principal_composite_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1"); +WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1 +"""); } public override async Task Load_one_to_one_reference_to_principal_composite_key(EntityState state, bool async) @@ -1335,12 +1517,14 @@ public override async Task Load_one_to_one_reference_to_principal_composite_key( await base.Load_one_to_one_reference_to_principal_composite_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' SELECT [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1"); +WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1 +"""); } public override async Task Load_one_to_one_reference_to_dependent_composite_key(EntityState state, bool async) @@ -1348,12 +1532,14 @@ public override async Task Load_one_to_one_reference_to_dependent_composite_key( await base.Load_one_to_one_reference_to_dependent_composite_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' (Nullable = true) SELECT [s].[Id], [s].[ParentAlternateId], [s].[ParentId] FROM [SingleCompositeKey] AS [s] -WHERE [s].[ParentAlternateId] = @__p_0 AND [s].[ParentId] = @__p_1"); +WHERE [s].[ParentAlternateId] = @__p_0 AND [s].[ParentId] = @__p_1 +"""); } public override async Task Load_collection_using_Query_composite_key(EntityState state, bool async) @@ -1361,12 +1547,14 @@ public override async Task Load_collection_using_Query_composite_key(EntityState await base.Load_collection_using_Query_composite_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' (Nullable = true) SELECT [c].[Id], [c].[ParentAlternateId], [c].[ParentId] FROM [ChildCompositeKey] AS [c] -WHERE [c].[ParentAlternateId] = @__p_0 AND [c].[ParentId] = @__p_1"); +WHERE [c].[ParentAlternateId] = @__p_0 AND [c].[ParentId] = @__p_1 +"""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_composite_key(EntityState state, bool async) @@ -1374,12 +1562,14 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_c await base.Load_many_to_one_reference_to_principal_using_Query_composite_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1"); +WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_composite_key(EntityState state, bool async) @@ -1387,12 +1577,14 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_co await base.Load_one_to_one_reference_to_principal_using_Query_composite_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1"); +WHERE [p].[AlternateId] = @__p_0 AND [p].[Id] = @__p_1 +"""); } public override async Task Load_one_to_one_reference_to_dependent_using_Query_composite_key(EntityState state, bool async) @@ -1400,26 +1592,28 @@ public override async Task Load_one_to_one_reference_to_dependent_using_Query_co await base.Load_one_to_one_reference_to_dependent_using_Query_composite_key(state, async); AssertSql( - @"@__p_0='Root' (Size = 450) +""" +@__p_0='Root' (Size = 450) @__p_1='707' (Nullable = true) SELECT TOP(2) [s].[Id], [s].[ParentAlternateId], [s].[ParentId] FROM [SingleCompositeKey] AS [s] -WHERE [s].[ParentAlternateId] = @__p_0 AND [s].[ParentId] = @__p_1"); +WHERE [s].[ParentAlternateId] = @__p_0 AND [s].[ParentId] = @__p_1 +"""); } public override async Task Load_many_to_one_reference_to_principal_null_FK_composite_key(EntityState state, bool async) { await base.Load_many_to_one_reference_to_principal_null_FK_composite_key(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_one_to_one_reference_to_principal_null_FK_composite_key(EntityState state, bool async) { await base.Load_one_to_one_reference_to_principal_null_FK_composite_key(state, async); - AssertSql(""); + AssertSql(@""); } public override async Task Load_many_to_one_reference_to_principal_using_Query_null_FK_composite_key(EntityState state, bool async) @@ -1427,9 +1621,11 @@ public override async Task Load_many_to_one_reference_to_principal_using_Query_n await base.Load_many_to_one_reference_to_principal_using_Query_null_FK_composite_key(state, async); AssertSql( - @"SELECT TOP(2) [p].[Id], [p].[AlternateId] +""" +SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Load_one_to_one_reference_to_principal_using_Query_null_FK_composite_key(EntityState state, bool async) @@ -1437,9 +1633,11 @@ public override async Task Load_one_to_one_reference_to_principal_using_Query_nu await base.Load_one_to_one_reference_to_principal_using_Query_null_FK_composite_key(state, async); AssertSql( - @"SELECT TOP(2) [p].[Id], [p].[AlternateId] +""" +SELECT TOP(2) [p].[Id], [p].[AlternateId] FROM [Parent] AS [p] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } protected override void ClearLog() diff --git a/test/EFCore.SqlServer.FunctionalTests/ManyToManyFieldsLoadSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/ManyToManyFieldsLoadSqlServerTest.cs index 6c59a5d816c..3d57a8f5094 100644 --- a/test/EFCore.SqlServer.FunctionalTests/ManyToManyFieldsLoadSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/ManyToManyFieldsLoadSqlServerTest.cs @@ -18,7 +18,8 @@ public override async Task Load_collection(EntityState state, QueryTrackingBehav await base.Load_collection(state, queryTrackingBehavior, async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t0].[OneId], [t0].[TwoId], [t0].[Id], [t0].[Name] FROM [EntityOnes] AS [e] @@ -34,7 +35,8 @@ FROM [JoinOneToTwo] AS [j0] WHERE [e1].[Id] = @__p_0 ) AS [t0] ON [t].[Id] = [t0].[TwoId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[OneId], [t0].[TwoId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[OneId], [t0].[TwoId] +"""); } public override async Task Load_collection_using_Query_with_Include_for_inverse(bool async) @@ -42,7 +44,8 @@ public override async Task Load_collection_using_Query_with_Include_for_inverse( await base.Load_collection_using_Query_with_Include_for_inverse(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[Name] FROM [EntityOnes] AS [e] @@ -58,7 +61,8 @@ FROM [EntityOneEntityTwo] AS [e2] WHERE [e3].[Id] = @__p_0 ) AS [t0] ON [t].[Id] = [t0].[TwoSkipSharedId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId] +"""); } public override async Task Load_collection_using_Query_with_Include_for_same_collection(bool async) @@ -66,7 +70,8 @@ public override async Task Load_collection_using_Query_with_Include_for_same_col await base.Load_collection_using_Query_with_Include_for_same_collection(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[Name], [t0].[OneSkipSharedId0], [t0].[TwoSkipSharedId0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] @@ -87,7 +92,8 @@ FROM [EntityOneEntityTwo] AS [e4] WHERE [e3].[Id] = @__p_0 ) AS [t0] ON [t].[Id] = [t0].[TwoSkipSharedId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[OneSkipSharedId0], [t0].[TwoSkipSharedId0]"); +ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[OneSkipSharedId0], [t0].[TwoSkipSharedId0] +"""); } public override async Task Load_collection_using_Query_with_Include(bool async) @@ -95,7 +101,8 @@ public override async Task Load_collection_using_Query_with_Include(bool async) await base.Load_collection_using_Query_with_Include(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[Name], [t1].[ThreeId], [t1].[TwoId], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId] FROM [EntityOnes] AS [e] @@ -116,7 +123,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e4] ON [j].[ThreeId] = [e4].[Id] ) AS [t1] ON [t].[Id] = [t1].[TwoId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t1].[ThreeId], [t1].[TwoId]"); +ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t1].[ThreeId], [t1].[TwoId] +"""); } public override async Task Load_collection_using_Query_with_filtered_Include(bool async) @@ -124,7 +132,8 @@ public override async Task Load_collection_using_Query_with_filtered_Include(boo await base.Load_collection_using_Query_with_filtered_Include(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[Name], [t1].[ThreeId], [t1].[TwoId], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId] FROM [EntityOnes] AS [e] @@ -146,7 +155,8 @@ FROM [JoinTwoToThree] AS [j] WHERE [e4].[Id] IN (13, 11) ) AS [t1] ON [t].[Id] = [t1].[TwoId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t1].[ThreeId], [t1].[TwoId]"); +ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t1].[ThreeId], [t1].[TwoId] +"""); } public override async Task Load_collection_using_Query_with_filtered_Include_and_projection(bool async) @@ -154,7 +164,8 @@ public override async Task Load_collection_using_Query_with_filtered_Include_and await base.Load_collection_using_Query_with_filtered_Include_and_projection(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[Name], ( SELECT COUNT(*) @@ -172,7 +183,8 @@ FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t] ON [e].[Id] = [t].[OneSkipSharedId] WHERE [e].[Id] = @__p_0 -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Load_collection_using_Query_with_join(bool async) @@ -180,7 +192,8 @@ public override async Task Load_collection_using_Query_with_join(bool async) await base.Load_collection_using_Query_with_join(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id0], [t2].[OneSkipSharedId], [t2].[TwoSkipSharedId], [t2].[Id], [t2].[Name], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] @@ -205,7 +218,8 @@ FROM [EntityOneEntityTwo] AS [e5] WHERE [e6].[Id] = @__p_0 ) AS [t2] ON [t].[Id] = [t2].[TwoSkipSharedId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id0], [t2].[OneSkipSharedId], [t2].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id0], [t2].[OneSkipSharedId], [t2].[TwoSkipSharedId] +"""); } protected override void ClearLog() diff --git a/test/EFCore.SqlServer.FunctionalTests/ManyToManyLoadSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/ManyToManyLoadSqlServerTest.cs index 7324933f48b..5bead03d31a 100644 --- a/test/EFCore.SqlServer.FunctionalTests/ManyToManyLoadSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/ManyToManyLoadSqlServerTest.cs @@ -17,7 +17,8 @@ public override async Task Load_collection(EntityState state, QueryTrackingBehav await base.Load_collection(state, queryTrackingBehavior, async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[Name] FROM [EntityOnes] AS [e] @@ -33,7 +34,8 @@ FROM [JoinOneToTwo] AS [j0] WHERE [e1].[Id] = @__p_0 ) AS [t0] ON [t].[Id] = [t0].[TwoId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[OneId], [t0].[TwoId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[OneId], [t0].[TwoId] +"""); } public override async Task Load_collection_using_Query_with_Include_for_inverse(bool async) @@ -41,7 +43,8 @@ public override async Task Load_collection_using_Query_with_Include_for_inverse( await base.Load_collection_using_Query_with_Include_for_inverse(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[Name] FROM [EntityOnes] AS [e] @@ -57,7 +60,8 @@ FROM [EntityOneEntityTwo] AS [e2] WHERE [e3].[Id] = @__p_0 ) AS [t0] ON [t].[Id] = [t0].[TwoSkipSharedId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId] +"""); } public override async Task Load_collection_using_Query_with_Include_for_same_collection(bool async) @@ -65,7 +69,8 @@ public override async Task Load_collection_using_Query_with_Include_for_same_col await base.Load_collection_using_Query_with_Include_for_same_collection(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[Name], [t0].[OneSkipSharedId0], [t0].[TwoSkipSharedId0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] @@ -86,7 +91,8 @@ FROM [EntityOneEntityTwo] AS [e4] WHERE [e3].[Id] = @__p_0 ) AS [t0] ON [t].[Id] = [t0].[TwoSkipSharedId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[OneSkipSharedId0], [t0].[TwoSkipSharedId0]"); +ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[OneSkipSharedId0], [t0].[TwoSkipSharedId0] +"""); } public override async Task Load_collection_using_Query_with_Include(bool async) @@ -94,7 +100,8 @@ public override async Task Load_collection_using_Query_with_Include(bool async) await base.Load_collection_using_Query_with_Include(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[Name], [t1].[ThreeId], [t1].[TwoId], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId] FROM [EntityOnes] AS [e] @@ -115,7 +122,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e4] ON [j].[ThreeId] = [e4].[Id] ) AS [t1] ON [t].[Id] = [t1].[TwoId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t1].[ThreeId], [t1].[TwoId]"); +ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t1].[ThreeId], [t1].[TwoId] +"""); } public override async Task Load_collection_using_Query_with_filtered_Include(bool async) @@ -123,7 +131,8 @@ public override async Task Load_collection_using_Query_with_filtered_Include(boo await base.Load_collection_using_Query_with_filtered_Include(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t0].[Name], [t1].[ThreeId], [t1].[TwoId], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId] FROM [EntityOnes] AS [e] @@ -145,7 +154,8 @@ FROM [JoinTwoToThree] AS [j] WHERE [e4].[Id] IN (13, 11) ) AS [t1] ON [t].[Id] = [t1].[TwoId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t1].[ThreeId], [t1].[TwoId]"); +ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id], [t1].[ThreeId], [t1].[TwoId] +"""); } public override async Task Load_collection_using_Query_with_filtered_Include_and_projection(bool async) @@ -153,7 +163,8 @@ public override async Task Load_collection_using_Query_with_filtered_Include_and await base.Load_collection_using_Query_with_filtered_Include_and_projection(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[Name], ( SELECT COUNT(*) @@ -171,7 +182,8 @@ FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t] ON [e].[Id] = [t].[OneSkipSharedId] WHERE [e].[Id] = @__p_0 -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Load_collection_using_Query_with_join(bool async) @@ -179,7 +191,8 @@ public override async Task Load_collection_using_Query_with_join(bool async) await base.Load_collection_using_Query_with_join(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t0].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id0], [t2].[OneSkipSharedId], [t2].[TwoSkipSharedId], [t2].[Id], [t2].[Name], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] @@ -204,7 +217,8 @@ FROM [EntityOneEntityTwo] AS [e5] WHERE [e6].[Id] = @__p_0 ) AS [t2] ON [t].[Id] = [t2].[TwoSkipSharedId] WHERE [e].[Id] = @__p_0 -ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id0], [t2].[OneSkipSharedId], [t2].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t0].[Id], [t0].[OneSkipSharedId], [t0].[TwoSkipSharedId], [t0].[Id0], [t2].[OneSkipSharedId], [t2].[TwoSkipSharedId] +"""); } protected override void ClearLog() diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs index 321f52dfca2..991f055c667 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/MigrationsSqlServerTest.cs @@ -32,11 +32,13 @@ public override async Task Create_table() await base.Create_table(); AssertSql( - @"CREATE TABLE [People] ( +""" +CREATE TABLE [People] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, CONSTRAINT [PK_People] PRIMARY KEY ([Id]) -);"); +); +"""); } public override async Task Create_table_all_settings() @@ -44,9 +46,12 @@ public override async Task Create_table_all_settings() await base.Create_table_all_settings(); AssertSql( - @"IF SCHEMA_ID(N'dbo2') IS NULL EXEC(N'CREATE SCHEMA [dbo2];');", +""" +IF SCHEMA_ID(N'dbo2') IS NULL EXEC(N'CREATE SCHEMA [dbo2];'); +""", // - @"CREATE TABLE [dbo2].[People] ( +""" +CREATE TABLE [dbo2].[People] ( [CustomId] int NOT NULL IDENTITY, [EmployerId] int NOT NULL, [SSN] nvarchar(11) COLLATE German_PhoneBook_CI_AS NOT NULL, @@ -59,9 +64,12 @@ CONSTRAINT [FK_People_Employers_EmployerId] FOREIGN KEY ([EmployerId]) REFERENCE SET @description = N'Table comment'; EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', N'dbo2', 'TABLE', N'People'; SET @description = N'Employer ID comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', N'dbo2', 'TABLE', N'People', 'COLUMN', N'EmployerId';", +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', N'dbo2', 'TABLE', N'People', 'COLUMN', N'EmployerId'; +""", // - @"CREATE INDEX [IX_People_EmployerId] ON [dbo2].[People] ([EmployerId]);"); +""" +CREATE INDEX [IX_People_EmployerId] ON [dbo2].[People] ([EmployerId]); +"""); } public override async Task Create_table_no_key() @@ -69,9 +77,11 @@ public override async Task Create_table_no_key() await base.Create_table_no_key(); AssertSql( - @"CREATE TABLE [Anonymous] ( +""" +CREATE TABLE [Anonymous] ( [SomeColumn] int NOT NULL -);"); +); +"""); } public override async Task Create_table_with_comments() @@ -79,7 +89,8 @@ public override async Task Create_table_with_comments() await base.Create_table_with_comments(); AssertSql( - @"CREATE TABLE [People] ( +""" +CREATE TABLE [People] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, CONSTRAINT [PK_People] PRIMARY KEY ([Id]) @@ -90,7 +101,8 @@ CONSTRAINT [PK_People] PRIMARY KEY ([Id]) SET @description = N'Table comment'; EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People'; SET @description = N'Column comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Name';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Name'; +"""); } public override async Task Create_table_with_multiline_comments() @@ -98,7 +110,8 @@ public override async Task Create_table_with_multiline_comments() await base.Create_table_with_multiline_comments(); AssertSql( - @"CREATE TABLE [People] ( +""" +CREATE TABLE [People] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, CONSTRAINT [PK_People] PRIMARY KEY ([Id]) @@ -109,7 +122,8 @@ CONSTRAINT [PK_People] PRIMARY KEY ([Id]) SET @description = CONCAT(N'This is a multi-line', NCHAR(13), NCHAR(10), N'table comment.', NCHAR(13), NCHAR(10), N'More information can', NCHAR(13), NCHAR(10), N'be found in the docs.'); EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People'; SET @description = CONCAT(N'This is a multi-line', NCHAR(10), N'column comment.', NCHAR(10), N'More information can', NCHAR(10), N'be found in the docs.'); -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Name';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Name'; +"""); } public override async Task Create_table_with_computed_column(bool? stored) @@ -119,13 +133,15 @@ public override async Task Create_table_with_computed_column(bool? stored) var storedSql = stored == true ? " PERSISTED" : ""; AssertSql( - $@"CREATE TABLE [People] ( +$""" +CREATE TABLE [People] ( [Id] int NOT NULL IDENTITY, [Sum] AS [X] + [Y]{storedSql}, [X] int NOT NULL, [Y] int NOT NULL, CONSTRAINT [PK_People] PRIMARY KEY ([Id]) -);"); +); +"""); } [ConditionalFact] @@ -142,9 +158,11 @@ await Test( }); AssertSql( - @"CREATE TABLE [People] ( +""" +CREATE TABLE [People] ( [SomeProperty] nvarchar(max) SPARSE NULL -);"); +); +"""); } [ConditionalFact] @@ -162,9 +180,11 @@ await Test( }); AssertSql( - @"CREATE TABLE [People] ( +""" +CREATE TABLE [People] ( [IdentityColumn] smallint NOT NULL IDENTITY -);"); +); +"""); } [ConditionalFact] @@ -186,7 +206,8 @@ await Test( }); AssertSql( - @"IF SERVERPROPERTY('IsXTPSupported') = 1 AND SERVERPROPERTY('EngineEdition') <> 5 +""" +IF SERVERPROPERTY('IsXTPSupported') = 1 AND SERVERPROPERTY('EngineEdition') <> 5 BEGIN IF NOT EXISTS ( SELECT 1 FROM [sys].[filegroups] [FG] JOIN [sys].[database_files] [F] ON [FG].[data_space_id] = [F].[data_space_id] WHERE [FG].[type] = N'FX' AND [F].[type] = 2) @@ -221,12 +242,15 @@ ADD FILE (NAME=''' + @filename + ''', filename=''' + @new_path + ''') IF SERVERPROPERTY('IsXTPSupported') = 1 EXEC(N' ALTER DATABASE CURRENT - SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;')", + SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;') +""", // - @"CREATE TABLE [People] ( +""" +CREATE TABLE [People] ( [Id] int NOT NULL IDENTITY, CONSTRAINT [PK_People] PRIMARY KEY NONCLUSTERED ([Id]) -) WITH (MEMORY_OPTIMIZED = ON);"); +) WITH (MEMORY_OPTIMIZED = ON); +"""); } [ConditionalFact] @@ -248,7 +272,8 @@ await Test( }); AssertSql( - @"IF SERVERPROPERTY('IsXTPSupported') = 1 AND SERVERPROPERTY('EngineEdition') <> 5 +""" +IF SERVERPROPERTY('IsXTPSupported') = 1 AND SERVERPROPERTY('EngineEdition') <> 5 BEGIN IF NOT EXISTS ( SELECT 1 FROM [sys].[filegroups] [FG] JOIN [sys].[database_files] [F] ON [FG].[data_space_id] = [F].[data_space_id] WHERE [FG].[type] = N'FX' AND [F].[type] = 2) @@ -283,9 +308,11 @@ ADD FILE (NAME=''' + @filename + ''', filename=''' + @new_path + ''') IF SERVERPROPERTY('IsXTPSupported') = 1 EXEC(N' ALTER DATABASE CURRENT - SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;')", + SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;') +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() EXEC(N'CREATE TABLE [Customers] ( [Id] int NOT NULL IDENTITY, [PeriodEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, @@ -295,7 +322,8 @@ PERIOD FOR SYSTEM_TIME([PeriodStart], [PeriodEnd]) ) WITH ( SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + N'].[CustomersHistory]), MEMORY_OPTIMIZED = ON -)');"); +)'); +"""); } public override async Task Drop_table() @@ -303,7 +331,9 @@ public override async Task Drop_table() await base.Drop_table(); AssertSql( - @"DROP TABLE [People];"); +""" +DROP TABLE [People]; +"""); } public override async Task Alter_table_add_comment() @@ -311,11 +341,13 @@ public override async Task Alter_table_add_comment() await base.Alter_table_add_comment(); AssertSql( - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'Table comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People'; +"""); } public override async Task Alter_table_add_comment_non_default_schema() @@ -323,9 +355,11 @@ public override async Task Alter_table_add_comment_non_default_schema() await base.Alter_table_add_comment_non_default_schema(); AssertSql( - @"DECLARE @description AS sql_variant; +""" +DECLARE @description AS sql_variant; SET @description = N'Table comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', N'SomeOtherSchema', 'TABLE', N'People';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', N'SomeOtherSchema', 'TABLE', N'People'; +"""); } public override async Task Alter_table_change_comment() @@ -333,12 +367,14 @@ public override async Task Alter_table_change_comment() await base.Alter_table_change_comment(); AssertSql( - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; EXEC sp_dropextendedproperty 'MS_Description', 'SCHEMA', @defaultSchema, 'TABLE', N'People'; SET @description = N'Table comment2'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People'; +"""); } public override async Task Alter_table_remove_comment() @@ -346,10 +382,12 @@ public override async Task Alter_table_remove_comment() await base.Alter_table_remove_comment(); AssertSql( - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; -EXEC sp_dropextendedproperty 'MS_Description', 'SCHEMA', @defaultSchema, 'TABLE', N'People';"); +EXEC sp_dropextendedproperty 'MS_Description', 'SCHEMA', @defaultSchema, 'TABLE', N'People'; +"""); } public override async Task Rename_table() @@ -357,11 +395,17 @@ public override async Task Rename_table() await base.Rename_table(); AssertSql( - @"ALTER TABLE [People] DROP CONSTRAINT [PK_People];", +""" +ALTER TABLE [People] DROP CONSTRAINT [PK_People]; +""", // - @"EXEC sp_rename N'[People]', N'Persons';", +""" +EXEC sp_rename N'[People]', N'Persons'; +""", // - @"ALTER TABLE [Persons] ADD CONSTRAINT [PK_Persons] PRIMARY KEY ([Id]);"); +""" +ALTER TABLE [Persons] ADD CONSTRAINT [PK_Persons] PRIMARY KEY ([Id]); +"""); } public override async Task Rename_table_with_primary_key() @@ -369,11 +413,17 @@ public override async Task Rename_table_with_primary_key() await base.Rename_table_with_primary_key(); AssertSql( - @"ALTER TABLE [People] DROP CONSTRAINT [PK_People];", +""" +ALTER TABLE [People] DROP CONSTRAINT [PK_People]; +""", // - @"EXEC sp_rename N'[People]', N'Persons';", +""" +EXEC sp_rename N'[People]', N'Persons'; +""", // - @"ALTER TABLE [Persons] ADD CONSTRAINT [PK_Persons] PRIMARY KEY ([Id]);"); +""" +ALTER TABLE [Persons] ADD CONSTRAINT [PK_Persons] PRIMARY KEY ([Id]); +"""); } public override async Task Move_table() @@ -381,9 +431,13 @@ public override async Task Move_table() await base.Move_table(); AssertSql( - @"IF SCHEMA_ID(N'TestTableSchema') IS NULL EXEC(N'CREATE SCHEMA [TestTableSchema];');", +""" +IF SCHEMA_ID(N'TestTableSchema') IS NULL EXEC(N'CREATE SCHEMA [TestTableSchema];'); +""", // - @"ALTER SCHEMA [TestTableSchema] TRANSFER [TestTable];"); +""" +ALTER SCHEMA [TestTableSchema] TRANSFER [TestTable]; +"""); } [ConditionalFact] @@ -403,8 +457,10 @@ await Test( }); AssertSql( - @"DECLARE @defaultSchema sysname = SCHEMA_NAME(); -EXEC(N'ALTER SCHEMA [' + @defaultSchema + N'] TRANSFER [TestTableSchema].[TestTable];');"); +""" +DECLARE @defaultSchema sysname = SCHEMA_NAME(); +EXEC(N'ALTER SCHEMA [' + @defaultSchema + N'] TRANSFER [TestTableSchema].[TestTable];'); +"""); } public override async Task Create_schema() @@ -412,12 +468,16 @@ public override async Task Create_schema() await base.Create_schema(); AssertSql( - @"IF SCHEMA_ID(N'SomeOtherSchema') IS NULL EXEC(N'CREATE SCHEMA [SomeOtherSchema];');", +""" +IF SCHEMA_ID(N'SomeOtherSchema') IS NULL EXEC(N'CREATE SCHEMA [SomeOtherSchema];'); +""", // - @"CREATE TABLE [SomeOtherSchema].[People] ( +""" +CREATE TABLE [SomeOtherSchema].[People] ( [Id] int NOT NULL IDENTITY, CONSTRAINT [PK_People] PRIMARY KEY ([Id]) -);"); +); +"""); } [ConditionalFact] @@ -431,10 +491,12 @@ await Test( model => Assert.Equal("dbo", Assert.Single(model.Tables).Schema)); AssertSql( - @"CREATE TABLE [dbo].[People] ( +""" +CREATE TABLE [dbo].[People] ( [Id] int NOT NULL IDENTITY, CONSTRAINT [PK_People] PRIMARY KEY ([Id]) -);"); +); +"""); } public override async Task Add_column_with_defaultValue_string() @@ -442,7 +504,9 @@ public override async Task Add_column_with_defaultValue_string() await base.Add_column_with_defaultValue_string(); AssertSql( - @"ALTER TABLE [People] ADD [Name] nvarchar(max) NOT NULL DEFAULT N'John Doe';"); +""" +ALTER TABLE [People] ADD [Name] nvarchar(max) NOT NULL DEFAULT N'John Doe'; +"""); } public override async Task Add_column_with_defaultValue_datetime() @@ -450,7 +514,9 @@ public override async Task Add_column_with_defaultValue_datetime() await base.Add_column_with_defaultValue_datetime(); AssertSql( - @"ALTER TABLE [People] ADD [Birthday] datetime2 NOT NULL DEFAULT '2015-04-12T17:05:00.0000000';"); +""" +ALTER TABLE [People] ADD [Birthday] datetime2 NOT NULL DEFAULT '2015-04-12T17:05:00.0000000'; +"""); } [ConditionalTheory] @@ -479,7 +545,9 @@ await Test( }); AssertSql( - $@"ALTER TABLE [People] ADD [Birthday] datetime2({precision}) NOT NULL DEFAULT '2015-04-12T17:05:00{fractionalSeconds}';"); +$""" +ALTER TABLE [People] ADD [Birthday] datetime2({precision}) NOT NULL DEFAULT '2015-04-12T17:05:00{fractionalSeconds}'; +"""); } [ConditionalTheory] @@ -511,7 +579,9 @@ await Test( }); AssertSql( - $@"ALTER TABLE [People] ADD [Birthday] datetimeoffset({precision}) NOT NULL DEFAULT '2015-04-12T17:05:00{fractionalSeconds}+10:00';"); +$""" +ALTER TABLE [People] ADD [Birthday] datetimeoffset({precision}) NOT NULL DEFAULT '2015-04-12T17:05:00{fractionalSeconds}+10:00'; +"""); } [ConditionalTheory] @@ -540,7 +610,10 @@ await Test( Assert.False(birthdayColumn.IsNullable); }); - AssertSql($@"ALTER TABLE [People] ADD [Age] time({precision}) NOT NULL DEFAULT '12:34:56{fractionalSeconds}';"); + AssertSql( +$""" +ALTER TABLE [People] ADD [Age] time({precision}) NOT NULL DEFAULT '12:34:56{fractionalSeconds}'; +"""); } [ConditionalFact] @@ -560,7 +633,9 @@ await Test( }); AssertSql( - @"ALTER TABLE [People] ADD [Birthday] datetime NOT NULL DEFAULT '2019-01-01T00:00:00.000';"); +""" +ALTER TABLE [People] ADD [Birthday] datetime NOT NULL DEFAULT '2019-01-01T00:00:00.000'; +"""); } [ConditionalFact] @@ -580,7 +655,9 @@ await Test( }); AssertSql( - @"ALTER TABLE [People] ADD [Birthday] smalldatetime NOT NULL DEFAULT '2019-01-01T00:00:00';"); +""" +ALTER TABLE [People] ADD [Birthday] smalldatetime NOT NULL DEFAULT '2019-01-01T00:00:00'; +"""); } [ConditionalFact] @@ -599,7 +676,9 @@ await Test( }); AssertSql( - @"ALTER TABLE [People] ADD [RowVersion] rowversion NULL;"); +""" +ALTER TABLE [People] ADD [RowVersion] rowversion NULL; +"""); } [ConditionalFact] @@ -620,7 +699,9 @@ await Test( }); AssertSql( - @"ALTER TABLE [People] ADD [RowVersion] rowversion NOT NULL;"); +""" +ALTER TABLE [People] ADD [RowVersion] rowversion NOT NULL; +"""); } public override async Task Add_column_with_defaultValueSql() @@ -628,7 +709,9 @@ public override async Task Add_column_with_defaultValueSql() await base.Add_column_with_defaultValueSql(); AssertSql( - @"ALTER TABLE [People] ADD [Sum] int NOT NULL DEFAULT (1 + 2);"); +""" +ALTER TABLE [People] ADD [Sum] int NOT NULL DEFAULT (1 + 2); +"""); } public override async Task Add_column_with_computedSql(bool? stored) @@ -638,7 +721,9 @@ public override async Task Add_column_with_computedSql(bool? stored) var computedColumnTypeSql = stored == true ? " PERSISTED" : ""; AssertSql( - @$"ALTER TABLE [People] ADD [Sum] AS [X] + [Y]{computedColumnTypeSql};"); +$""" +ALTER TABLE [People] ADD [Sum] AS [X] + [Y]{computedColumnTypeSql}; +"""); } [ConditionalFact] @@ -658,7 +743,9 @@ await Test( migrationsSqlGenerationOptions: MigrationsSqlGenerationOptions.Idempotent); AssertSql( - @"EXEC(N'ALTER TABLE [People] ADD [IdPlusOne] AS [Id] + 1');"); +""" +EXEC(N'ALTER TABLE [People] ADD [IdPlusOne] AS [Id] + 1'); +"""); } public override async Task Add_column_with_required() @@ -666,7 +753,9 @@ public override async Task Add_column_with_required() await base.Add_column_with_required(); AssertSql( - @"ALTER TABLE [People] ADD [Name] nvarchar(max) NOT NULL DEFAULT N'';"); +""" +ALTER TABLE [People] ADD [Name] nvarchar(max) NOT NULL DEFAULT N''; +"""); } public override async Task Add_column_with_ansi() @@ -674,7 +763,9 @@ public override async Task Add_column_with_ansi() await base.Add_column_with_ansi(); AssertSql( - @"ALTER TABLE [People] ADD [Name] varchar(max) NULL;"); +""" +ALTER TABLE [People] ADD [Name] varchar(max) NULL; +"""); } public override async Task Add_column_with_max_length() @@ -682,7 +773,9 @@ public override async Task Add_column_with_max_length() await base.Add_column_with_max_length(); AssertSql( - @"ALTER TABLE [People] ADD [Name] nvarchar(30) NULL;"); +""" +ALTER TABLE [People] ADD [Name] nvarchar(30) NULL; +"""); } public override async Task Add_column_with_max_length_on_derived() @@ -697,7 +790,9 @@ public override async Task Add_column_with_fixed_length() await base.Add_column_with_fixed_length(); AssertSql( - @"ALTER TABLE [People] ADD [Name] nchar(100) NULL;"); +""" +ALTER TABLE [People] ADD [Name] nchar(100) NULL; +"""); } public override async Task Add_column_with_comment() @@ -705,12 +800,14 @@ public override async Task Add_column_with_comment() await base.Add_column_with_comment(); AssertSql( - @"ALTER TABLE [People] ADD [FullName] nvarchar(max) NULL; +""" +ALTER TABLE [People] ADD [FullName] nvarchar(max) NULL; DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'My comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'FullName';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'FullName'; +"""); } public override async Task Add_column_with_collation() @@ -718,7 +815,9 @@ public override async Task Add_column_with_collation() await base.Add_column_with_collation(); AssertSql( - @"ALTER TABLE [People] ADD [Name] nvarchar(max) COLLATE German_PhoneBook_CI_AS NULL;"); +""" +ALTER TABLE [People] ADD [Name] nvarchar(max) COLLATE German_PhoneBook_CI_AS NULL; +"""); } public override async Task Add_column_computed_with_collation() @@ -726,7 +825,9 @@ public override async Task Add_column_computed_with_collation() await base.Add_column_computed_with_collation(); AssertSql( - @"ALTER TABLE [People] ADD [Name] AS 'hello' COLLATE German_PhoneBook_CI_AS;"); +""" +ALTER TABLE [People] ADD [Name] AS 'hello' COLLATE German_PhoneBook_CI_AS; +"""); } public override async Task Add_column_shared() @@ -741,9 +842,13 @@ public override async Task Add_column_with_check_constraint() await base.Add_column_with_check_constraint(); AssertSql( - @"ALTER TABLE [People] ADD [DriverLicense] int NOT NULL DEFAULT 0;", +""" +ALTER TABLE [People] ADD [DriverLicense] int NOT NULL DEFAULT 0; +""", // - @"ALTER TABLE [People] ADD CONSTRAINT [CK_People_Foo] CHECK ([DriverLicense] > 0);"); +""" +ALTER TABLE [People] ADD CONSTRAINT [CK_People_Foo] CHECK ([DriverLicense] > 0); +"""); } [ConditionalFact] @@ -761,7 +866,9 @@ await Test( }); AssertSql( - @"ALTER TABLE [People] ADD [IdentityColumn] int NOT NULL IDENTITY;"); +""" +ALTER TABLE [People] ADD [IdentityColumn] int NOT NULL IDENTITY; +"""); } [ConditionalFact] @@ -782,7 +889,9 @@ await Test( }); AssertSql( - @"ALTER TABLE [People] ADD [IdentityColumn] int NOT NULL IDENTITY(100, 5);"); +""" +ALTER TABLE [People] ADD [IdentityColumn] int NOT NULL IDENTITY(100, 5); +"""); } [ConditionalFact] @@ -834,9 +943,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [Dogs] ADD [IdentityColumn] int NOT NULL IDENTITY(2, 2);", - "ALTER TABLE [Cats] ADD [IdentityColumn] int NOT NULL IDENTITY(1, 2);", - "ALTER TABLE [Animal] ADD [IdentityColumn] int NOT NULL DEFAULT 0;"); +""" +ALTER TABLE [Dogs] ADD [IdentityColumn] int NOT NULL IDENTITY(2, 2); +""", + // +""" +ALTER TABLE [Cats] ADD [IdentityColumn] int NOT NULL IDENTITY(1, 2); +""", + // +""" +ALTER TABLE [Animal] ADD [IdentityColumn] int NOT NULL DEFAULT 0; +"""); } public override async Task Alter_column_change_type() @@ -844,13 +961,15 @@ public override async Task Alter_column_change_type() await base.Alter_column_change_type(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [SomeColumn] bigint NOT NULL;"); +ALTER TABLE [People] ALTER COLUMN [SomeColumn] bigint NOT NULL; +"""); } public override async Task Alter_column_make_required() @@ -858,7 +977,8 @@ public override async Task Alter_column_make_required() await base.Alter_column_make_required(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] @@ -866,7 +986,8 @@ FROM [sys].[default_constraints] [d] IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(max) NOT NULL; -ALTER TABLE [People] ADD DEFAULT N'' FOR [SomeColumn];"); +ALTER TABLE [People] ADD DEFAULT N'' FOR [SomeColumn]; +"""); } public override async Task Alter_column_make_required_with_null_data() @@ -874,7 +995,8 @@ public override async Task Alter_column_make_required_with_null_data() await base.Alter_column_make_required_with_null_data(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] @@ -882,7 +1004,8 @@ FROM [sys].[default_constraints] [d] IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(max) NOT NULL; -ALTER TABLE [People] ADD DEFAULT N'' FOR [SomeColumn];"); +ALTER TABLE [People] ADD DEFAULT N'' FOR [SomeColumn]; +"""); } [ConditionalFact] @@ -891,7 +1014,8 @@ public override async Task Alter_column_make_required_with_index() await base.Alter_column_make_required_with_index(); AssertSql( - @"DROP INDEX [IX_People_SomeColumn] ON [People]; +""" +DROP INDEX [IX_People_SomeColumn] ON [People]; DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] @@ -901,7 +1025,8 @@ FROM [sys].[default_constraints] [d] UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(450) NOT NULL; ALTER TABLE [People] ADD DEFAULT N'' FOR [SomeColumn]; -CREATE INDEX [IX_People_SomeColumn] ON [People] ([SomeColumn]);"); +CREATE INDEX [IX_People_SomeColumn] ON [People] ([SomeColumn]); +"""); } [ConditionalFact] @@ -910,7 +1035,8 @@ public override async Task Alter_column_make_required_with_composite_index() await base.Alter_column_make_required_with_composite_index(); AssertSql( - @"DROP INDEX [IX_People_FirstName_LastName] ON [People]; +""" +DROP INDEX [IX_People_FirstName_LastName] ON [People]; DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] @@ -920,7 +1046,8 @@ FROM [sys].[default_constraints] [d] UPDATE [People] SET [FirstName] = N'' WHERE [FirstName] IS NULL; ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NOT NULL; ALTER TABLE [People] ADD DEFAULT N'' FOR [FirstName]; -CREATE INDEX [IX_People_FirstName_LastName] ON [People] ([FirstName], [LastName]);"); +CREATE INDEX [IX_People_FirstName_LastName] ON [People] ([FirstName], [LastName]); +"""); } public override async Task Alter_column_make_computed(bool? stored) @@ -930,14 +1057,16 @@ public override async Task Alter_column_make_computed(bool? stored) var computedColumnTypeSql = stored == true ? " PERSISTED" : ""; AssertSql( - $@"DECLARE @var0 sysname; +$""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [People] DROP COLUMN [Sum]; -ALTER TABLE [People] ADD [Sum] AS [X] + [Y]{computedColumnTypeSql};"); +ALTER TABLE [People] ADD [Sum] AS [X] + [Y]{computedColumnTypeSql}; +"""); } public override async Task Alter_column_change_computed() @@ -945,14 +1074,16 @@ public override async Task Alter_column_change_computed() await base.Alter_column_change_computed(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [People] DROP COLUMN [Sum]; -ALTER TABLE [People] ADD [Sum] AS [X] - [Y];"); +ALTER TABLE [People] ADD [Sum] AS [X] - [Y]; +"""); } public override async Task Alter_column_change_computed_recreates_indexes() @@ -960,7 +1091,8 @@ public override async Task Alter_column_change_computed_recreates_indexes() await base.Alter_column_change_computed_recreates_indexes(); AssertSql( - @"DROP INDEX [IX_People_Sum] ON [People]; +""" +DROP INDEX [IX_People_Sum] ON [People]; DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] @@ -968,8 +1100,12 @@ FROM [sys].[default_constraints] [d] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [People] DROP COLUMN [Sum]; -ALTER TABLE [People] ADD [Sum] AS [X] - [Y];", - @"CREATE INDEX [IX_People_Sum] ON [People] ([Sum]);"); +ALTER TABLE [People] ADD [Sum] AS [X] - [Y]; +""", + // +""" +CREATE INDEX [IX_People_Sum] ON [People] ([Sum]); +"""); } public override async Task Alter_column_change_computed_type() @@ -977,14 +1113,16 @@ public override async Task Alter_column_change_computed_type() await base.Alter_column_change_computed_type(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [People] DROP COLUMN [Sum]; -ALTER TABLE [People] ADD [Sum] AS [X] + [Y] PERSISTED;"); +ALTER TABLE [People] ADD [Sum] AS [X] + [Y] PERSISTED; +"""); } public override async Task Alter_column_make_non_computed() @@ -992,14 +1130,16 @@ public override async Task Alter_column_make_non_computed() await base.Alter_column_make_non_computed(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Sum'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [People] DROP COLUMN [Sum]; -ALTER TABLE [People] ADD [Sum] int NOT NULL;"); +ALTER TABLE [People] ADD [Sum] int NOT NULL; +"""); } [ConditionalFact] @@ -1008,11 +1148,13 @@ public override async Task Alter_column_add_comment() await base.Alter_column_add_comment(); AssertSql( - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'Some comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Id';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Id'; +"""); } [ConditionalFact] @@ -1021,11 +1163,13 @@ public override async Task Alter_computed_column_add_comment() await base.Alter_computed_column_add_comment(); AssertSql( - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'Some comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'SomeColumn';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'SomeColumn'; +"""); } [ConditionalFact] @@ -1034,12 +1178,14 @@ public override async Task Alter_column_change_comment() await base.Alter_column_change_comment(); AssertSql( - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; EXEC sp_dropextendedproperty 'MS_Description', 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Id'; SET @description = N'Some comment2'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Id';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Id'; +"""); } [ConditionalFact] @@ -1048,10 +1194,12 @@ public override async Task Alter_column_remove_comment() await base.Alter_column_remove_comment(); AssertSql( - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; -EXEC sp_dropextendedproperty 'MS_Description', 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Id';"); +EXEC sp_dropextendedproperty 'MS_Description', 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Id'; +"""); } [ConditionalFact] @@ -1060,13 +1208,15 @@ public override async Task Alter_column_set_collation() await base.Alter_column_set_collation(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(max) COLLATE German_PhoneBook_CI_AS NULL;"); +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(max) COLLATE German_PhoneBook_CI_AS NULL; +"""); } [ConditionalFact] @@ -1089,7 +1239,8 @@ await Test( }); AssertSql( - @"DROP INDEX [IX_People_Name] ON [People]; +""" +DROP INDEX [IX_People_Name] ON [People]; DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] @@ -1097,7 +1248,8 @@ FROM [sys].[default_constraints] [d] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) COLLATE German_PhoneBook_CI_AS NULL; -CREATE INDEX [IX_People_Name] ON [People] ([Name]);"); +CREATE INDEX [IX_People_Name] ON [People] ([Name]); +"""); } [ConditionalFact] @@ -1106,13 +1258,15 @@ public override async Task Alter_column_reset_collation() await base.Alter_column_reset_collation(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(max) NULL;"); +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(max) NULL; +"""); } [ConditionalFact] @@ -1142,7 +1296,8 @@ await Test( }); AssertSql( - @"DROP INDEX [IX_People_SomeColumn] ON [People]; +""" +DROP INDEX [IX_People_SomeColumn] ON [People]; DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] @@ -1152,7 +1307,8 @@ FROM [sys].[default_constraints] [d] UPDATE [People] SET [SomeColumn] = N'' WHERE [SomeColumn] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeColumn] nvarchar(450) NOT NULL; ALTER TABLE [People] ADD DEFAULT N'' FOR [SomeColumn]; -CREATE INDEX [IX_People_SomeColumn] ON [People] ([SomeColumn]) INCLUDE ([SomeOtherColumn]);"); +CREATE INDEX [IX_People_SomeColumn] ON [People] ([SomeColumn]) INCLUDE ([SomeOtherColumn]); +"""); } [ConditionalFact] @@ -1179,7 +1335,8 @@ await Test( }); AssertSql( - @"ALTER TABLE [People] DROP INDEX [IX_People_Name]; +""" +ALTER TABLE [People] DROP INDEX [IX_People_Name]; DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] @@ -1187,7 +1344,8 @@ FROM [sys].[default_constraints] [d] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(30) NULL; -ALTER TABLE [People] ADD INDEX [IX_People_Name] NONCLUSTERED ([Name]);"); +ALTER TABLE [People] ADD INDEX [IX_People_Name] NONCLUSTERED ([Name]); +"""); } [ConditionalFact] @@ -1211,13 +1369,15 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL;"); +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; +"""); } [ConditionalFact] @@ -1247,7 +1407,8 @@ await Test( }); AssertSql( - @"DROP INDEX [IX_People_FirstName_LastName] ON [People]; +""" +DROP INDEX [IX_People_FirstName_LastName] ON [People]; DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] @@ -1255,7 +1416,8 @@ FROM [sys].[default_constraints] [d] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(30) NULL; -CREATE INDEX [IX_People_FirstName_LastName] ON [People] ([FirstName], [LastName]) INCLUDE ([Name]);"); +CREATE INDEX [IX_People_FirstName_LastName] ON [People] ([FirstName], [LastName]) INCLUDE ([Name]); +"""); } [ConditionalFact] @@ -1303,13 +1465,15 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'IdentityColumn'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [IdentityColumn] bigint NOT NULL;"); +ALTER TABLE [People] ALTER COLUMN [IdentityColumn] bigint NOT NULL; +"""); } [ConditionalFact] @@ -1327,13 +1491,15 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ADD DEFAULT N'Doe' FOR [Name];"); +ALTER TABLE [People] ADD DEFAULT N'Doe' FOR [Name]; +"""); } [ConditionalFact] @@ -1352,11 +1518,13 @@ await Test( }); AssertSql( - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'Some comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Name';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'People', 'COLUMN', N'Name'; +"""); } [ConditionalFact] @@ -1374,13 +1542,15 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeProperty'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [SomeProperty] nvarchar(max) SPARSE NULL;"); +ALTER TABLE [People] ALTER COLUMN [SomeProperty] nvarchar(max) SPARSE NULL; +"""); } public override async Task Drop_column() @@ -1388,13 +1558,15 @@ public override async Task Drop_column() await base.Drop_column(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeColumn'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] DROP COLUMN [SomeColumn];"); +ALTER TABLE [People] DROP COLUMN [SomeColumn]; +"""); } public override async Task Drop_column_primary_key() @@ -1402,15 +1574,19 @@ public override async Task Drop_column_primary_key() await base.Drop_column_primary_key(); AssertSql( - @"ALTER TABLE [People] DROP CONSTRAINT [PK_People];", +""" +ALTER TABLE [People] DROP CONSTRAINT [PK_People]; +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Id'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] DROP COLUMN [Id];"); +ALTER TABLE [People] DROP COLUMN [Id]; +"""); } public override async Task Drop_column_computed_and_non_computed_with_dependency() @@ -1418,21 +1594,25 @@ public override async Task Drop_column_computed_and_non_computed_with_dependency await base.Drop_column_computed_and_non_computed_with_dependency(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Y'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] DROP COLUMN [Y];", +ALTER TABLE [People] DROP COLUMN [Y]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'X'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [People] DROP COLUMN [X];"); +ALTER TABLE [People] DROP COLUMN [X]; +"""); } public override async Task Rename_column() @@ -1440,7 +1620,9 @@ public override async Task Rename_column() await base.Rename_column(); AssertSql( - @"EXEC sp_rename N'[People].[SomeColumn]', N'SomeOtherColumn', N'COLUMN';"); +""" +EXEC sp_rename N'[People].[SomeColumn]', N'SomeOtherColumn', N'COLUMN'; +"""); } public override async Task Create_index() @@ -1448,15 +1630,19 @@ public override async Task Create_index() await base.Create_index(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; +""", // - @"CREATE INDEX [IX_People_FirstName] ON [People] ([FirstName]);"); +""" +CREATE INDEX [IX_People_FirstName] ON [People] ([FirstName]); +"""); } public override async Task Create_index_unique() @@ -1464,23 +1650,29 @@ public override async Task Create_index_unique() await base.Create_index_unique(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'LastName'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [LastName] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [LastName] nvarchar(450) NULL; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; +""", // - @"CREATE UNIQUE INDEX [IX_People_FirstName_LastName] ON [People] ([FirstName], [LastName]) WHERE [FirstName] IS NOT NULL AND [LastName] IS NOT NULL;"); +""" +CREATE UNIQUE INDEX [IX_People_FirstName_LastName] ON [People] ([FirstName], [LastName]) WHERE [FirstName] IS NOT NULL AND [LastName] IS NOT NULL; +"""); } public override async Task Create_index_descending() @@ -1488,7 +1680,9 @@ public override async Task Create_index_descending() await base.Create_index_descending(); AssertSql( - @"CREATE INDEX [IX_People_X] ON [People] ([X] DESC);"); +""" +CREATE INDEX [IX_People_X] ON [People] ([X] DESC); +"""); } public override async Task Create_index_descending_mixed() @@ -1496,7 +1690,9 @@ public override async Task Create_index_descending_mixed() await base.Create_index_descending_mixed(); AssertSql( - @"CREATE INDEX [IX_People_X_Y_Z] ON [People] ([X], [Y] DESC, [Z]);"); +""" +CREATE INDEX [IX_People_X_Y_Z] ON [People] ([X], [Y] DESC, [Z]); +"""); } public override async Task Alter_index_make_unique() @@ -1504,9 +1700,13 @@ public override async Task Alter_index_make_unique() await base.Alter_index_make_unique(); AssertSql( - @"DROP INDEX [IX_People_X] ON [People];", +""" +DROP INDEX [IX_People_X] ON [People]; +""", // - @"CREATE UNIQUE INDEX [IX_People_X] ON [People] ([X]);"); +""" +CREATE UNIQUE INDEX [IX_People_X] ON [People] ([X]); +"""); } public override async Task Alter_index_change_sort_order() @@ -1514,9 +1714,13 @@ public override async Task Alter_index_change_sort_order() await base.Alter_index_change_sort_order(); AssertSql( - @"DROP INDEX [IX_People_X_Y_Z] ON [People];", +""" +DROP INDEX [IX_People_X_Y_Z] ON [People]; +""", // - @"CREATE INDEX [IX_People_X_Y_Z] ON [People] ([X], [Y] DESC, [Z]);"); +""" +CREATE INDEX [IX_People_X_Y_Z] ON [People] ([X], [Y] DESC, [Z]); +"""); } public override async Task Create_index_with_filter() @@ -1524,15 +1728,19 @@ public override async Task Create_index_with_filter() await base.Create_index_with_filter(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; +""", // - @"CREATE INDEX [IX_People_Name] ON [People] ([Name]) WHERE [Name] IS NOT NULL;"); +""" +CREATE INDEX [IX_People_Name] ON [People] ([Name]) WHERE [Name] IS NOT NULL; +"""); } [ConditionalFact] @@ -1557,15 +1765,19 @@ await Test( migrationsSqlGenerationOptions: MigrationsSqlGenerationOptions.Idempotent); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; +""", // - @"EXEC(N'CREATE INDEX [IX_People_Name] ON [People] ([Name]) WHERE [Name] IS NOT NULL');"); +""" +EXEC(N'CREATE INDEX [IX_People_Name] ON [People] ([Name]) WHERE [Name] IS NOT NULL'); +"""); } public override async Task Create_unique_index_with_filter() @@ -1573,15 +1785,19 @@ public override async Task Create_unique_index_with_filter() await base.Create_unique_index_with_filter(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; +""", // - @"CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) WHERE [Name] IS NOT NULL AND [Name] <> '';"); +""" +CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) WHERE [Name] IS NOT NULL AND [Name] <> ''; +"""); } [ConditionalFact] @@ -1600,15 +1816,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; +""", // - @"CREATE CLUSTERED INDEX [IX_People_FirstName] ON [People] ([FirstName]);"); +""" +CREATE CLUSTERED INDEX [IX_People_FirstName] ON [People] ([FirstName]); +"""); } [ConditionalFact] @@ -1629,15 +1849,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'FirstName'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [FirstName] nvarchar(450) NULL; +""", // - @"CREATE UNIQUE CLUSTERED INDEX [IX_People_FirstName] ON [People] ([FirstName]);"); +""" +CREATE UNIQUE CLUSTERED INDEX [IX_People_FirstName] ON [People] ([FirstName]); +"""); } [ConditionalFact] @@ -1666,15 +1890,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; +""", // - @"CREATE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]);"); +""" +CREATE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]); +"""); } [ConditionalFact] @@ -1705,15 +1933,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; +""", // - @"CREATE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]) WHERE [Name] IS NOT NULL;"); +""" +CREATE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]) WHERE [Name] IS NOT NULL; +"""); } [ConditionalFact] @@ -1744,15 +1976,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; +""", // - @"CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]);"); +""" +CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]); +"""); } [ConditionalFact] @@ -1785,15 +2021,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; +""", // - @"CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]) WHERE [Name] IS NOT NULL;"); +""" +CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]) WHERE [Name] IS NOT NULL; +"""); } [ConditionalFact(Skip = "#19668, Online index operations can only be performed in Enterprise edition of SQL Server")] @@ -1829,15 +2069,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; +""", // - @"CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]) WHERE [Name] IS NOT NULL WITH (ONLINE = ON);"); +""" +CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]) WHERE [Name] IS NOT NULL WITH (ONLINE = ON); +"""); } [ConditionalFact(Skip = "#19668, Online index operations can only be performed in Enterprise edition of SQL Server")] @@ -1874,15 +2118,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; +""", // - @"CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]) WHERE [Name] IS NOT NULL WITH (FILLFACTOR = 90, ONLINE = ON);"); +""" +CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]) WHERE [Name] IS NOT NULL WITH (FILLFACTOR = 90, ONLINE = ON); +"""); } [ConditionalFact] @@ -1917,15 +2165,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NOT NULL; +""", // - @"CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]) WHERE [Name] IS NOT NULL WITH (FILLFACTOR = 90);"); +""" +CREATE UNIQUE INDEX [IX_People_Name] ON [People] ([Name]) INCLUDE ([FirstName], [LastName]) WHERE [Name] IS NOT NULL WITH (FILLFACTOR = 90); +"""); } [ConditionalFact] @@ -1952,15 +2204,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; +""", // - @"ALTER TABLE [People] ADD INDEX [IX_People_Name] NONCLUSTERED ([Name]);"); +""" +ALTER TABLE [People] ADD INDEX [IX_People_Name] NONCLUSTERED ([Name]); +"""); } [ConditionalFact] @@ -1988,15 +2244,19 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL;", +ALTER TABLE [People] ALTER COLUMN [Name] nvarchar(450) NULL; +""", // - @"ALTER TABLE [People] ADD INDEX [IX_People_Name] NONCLUSTERED ([Name]);"); +""" +ALTER TABLE [People] ADD INDEX [IX_People_Name] NONCLUSTERED ([Name]); +"""); } [ConditionalFact] @@ -2023,7 +2283,9 @@ await Test( }); AssertSql( - @"ALTER TABLE [People] ADD INDEX [IX_People_Name] UNIQUE NONCLUSTERED ([Name]);"); +""" +ALTER TABLE [People] ADD INDEX [IX_People_Name] UNIQUE NONCLUSTERED ([Name]); +"""); } public override async Task Drop_index() @@ -2031,7 +2293,9 @@ public override async Task Drop_index() await base.Drop_index(); AssertSql( - @"DROP INDEX [IX_People_SomeField] ON [People];"); +""" +DROP INDEX [IX_People_SomeField] ON [People]; +"""); } public override async Task Rename_index() @@ -2039,7 +2303,9 @@ public override async Task Rename_index() await base.Rename_index(); AssertSql( - @"EXEC sp_rename N'[People].[Foo]', N'foo', N'INDEX';"); +""" +EXEC sp_rename N'[People].[Foo]', N'foo', N'INDEX'; +"""); } public override async Task Add_primary_key_int() @@ -2054,15 +2320,19 @@ public override async Task Add_primary_key_string() await base.Add_primary_key_string(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(450) NOT NULL;", +ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(450) NOT NULL; +""", // - @"ALTER TABLE [People] ADD CONSTRAINT [PK_People] PRIMARY KEY ([SomeField]);"); +""" +ALTER TABLE [People] ADD CONSTRAINT [PK_People] PRIMARY KEY ([SomeField]); +"""); } public override async Task Add_primary_key_with_name() @@ -2070,7 +2340,8 @@ public override async Task Add_primary_key_with_name() await base.Add_primary_key_with_name(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] @@ -2078,9 +2349,12 @@ FROM [sys].[default_constraints] [d] IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); UPDATE [People] SET [SomeField] = N'' WHERE [SomeField] IS NULL; ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(450) NOT NULL; -ALTER TABLE [People] ADD DEFAULT N'' FOR [SomeField];", +ALTER TABLE [People] ADD DEFAULT N'' FOR [SomeField]; +""", // - @"ALTER TABLE [People] ADD CONSTRAINT [PK_Foo] PRIMARY KEY ([SomeField]);"); +""" +ALTER TABLE [People] ADD CONSTRAINT [PK_Foo] PRIMARY KEY ([SomeField]); +"""); } public override async Task Add_primary_key_composite_with_name() @@ -2088,7 +2362,9 @@ public override async Task Add_primary_key_composite_with_name() await base.Add_primary_key_composite_with_name(); AssertSql( - @"ALTER TABLE [People] ADD CONSTRAINT [PK_Foo] PRIMARY KEY ([SomeField1], [SomeField2]);"); +""" +ALTER TABLE [People] ADD CONSTRAINT [PK_Foo] PRIMARY KEY ([SomeField1], [SomeField2]); +"""); } [ConditionalFact] @@ -2107,7 +2383,9 @@ await Test( }); AssertSql( - @"ALTER TABLE [People] ADD CONSTRAINT [PK_People] PRIMARY KEY NONCLUSTERED ([SomeField]);"); +""" +ALTER TABLE [People] ADD CONSTRAINT [PK_People] PRIMARY KEY NONCLUSTERED ([SomeField]); +"""); } public override async Task Drop_primary_key_int() @@ -2122,15 +2400,19 @@ public override async Task Drop_primary_key_string() await base.Drop_primary_key_string(); AssertSql( - @"ALTER TABLE [People] DROP CONSTRAINT [PK_People];", +""" +ALTER TABLE [People] DROP CONSTRAINT [PK_People]; +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SomeField'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(max) NOT NULL;"); +ALTER TABLE [People] ALTER COLUMN [SomeField] nvarchar(max) NOT NULL; +"""); } public override async Task Add_foreign_key() @@ -2138,9 +2420,13 @@ public override async Task Add_foreign_key() await base.Add_foreign_key(); AssertSql( - @"CREATE INDEX [IX_Orders_CustomerId] ON [Orders] ([CustomerId]);", +""" +CREATE INDEX [IX_Orders_CustomerId] ON [Orders] ([CustomerId]); +""", // - @"ALTER TABLE [Orders] ADD CONSTRAINT [FK_Orders_Customers_CustomerId] FOREIGN KEY ([CustomerId]) REFERENCES [Customers] ([Id]) ON DELETE CASCADE;"); +""" +ALTER TABLE [Orders] ADD CONSTRAINT [FK_Orders_Customers_CustomerId] FOREIGN KEY ([CustomerId]) REFERENCES [Customers] ([Id]) ON DELETE CASCADE; +"""); } public override async Task Add_foreign_key_with_name() @@ -2153,9 +2439,13 @@ public override async Task Add_foreign_key_with_name() // @"DROP INDEX [IX_Orders_CustomerId] ON [Orders];"); AssertSql( - @"CREATE INDEX [IX_Orders_CustomerId] ON [Orders] ([CustomerId]);", +""" +CREATE INDEX [IX_Orders_CustomerId] ON [Orders] ([CustomerId]); +""", // - @"ALTER TABLE [Orders] ADD CONSTRAINT [FK_Foo] FOREIGN KEY ([CustomerId]) REFERENCES [Customers] ([Id]) ON DELETE CASCADE;"); +""" +ALTER TABLE [Orders] ADD CONSTRAINT [FK_Foo] FOREIGN KEY ([CustomerId]) REFERENCES [Customers] ([Id]) ON DELETE CASCADE; +"""); } public override async Task Drop_foreign_key() @@ -2163,9 +2453,13 @@ public override async Task Drop_foreign_key() await base.Drop_foreign_key(); AssertSql( - @"ALTER TABLE [Orders] DROP CONSTRAINT [FK_Orders_Customers_CustomerId];", +""" +ALTER TABLE [Orders] DROP CONSTRAINT [FK_Orders_Customers_CustomerId]; +""", // - @"DROP INDEX [IX_Orders_CustomerId] ON [Orders];"); +""" +DROP INDEX [IX_Orders_CustomerId] ON [Orders]; +"""); } public override async Task Add_unique_constraint() @@ -2173,7 +2467,9 @@ public override async Task Add_unique_constraint() await base.Add_unique_constraint(); AssertSql( - @"ALTER TABLE [People] ADD CONSTRAINT [AK_People_AlternateKeyColumn] UNIQUE ([AlternateKeyColumn]);"); +""" +ALTER TABLE [People] ADD CONSTRAINT [AK_People_AlternateKeyColumn] UNIQUE ([AlternateKeyColumn]); +"""); } public override async Task Add_unique_constraint_composite_with_name() @@ -2181,7 +2477,9 @@ public override async Task Add_unique_constraint_composite_with_name() await base.Add_unique_constraint_composite_with_name(); AssertSql( - @"ALTER TABLE [People] ADD CONSTRAINT [AK_Foo] UNIQUE ([AlternateKeyColumn1], [AlternateKeyColumn2]);"); +""" +ALTER TABLE [People] ADD CONSTRAINT [AK_Foo] UNIQUE ([AlternateKeyColumn1], [AlternateKeyColumn2]); +"""); } public override async Task Drop_unique_constraint() @@ -2189,7 +2487,9 @@ public override async Task Drop_unique_constraint() await base.Drop_unique_constraint(); AssertSql( - @"ALTER TABLE [People] DROP CONSTRAINT [AK_People_AlternateKeyColumn];"); +""" +ALTER TABLE [People] DROP CONSTRAINT [AK_People_AlternateKeyColumn]; +"""); } public override async Task Add_check_constraint_with_name() @@ -2197,7 +2497,9 @@ public override async Task Add_check_constraint_with_name() await base.Add_check_constraint_with_name(); AssertSql( - @"ALTER TABLE [People] ADD CONSTRAINT [CK_People_Foo] CHECK ([DriverLicense] > 0);"); +""" +ALTER TABLE [People] ADD CONSTRAINT [CK_People_Foo] CHECK ([DriverLicense] > 0); +"""); } [ConditionalFact] @@ -2219,7 +2521,9 @@ await Test( migrationsSqlGenerationOptions: MigrationsSqlGenerationOptions.Idempotent); AssertSql( - @"EXEC(N'ALTER TABLE [People] ADD CONSTRAINT [CK_People_Foo] CHECK ([DriverLicense] > 0)');"); +""" +EXEC(N'ALTER TABLE [People] ADD CONSTRAINT [CK_People_Foo] CHECK ([DriverLicense] > 0)'); +"""); } public override async Task Alter_check_constraint() @@ -2227,9 +2531,13 @@ public override async Task Alter_check_constraint() await base.Alter_check_constraint(); AssertSql( - @"ALTER TABLE [People] DROP CONSTRAINT [CK_People_Foo];", +""" +ALTER TABLE [People] DROP CONSTRAINT [CK_People_Foo]; +""", // - @"ALTER TABLE [People] ADD CONSTRAINT [CK_People_Foo] CHECK ([DriverLicense] > 1);"); +""" +ALTER TABLE [People] ADD CONSTRAINT [CK_People_Foo] CHECK ([DriverLicense] > 1); +"""); } public override async Task Drop_check_constraint() @@ -2237,7 +2545,9 @@ public override async Task Drop_check_constraint() await base.Drop_check_constraint(); AssertSql( - @"ALTER TABLE [People] DROP CONSTRAINT [CK_People_Foo];"); +""" +ALTER TABLE [People] DROP CONSTRAINT [CK_People_Foo]; +"""); } public override async Task Create_sequence() @@ -2245,7 +2555,9 @@ public override async Task Create_sequence() await base.Create_sequence(); AssertSql( - @"CREATE SEQUENCE [TestSequence] AS int START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;"); +""" +CREATE SEQUENCE [TestSequence] AS int START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE; +"""); } [ConditionalFact] @@ -2260,7 +2572,9 @@ await Test( Assert.Equal("TestSequence", sequence.Name); }); AssertSql( - @"CREATE SEQUENCE [TestSequence] AS tinyint START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;"); +""" +CREATE SEQUENCE [TestSequence] AS tinyint START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE; +"""); } [ConditionalFact] @@ -2276,7 +2590,9 @@ await Test( }); AssertSql( - @"CREATE SEQUENCE [TestSequence] AS decimal START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;"); +""" +CREATE SEQUENCE [TestSequence] AS decimal START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE; +"""); } public override async Task Create_sequence_long() @@ -2284,7 +2600,9 @@ public override async Task Create_sequence_long() await base.Create_sequence_long(); AssertSql( - @"CREATE SEQUENCE [TestSequence] START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;"); +""" +CREATE SEQUENCE [TestSequence] START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE; +"""); } public override async Task Create_sequence_short() @@ -2292,7 +2610,9 @@ public override async Task Create_sequence_short() await base.Create_sequence_short(); AssertSql( - @"CREATE SEQUENCE [TestSequence] AS smallint START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;"); +""" +CREATE SEQUENCE [TestSequence] AS smallint START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE; +"""); } public override async Task Create_sequence_all_settings() @@ -2300,9 +2620,13 @@ public override async Task Create_sequence_all_settings() await base.Create_sequence_all_settings(); AssertSql( - @"IF SCHEMA_ID(N'dbo2') IS NULL EXEC(N'CREATE SCHEMA [dbo2];');", +""" +IF SCHEMA_ID(N'dbo2') IS NULL EXEC(N'CREATE SCHEMA [dbo2];'); +""", // - @"CREATE SEQUENCE [dbo2].[TestSequence] START WITH 3 INCREMENT BY 2 MINVALUE 2 MAXVALUE 916 CYCLE;"); +""" +CREATE SEQUENCE [dbo2].[TestSequence] START WITH 3 INCREMENT BY 2 MINVALUE 2 MAXVALUE 916 CYCLE; +"""); } public override async Task Alter_sequence_all_settings() @@ -2310,9 +2634,13 @@ public override async Task Alter_sequence_all_settings() await base.Alter_sequence_all_settings(); AssertSql( - @"ALTER SEQUENCE [foo] INCREMENT BY 2 MINVALUE -5 MAXVALUE 10 CYCLE;", +""" +ALTER SEQUENCE [foo] INCREMENT BY 2 MINVALUE -5 MAXVALUE 10 CYCLE; +""", // - @"ALTER SEQUENCE [foo] RESTART WITH -3;"); +""" +ALTER SEQUENCE [foo] RESTART WITH -3; +"""); } public override async Task Alter_sequence_increment_by() @@ -2320,7 +2648,9 @@ public override async Task Alter_sequence_increment_by() await base.Alter_sequence_increment_by(); AssertSql( - @"ALTER SEQUENCE [foo] INCREMENT BY 2 NO MINVALUE NO MAXVALUE NO CYCLE;"); +""" +ALTER SEQUENCE [foo] INCREMENT BY 2 NO MINVALUE NO MAXVALUE NO CYCLE; +"""); } public override async Task Drop_sequence() @@ -2328,7 +2658,9 @@ public override async Task Drop_sequence() await base.Drop_sequence(); AssertSql( - @"DROP SEQUENCE [TestSequence];"); +""" +DROP SEQUENCE [TestSequence]; +"""); } public override async Task Rename_sequence() @@ -2336,7 +2668,9 @@ public override async Task Rename_sequence() await base.Rename_sequence(); AssertSql( - @"EXEC sp_rename N'[TestSequence]', N'testsequence';"); +""" +EXEC sp_rename N'[TestSequence]', N'testsequence'; +"""); } public override async Task Move_sequence() @@ -2344,9 +2678,13 @@ public override async Task Move_sequence() await base.Move_sequence(); AssertSql( - @"IF SCHEMA_ID(N'TestSequenceSchema') IS NULL EXEC(N'CREATE SCHEMA [TestSequenceSchema];');", +""" +IF SCHEMA_ID(N'TestSequenceSchema') IS NULL EXEC(N'CREATE SCHEMA [TestSequenceSchema];'); +""", // - @"ALTER SCHEMA [TestSequenceSchema] TRANSFER [TestSequence];"); +""" +ALTER SCHEMA [TestSequenceSchema] TRANSFER [TestSequence]; +"""); } [ConditionalFact] @@ -2363,8 +2701,10 @@ await Test( }); AssertSql( - @"DECLARE @defaultSchema sysname = SCHEMA_NAME(); -EXEC(N'ALTER SCHEMA [' + @defaultSchema + N'] TRANSFER [TestSequenceSchema].[TestSequence];');"); +""" +DECLARE @defaultSchema sysname = SCHEMA_NAME(); +EXEC(N'ALTER SCHEMA [' + @defaultSchema + N'] TRANSFER [TestSequenceSchema].[TestSequence];'); +"""); } [ConditionalFact] @@ -2385,9 +2725,13 @@ await Test( }); AssertSql( - @"CREATE SEQUENCE [TestSequence] AS int START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE;", +""" +CREATE SEQUENCE [TestSequence] AS int START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE; +""", // - @"ALTER TABLE [People] ADD [SeqProp] int NOT NULL DEFAULT (NEXT VALUE FOR TestSequence);"); +""" +ALTER TABLE [People] ADD [SeqProp] int NOT NULL DEFAULT (NEXT VALUE FOR TestSequence); +"""); } [ConditionalFact] @@ -2404,15 +2748,19 @@ await Test( model => Assert.Empty(model.Sequences)); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'SeqProp'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [People] DROP COLUMN [SeqProp];", +ALTER TABLE [People] DROP COLUMN [SeqProp]; +""", // - @"DROP SEQUENCE [TestSequence];"); +""" +DROP SEQUENCE [TestSequence]; +"""); } public override async Task InsertDataOperation() @@ -2420,7 +2768,8 @@ public override async Task InsertDataOperation() await base.InsertDataOperation(); AssertSql( - @"IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Name') AND [object_id] = OBJECT_ID(N'[Person]')) +""" +IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Name') AND [object_id] = OBJECT_ID(N'[Person]')) SET IDENTITY_INSERT [Person] ON; INSERT INTO [Person] ([Id], [Name]) VALUES (1, N'Daenerys Targaryen'), @@ -2429,7 +2778,8 @@ INSERT INTO [Person] ([Id], [Name]) (4, N'Harry Strickland'), (5, NULL); IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Name') AND [object_id] = OBJECT_ID(N'[Person]')) - SET IDENTITY_INSERT [Person] OFF;"); + SET IDENTITY_INSERT [Person] OFF; +"""); } public override async Task DeleteDataOperation_simple_key() @@ -2438,9 +2788,11 @@ public override async Task DeleteDataOperation_simple_key() // TODO remove rowcount AssertSql( - @"DELETE FROM [Person] +""" +DELETE FROM [Person] WHERE [Id] = 2; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } public override async Task DeleteDataOperation_composite_key() @@ -2449,9 +2801,11 @@ public override async Task DeleteDataOperation_composite_key() // TODO remove rowcount AssertSql( - @"DELETE FROM [Person] +""" +DELETE FROM [Person] WHERE [AnotherId] = 12 AND [Id] = 2; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } public override async Task UpdateDataOperation_simple_key() @@ -2460,9 +2814,11 @@ public override async Task UpdateDataOperation_simple_key() // TODO remove rowcount AssertSql( - @"UPDATE [Person] SET [Name] = N'Another John Snow' +""" +UPDATE [Person] SET [Name] = N'Another John Snow' WHERE [Id] = 2; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } public override async Task UpdateDataOperation_composite_key() @@ -2471,9 +2827,11 @@ public override async Task UpdateDataOperation_composite_key() // TODO remove rowcount AssertSql( - @"UPDATE [Person] SET [Name] = N'Another John Snow' +""" +UPDATE [Person] SET [Name] = N'Another John Snow' WHERE [AnotherId] = 11 AND [Id] = 2; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } public override async Task UpdateDataOperation_multiple_columns() @@ -2482,9 +2840,11 @@ public override async Task UpdateDataOperation_multiple_columns() // TODO remove rowcount AssertSql( - @"UPDATE [Person] SET [Age] = 21, [Name] = N'Another John Snow' +""" +UPDATE [Person] SET [Age] = 21, [Name] = N'Another John Snow' WHERE [Id] = 2; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } [ConditionalFact] @@ -2510,7 +2870,8 @@ await Test( migrationsSqlGenerationOptions: MigrationsSqlGenerationOptions.Idempotent); AssertSql( - @"IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Name') AND [object_id] = OBJECT_ID(N'[Person]')) +""" +IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Name') AND [object_id] = OBJECT_ID(N'[Person]')) SET IDENTITY_INSERT [Person] ON; EXEC(N'INSERT INTO [Person] ([Id], [Name]) VALUES (1, N''Daenerys Targaryen''), @@ -2519,7 +2880,8 @@ await Test( (4, N''Harry Strickland''), (5, NULL)'); IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Name') AND [object_id] = OBJECT_ID(N'[Person]')) - SET IDENTITY_INSERT [Person] OFF;"); + SET IDENTITY_INSERT [Person] OFF; +"""); } [ConditionalFact] @@ -2540,9 +2902,11 @@ await Test( migrationsSqlGenerationOptions: MigrationsSqlGenerationOptions.Idempotent); AssertSql( - @"EXEC(N'DELETE FROM [Person] +""" +EXEC(N'DELETE FROM [Person] WHERE [Id] = 2; -SELECT @@ROWCOUNT');"); +SELECT @@ROWCOUNT'); +"""); } [ConditionalFact] @@ -2563,9 +2927,11 @@ await Test( migrationsSqlGenerationOptions: MigrationsSqlGenerationOptions.Idempotent); AssertSql( - @"EXEC(N'UPDATE [Person] SET [Name] = N''Another John Snow'' +""" +EXEC(N'UPDATE [Person] SET [Name] = N''Another John Snow'' WHERE [Id] = 2; -SELECT @@ROWCOUNT');"); +SELECT @@ROWCOUNT'); +"""); } [ConditionalFact] @@ -2609,7 +2975,8 @@ await Test( }); AssertSql( - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() EXEC(N'CREATE TABLE [Customer] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, @@ -2617,7 +2984,8 @@ [Name] nvarchar(max) NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customer] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + N'].[CustomerHistory]))');"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + N'].[CustomerHistory]))'); +"""); } [ConditionalFact] @@ -2661,7 +3029,8 @@ await Test( }); AssertSql( - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() EXEC(N'CREATE TABLE [Customer] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, @@ -2669,7 +3038,8 @@ [Name] nvarchar(max) NULL, [Start] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customer] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([Start], [End]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + N'].[CustomerHistory]))');"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + N'].[CustomerHistory]))'); +"""); } [ConditionalFact] @@ -2714,7 +3084,8 @@ await Test( }); AssertSql( - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() EXEC(N'CREATE TABLE [Customer] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, @@ -2722,7 +3093,8 @@ [Name] nvarchar(max) NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customer] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + N'].[HistoryTable]))');"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + N'].[HistoryTable]))'); +"""); } [ConditionalFact] @@ -2767,16 +3139,20 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];');", +""" +IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];'); +""", // - @"CREATE TABLE [mySchema].[Customers] ( +""" +CREATE TABLE [mySchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[CustomersHistory]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[CustomersHistory])); +"""); } [ConditionalFact] @@ -2825,16 +3201,20 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];');", +""" +IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];'); +""", // - @"CREATE TABLE [myDefaultSchema].[Customers] ( +""" +CREATE TABLE [myDefaultSchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myDefaultSchema].[CustomersHistory]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myDefaultSchema].[CustomersHistory])); +"""); } [ConditionalFact] @@ -2883,16 +3263,20 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];');", +""" +IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];'); +""", // - @"CREATE TABLE [mySchema].[Customers] ( +""" +CREATE TABLE [mySchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[CustomersHistory]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[CustomersHistory])); +"""); } [ConditionalFact] @@ -2942,16 +3326,20 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];');", +""" +IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];'); +""", // - @"CREATE TABLE [myDefaultSchema].[Customers] ( +""" +CREATE TABLE [myDefaultSchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myDefaultSchema].[CustomersHistory]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myDefaultSchema].[CustomersHistory])); +"""); } [ConditionalFact] @@ -3004,16 +3392,20 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];');", +""" +IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];'); +""", // - @"CREATE TABLE [myDefaultSchema].[Customers] ( +""" +CREATE TABLE [myDefaultSchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myDefaultSchema].[CustomersHistory]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myDefaultSchema].[CustomersHistory])); +"""); } [ConditionalFact] @@ -3068,18 +3460,24 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];');", +""" +IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];'); +""", // - @"IF SCHEMA_ID(N'myHistorySchema') IS NULL EXEC(N'CREATE SCHEMA [myHistorySchema];');", +""" +IF SCHEMA_ID(N'myHistorySchema') IS NULL EXEC(N'CREATE SCHEMA [myHistorySchema];'); +""", // - @"CREATE TABLE [myDefaultSchema].[Customers] ( +""" +CREATE TABLE [myDefaultSchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myHistorySchema].[History]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myHistorySchema].[History])); +"""); } [ConditionalFact] @@ -3131,16 +3529,20 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];');", +""" +IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];'); +""", // - @"CREATE TABLE [myDefaultSchema].[Customers] ( +""" +CREATE TABLE [myDefaultSchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myDefaultSchema].[CustomersHistory]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myDefaultSchema].[CustomersHistory])); +"""); } [ConditionalFact] @@ -3191,16 +3593,20 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];');", +""" +IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];'); +""", // - @"CREATE TABLE [myDefaultSchema].[Customers] ( +""" +CREATE TABLE [myDefaultSchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myDefaultSchema].[HistoryTable]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myDefaultSchema].[HistoryTable])); +"""); } [ConditionalFact] @@ -3250,18 +3656,24 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];');", +""" +IF SCHEMA_ID(N'myDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myDefaultSchema];'); +""", // - @"IF SCHEMA_ID(N'historySchema') IS NULL EXEC(N'CREATE SCHEMA [historySchema];');", +""" +IF SCHEMA_ID(N'historySchema') IS NULL EXEC(N'CREATE SCHEMA [historySchema];'); +""", // - @"CREATE TABLE [myDefaultSchema].[Customers] ( +""" +CREATE TABLE [myDefaultSchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [historySchema].[HistoryTable]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [historySchema].[HistoryTable])); +"""); } [ConditionalFact] @@ -3310,16 +3722,20 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'historySchema') IS NULL EXEC(N'CREATE SCHEMA [historySchema];');", +""" +IF SCHEMA_ID(N'historySchema') IS NULL EXEC(N'CREATE SCHEMA [historySchema];'); +""", // - @"CREATE TABLE [Customers] ( +""" +CREATE TABLE [Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [historySchema].[HistoryTable]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [historySchema].[HistoryTable])); +"""); } [ConditionalFact] @@ -3350,11 +3766,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DROP TABLE [Customer];", +""" +DROP TABLE [Customer]; +""", // - @"DROP TABLE [CustomerHistory];"); +""" +DROP TABLE [CustomerHistory]; +"""); } [ConditionalFact] @@ -3386,11 +3808,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DROP TABLE [Customer];", +""" +DROP TABLE [Customer]; +""", // - @"DROP TABLE [HistoryTable];"); +""" +DROP TABLE [HistoryTable]; +"""); } [ConditionalFact] @@ -3422,11 +3850,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DROP TABLE [Customer];", +""" +DROP TABLE [Customer]; +""", // - @"DROP TABLE [historySchema].[HistoryTable];"); +""" +DROP TABLE [historySchema].[HistoryTable]; +"""); } [ConditionalFact] @@ -3480,16 +3914,26 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [Customers] DROP CONSTRAINT [PK_Customers];", +""" +ALTER TABLE [Customers] DROP CONSTRAINT [PK_Customers]; +""", // - @"EXEC sp_rename N'[Customers]', N'RenamedCustomers';", +""" +EXEC sp_rename N'[Customers]', N'RenamedCustomers'; +""", // - @"ALTER TABLE [RenamedCustomers] ADD CONSTRAINT [PK_RenamedCustomers] PRIMARY KEY ([Id]);", +""" +ALTER TABLE [RenamedCustomers] ADD CONSTRAINT [PK_RenamedCustomers] PRIMARY KEY ([Id]); +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [RenamedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [RenamedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -3548,32 +3992,50 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [Customers] DROP CONSTRAINT [PK_Customers];", +""" +ALTER TABLE [Customers] DROP CONSTRAINT [PK_Customers]; +""", // - @"EXEC sp_rename N'[Customers]', N'RenamedCustomers';", +""" +EXEC sp_rename N'[Customers]', N'RenamedCustomers'; +""", // - @"EXEC sp_rename N'[RenamedCustomers].[DoB]', N'DateOfBirth', N'COLUMN';", +""" +EXEC sp_rename N'[RenamedCustomers].[DoB]', N'DateOfBirth', N'COLUMN'; +""", // - @"EXEC sp_rename N'[HistoryTable].[DoB]', N'DateOfBirth', N'COLUMN';", +""" +EXEC sp_rename N'[HistoryTable].[DoB]', N'DateOfBirth', N'COLUMN'; +""", // - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'for VIP only'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'RenamedCustomers', 'COLUMN', N'Discount';", +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'RenamedCustomers', 'COLUMN', N'Discount'; +""", // - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'for VIP only'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'HistoryTable', 'COLUMN', N'Discount';", +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'HistoryTable', 'COLUMN', N'Discount'; +""", // - @"ALTER TABLE [RenamedCustomers] ADD CONSTRAINT [PK_RenamedCustomers] PRIMARY KEY ([Id]);", +""" +ALTER TABLE [RenamedCustomers] ADD CONSTRAINT [PK_RenamedCustomers] PRIMARY KEY ([Id]); +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [RenamedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [RenamedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -3627,15 +4089,25 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [Customers] DROP CONSTRAINT [PK_Customers];", +""" +ALTER TABLE [Customers] DROP CONSTRAINT [PK_Customers]; +""", // - @"EXEC sp_rename N'[Customers]', N'RenamedCustomers';", +""" +EXEC sp_rename N'[Customers]', N'RenamedCustomers'; +""", // - @"ALTER TABLE [RenamedCustomers] ADD CONSTRAINT [PK_RenamedCustomers] PRIMARY KEY ([Id]);", +""" +ALTER TABLE [RenamedCustomers] ADD CONSTRAINT [PK_RenamedCustomers] PRIMARY KEY ([Id]); +""", // - @"ALTER TABLE [RenamedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [historySchema].[HistoryTable]))"); +""" +ALTER TABLE [RenamedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [historySchema].[HistoryTable])) +"""); } public virtual async Task Rename_temporal_table_schema_when_history_table_doesnt_have_its_schema_specified() @@ -3686,15 +4158,25 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];');", +""" +IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];'); +""", // - @"ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[Customers];", +""" +ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[Customers]; +""", // - @"ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[HistoryTable];", +""" +ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[HistoryTable]; +""", // - @"ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[HistoryTable]))"); +""" +ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[HistoryTable])) +"""); } [ConditionalFact] @@ -3746,13 +4228,21 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];');", +""" +IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];'); +""", // - @"ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[Customers];", +""" +ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[Customers]; +""", // - @"ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myHistorySchema].[HistoryTable]))"); +""" +ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myHistorySchema].[HistoryTable])) +"""); } [ConditionalFact] @@ -3813,16 +4303,26 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];');", +""" +IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];'); +""", // - @"ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[Customers];", +""" +ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[Customers]; +""", // - @"EXEC sp_rename N'[mySchema].[HistoryTable]', N'HistoryTable2'; -ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[HistoryTable2];", +""" +EXEC sp_rename N'[mySchema].[HistoryTable]', N'HistoryTable2'; +ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[HistoryTable2]; +""", // - @"ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[HistoryTable2]))"); +""" +ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[HistoryTable2])) +"""); } [ConditionalFact] @@ -3886,16 +4386,26 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];');", +""" +IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];'); +""", // - @"ALTER TABLE [defaultSchema].[Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [defaultSchema].[Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER SCHEMA [mySchema2] TRANSFER [defaultSchema].[Customers];", +""" +ALTER SCHEMA [mySchema2] TRANSFER [defaultSchema].[Customers]; +""", // - @"EXEC sp_rename N'[defaultSchema].[HistoryTable]', N'HistoryTable2'; -ALTER SCHEMA [mySchema2] TRANSFER [defaultSchema].[HistoryTable2];", +""" +EXEC sp_rename N'[defaultSchema].[HistoryTable]', N'HistoryTable2'; +ALTER SCHEMA [mySchema2] TRANSFER [defaultSchema].[HistoryTable2]; +""", // - @"ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[HistoryTable2]))"); +""" +ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[HistoryTable2])) +"""); } [ConditionalFact] @@ -3961,16 +4471,26 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];');", +""" +IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];'); +""", // - @"ALTER TABLE [modifiedSchema].[Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [modifiedSchema].[Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER SCHEMA [mySchema2] TRANSFER [modifiedSchema].[Customers];", +""" +ALTER SCHEMA [mySchema2] TRANSFER [modifiedSchema].[Customers]; +""", // - @"EXEC sp_rename N'[modifiedSchema].[HistoryTable]', N'HistoryTable2'; -ALTER SCHEMA [mySchema2] TRANSFER [modifiedSchema].[HistoryTable2];", +""" +EXEC sp_rename N'[modifiedSchema].[HistoryTable]', N'HistoryTable2'; +ALTER SCHEMA [mySchema2] TRANSFER [modifiedSchema].[HistoryTable2]; +""", // - @"ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[HistoryTable2]))"); +""" +ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[HistoryTable2])) +"""); } [ConditionalFact] @@ -4034,15 +4554,25 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];');", +""" +IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];'); +""", // - @"ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[Customers];", +""" +ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[Customers]; +""", // - @"ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[CustomersHistory];", +""" +ALTER SCHEMA [mySchema2] TRANSFER [mySchema].[CustomersHistory]; +""", // - @"ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[CustomersHistory]))"); +""" +ALTER TABLE [mySchema2].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[CustomersHistory])) +"""); } [ConditionalFact] @@ -4101,7 +4631,9 @@ await Test( }); AssertSql( - @"EXEC sp_rename N'[HistoryTable]', N'RenamedHistoryTable';"); +""" +EXEC sp_rename N'[HistoryTable]', N'RenamedHistoryTable'; +"""); } [ConditionalFact] @@ -4161,9 +4693,13 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'modifiedHistorySchema') IS NULL EXEC(N'CREATE SCHEMA [modifiedHistorySchema];');", +""" +IF SCHEMA_ID(N'modifiedHistorySchema') IS NULL EXEC(N'CREATE SCHEMA [modifiedHistorySchema];'); +""", // - @"ALTER SCHEMA [modifiedHistorySchema] TRANSFER [historySchema].[HistoryTable];"); +""" +ALTER SCHEMA [modifiedHistorySchema] TRANSFER [historySchema].[HistoryTable]; +"""); } [ConditionalFact] @@ -4226,23 +4762,39 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [Customers] DROP CONSTRAINT [PK_Customers];", +""" +ALTER TABLE [Customers] DROP CONSTRAINT [PK_Customers]; +""", // - @"IF SCHEMA_ID(N'newSchema') IS NULL EXEC(N'CREATE SCHEMA [newSchema];');", +""" +IF SCHEMA_ID(N'newSchema') IS NULL EXEC(N'CREATE SCHEMA [newSchema];'); +""", // - @"EXEC sp_rename N'[Customers]', N'RenamedCustomers'; -ALTER SCHEMA [newSchema] TRANSFER [RenamedCustomers];", +""" +EXEC sp_rename N'[Customers]', N'RenamedCustomers'; +ALTER SCHEMA [newSchema] TRANSFER [RenamedCustomers]; +""", // - @"IF SCHEMA_ID(N'newHistorySchema') IS NULL EXEC(N'CREATE SCHEMA [newHistorySchema];');", +""" +IF SCHEMA_ID(N'newHistorySchema') IS NULL EXEC(N'CREATE SCHEMA [newHistorySchema];'); +""", // - @"EXEC sp_rename N'[historySchema].[HistoryTable]', N'RenamedHistoryTable'; -ALTER SCHEMA [newHistorySchema] TRANSFER [historySchema].[RenamedHistoryTable];", +""" +EXEC sp_rename N'[historySchema].[HistoryTable]', N'RenamedHistoryTable'; +ALTER SCHEMA [newHistorySchema] TRANSFER [historySchema].[RenamedHistoryTable]; +""", // - @"ALTER TABLE [newSchema].[RenamedCustomers] ADD CONSTRAINT [PK_RenamedCustomers] PRIMARY KEY ([Id]);", +""" +ALTER TABLE [newSchema].[RenamedCustomers] ADD CONSTRAINT [PK_RenamedCustomers] PRIMARY KEY ([Id]); +""", // - @"ALTER TABLE [newSchema].[RenamedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [newHistorySchema].[RenamedHistoryTable]))"); +""" +ALTER TABLE [newSchema].[RenamedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [newHistorySchema].[RenamedHistoryTable])) +"""); } [ConditionalFact] @@ -4293,42 +4845,54 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customers] DROP COLUMN [Name];", +ALTER TABLE [Customers] DROP COLUMN [Name]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Name'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [HistoryTable] DROP COLUMN [Name];", +ALTER TABLE [HistoryTable] DROP COLUMN [Name]; +""", // - @"DECLARE @var2 sysname; +""" +DECLARE @var2 sysname; SELECT @var2 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var2 + '];'); -ALTER TABLE [Customers] DROP COLUMN [Number];", +ALTER TABLE [Customers] DROP COLUMN [Number]; +""", // - @"DECLARE @var3 sysname; +""" +DECLARE @var3 sysname; SELECT @var3 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT [' + @var3 + '];'); -ALTER TABLE [HistoryTable] DROP COLUMN [Number];", +ALTER TABLE [HistoryTable] DROP COLUMN [Number]; +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -4379,41 +4943,53 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customers] DROP COLUMN [Name];", +ALTER TABLE [Customers] DROP COLUMN [Name]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Name'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Name];", +ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Name]; +""", // - @"DECLARE @var2 sysname; +""" +DECLARE @var2 sysname; SELECT @var2 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var2 + '];'); -ALTER TABLE [Customers] DROP COLUMN [Number];", +ALTER TABLE [Customers] DROP COLUMN [Number]; +""", // - @"DECLARE @var3 sysname; +""" +DECLARE @var3 sysname; SELECT @var3 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Number'); IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT [' + @var3 + '];'); -ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Number];", +ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Number]; +""", // - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myHistorySchema].[HistoryTable]))"); +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myHistorySchema].[HistoryTable])) +"""); } [ConditionalFact] @@ -4464,41 +5040,53 @@ await Test( }); AssertSql( - @"ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name];", +ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Name'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Name];", +ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Name]; +""", // - @"DECLARE @var2 sysname; +""" +DECLARE @var2 sysname; SELECT @var2 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'); IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT [' + @var2 + '];'); -ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number];", +ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number]; +""", // - @"DECLARE @var3 sysname; +""" +DECLARE @var3 sysname; SELECT @var3 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Number'); IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT [' + @var3 + '];'); -ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Number];", +ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Number]; +""", // - @"ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[HistoryTable]))"); +""" +ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[HistoryTable])) +"""); } [ConditionalFact] @@ -4553,41 +5141,53 @@ await Test( }); AssertSql( - @"ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name];", +ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Name'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Name];", +ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Name]; +""", // - @"DECLARE @var2 sysname; +""" +DECLARE @var2 sysname; SELECT @var2 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'); IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT [' + @var2 + '];'); -ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number];", +ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number]; +""", // - @"DECLARE @var3 sysname; +""" +DECLARE @var3 sysname; SELECT @var3 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[HistoryTable]') AND [c].[name] = N'Number'); IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[HistoryTable] DROP CONSTRAINT [' + @var3 + '];'); -ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Number];", +ALTER TABLE [mySchema].[HistoryTable] DROP COLUMN [Number]; +""", // - @"ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[HistoryTable]))"); +""" +ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[HistoryTable])) +"""); } [ConditionalFact] @@ -4642,41 +5242,53 @@ await Test( }); AssertSql( - @"ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name];", +ALTER TABLE [mySchema].[Customers] DROP COLUMN [Name]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Name'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Name];", +ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Name]; +""", // - @"DECLARE @var2 sysname; +""" +DECLARE @var2 sysname; SELECT @var2 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[mySchema].[Customers]') AND [c].[name] = N'Number'); IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [mySchema].[Customers] DROP CONSTRAINT [' + @var2 + '];'); -ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number];", +ALTER TABLE [mySchema].[Customers] DROP COLUMN [Number]; +""", // - @"DECLARE @var3 sysname; +""" +DECLARE @var3 sysname; SELECT @var3 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[myHistorySchema].[HistoryTable]') AND [c].[name] = N'Number'); IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [myHistorySchema].[HistoryTable] DROP CONSTRAINT [' + @var3 + '];'); -ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Number];", +ALTER TABLE [myHistorySchema].[HistoryTable] DROP COLUMN [Number]; +""", // - @"ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myHistorySchema].[HistoryTable]))"); +""" +ALTER TABLE [mySchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myHistorySchema].[HistoryTable])) +"""); } [ConditionalFact] @@ -4727,9 +5339,13 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] ADD [Name] nvarchar(max) NULL;", +""" +ALTER TABLE [Customers] ADD [Name] nvarchar(max) NULL; +""", // - @"ALTER TABLE [Customers] ADD [Number] int NOT NULL DEFAULT 0;"); +""" +ALTER TABLE [Customers] ADD [Number] int NOT NULL DEFAULT 0; +"""); } [ConditionalFact] @@ -4783,11 +5399,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME", +""" +ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME +""", // - @"DROP TABLE [HistoryTable];"); +""" +DROP TABLE [HistoryTable]; +"""); } [ConditionalFact] @@ -4835,27 +5457,37 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME", +""" +ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodEnd'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customer] DROP COLUMN [PeriodEnd];", +ALTER TABLE [Customer] DROP COLUMN [PeriodEnd]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodStart'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [Customer] DROP COLUMN [PeriodStart];", +ALTER TABLE [Customer] DROP COLUMN [PeriodStart]; +""", // - @"DROP TABLE [CustomerHistory];"); +""" +DROP TABLE [CustomerHistory]; +"""); } [ConditionalFact] @@ -4904,27 +5536,37 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME", +""" +ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodEnd'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customer] DROP COLUMN [PeriodEnd];", +ALTER TABLE [Customer] DROP COLUMN [PeriodEnd]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customer]') AND [c].[name] = N'PeriodStart'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Customer] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [Customer] DROP COLUMN [PeriodStart];", +ALTER TABLE [Customer] DROP COLUMN [PeriodStart]; +""", // - @"DROP TABLE [HistoryTable];"); +""" +DROP TABLE [HistoryTable]; +"""); } [ConditionalFact] @@ -4977,11 +5619,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME", +""" +ALTER TABLE [Customer] DROP PERIOD FOR SYSTEM_TIME +""", // - @"DROP TABLE [historySchema].[HistoryTable];"); +""" +DROP TABLE [historySchema].[HistoryTable]; +"""); } [ConditionalFact] @@ -5035,11 +5683,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [mySchema].[Customer] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [mySchema].[Customer] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [mySchema].[Customer] DROP PERIOD FOR SYSTEM_TIME", +""" +ALTER TABLE [mySchema].[Customer] DROP PERIOD FOR SYSTEM_TIME +""", // - @"DROP TABLE [mySchema].[HistoryTable];"); +""" +DROP TABLE [mySchema].[HistoryTable]; +"""); } [ConditionalFact] @@ -5094,11 +5748,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [myDefaultSchema].[Customer] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [myDefaultSchema].[Customer] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [myDefaultSchema].[Customer] DROP PERIOD FOR SYSTEM_TIME", +""" +ALTER TABLE [myDefaultSchema].[Customer] DROP PERIOD FOR SYSTEM_TIME +""", // - @"DROP TABLE [myDefaultSchema].[HistoryTable];"); +""" +DROP TABLE [myDefaultSchema].[HistoryTable]; +"""); } [ConditionalFact] @@ -5153,11 +5813,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [myDefaultSchema].[Customer] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [myDefaultSchema].[Customer] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [myDefaultSchema].[Customer] DROP PERIOD FOR SYSTEM_TIME", +""" +ALTER TABLE [myDefaultSchema].[Customer] DROP PERIOD FOR SYSTEM_TIME +""", // - @"DROP TABLE [mySchema].[HistoryTable];"); +""" +DROP TABLE [mySchema].[HistoryTable]; +"""); } [ConditionalFact] @@ -5201,18 +5867,30 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] ADD [PeriodEnd] datetime2 NOT NULL DEFAULT '9999-12-31T23:59:59.9999999';", +""" +ALTER TABLE [Customer] ADD [PeriodEnd] datetime2 NOT NULL DEFAULT '9999-12-31T23:59:59.9999999'; +""", // - @"ALTER TABLE [Customer] ADD [PeriodStart] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000';", +""" +ALTER TABLE [Customer] ADD [PeriodStart] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000'; +""", // - @"ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([PeriodStart], [PeriodEnd])", +""" +ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([PeriodStart], [PeriodEnd]) +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [PeriodStart] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [PeriodStart] ADD HIDDEN +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [PeriodEnd] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [PeriodEnd] ADD HIDDEN +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[CustomerHistory]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[CustomerHistory]))') +"""); } [ConditionalFact] @@ -5257,18 +5935,30 @@ await Test( migrationsSqlGenerationOptions: MigrationsSqlGenerationOptions.Idempotent); AssertSql( - @"ALTER TABLE [Customer] ADD [PeriodEnd] datetime2 NOT NULL DEFAULT '9999-12-31T23:59:59.9999999';", +""" +ALTER TABLE [Customer] ADD [PeriodEnd] datetime2 NOT NULL DEFAULT '9999-12-31T23:59:59.9999999'; +""", // - @"ALTER TABLE [Customer] ADD [PeriodStart] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000';", +""" +ALTER TABLE [Customer] ADD [PeriodStart] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000'; +""", // - @"EXEC(N'ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([PeriodStart], [PeriodEnd])')", +""" +EXEC(N'ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([PeriodStart], [PeriodEnd])') +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [PeriodStart] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [PeriodStart] ADD HIDDEN +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [PeriodEnd] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [PeriodEnd] ADD HIDDEN +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[CustomerHistory]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[CustomerHistory]))') +"""); } [ConditionalFact] @@ -5319,14 +6009,22 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([Start], [End])", +""" +ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([Start], [End]) +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [Start] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [Start] ADD HIDDEN +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [End] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [End] ADD HIDDEN +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[CustomerHistory]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[CustomerHistory]))') +"""); } [ConditionalFact] @@ -5380,14 +6078,22 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([Start], [End])", +""" +ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([Start], [End]) +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [Start] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [Start] ADD HIDDEN +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [End] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [End] ADD HIDDEN +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -5437,18 +6143,30 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] ADD [End] datetime2 NOT NULL DEFAULT '9999-12-31T23:59:59.9999999';", +""" +ALTER TABLE [Customer] ADD [End] datetime2 NOT NULL DEFAULT '9999-12-31T23:59:59.9999999'; +""", // - @"ALTER TABLE [Customer] ADD [Start] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000';", +""" +ALTER TABLE [Customer] ADD [Start] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000'; +""", // - @"ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([Start], [End])", +""" +ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([Start], [End]) +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [Start] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [Start] ADD HIDDEN +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [End] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [End] ADD HIDDEN +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[CustomerHistory]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[CustomerHistory]))') +"""); } [ConditionalFact] @@ -5500,18 +6218,30 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customer] ADD [End] datetime2 NOT NULL DEFAULT '9999-12-31T23:59:59.9999999';", +""" +ALTER TABLE [Customer] ADD [End] datetime2 NOT NULL DEFAULT '9999-12-31T23:59:59.9999999'; +""", // - @"ALTER TABLE [Customer] ADD [Start] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000';", +""" +ALTER TABLE [Customer] ADD [Start] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000'; +""", // - @"ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([Start], [End])", +""" +ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([Start], [End]) +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [Start] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [Start] ADD HIDDEN +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [End] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [End] ADD HIDDEN +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -5573,9 +6303,13 @@ await Test( }); AssertSql( - @"EXEC sp_rename N'[Customer].[Start]', N'ModifiedStart', N'COLUMN';", +""" +EXEC sp_rename N'[Customer].[Start]', N'ModifiedStart', N'COLUMN'; +""", // - @"EXEC sp_rename N'[Customer].[End]', N'ModifiedEnd', N'COLUMN';"); +""" +EXEC sp_rename N'[Customer].[End]', N'ModifiedEnd', N'COLUMN'; +"""); } [ConditionalFact] @@ -5634,9 +6368,13 @@ await Test( }); AssertSql( - @"EXEC sp_rename N'[Customer].[Start]', N'ModifiedStart', N'COLUMN';", +""" +EXEC sp_rename N'[Customer].[Start]', N'ModifiedStart', N'COLUMN'; +""", // - @"EXEC sp_rename N'[Customer].[End]', N'ModifiedEnd', N'COLUMN';"); +""" +EXEC sp_rename N'[Customer].[End]', N'ModifiedEnd', N'COLUMN'; +"""); } [ConditionalFact] @@ -5681,11 +6419,13 @@ await Test( }); AssertSql( - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'My comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customers', 'COLUMN', N'End';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customers', 'COLUMN', N'End'; +"""); } [ConditionalFact] @@ -5738,7 +6478,9 @@ await Test( }); AssertSql( - @"EXEC sp_rename N'[Customer].[Name]', N'FullName', N'COLUMN';"); +""" +EXEC sp_rename N'[Customer].[Name]', N'FullName', N'COLUMN'; +"""); } [ConditionalFact] @@ -5783,7 +6525,8 @@ await Test( }); AssertSql( - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() EXEC(N'CREATE TABLE [Customer] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, @@ -5798,7 +6541,8 @@ PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) SET @description = N'Table comment'; EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customer'; SET @description = N'Column comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customer', 'COLUMN', N'Name';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customer', 'COLUMN', N'Name'; +"""); } [ConditionalFact] @@ -5850,7 +6594,8 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] @@ -5861,22 +6606,37 @@ FROM [sys].[default_constraints] [d] SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'Column comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customer', 'COLUMN', N'Name';", +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customer', 'COLUMN', N'Name'; +""", // - @"ALTER TABLE [Customer] ADD [End] datetime2 NOT NULL DEFAULT '9999-12-31T23:59:59.9999999';", +""" +ALTER TABLE [Customer] ADD [End] datetime2 NOT NULL DEFAULT '9999-12-31T23:59:59.9999999'; +""", // - @"ALTER TABLE [Customer] ADD [Start] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000';", +""" +ALTER TABLE [Customer] ADD [Start] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000'; +""", // - @"CREATE INDEX [IX_Customer_Name] ON [Customer] ([Name]);", +""" +CREATE INDEX [IX_Customer_Name] ON [Customer] ([Name]); +""", // - @"ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([Start], [End])", +""" +ALTER TABLE [Customer] ADD PERIOD FOR SYSTEM_TIME ([Start], [End]) +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [Start] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [Start] ADD HIDDEN +""", // - @"ALTER TABLE [Customer] ALTER COLUMN [End] ADD HIDDEN", +""" +ALTER TABLE [Customer] ALTER COLUMN [End] ADD HIDDEN +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customer] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -5931,19 +6691,23 @@ await Test( }); AssertSql( - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; EXEC sp_dropextendedproperty 'MS_Description', 'SCHEMA', @defaultSchema, 'TABLE', N'Customer'; SET @description = N'Modified table comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customer';", +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customer'; +""", // - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; EXEC sp_dropextendedproperty 'MS_Description', 'SCHEMA', @defaultSchema, 'TABLE', N'Customer', 'COLUMN', N'Name'; SET @description = N'Modified column comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customer', 'COLUMN', N'Name';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customer', 'COLUMN', N'Name'; +"""); } [ConditionalFact] @@ -5997,17 +6761,23 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customers] ALTER COLUMN [Name] nvarchar(450) NULL;", +ALTER TABLE [Customers] ALTER COLUMN [Name] nvarchar(450) NULL; +""", // - @"CREATE INDEX [IX_Customers_Name] ON [Customers] ([Name]);", +""" +CREATE INDEX [IX_Customers_Name] ON [Customers] ([Name]); +""", // - @"CREATE UNIQUE INDEX [IX_Customers_Number] ON [Customers] ([Number]);"); +""" +CREATE UNIQUE INDEX [IX_Customers_Number] ON [Customers] ([Number]); +"""); } [ConditionalFact] @@ -6063,17 +6833,23 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customers] ALTER COLUMN [Name] nvarchar(450) NULL;", +ALTER TABLE [Customers] ALTER COLUMN [Name] nvarchar(450) NULL; +""", // - @"CREATE INDEX [IX_Customers_End_Name] ON [Customers] ([End], [Name]);", +""" +CREATE INDEX [IX_Customers_End_Name] ON [Customers] ([End], [Name]); +""", // - @"CREATE INDEX [IX_Customers_Start] ON [Customers] ([Start]);"); +""" +CREATE INDEX [IX_Customers_Start] ON [Customers] ([Start]); +"""); } [ConditionalFact] @@ -6110,18 +6886,24 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];');", +""" +IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];'); +""", // - @"IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];');", +""" +IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];'); +""", // - @"CREATE TABLE [mySchema].[Customers] ( +""" +CREATE TABLE [mySchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[MyHistoryTable]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[MyHistoryTable])); +"""); } [ConditionalFact] @@ -6175,25 +6957,31 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];');", +""" +IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];'); +""", // - @"CREATE TABLE [mySchema].[Customers] ( +""" +CREATE TABLE [mySchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[CustomersHistory]));", +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[CustomersHistory])); +""", // - @"CREATE TABLE [mySchema].[Orders] ( +""" +CREATE TABLE [mySchema].[Orders] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Orders] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[OrdersHistory]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema].[OrdersHistory])); +"""); } [ConditionalFact] @@ -6249,27 +7037,35 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];');", +""" +IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];'); +""", // - @"IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];');", +""" +IF SCHEMA_ID(N'mySchema2') IS NULL EXEC(N'CREATE SCHEMA [mySchema2];'); +""", // - @"CREATE TABLE [mySchema].[Customers] ( +""" +CREATE TABLE [mySchema].[Customers] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Customers] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[CustomersHistoryTable]));", +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[CustomersHistoryTable])); +""", // - @"CREATE TABLE [mySchema].[Orders] ( +""" +CREATE TABLE [mySchema].[Orders] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [SystemTimeEnd] datetime2 GENERATED ALWAYS AS ROW END HIDDEN NOT NULL, [SystemTimeStart] datetime2 GENERATED ALWAYS AS ROW START HIDDEN NOT NULL, CONSTRAINT [PK_Orders] PRIMARY KEY ([Id]), PERIOD FOR SYSTEM_TIME([SystemTimeStart], [SystemTimeEnd]) -) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[OrdersHistoryTable]));"); +) WITH (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [mySchema2].[OrdersHistoryTable])); +"""); } [ConditionalFact] @@ -6370,9 +7166,13 @@ await Test( // TODO: we could avoid creating the schema if we peek into the model AssertSql( - @"IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];');", +""" +IF SCHEMA_ID(N'mySchema') IS NULL EXEC(N'CREATE SCHEMA [mySchema];'); +""", // - @"ALTER SCHEMA [mySchema] TRANSFER [mySchema2].[OrdersHistoryTable];"); +""" +ALTER SCHEMA [mySchema] TRANSFER [mySchema2].[OrdersHistoryTable]; +"""); } [ConditionalFact] @@ -6442,15 +7242,25 @@ await Test( }); AssertSql( - @"IF SCHEMA_ID(N'myModifiedDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myModifiedDefaultSchema];');", +""" +IF SCHEMA_ID(N'myModifiedDefaultSchema') IS NULL EXEC(N'CREATE SCHEMA [myModifiedDefaultSchema];'); +""", // - @"ALTER TABLE [myDefaultSchema].[Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [myDefaultSchema].[Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER SCHEMA [myModifiedDefaultSchema] TRANSFER [myDefaultSchema].[Customers];", +""" +ALTER SCHEMA [myModifiedDefaultSchema] TRANSFER [myDefaultSchema].[Customers]; +""", // - @"ALTER SCHEMA [myModifiedDefaultSchema] TRANSFER [myDefaultSchema].[CustomersHistory];", +""" +ALTER SCHEMA [myModifiedDefaultSchema] TRANSFER [myDefaultSchema].[CustomersHistory]; +""", // - @"ALTER TABLE [myModifiedDefaultSchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myModifiedDefaultSchema].[CustomersHistory]))"); +""" +ALTER TABLE [myModifiedDefaultSchema].[Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [myModifiedDefaultSchema].[CustomersHistory])) +"""); } [ConditionalFact] @@ -6507,34 +7317,50 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customers] DROP COLUMN [Number];", +ALTER TABLE [Customers] DROP COLUMN [Number]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [HistoryTable] DROP COLUMN [Number];", +ALTER TABLE [HistoryTable] DROP COLUMN [Number]; +""", // - @"EXEC sp_rename N'[Customers].[Name]', N'FullName', N'COLUMN';", +""" +EXEC sp_rename N'[Customers].[Name]', N'FullName', N'COLUMN'; +""", // - @"EXEC sp_rename N'[HistoryTable].[Name]', N'FullName', N'COLUMN';", +""" +EXEC sp_rename N'[HistoryTable].[Name]', N'FullName', N'COLUMN'; +""", // - @"EXEC sp_rename N'[Customers].[Dob]', N'DateOfBirth', N'COLUMN';", +""" +EXEC sp_rename N'[Customers].[Dob]', N'DateOfBirth', N'COLUMN'; +""", // - @"EXEC sp_rename N'[HistoryTable].[Dob]', N'DateOfBirth', N'COLUMN';", +""" +EXEC sp_rename N'[HistoryTable].[Dob]', N'DateOfBirth', N'COLUMN'; +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -6599,36 +7425,54 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"ALTER TABLE [Customers] DROP CONSTRAINT [PK_Customers];", +""" +ALTER TABLE [Customers] DROP CONSTRAINT [PK_Customers]; +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customers] DROP COLUMN [Number];", +ALTER TABLE [Customers] DROP COLUMN [Number]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [HistoryTable] DROP COLUMN [Number];", +ALTER TABLE [HistoryTable] DROP COLUMN [Number]; +""", // - @"EXEC sp_rename N'[Customers]', N'ModifiedCustomers';", +""" +EXEC sp_rename N'[Customers]', N'ModifiedCustomers'; +""", // - @"EXEC sp_rename N'[ModifiedCustomers].[Name]', N'FullName', N'COLUMN';", +""" +EXEC sp_rename N'[ModifiedCustomers].[Name]', N'FullName', N'COLUMN'; +""", // - @"EXEC sp_rename N'[HistoryTable].[Name]', N'FullName', N'COLUMN';", +""" +EXEC sp_rename N'[HistoryTable].[Name]', N'FullName', N'COLUMN'; +""", // - @"ALTER TABLE [ModifiedCustomers] ADD CONSTRAINT [PK_ModifiedCustomers] PRIMARY KEY ([Id]);", +""" +ALTER TABLE [ModifiedCustomers] ADD CONSTRAINT [PK_ModifiedCustomers] PRIMARY KEY ([Id]); +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [ModifiedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [ModifiedCustomers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -6693,32 +7537,46 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customers] DROP COLUMN [Number];", +ALTER TABLE [Customers] DROP COLUMN [Number]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [HistoryTable] DROP COLUMN [Number];", +ALTER TABLE [HistoryTable] DROP COLUMN [Number]; +""", // - @"EXEC sp_rename N'[Customers].[Name]', N'FullName', N'COLUMN';", +""" +EXEC sp_rename N'[Customers].[Name]', N'FullName', N'COLUMN'; +""", // - @"EXEC sp_rename N'[HistoryTable].[Name]', N'FullName', N'COLUMN';", +""" +EXEC sp_rename N'[HistoryTable].[Name]', N'FullName', N'COLUMN'; +""", // - @"EXEC sp_rename N'[HistoryTable]', N'ModifiedHistoryTable';", +""" +EXEC sp_rename N'[HistoryTable]', N'ModifiedHistoryTable'; +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[ModifiedHistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[ModifiedHistoryTable]))') +"""); } [ConditionalFact] @@ -6774,30 +7632,42 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customers] DROP COLUMN [Number];", +ALTER TABLE [Customers] DROP COLUMN [Number]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [HistoryTable] DROP COLUMN [Number];", +ALTER TABLE [HistoryTable] DROP COLUMN [Number]; +""", // - @"ALTER TABLE [Customers] ADD [DateOfBirth] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000';", +""" +ALTER TABLE [Customers] ADD [DateOfBirth] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000'; +""", // - @"ALTER TABLE [HistoryTable] ADD [DateOfBirth] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000';", +""" +ALTER TABLE [HistoryTable] ADD [DateOfBirth] datetime2 NOT NULL DEFAULT '0001-01-01T00:00:00.0000000'; +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -6854,38 +7724,50 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'Number'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customers] DROP COLUMN [Number];", +ALTER TABLE [Customers] DROP COLUMN [Number]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'Number'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [HistoryTable] DROP COLUMN [Number];", +ALTER TABLE [HistoryTable] DROP COLUMN [Number]; +""", // - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'My comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customers', 'COLUMN', N'Name';", +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customers', 'COLUMN', N'Name'; +""", // - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'My comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'HistoryTable', 'COLUMN', N'Name';", +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'HistoryTable', 'COLUMN', N'Name'; +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -6945,13 +7827,17 @@ await Test( }); AssertSql( - @"EXEC sp_rename N'[Customers].[Start]', N'ModifiedStart', N'COLUMN';", +""" +EXEC sp_rename N'[Customers].[Start]', N'ModifiedStart', N'COLUMN'; +""", // - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'My comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customers', 'COLUMN', N'End';"); +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customers', 'COLUMN', N'End'; +"""); } [ConditionalFact] @@ -7012,42 +7898,58 @@ await Test( }); AssertSql( - @"ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF)", +""" +ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = OFF) +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Customers]') AND [c].[name] = N'DateOfBirth'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Customers] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Customers] DROP COLUMN [DateOfBirth];", +ALTER TABLE [Customers] DROP COLUMN [DateOfBirth]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[HistoryTable]') AND [c].[name] = N'DateOfBirth'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [HistoryTable] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [HistoryTable] DROP COLUMN [DateOfBirth];", +ALTER TABLE [HistoryTable] DROP COLUMN [DateOfBirth]; +""", // - @"EXEC sp_rename N'[Customers].[Start]', N'ModifiedStart', N'COLUMN';", +""" +EXEC sp_rename N'[Customers].[Start]', N'ModifiedStart', N'COLUMN'; +""", // - @"EXEC sp_rename N'[HistoryTable].[Start]', N'ModifiedStart', N'COLUMN';", +""" +EXEC sp_rename N'[HistoryTable].[Start]', N'ModifiedStart', N'COLUMN'; +""", // - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'My comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customers', 'COLUMN', N'End';", +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'Customers', 'COLUMN', N'End'; +""", // - @"DECLARE @defaultSchema AS sysname; +""" +DECLARE @defaultSchema AS sysname; SET @defaultSchema = SCHEMA_NAME(); DECLARE @description AS sql_variant; SET @description = N'My comment'; -EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'HistoryTable', 'COLUMN', N'End';", +EXEC sp_addextendedproperty 'MS_Description', @description, 'SCHEMA', @defaultSchema, 'TABLE', N'HistoryTable', 'COLUMN', N'End'; +""", // - @"DECLARE @historyTableSchema sysname = SCHEMA_NAME() -EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))')"); +""" +DECLARE @historyTableSchema sysname = SCHEMA_NAME() +EXEC(N'ALTER TABLE [Customers] SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = [' + @historyTableSchema + '].[HistoryTable]))') +"""); } [ConditionalFact] @@ -7139,14 +8041,16 @@ await Test( }); AssertSql( - @"CREATE TABLE [Entity] ( +""" +CREATE TABLE [Entity] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [OwnedCollection] nvarchar(max) NULL, [OwnedReference] nvarchar(max) NULL, [OwnedRequiredReference] nvarchar(max) NOT NULL, CONSTRAINT [PK_Entity] PRIMARY KEY ([Id]) -);"); +); +"""); } [ConditionalFact] @@ -7222,13 +8126,15 @@ await Test( }); AssertSql( - @"CREATE TABLE [Entity] ( +""" +CREATE TABLE [Entity] ( [Id] int NOT NULL IDENTITY, [Name] nvarchar(max) NULL, [json_collection] nvarchar(max) NULL, [json_reference] nvarchar(max) NULL, CONSTRAINT [PK_Entity] PRIMARY KEY ([Id]) -);"); +); +"""); } [ConditionalFact] @@ -7327,11 +8233,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [Entity] ADD [OwnedCollection] nvarchar(max) NULL;", +""" +ALTER TABLE [Entity] ADD [OwnedCollection] nvarchar(max) NULL; +""", // - @"ALTER TABLE [Entity] ADD [OwnedReference] nvarchar(max) NULL;", +""" +ALTER TABLE [Entity] ADD [OwnedReference] nvarchar(max) NULL; +""", // - @"ALTER TABLE [Entity] ADD [OwnedRequiredReference] nvarchar(max) NOT NULL DEFAULT N'';"); +""" +ALTER TABLE [Entity] ADD [OwnedRequiredReference] nvarchar(max) NOT NULL DEFAULT N''; +"""); } [ConditionalFact] @@ -7403,21 +8315,25 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedCollection'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Entity] DROP COLUMN [OwnedCollection];", +ALTER TABLE [Entity] DROP COLUMN [OwnedCollection]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [Entity] DROP COLUMN [OwnedReference];"); +ALTER TABLE [Entity] DROP COLUMN [OwnedReference]; +"""); } [ConditionalFact] @@ -7537,9 +8453,13 @@ await Test( }); AssertSql( - @"EXEC sp_rename N'[Entity].[json_reference]', N'new_json_reference', N'COLUMN';", +""" +EXEC sp_rename N'[Entity].[json_reference]', N'new_json_reference', N'COLUMN'; +""", // - @"EXEC sp_rename N'[Entity].[json_collection]', N'new_json_collection', N'COLUMN';"); +""" +EXEC sp_rename N'[Entity].[json_collection]', N'new_json_collection', N'COLUMN'; +"""); } [ConditionalFact] @@ -7661,11 +8581,17 @@ await Test( }); AssertSql( - @"ALTER TABLE [Entities] DROP CONSTRAINT [PK_Entities];", +""" +ALTER TABLE [Entities] DROP CONSTRAINT [PK_Entities]; +""", // - @"EXEC sp_rename N'[Entities]', N'NewEntities';", +""" +EXEC sp_rename N'[Entities]', N'NewEntities'; +""", // - @"ALTER TABLE [NewEntities] ADD CONSTRAINT [PK_NewEntities] PRIMARY KEY ([Id]);"); +""" +ALTER TABLE [NewEntities] ADD CONSTRAINT [PK_NewEntities] PRIMARY KEY ([Id]); +"""); } [ConditionalFact] @@ -7783,31 +8709,45 @@ await Test( }); AssertSql( - @"DROP TABLE [Entity_NestedCollection];", +""" +DROP TABLE [Entity_NestedCollection]; +""", // - @"DROP TABLE [Entity_OwnedCollection_NestedCollection2];", +""" +DROP TABLE [Entity_OwnedCollection_NestedCollection2]; +""", // - @"DROP TABLE [Entity_OwnedCollection];", +""" +DROP TABLE [Entity_OwnedCollection]; +""", // - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference_Date'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Entity] DROP COLUMN [OwnedReference_Date];", +ALTER TABLE [Entity] DROP COLUMN [OwnedReference_Date]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference_NestedReference_Number'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [Entity] DROP COLUMN [OwnedReference_NestedReference_Number];", +ALTER TABLE [Entity] DROP COLUMN [OwnedReference_NestedReference_Number]; +""", // - @"ALTER TABLE [Entity] ADD [OwnedCollection] nvarchar(max) NULL;", +""" +ALTER TABLE [Entity] ADD [OwnedCollection] nvarchar(max) NULL; +""", // - @"ALTER TABLE [Entity] ADD [OwnedReference] nvarchar(max) NULL;"); +""" +ALTER TABLE [Entity] ADD [OwnedReference] nvarchar(max) NULL; +"""); } [ConditionalFact] @@ -7906,51 +8846,65 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedCollection'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT [' + @var0 + '];'); -ALTER TABLE [Entity] DROP COLUMN [OwnedCollection];", +ALTER TABLE [Entity] DROP COLUMN [OwnedCollection]; +""", // - @"DECLARE @var1 sysname; +""" +DECLARE @var1 sysname; SELECT @var1 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Entity]') AND [c].[name] = N'OwnedReference'); IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT [' + @var1 + '];'); -ALTER TABLE [Entity] DROP COLUMN [OwnedReference];", +ALTER TABLE [Entity] DROP COLUMN [OwnedReference]; +""", // - @"ALTER TABLE [Entity] ADD [OwnedReference_Date] datetime2 NULL;", +""" +ALTER TABLE [Entity] ADD [OwnedReference_Date] datetime2 NULL; +""", // - @"ALTER TABLE [Entity] ADD [OwnedReference_NestedReference_Number] int NULL;", +""" +ALTER TABLE [Entity] ADD [OwnedReference_NestedReference_Number] int NULL; +""", // - @"CREATE TABLE [Entity_NestedCollection] ( +""" +CREATE TABLE [Entity_NestedCollection] ( [OwnedEntityId] int NOT NULL, [Id] int NOT NULL IDENTITY, [Number2] int NOT NULL, CONSTRAINT [PK_Entity_NestedCollection] PRIMARY KEY ([OwnedEntityId], [Id]), CONSTRAINT [FK_Entity_NestedCollection_Entity_OwnedEntityId] FOREIGN KEY ([OwnedEntityId]) REFERENCES [Entity] ([Id]) ON DELETE CASCADE -);", +); +""", // - @"CREATE TABLE [Entity_OwnedCollection] ( +""" +CREATE TABLE [Entity_OwnedCollection] ( [EntityId] int NOT NULL, [Id] int NOT NULL IDENTITY, [NestedReference2_Number3] int NULL, [Date2] datetime2 NOT NULL, CONSTRAINT [PK_Entity_OwnedCollection] PRIMARY KEY ([EntityId], [Id]), CONSTRAINT [FK_Entity_OwnedCollection_Entity_EntityId] FOREIGN KEY ([EntityId]) REFERENCES [Entity] ([Id]) ON DELETE CASCADE -);", +); +""", // - @"CREATE TABLE [Entity_OwnedCollection_NestedCollection2] ( +""" +CREATE TABLE [Entity_OwnedCollection_NestedCollection2] ( [Owned2EntityId] int NOT NULL, [Owned2Id] int NOT NULL, [Id] int NOT NULL IDENTITY, [Number4] int NOT NULL, CONSTRAINT [PK_Entity_OwnedCollection_NestedCollection2] PRIMARY KEY ([Owned2EntityId], [Owned2Id], [Id]), CONSTRAINT [FK_Entity_OwnedCollection_NestedCollection2_Entity_OwnedCollection_Owned2EntityId_Owned2Id] FOREIGN KEY ([Owned2EntityId], [Owned2Id]) REFERENCES [Entity_OwnedCollection] ([EntityId], [Id]) ON DELETE CASCADE -);"); +); +"""); } [ConditionalFact] @@ -8057,7 +9011,8 @@ await Test( }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] @@ -8065,7 +9020,8 @@ FROM [sys].[default_constraints] [d] IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Entity] DROP CONSTRAINT [' + @var0 + '];'); UPDATE [Entity] SET [Name] = N'' WHERE [Name] IS NULL; ALTER TABLE [Entity] ALTER COLUMN [Name] nvarchar(max) NOT NULL; -ALTER TABLE [Entity] ADD DEFAULT N'' FOR [Name];"); +ALTER TABLE [Entity] ADD DEFAULT N'' FOR [Name]; +"""); } [ConditionalFact] diff --git a/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs b/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs index b54b3168c06..1303ce6615d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Migrations/SqlServerMigrationsSqlGeneratorTest.cs @@ -24,8 +24,9 @@ public void CreateIndexOperation_unique_online() }); AssertSql( - @"CREATE UNIQUE INDEX [IX_People_Name] ON [dbo].[People] ([FirstName], [LastName]) WHERE [FirstName] IS NOT NULL AND [LastName] IS NOT NULL WITH (ONLINE = ON); -"); +""" +CREATE UNIQUE INDEX [IX_People_Name] ON [dbo].[People] ([FirstName], [LastName]) WHERE [FirstName] IS NOT NULL AND [LastName] IS NOT NULL WITH (ONLINE = ON); +"""); } [ConditionalFact] @@ -45,8 +46,9 @@ public virtual void AddColumnOperation_identity_legacy() }); AssertSql( - @"ALTER TABLE [People] ADD [Id] int NOT NULL IDENTITY; -"); +""" +ALTER TABLE [People] ADD [Id] int NOT NULL IDENTITY; +"""); } public override void AddColumnOperation_without_column_type() @@ -54,8 +56,9 @@ public override void AddColumnOperation_without_column_type() base.AddColumnOperation_without_column_type(); AssertSql( - @"ALTER TABLE [People] ADD [Alias] nvarchar(max) NOT NULL; -"); +""" +ALTER TABLE [People] ADD [Alias] nvarchar(max) NOT NULL; +"""); } public override void AddColumnOperation_with_unicode_no_model() @@ -63,8 +66,9 @@ public override void AddColumnOperation_with_unicode_no_model() base.AddColumnOperation_with_unicode_no_model(); AssertSql( - @"ALTER TABLE [Person] ADD [Name] varchar(max) NULL; -"); +""" +ALTER TABLE [Person] ADD [Name] varchar(max) NULL; +"""); } public override void AddColumnOperation_with_fixed_length_no_model() @@ -72,8 +76,9 @@ public override void AddColumnOperation_with_fixed_length_no_model() base.AddColumnOperation_with_fixed_length_no_model(); AssertSql( - @"ALTER TABLE [Person] ADD [Name] char(100) NULL; -"); +""" +ALTER TABLE [Person] ADD [Name] char(100) NULL; +"""); } public override void AddColumnOperation_with_maxLength_no_model() @@ -81,8 +86,9 @@ public override void AddColumnOperation_with_maxLength_no_model() base.AddColumnOperation_with_maxLength_no_model(); AssertSql( - @"ALTER TABLE [Person] ADD [Name] nvarchar(30) NULL; -"); +""" +ALTER TABLE [Person] ADD [Name] nvarchar(30) NULL; +"""); } public override void AddColumnOperation_with_maxLength_overridden() @@ -90,8 +96,9 @@ public override void AddColumnOperation_with_maxLength_overridden() base.AddColumnOperation_with_maxLength_overridden(); AssertSql( - @"ALTER TABLE [Person] ADD [Name] nvarchar(32) NULL; -"); +""" +ALTER TABLE [Person] ADD [Name] nvarchar(32) NULL; +"""); } public override void AddColumnOperation_with_precision_and_scale_overridden() @@ -99,8 +106,9 @@ public override void AddColumnOperation_with_precision_and_scale_overridden() base.AddColumnOperation_with_precision_and_scale_overridden(); AssertSql( - @"ALTER TABLE [Person] ADD [Pi] decimal(15,10) NOT NULL; -"); +""" +ALTER TABLE [Person] ADD [Pi] decimal(15,10) NOT NULL; +"""); } public override void AddColumnOperation_with_precision_and_scale_no_model() @@ -108,8 +116,9 @@ public override void AddColumnOperation_with_precision_and_scale_no_model() base.AddColumnOperation_with_precision_and_scale_no_model(); AssertSql( - @"ALTER TABLE [Person] ADD [Pi] decimal(20,7) NOT NULL; -"); +""" +ALTER TABLE [Person] ADD [Pi] decimal(20,7) NOT NULL; +"""); } public override void AddColumnOperation_with_unicode_overridden() @@ -117,8 +126,9 @@ public override void AddColumnOperation_with_unicode_overridden() base.AddColumnOperation_with_unicode_overridden(); AssertSql( - @"ALTER TABLE [Person] ADD [Name] nvarchar(max) NULL; -"); +""" +ALTER TABLE [Person] ADD [Name] nvarchar(max) NULL; +"""); } [ConditionalFact] @@ -136,8 +146,9 @@ public virtual void AddColumnOperation_with_rowversion_overridden() }); AssertSql( - @"ALTER TABLE [Person] ADD [RowVersion] rowversion NULL; -"); +""" +ALTER TABLE [Person] ADD [RowVersion] rowversion NULL; +"""); } [ConditionalFact] @@ -154,8 +165,9 @@ public virtual void AddColumnOperation_with_rowversion_no_model() }); AssertSql( - @"ALTER TABLE [Person] ADD [RowVersion] rowversion NULL; -"); +""" +ALTER TABLE [Person] ADD [RowVersion] rowversion NULL; +"""); } public override void AlterColumnOperation_without_column_type() @@ -163,14 +175,15 @@ public override void AlterColumnOperation_without_column_type() base.AlterColumnOperation_without_column_type(); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'LuckyNumber'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [People] ALTER COLUMN [LuckyNumber] int NOT NULL; -"); +"""); } public override void AddForeignKeyOperation_without_principal_columns() @@ -178,8 +191,9 @@ public override void AddForeignKeyOperation_without_principal_columns() base.AddForeignKeyOperation_without_principal_columns(); AssertSql( - @"ALTER TABLE [People] ADD FOREIGN KEY ([SpouseId]) REFERENCES [People]; -"); +""" +ALTER TABLE [People] ADD FOREIGN KEY ([SpouseId]) REFERENCES [People]; +"""); } [ConditionalFact] @@ -196,14 +210,15 @@ public virtual void AlterColumnOperation_with_identity_legacy() }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[People]') AND [c].[name] = N'Id'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [People] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [People] ALTER COLUMN [Id] int NOT NULL; -"); +"""); } [ConditionalFact] @@ -229,14 +244,15 @@ public virtual void AlterColumnOperation_with_index_no_oldColumn() }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Name'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [Person] ALTER COLUMN [Name] nvarchar(30) NULL; -"); +"""); } [ConditionalFact] @@ -268,7 +284,8 @@ public virtual void AlterColumnOperation_with_added_index() }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] @@ -278,7 +295,7 @@ FROM [sys].[default_constraints] [d] GO CREATE INDEX [IX_Person_Name] ON [Person] ([Name]); -"); +"""); } [ConditionalFact] @@ -309,7 +326,8 @@ public virtual void AlterColumnOperation_with_added_index_no_oldType() }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] @@ -319,7 +337,7 @@ FROM [sys].[default_constraints] [d] GO CREATE INDEX [IX_Person_Name] ON [Person] ([Name]); -"); +"""); } [ConditionalFact] @@ -341,14 +359,15 @@ public virtual void AlterColumnOperation_identity_legacy() }); AssertSql( - @"DECLARE @var0 sysname; +""" +DECLARE @var0 sysname; SELECT @var0 = [d].[name] FROM [sys].[default_constraints] [d] INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id] WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Person]') AND [c].[name] = N'Id'); IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [Person] DROP CONSTRAINT [' + @var0 + '];'); ALTER TABLE [Person] ALTER COLUMN [Id] bigint NOT NULL; -"); +"""); } [ConditionalFact] @@ -397,14 +416,15 @@ public virtual void CreateDatabaseOperation() new SqlServerCreateDatabaseOperation { Name = "Northwind" }); AssertSql( - @"CREATE DATABASE [Northwind]; +""" +CREATE DATABASE [Northwind]; GO IF SERVERPROPERTY('EngineEdition') <> 5 BEGIN ALTER DATABASE [Northwind] SET READ_COMMITTED_SNAPSHOT ON; END; -"); +"""); } [ConditionalFact] @@ -417,7 +437,8 @@ public virtual void CreateDatabaseOperation_with_filename() var expectedLog = Path.GetFullPath("Narf_log.ldf"); AssertSql( - $@"CREATE DATABASE [Northwind] +$""" +CREATE DATABASE [Northwind] ON (NAME = N'Narf', FILENAME = N'{expectedFile}') LOG ON (NAME = N'Narf_log', FILENAME = N'{expectedLog}'); GO @@ -426,7 +447,7 @@ IF SERVERPROPERTY('EngineEdition') <> 5 BEGIN ALTER DATABASE [Northwind] SET READ_COMMITTED_SNAPSHOT ON; END; -"); +"""); } [ConditionalFact] @@ -441,7 +462,8 @@ public virtual void CreateDatabaseOperation_with_filename_and_datadirectory() var expectedLog = Path.Combine(baseDirectory, "Narf_log.ldf"); AssertSql( - $@"CREATE DATABASE [Northwind] +$""" +CREATE DATABASE [Northwind] ON (NAME = N'Narf', FILENAME = N'{expectedFile}') LOG ON (NAME = N'Narf_log', FILENAME = N'{expectedLog}'); GO @@ -450,7 +472,7 @@ IF SERVERPROPERTY('EngineEdition') <> 5 BEGIN ALTER DATABASE [Northwind] SET READ_COMMITTED_SNAPSHOT ON; END; -"); +"""); } [ConditionalFact] @@ -469,7 +491,8 @@ public virtual void CreateDatabaseOperation_with_filename_and_custom_datadirecto var expectedLog = Path.Combine(dataDirectory, "Narf_log.ldf"); AssertSql( - $@"CREATE DATABASE [Northwind] +$""" +CREATE DATABASE [Northwind] ON (NAME = N'Narf', FILENAME = N'{expectedFile}') LOG ON (NAME = N'Narf_log', FILENAME = N'{expectedLog}'); GO @@ -478,7 +501,7 @@ IF SERVERPROPERTY('EngineEdition') <> 5 BEGIN ALTER DATABASE [Northwind] SET READ_COMMITTED_SNAPSHOT ON; END; -"); +"""); } [ConditionalFact] @@ -488,7 +511,8 @@ public virtual void CreateDatabaseOperation_with_collation() new SqlServerCreateDatabaseOperation { Name = "Northwind", Collation = "German_PhoneBook_CI_AS" }); AssertSql( - @"CREATE DATABASE [Northwind] +""" +CREATE DATABASE [Northwind] COLLATE German_PhoneBook_CI_AS; GO @@ -496,7 +520,7 @@ IF SERVERPROPERTY('EngineEdition') <> 5 BEGIN ALTER DATABASE [Northwind] SET READ_COMMITTED_SNAPSHOT ON; END; -"); +"""); } [ConditionalFact] @@ -517,13 +541,14 @@ public virtual void AlterDatabaseOperation_collation_to_default() new AlterDatabaseOperation { Collation = null, OldDatabase = { Collation = "SQL_Latin1_General_CP1_CI_AS" } }); AssertSql( - @"BEGIN +""" +BEGIN DECLARE @db_name nvarchar(max) = DB_NAME(); DECLARE @defaultCollation nvarchar(max) = CAST(SERVERPROPERTY('Collation') AS nvarchar(max)); EXEC(N'ALTER DATABASE [' + @db_name + '] COLLATE ' + @defaultCollation + N';'); END -"); +"""); } [ConditionalFact] @@ -544,14 +569,15 @@ public virtual void DropDatabaseOperation() new SqlServerDropDatabaseOperation { Name = "Northwind" }); AssertSql( - @"IF SERVERPROPERTY('EngineEdition') <> 5 +""" +IF SERVERPROPERTY('EngineEdition') <> 5 BEGIN ALTER DATABASE [Northwind] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; END; GO DROP DATABASE [Northwind]; -"); +"""); } [ConditionalFact] @@ -580,8 +606,9 @@ public virtual void MoveSequenceOperation_legacy() }); AssertSql( - @"ALTER SCHEMA [my] TRANSFER [dbo].[EntityFrameworkHiLoSequence]; -"); +""" +ALTER SCHEMA [my] TRANSFER [dbo].[EntityFrameworkHiLoSequence]; +"""); } [ConditionalFact] @@ -596,8 +623,9 @@ public virtual void MoveTableOperation_legacy() }); AssertSql( - @"ALTER SCHEMA [hr] TRANSFER [dbo].[People]; -"); +""" +ALTER SCHEMA [hr] TRANSFER [dbo].[People]; +"""); } [ConditionalFact] @@ -627,8 +655,9 @@ public virtual void RenameSequenceOperation_legacy() }); AssertSql( - @"EXEC sp_rename N'[dbo].[EntityFrameworkHiLoSequence]', N'MySequence'; -"); +""" +EXEC sp_rename N'[dbo].[EntityFrameworkHiLoSequence]', N'MySequence'; +"""); } [ConditionalFact] @@ -637,8 +666,9 @@ public override void RenameTableOperation_legacy() base.RenameTableOperation_legacy(); AssertSql( - @"EXEC sp_rename N'[dbo].[People]', N'Person'; -"); +""" +EXEC sp_rename N'[dbo].[People]', N'Person'; +"""); } public override void RenameTableOperation() @@ -646,8 +676,9 @@ public override void RenameTableOperation() base.RenameTableOperation(); AssertSql( - @"EXEC sp_rename N'[dbo].[People]', N'Person'; -"); +""" +EXEC sp_rename N'[dbo].[People]', N'Person'; +"""); } [ConditionalFact] @@ -657,8 +688,9 @@ public virtual void SqlOperation_handles_backslash() new SqlOperation { Sql = @"-- Multiline \" + EOL + "comment" }); AssertSql( - @"-- Multiline comment -"); +""" +-- Multiline comment +"""); } [ConditionalFact] @@ -668,8 +700,9 @@ public virtual void SqlOperation_ignores_sequential_gos() new SqlOperation { Sql = "-- Ready set" + EOL + "GO" + EOL + "GO" }); AssertSql( - @"-- Ready set -"); +""" +-- Ready set +"""); } [ConditionalFact] @@ -679,11 +712,12 @@ public virtual void SqlOperation_handles_go() new SqlOperation { Sql = "-- I" + EOL + "go" + EOL + "-- Too" }); AssertSql( - @"-- I +""" +-- I GO -- Too -"); +"""); } [ConditionalFact] @@ -693,11 +727,12 @@ public virtual void SqlOperation_handles_go_with_count() new SqlOperation { Sql = "-- I" + EOL + "GO 2" }); AssertSql( - @"-- I +""" +-- I GO -- I -"); +"""); } [ConditionalFact] @@ -707,8 +742,9 @@ public virtual void SqlOperation_ignores_non_go() new SqlOperation { Sql = "-- I GO 2" }); AssertSql( - @"-- I GO 2 -"); +""" +-- I GO 2 +"""); } public override void SqlOperation() @@ -716,8 +752,9 @@ public override void SqlOperation() base.SqlOperation(); AssertSql( - @"-- I <3 DDL -"); +""" +-- I <3 DDL +"""); } public override void InsertDataOperation_all_args_spatial() @@ -725,7 +762,8 @@ public override void InsertDataOperation_all_args_spatial() base.InsertDataOperation_all_args_spatial(); AssertSql( - @"IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Full Name', N'Geometry') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) +""" +IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Full Name', N'Geometry') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) SET IDENTITY_INSERT [dbo].[People] ON; INSERT INTO [dbo].[People] ([Id], [Full Name], [Geometry]) VALUES (0, NULL, NULL), @@ -738,7 +776,7 @@ INSERT INTO [dbo].[People] ([Id], [Full Name], [Geometry]) (7, 'Aemon Targaryen', geography::Parse('GEOMETRYCOLLECTION (LINESTRING (1.1 2.2 NULL, 2.2 2.2 NULL, 2.2 1.1 NULL, 7.1 7.2 NULL), LINESTRING (7.1 7.2 NULL, 20.2 20.2 NULL, 20.2 1.1 NULL, 70.1 70.2 NULL), MULTIPOINT ((1.1 2.2 NULL), (2.2 2.2 NULL), (2.2 1.1 NULL)), POLYGON ((1.1 2.2 NULL, 2.2 2.2 NULL, 2.2 1.1 NULL, 1.1 2.2 NULL)), POLYGON ((10.1 20.2 NULL, 20.2 20.2 NULL, 20.2 10.1 NULL, 10.1 20.2 NULL)), POINT (1.1 2.2 3.3), MULTILINESTRING ((1.1 2.2 NULL, 2.2 2.2 NULL, 2.2 1.1 NULL, 7.1 7.2 NULL), (7.1 7.2 NULL, 20.2 20.2 NULL, 20.2 1.1 NULL, 70.1 70.2 NULL)), MULTIPOLYGON (((10.1 20.2 NULL, 20.2 20.2 NULL, 20.2 10.1 NULL, 10.1 20.2 NULL)), ((1.1 2.2 NULL, 2.2 2.2 NULL, 2.2 1.1 NULL, 1.1 2.2 NULL))))')); IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Full Name', N'Geometry') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) SET IDENTITY_INSERT [dbo].[People] OFF; -"); +"""); } // The test data we're using is geographic but is represented in NTS as a GeometryCollection @@ -750,13 +788,14 @@ public override void InsertDataOperation_required_args() base.InsertDataOperation_required_args(); AssertSql( - @"IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) +""" +IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) SET IDENTITY_INSERT [dbo].[People] ON; INSERT INTO [dbo].[People] ([First Name]) VALUES (N'John'); IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) SET IDENTITY_INSERT [dbo].[People] OFF; -"); +"""); } public override void InsertDataOperation_required_args_composite() @@ -764,13 +803,14 @@ public override void InsertDataOperation_required_args_composite() base.InsertDataOperation_required_args_composite(); AssertSql( - @"IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name', N'Last Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) +""" +IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name', N'Last Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) SET IDENTITY_INSERT [dbo].[People] ON; INSERT INTO [dbo].[People] ([First Name], [Last Name]) VALUES (N'John', N'Snow'); IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name', N'Last Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) SET IDENTITY_INSERT [dbo].[People] OFF; -"); +"""); } public override void InsertDataOperation_required_args_multiple_rows() @@ -778,14 +818,15 @@ public override void InsertDataOperation_required_args_multiple_rows() base.InsertDataOperation_required_args_multiple_rows(); AssertSql( - @"IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) +""" +IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) SET IDENTITY_INSERT [dbo].[People] ON; INSERT INTO [dbo].[People] ([First Name]) VALUES (N'John'), (N'Daenerys'); IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) SET IDENTITY_INSERT [dbo].[People] OFF; -"); +"""); } [ConditionalFact] @@ -808,7 +849,8 @@ public virtual void InsertDataOperation_max_batch_size_is_respected() }); AssertSql( - @"IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) +""" +IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) SET IDENTITY_INSERT [dbo].[People] ON; INSERT INTO [dbo].[People] ([First Name]) VALUES (N'Foo0'), @@ -864,7 +906,7 @@ INSERT INTO [dbo].[People] ([First Name]) (N'Foo49'); IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'First Name') AND [object_id] = OBJECT_ID(N'[dbo].[People]')) SET IDENTITY_INSERT [dbo].[People] OFF; -"); +"""); } public override void InsertDataOperation_throws_for_unsupported_column_types() @@ -875,7 +917,8 @@ public override void DeleteDataOperation_all_args() base.DeleteDataOperation_all_args(); AssertSql( - @"DELETE FROM [People] +""" +DELETE FROM [People] WHERE [First Name] = N'Hodor'; SELECT @@ROWCOUNT; @@ -895,7 +938,7 @@ DELETE FROM [People] WHERE [First Name] = N'Harry'; SELECT @@ROWCOUNT; -"); +"""); } public override void DeleteDataOperation_all_args_composite() @@ -903,7 +946,8 @@ public override void DeleteDataOperation_all_args_composite() base.DeleteDataOperation_all_args_composite(); AssertSql( - @"DELETE FROM [People] +""" +DELETE FROM [People] WHERE [First Name] = N'Hodor' AND [Last Name] IS NULL; SELECT @@ROWCOUNT; @@ -923,7 +967,7 @@ DELETE FROM [People] WHERE [First Name] = N'Harry' AND [Last Name] = N'Strickland'; SELECT @@ROWCOUNT; -"); +"""); } public override void DeleteDataOperation_required_args() @@ -931,11 +975,12 @@ public override void DeleteDataOperation_required_args() base.DeleteDataOperation_required_args(); AssertSql( - @"DELETE FROM [People] +""" +DELETE FROM [People] WHERE [Last Name] = N'Snow'; SELECT @@ROWCOUNT; -"); +"""); } public override void DeleteDataOperation_required_args_composite() @@ -943,11 +988,12 @@ public override void DeleteDataOperation_required_args_composite() base.DeleteDataOperation_required_args_composite(); AssertSql( - @"DELETE FROM [People] +""" +DELETE FROM [People] WHERE [First Name] = N'John' AND [Last Name] = N'Snow'; SELECT @@ROWCOUNT; -"); +"""); } public override void UpdateDataOperation_all_args() @@ -955,7 +1001,8 @@ public override void UpdateDataOperation_all_args() base.UpdateDataOperation_all_args(); AssertSql( - @"UPDATE [People] SET [Birthplace] = N'Winterfell', [House Allegiance] = N'Stark', [Culture] = N'Northmen' +""" +UPDATE [People] SET [Birthplace] = N'Winterfell', [House Allegiance] = N'Stark', [Culture] = N'Northmen' WHERE [First Name] = N'Hodor'; SELECT @@ROWCOUNT; @@ -963,7 +1010,7 @@ public override void UpdateDataOperation_all_args() WHERE [First Name] = N'Daenerys'; SELECT @@ROWCOUNT; -"); +"""); } public override void UpdateDataOperation_all_args_composite() @@ -971,7 +1018,8 @@ public override void UpdateDataOperation_all_args_composite() base.UpdateDataOperation_all_args_composite(); AssertSql( - @"UPDATE [People] SET [House Allegiance] = N'Stark' +""" +UPDATE [People] SET [House Allegiance] = N'Stark' WHERE [First Name] = N'Hodor' AND [Last Name] IS NULL; SELECT @@ROWCOUNT; @@ -979,7 +1027,7 @@ public override void UpdateDataOperation_all_args_composite() WHERE [First Name] = N'Daenerys' AND [Last Name] = N'Targaryen'; SELECT @@ROWCOUNT; -"); +"""); } public override void UpdateDataOperation_all_args_composite_multi() @@ -987,7 +1035,8 @@ public override void UpdateDataOperation_all_args_composite_multi() base.UpdateDataOperation_all_args_composite_multi(); AssertSql( - @"UPDATE [People] SET [Birthplace] = N'Winterfell', [House Allegiance] = N'Stark', [Culture] = N'Northmen' +""" +UPDATE [People] SET [Birthplace] = N'Winterfell', [House Allegiance] = N'Stark', [Culture] = N'Northmen' WHERE [First Name] = N'Hodor' AND [Last Name] IS NULL; SELECT @@ROWCOUNT; @@ -995,7 +1044,7 @@ public override void UpdateDataOperation_all_args_composite_multi() WHERE [First Name] = N'Daenerys' AND [Last Name] = N'Targaryen'; SELECT @@ROWCOUNT; -"); +"""); } public override void UpdateDataOperation_all_args_multi() @@ -1003,11 +1052,12 @@ public override void UpdateDataOperation_all_args_multi() base.UpdateDataOperation_all_args_multi(); AssertSql( - @"UPDATE [People] SET [Birthplace] = N'Dragonstone', [House Allegiance] = N'Targaryen', [Culture] = N'Valyrian' +""" +UPDATE [People] SET [Birthplace] = N'Dragonstone', [House Allegiance] = N'Targaryen', [Culture] = N'Valyrian' WHERE [First Name] = N'Daenerys'; SELECT @@ROWCOUNT; -"); +"""); } public override void UpdateDataOperation_required_args() @@ -1015,11 +1065,12 @@ public override void UpdateDataOperation_required_args() base.UpdateDataOperation_required_args(); AssertSql( - @"UPDATE [People] SET [House Allegiance] = N'Targaryen' +""" +UPDATE [People] SET [House Allegiance] = N'Targaryen' WHERE [First Name] = N'Daenerys'; SELECT @@ROWCOUNT; -"); +"""); } public override void UpdateDataOperation_required_args_composite() @@ -1027,11 +1078,12 @@ public override void UpdateDataOperation_required_args_composite() base.UpdateDataOperation_required_args_composite(); AssertSql( - @"UPDATE [People] SET [House Allegiance] = N'Targaryen' +""" +UPDATE [People] SET [House Allegiance] = N'Targaryen' WHERE [First Name] = N'Daenerys' AND [Last Name] = N'Targaryen'; SELECT @@ROWCOUNT; -"); +"""); } public override void UpdateDataOperation_required_args_composite_multi() @@ -1039,11 +1091,12 @@ public override void UpdateDataOperation_required_args_composite_multi() base.UpdateDataOperation_required_args_composite_multi(); AssertSql( - @"UPDATE [People] SET [Birthplace] = N'Dragonstone', [House Allegiance] = N'Targaryen', [Culture] = N'Valyrian' +""" +UPDATE [People] SET [Birthplace] = N'Dragonstone', [House Allegiance] = N'Targaryen', [Culture] = N'Valyrian' WHERE [First Name] = N'Daenerys' AND [Last Name] = N'Targaryen'; SELECT @@ROWCOUNT; -"); +"""); } public override void UpdateDataOperation_required_args_multi() @@ -1051,11 +1104,12 @@ public override void UpdateDataOperation_required_args_multi() base.UpdateDataOperation_required_args_multi(); AssertSql( - @"UPDATE [People] SET [Birthplace] = N'Dragonstone', [House Allegiance] = N'Targaryen', [Culture] = N'Valyrian' +""" +UPDATE [People] SET [Birthplace] = N'Dragonstone', [House Allegiance] = N'Targaryen', [Culture] = N'Valyrian' WHERE [First Name] = N'Daenerys'; SELECT @@ROWCOUNT; -"); +"""); } public override void UpdateDataOperation_required_args_multiple_rows() @@ -1063,7 +1117,8 @@ public override void UpdateDataOperation_required_args_multiple_rows() base.UpdateDataOperation_required_args_multiple_rows(); AssertSql( - @"UPDATE [People] SET [House Allegiance] = N'Stark' +""" +UPDATE [People] SET [House Allegiance] = N'Stark' WHERE [First Name] = N'Hodor'; SELECT @@ROWCOUNT; @@ -1071,7 +1126,7 @@ public override void UpdateDataOperation_required_args_multiple_rows() WHERE [First Name] = N'Daenerys'; SELECT @@ROWCOUNT; -"); +"""); } public override void DefaultValue_with_line_breaks(bool isUnicode) @@ -1120,8 +1175,9 @@ public virtual void CreateIndex_generates_exec_when_legacy_filter_and_idempotent MigrationsSqlGenerationOptions.Idempotent); AssertSql( - @"EXEC(N'CREATE UNIQUE INDEX [IX_Table1_Column1] ON [Table1] ([Column1]) WHERE [Column1] IS NOT NULL'); -"); +""" +EXEC(N'CREATE UNIQUE INDEX [IX_Table1_Column1] ON [Table1] ([Column1]) WHERE [Column1] IS NOT NULL'); +"""); } private static void CreateGotModel(ModelBuilder b) diff --git a/test/EFCore.SqlServer.FunctionalTests/OptimisticConcurrencySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/OptimisticConcurrencySqlServerTest.cs index 21b4c363f26..c242ab38149 100644 --- a/test/EFCore.SqlServer.FunctionalTests/OptimisticConcurrencySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/OptimisticConcurrencySqlServerTest.cs @@ -155,11 +155,14 @@ public override void Property_entry_original_value_is_set() base.Property_entry_original_value_is_set(); AssertSql( - @"SELECT TOP(1) [e].[Id], [e].[EngineSupplierId], [e].[Name], [e].[StorageLocation_Latitude], [e].[StorageLocation_Longitude] +""" +SELECT TOP(1) [e].[Id], [e].[EngineSupplierId], [e].[Name], [e].[StorageLocation_Latitude], [e].[StorageLocation_Longitude] FROM [Engines] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"@p1='1' +""" +@p1='1' @p2='Mercedes' (Size = 450) @p0='FO 108X' (Size = 4000) @p3='ChangedEngine' (Size = 4000) @@ -170,7 +173,8 @@ FROM [Engines] AS [e] SET NOCOUNT ON; UPDATE [Engines] SET [Name] = @p0 OUTPUT 1 -WHERE [Id] = @p1 AND [EngineSupplierId] = @p2 AND [Name] = @p3 AND [StorageLocation_Latitude] = @p4 AND [StorageLocation_Longitude] = @p5;"); +WHERE [Id] = @p1 AND [EngineSupplierId] = @p2 AND [Name] = @p3 AND [StorageLocation_Latitude] = @p4 AND [StorageLocation_Longitude] = @p5; +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsQuerySqlServerTest.cs index 59961ebe257..1ca2aa4195e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsQuerySqlServerTest.cs @@ -24,14 +24,16 @@ public override async Task Multi_level_include_one_to_many_optional_and_one_to_m await base.Multi_level_include_one_to_many_optional_and_one_to_many_optional_produces_valid_sql(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task @@ -41,7 +43,8 @@ await base .Multi_level_include_correct_PK_is_chosen_as_the_join_predicate_for_queries_that_join_same_table_multiple_times(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[Id00], [t0].[Date0], [t0].[Level1_Optional_Id0], [t0].[Level1_Required_Id0], [t0].[Name00], [t0].[OneToMany_Optional_Inverse2Id0], [t0].[OneToMany_Optional_Self_Inverse2Id0], [t0].[OneToMany_Required_Inverse2Id0], [t0].[OneToMany_Required_Self_Inverse2Id0], [t0].[OneToOne_Optional_PK_Inverse2Id0], [t0].[OneToOne_Optional_Self2Id0], [t0].[Id1], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[Id00], [t0].[Date0], [t0].[Level1_Optional_Id0], [t0].[Level1_Required_Id0], [t0].[Name00], [t0].[OneToMany_Optional_Inverse2Id0], [t0].[OneToMany_Optional_Self_Inverse2Id0], [t0].[OneToMany_Required_Inverse2Id0], [t0].[OneToMany_Required_Self_Inverse2Id0], [t0].[OneToOne_Optional_PK_Inverse2Id0], [t0].[OneToOne_Optional_Self2Id0], [t0].[Id1], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name] AS [Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0] AS [Id00], [t].[Date] AS [Date0], [t].[Level1_Optional_Id] AS [Level1_Optional_Id0], [t].[Level1_Required_Id] AS [Level1_Required_Id0], [t].[Name0] AS [Name00], [t].[OneToMany_Optional_Inverse2Id] AS [OneToMany_Optional_Inverse2Id0], [t].[OneToMany_Optional_Self_Inverse2Id] AS [OneToMany_Optional_Self_Inverse2Id0], [t].[OneToMany_Required_Inverse2Id] AS [OneToMany_Required_Inverse2Id0], [t].[OneToMany_Required_Self_Inverse2Id] AS [OneToMany_Required_Self_Inverse2Id0], [t].[OneToOne_Optional_PK_Inverse2Id] AS [OneToOne_Optional_PK_Inverse2Id0], [t].[OneToOne_Optional_Self2Id] AS [OneToOne_Optional_Self2Id0], [t].[Id1], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name1], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0] @@ -53,7 +56,8 @@ FROM [LevelThree] AS [l1] LEFT JOIN [LevelThree] AS [l3] ON [l2].[Id] = [l3].[OneToMany_Optional_Inverse3Id] ) AS [t] ON [l0].[Id] = [t].[OneToMany_Optional_Inverse3Id] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0], [t0].[Id00]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0], [t0].[Id00] +"""); } public override async Task Multiple_complex_includes(bool async) @@ -61,7 +65,8 @@ public override async Task Multiple_complex_includes(bool async) await base.Multiple_complex_includes(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] @@ -70,7 +75,8 @@ LEFT JOIN ( FROM [LevelTwo] AS [l2] LEFT JOIN [LevelThree] AS [l3] ON [l2].[Id] = [l3].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Multiple_complex_includes_self_ref(bool async) @@ -78,7 +84,8 @@ public override async Task Multiple_complex_includes_self_ref(bool async) await base.Multiple_complex_includes_self_ref(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0] FROM [LevelOne] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[OneToOne_Optional_Self1Id] = [l0].[Id] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Self_Inverse1Id] @@ -87,7 +94,8 @@ LEFT JOIN ( FROM [LevelOne] AS [l2] LEFT JOIN [LevelOne] AS [l3] ON [l2].[OneToOne_Optional_Self1Id] = [l3].[Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Self_Inverse1Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Include_reference_and_collection_order_by(bool async) @@ -95,11 +103,13 @@ public override async Task Include_reference_and_collection_order_by(bool async) await base.Include_reference_and_collection_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Include_reference_ThenInclude_collection_order_by(bool async) @@ -107,11 +117,13 @@ public override async Task Include_reference_ThenInclude_collection_order_by(boo await base.Include_reference_ThenInclude_collection_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -119,14 +131,16 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -134,13 +148,15 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] ORDER BY CASE WHEN ([l].[Name] IS NOT NULL) AND ([l].[Name] LIKE N'%03') THEN 1 ELSE 2 -END, [l].[Id]"); +END, [l].[Id] +"""); } public override async Task Multiple_complex_include_select(bool async) @@ -148,7 +164,8 @@ public override async Task Multiple_complex_include_select(bool async) await base.Multiple_complex_include_select(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] @@ -157,7 +174,8 @@ LEFT JOIN ( FROM [LevelTwo] AS [l2] LEFT JOIN [LevelThree] AS [l3] ON [l2].[Id] = [l3].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Include_nested_with_optional_navigation(bool async) @@ -165,7 +183,8 @@ public override async Task Include_nested_with_optional_navigation(bool async) await base.Include_nested_with_optional_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -174,7 +193,8 @@ FROM [LevelThree] AS [l1] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] ) AS [t] ON [l0].[Id] = [t].[OneToMany_Required_Inverse3Id] WHERE [l0].[Name] <> N'L2 09' OR ([l0].[Name] IS NULL) -ORDER BY [l].[Id], [l0].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [t].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging(bool async) @@ -182,7 +202,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging(bool a await base.Complex_multi_include_with_order_by_and_paging(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id] @@ -195,7 +216,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelThree] AS [l2] ON [l0].[Id] = [l2].[OneToMany_Required_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(bool async) @@ -203,7 +225,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging_joins_ await base.Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l3].[Id], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id] @@ -217,7 +240,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l2] ON [l0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelThree] AS [l3] ON [l1].[Id] = [l3].[OneToMany_Required_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(bool async) @@ -225,7 +249,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging_joins_ await base.Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] @@ -238,7 +263,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Multiple_include_with_multiple_optional_navigations(bool async) @@ -246,7 +272,8 @@ public override async Task Multiple_include_with_multiple_optional_navigations(b await base.Multiple_include_with_multiple_optional_navigations(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id], [l5].[Id], [l5].[Level2_Optional_Id], [l5].[Level2_Required_Id], [l5].[Name], [l5].[OneToMany_Optional_Inverse3Id], [l5].[OneToMany_Optional_Self_Inverse3Id], [l5].[OneToMany_Required_Inverse3Id], [l5].[OneToMany_Required_Self_Inverse3Id], [l5].[OneToOne_Optional_PK_Inverse3Id], [l5].[OneToOne_Optional_Self3Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id], [l4].[Level2_Optional_Id], [l4].[Level2_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse3Id], [l4].[OneToMany_Optional_Self_Inverse3Id], [l4].[OneToMany_Required_Inverse3Id], [l4].[OneToMany_Required_Self_Inverse3Id], [l4].[OneToOne_Optional_PK_Inverse3Id], [l4].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id], [l5].[Id], [l5].[Level2_Optional_Id], [l5].[Level2_Required_Id], [l5].[Name], [l5].[OneToMany_Optional_Inverse3Id], [l5].[OneToMany_Optional_Self_Inverse3Id], [l5].[OneToMany_Required_Inverse3Id], [l5].[OneToMany_Required_Self_Inverse3Id], [l5].[OneToOne_Optional_PK_Inverse3Id], [l5].[OneToOne_Optional_Self3Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id], [l4].[Level2_Optional_Id], [l4].[Level2_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse3Id], [l4].[OneToMany_Optional_Self_Inverse3Id], [l4].[OneToMany_Required_Inverse3Id], [l4].[OneToMany_Required_Self_Inverse3Id], [l4].[OneToOne_Optional_PK_Inverse3Id], [l4].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] @@ -255,7 +282,8 @@ FROM [LevelOne] AS [l] LEFT JOIN [LevelThree] AS [l4] ON [l3].[Id] = [l4].[Level2_Optional_Id] LEFT JOIN [LevelThree] AS [l5] ON [l0].[Id] = [l5].[OneToMany_Optional_Inverse3Id] WHERE [l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL) -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id] +"""); } public override async Task SelectMany_with_Include1(bool async) @@ -263,11 +291,13 @@ public override async Task SelectMany_with_Include1(bool async) await base.SelectMany_with_Include1(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Orderby_SelectMany_with_Include1(bool async) @@ -275,11 +305,13 @@ public override async Task Orderby_SelectMany_with_Include1(bool async) await base.Orderby_SelectMany_with_Include1(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_with_Include2(bool async) @@ -287,10 +319,12 @@ public override async Task SelectMany_with_Include2(bool async) await base.SelectMany_with_Include2(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] +"""); } public override async Task SelectMany_with_Include_ThenInclude(bool async) @@ -298,12 +332,14 @@ public override async Task SelectMany_with_Include_ThenInclude(bool async) await base.SelectMany_with_Include_ThenInclude(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Multiple_SelectMany_with_Include(bool async) @@ -311,13 +347,15 @@ public override async Task Multiple_SelectMany_with_Include(bool async) await base.Multiple_SelectMany_with_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] LEFT JOIN [LevelFour] AS [l3] ON [l1].[Id] = [l3].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Required_navigation_with_Include(bool async) @@ -325,10 +363,12 @@ public override async Task Required_navigation_with_Include(bool async) await base.Required_navigation_with_Include(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] -INNER JOIN [LevelOne] AS [l1] ON [l0].[OneToMany_Required_Inverse2Id] = [l1].[Id]"); +INNER JOIN [LevelOne] AS [l1] ON [l0].[OneToMany_Required_Inverse2Id] = [l1].[Id] +"""); } public override async Task Required_navigation_with_Include_ThenInclude(bool async) @@ -336,11 +376,13 @@ public override async Task Required_navigation_with_Include_ThenInclude(bool asy await base.Required_navigation_with_Include_ThenInclude(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l2].[Id], [l2].[Date], [l2].[Name], [l2].[OneToMany_Optional_Self_Inverse1Id], [l2].[OneToMany_Required_Self_Inverse1Id], [l2].[OneToOne_Optional_Self1Id] +""" +SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l2].[Id], [l2].[Date], [l2].[Name], [l2].[OneToMany_Optional_Self_Inverse1Id], [l2].[OneToMany_Required_Self_Inverse1Id], [l2].[OneToOne_Optional_Self1Id] FROM [LevelFour] AS [l] INNER JOIN [LevelThree] AS [l0] ON [l].[Level3_Required_Id] = [l0].[Id] INNER JOIN [LevelTwo] AS [l1] ON [l0].[OneToMany_Required_Inverse3Id] = [l1].[Id] -LEFT JOIN [LevelOne] AS [l2] ON [l1].[OneToMany_Optional_Inverse2Id] = [l2].[Id]"); +LEFT JOIN [LevelOne] AS [l2] ON [l1].[OneToMany_Optional_Inverse2Id] = [l2].[Id] +"""); } public override async Task Optional_navigation_with_Include_ThenInclude(bool async) @@ -348,7 +390,8 @@ public override async Task Optional_navigation_with_Include_ThenInclude(bool asy await base.Optional_navigation_with_Include_ThenInclude(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -356,7 +399,8 @@ LEFT JOIN ( FROM [LevelThree] AS [l1] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l0].[Id] = [t].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [t].[Id] +"""); } public override async Task Optional_navigation_with_order_by_and_Include(bool async) @@ -364,11 +408,13 @@ public override async Task Optional_navigation_with_order_by_and_Include(bool as await base.Optional_navigation_with_order_by_and_Include(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Optional_navigation_with_Include_and_order(bool async) @@ -376,11 +422,13 @@ public override async Task Optional_navigation_with_Include_and_order(bool async await base.Optional_navigation_with_Include_and_order(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_with_order_by_and_Include(bool async) @@ -388,11 +436,13 @@ public override async Task SelectMany_with_order_by_and_Include(bool async) await base.SelectMany_with_order_by_and_Include(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_with_Include_and_order_by(bool async) @@ -400,11 +450,13 @@ public override async Task SelectMany_with_Include_and_order_by(bool async) await base.SelectMany_with_Include_and_order_by(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_with_navigation_and_Distinct(bool async) @@ -412,14 +464,16 @@ public override async Task SelectMany_with_navigation_and_Distinct(bool async) await base.SelectMany_with_navigation_and_Distinct(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_with_navigation_and_Distinct_projecting_columns_including_join_key(bool async) @@ -427,14 +481,16 @@ public override async Task SelectMany_with_navigation_and_Distinct_projecting_co await base.SelectMany_with_navigation_and_Distinct_projecting_columns_including_join_key(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id] AS [FK] FROM [LevelTwo] AS [l0] ) AS [t] ON [l].[Id] = [t].[FK] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task @@ -444,7 +500,8 @@ await base.Complex_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpt async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [l14].[Name] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [l14].[Name] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -473,7 +530,8 @@ FROM [LevelTwo] AS [l15] WHERE [l15].[Id] <> 42 ) AS [t1] ON [t].[Id2] = [t1].[OneToMany_Optional_Self_Inverse2Id] WHERE [l11].[Name] <> N'Foo' OR ([l11].[Name] IS NULL) -ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id]"); +ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id] +"""); } public override async Task Project_collection_navigation(bool async) @@ -481,10 +539,12 @@ public override async Task Project_collection_navigation(bool async) await base.Project_collection_navigation(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_collection_navigation_nested(bool async) @@ -492,11 +552,13 @@ public override async Task Project_collection_navigation_nested(bool async) await base.Project_collection_navigation_nested(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Project_collection_navigation_using_ef_property(bool async) @@ -504,11 +566,13 @@ public override async Task Project_collection_navigation_using_ef_property(bool await base.Project_collection_navigation_using_ef_property(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Project_collection_navigation_nested_anonymous(bool async) @@ -516,11 +580,13 @@ public override async Task Project_collection_navigation_nested_anonymous(bool a await base.Project_collection_navigation_nested_anonymous(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Project_collection_navigation_composed(bool async) @@ -528,7 +594,8 @@ public override async Task Project_collection_navigation_composed(bool async) await base.Project_collection_navigation_composed(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] @@ -536,7 +603,8 @@ FROM [LevelTwo] AS [l0] WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] WHERE [l].[Id] < 3 -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_collection_and_root_entity(bool async) @@ -544,10 +612,12 @@ public override async Task Project_collection_and_root_entity(bool async) await base.Project_collection_and_root_entity(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_collection_and_include(bool async) @@ -555,11 +625,13 @@ public override async Task Project_collection_and_include(bool async) await base.Project_collection_and_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Project_navigation_and_collection(bool async) @@ -567,11 +639,13 @@ public override async Task Project_navigation_and_collection(bool async) await base.Project_navigation_and_collection(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_inside_subquery(bool async) @@ -579,7 +653,8 @@ public override async Task Include_inside_subquery(bool async) await base.Include_inside_subquery(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] @@ -588,7 +663,8 @@ FROM [LevelTwo] AS [l0] WHERE [l0].[Id] > 0 ) AS [t] WHERE [l].[Id] < 3 -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_member(bool async) @@ -596,10 +672,12 @@ public override async Task Include_collection_with_multiple_orderbys_member(bool await base.Include_collection_with_multiple_orderbys_member(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l] LEFT JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Level1_Required_Id], [l].[Id]"); +ORDER BY [l].[Name], [l].[Level1_Required_Id], [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_property(bool async) @@ -607,10 +685,12 @@ public override async Task Include_collection_with_multiple_orderbys_property(bo await base.Include_collection_with_multiple_orderbys_property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l] LEFT JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Level1_Required_Id], [l].[Name], [l].[Id]"); +ORDER BY [l].[Level1_Required_Id], [l].[Name], [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_methodcall(bool async) @@ -618,10 +698,12 @@ public override async Task Include_collection_with_multiple_orderbys_methodcall( await base.Include_collection_with_multiple_orderbys_methodcall(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l] LEFT JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY ABS([l].[Level1_Required_Id]), [l].[Name], [l].[Id]"); +ORDER BY ABS([l].[Level1_Required_Id]), [l].[Name], [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_complex(bool async) @@ -629,10 +711,12 @@ public override async Task Include_collection_with_multiple_orderbys_complex(boo await base.Include_collection_with_multiple_orderbys_complex(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l] LEFT JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY ABS([l].[Level1_Required_Id]) + 7, [l].[Name], [l].[Id]"); +ORDER BY ABS([l].[Level1_Required_Id]) + 7, [l].[Name], [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_complex_repeated(bool async) @@ -640,10 +724,12 @@ public override async Task Include_collection_with_multiple_orderbys_complex_rep await base.Include_collection_with_multiple_orderbys_complex_repeated(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l] LEFT JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id]"); +ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery(bool async) @@ -651,7 +737,8 @@ public override async Task Include_collection_with_groupby_in_subquery(bool asyn await base.Include_collection_with_groupby_in_subquery(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -666,7 +753,8 @@ FROM [LevelOne] AS [l0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] LEFT JOIN [LevelTwo] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery_and_filter_before_groupby(bool async) @@ -674,7 +762,8 @@ public override async Task Include_collection_with_groupby_in_subquery_and_filte await base.Include_collection_with_groupby_in_subquery_and_filter_before_groupby(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -691,7 +780,8 @@ WHERE [l0].[Id] > 3 WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] LEFT JOIN [LevelTwo] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery_and_filter_after_groupby(bool async) @@ -699,7 +789,8 @@ public override async Task Include_collection_with_groupby_in_subquery_and_filte await base.Include_collection_with_groupby_in_subquery_and_filter_after_groupby(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -715,7 +806,8 @@ FROM [LevelOne] AS [l0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] LEFT JOIN [LevelTwo] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Include_reference_collection_order_by_reference_navigation(bool async) @@ -723,11 +815,13 @@ public override async Task Include_reference_collection_order_by_reference_navig await base.Include_reference_collection_order_by_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Id], [l].[Id]"); +ORDER BY [l0].[Id], [l].[Id] +"""); } public override async Task Include_after_SelectMany(bool async) @@ -735,11 +829,13 @@ public override async Task Include_after_SelectMany(bool async) await base.Include_after_SelectMany(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_after_multiple_SelectMany_and_reference_navigation(bool async) @@ -747,13 +843,15 @@ public override async Task Include_after_multiple_SelectMany_and_reference_navig await base.Include_after_multiple_SelectMany_and_reference_navigation(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] LEFT JOIN [LevelFour] AS [l3] ON [l2].[Id] = [l3].[OneToMany_Required_Self_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Include_after_SelectMany_and_multiple_reference_navigations(bool async) @@ -761,13 +859,15 @@ public override async Task Include_after_SelectMany_and_multiple_reference_navig await base.Include_after_SelectMany_and_multiple_reference_navigations(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] LEFT JOIN [LevelFour] AS [l3] ON [l2].[Id] = [l3].[OneToMany_Optional_Self_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Null_check_in_anonymous_type_projection_should_not_be_removed(bool async) @@ -775,7 +875,8 @@ public override async Task Null_check_in_anonymous_type_projection_should_not_be await base.Null_check_in_anonymous_type_projection_should_not_be_removed(async); AssertSql( - @"SELECT [l].[Id], [t].[c], [t].[Name], [t].[Id], [t].[Id0] +""" +SELECT [l].[Id], [t].[c], [t].[Name], [t].[Id], [t].[Id0] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT CASE @@ -785,7 +886,8 @@ ELSE CAST(0 AS bit) FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Null_check_in_Dto_projection_should_not_be_removed(bool async) @@ -793,7 +895,8 @@ public override async Task Null_check_in_Dto_projection_should_not_be_removed(bo await base.Null_check_in_Dto_projection_should_not_be_removed(async); AssertSql( - @"SELECT [l].[Id], [t].[c], [t].[Name], [t].[Id], [t].[Id0] +""" +SELECT [l].[Id], [t].[c], [t].[Name], [t].[Id], [t].[Id0] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT CASE @@ -803,7 +906,8 @@ ELSE CAST(0 AS bit) FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) @@ -811,11 +915,13 @@ public override async Task SelectMany_navigation_property_followed_by_select_col await base.SelectMany_navigation_property_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [l0].[Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) @@ -823,12 +929,14 @@ public override async Task Multiple_SelectMany_navigation_property_followed_by_s await base.Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [l1].[Id], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] +""" +SELECT [l1].[Id], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(bool async) @@ -836,12 +944,14 @@ public override async Task SelectMany_navigation_property_with_include_and_follo await base.SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Required_Inverse3Id] LEFT JOIN [LevelThree] AS [l2] ON [l0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Include_collection(bool async) @@ -849,10 +959,12 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_followed_by_include_reference(bool async) @@ -860,14 +972,16 @@ public override async Task Include_collection_followed_by_include_reference(bool await base.Include_collection_followed_by_include_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_reference_followed_by_include_collection(bool async) @@ -875,11 +989,13 @@ public override async Task Include_reference_followed_by_include_collection(bool await base.Include_reference_followed_by_include_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_collection_followed_by_projecting_the_included_collection(bool async) @@ -887,10 +1003,12 @@ public override async Task Include_collection_followed_by_projecting_the_include await base.Include_collection_followed_by_projecting_the_included_collection(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(bool async) @@ -898,14 +1016,16 @@ public override async Task Include_and_ThenInclude_collections_followed_by_proje await base.Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(bool async) @@ -913,7 +1033,8 @@ public override async Task Include_collection_and_another_navigation_chain_follo await base.Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] @@ -921,7 +1042,8 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Include_collection_ThenInclude_two_references(bool async) @@ -929,7 +1051,8 @@ public override async Task Include_collection_ThenInclude_two_references(bool as await base.Include_collection_ThenInclude_two_references(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] @@ -937,7 +1060,8 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(bool async) @@ -945,7 +1069,8 @@ public override async Task Include_collection_followed_by_complex_includes_and_p await base.Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [t].[Id3], [t].[Level3_Optional_Id0], [t].[Level3_Required_Id0], [t].[Name3], [t].[OneToMany_Optional_Inverse4Id0], [t].[OneToMany_Optional_Self_Inverse4Id0], [t].[OneToMany_Required_Inverse4Id0], [t].[OneToMany_Required_Self_Inverse4Id0], [t].[OneToOne_Optional_PK_Inverse4Id0], [t].[OneToOne_Optional_Self4Id0] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [t].[Id3], [t].[Level3_Optional_Id0], [t].[Level3_Required_Id0], [t].[Name3], [t].[OneToMany_Optional_Inverse4Id0], [t].[OneToMany_Optional_Self_Inverse4Id0], [t].[OneToMany_Required_Inverse4Id0], [t].[OneToMany_Required_Self_Inverse4Id0], [t].[OneToOne_Optional_PK_Inverse4Id0], [t].[OneToOne_Optional_Self4Id0] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l3].[Id] AS [Id2], [l3].[Level2_Optional_Id] AS [Level2_Optional_Id0], [l3].[Level2_Required_Id] AS [Level2_Required_Id0], [l3].[Name] AS [Name2], [l3].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [l3].[OneToMany_Optional_Self_Inverse3Id] AS [OneToMany_Optional_Self_Inverse3Id0], [l3].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [l3].[OneToMany_Required_Self_Inverse3Id] AS [OneToMany_Required_Self_Inverse3Id0], [l3].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [l3].[OneToOne_Optional_Self3Id] AS [OneToOne_Optional_Self3Id0], [l4].[Id] AS [Id3], [l4].[Level3_Optional_Id] AS [Level3_Optional_Id0], [l4].[Level3_Required_Id] AS [Level3_Required_Id0], [l4].[Name] AS [Name3], [l4].[OneToMany_Optional_Inverse4Id] AS [OneToMany_Optional_Inverse4Id0], [l4].[OneToMany_Optional_Self_Inverse4Id] AS [OneToMany_Optional_Self_Inverse4Id0], [l4].[OneToMany_Required_Inverse4Id] AS [OneToMany_Required_Inverse4Id0], [l4].[OneToMany_Required_Self_Inverse4Id] AS [OneToMany_Required_Self_Inverse4Id0], [l4].[OneToOne_Optional_PK_Inverse4Id] AS [OneToOne_Optional_PK_Inverse4Id0], [l4].[OneToOne_Optional_Self4Id] AS [OneToOne_Optional_Self4Id0] @@ -955,7 +1080,8 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l3] ON [l0].[Id] = [l3].[Level2_Optional_Id] LEFT JOIN [LevelFour] AS [l4] ON [l3].[Id] = [l4].[OneToMany_Optional_Inverse4Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] +"""); } public override async Task Include_collection_multiple(bool async) @@ -963,7 +1089,8 @@ public override async Task Include_collection_multiple(bool async) await base.Include_collection_multiple(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [t].[Id3], [t].[Level3_Optional_Id0], [t].[Level3_Required_Id0], [t].[Name3], [t].[OneToMany_Optional_Inverse4Id0], [t].[OneToMany_Optional_Self_Inverse4Id0], [t].[OneToMany_Required_Inverse4Id0], [t].[OneToMany_Required_Self_Inverse4Id0], [t].[OneToOne_Optional_PK_Inverse4Id0], [t].[OneToOne_Optional_Self4Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [t].[Id3], [t].[Level3_Optional_Id0], [t].[Level3_Required_Id0], [t].[Name3], [t].[OneToMany_Optional_Inverse4Id0], [t].[OneToMany_Optional_Self_Inverse4Id0], [t].[OneToMany_Required_Inverse4Id0], [t].[OneToMany_Required_Self_Inverse4Id0], [t].[OneToOne_Optional_PK_Inverse4Id0], [t].[OneToOne_Optional_Self4Id0] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l3].[Id] AS [Id2], [l3].[Level2_Optional_Id] AS [Level2_Optional_Id0], [l3].[Level2_Required_Id] AS [Level2_Required_Id0], [l3].[Name] AS [Name2], [l3].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [l3].[OneToMany_Optional_Self_Inverse3Id] AS [OneToMany_Optional_Self_Inverse3Id0], [l3].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [l3].[OneToMany_Required_Self_Inverse3Id] AS [OneToMany_Required_Self_Inverse3Id0], [l3].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [l3].[OneToOne_Optional_Self3Id] AS [OneToOne_Optional_Self3Id0], [l4].[Id] AS [Id3], [l4].[Level3_Optional_Id] AS [Level3_Optional_Id0], [l4].[Level3_Required_Id] AS [Level3_Required_Id0], [l4].[Name] AS [Name3], [l4].[OneToMany_Optional_Inverse4Id] AS [OneToMany_Optional_Inverse4Id0], [l4].[OneToMany_Optional_Self_Inverse4Id] AS [OneToMany_Optional_Self_Inverse4Id0], [l4].[OneToMany_Required_Inverse4Id] AS [OneToMany_Required_Inverse4Id0], [l4].[OneToMany_Required_Self_Inverse4Id] AS [OneToMany_Required_Self_Inverse4Id0], [l4].[OneToOne_Optional_PK_Inverse4Id] AS [OneToOne_Optional_PK_Inverse4Id0], [l4].[OneToOne_Optional_Self4Id] AS [OneToOne_Optional_Self4Id0] @@ -973,7 +1100,8 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l3] ON [l0].[Id] = [l3].[Level2_Optional_Id] LEFT JOIN [LevelFour] AS [l4] ON [l3].[Id] = [l4].[OneToMany_Optional_Inverse4Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] +"""); } public override async Task Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(bool async) @@ -981,7 +1109,8 @@ public override async Task Include_ThenInclude_ThenInclude_followed_by_two_neste await base.Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[Id1] +""" +SELECT [l].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[Id1] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id] AS [Id0], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name0], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l0].[Id] AS [Id1], [l0].[OneToMany_Optional_Inverse2Id] @@ -989,7 +1118,8 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id1], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id1], [t].[Id] +"""); } public override async Task Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(bool async) @@ -997,7 +1127,8 @@ public override async Task Include_collection_ThenInclude_reference_followed_by_ await base.Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] @@ -1009,7 +1140,8 @@ LEFT JOIN ( FROM [LevelTwo] AS [l2] LEFT JOIN [LevelThree] AS [l3] ON [l2].[Id] = [l3].[OneToOne_Optional_PK_Inverse3Id] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t0].[Id] +"""); } public override async Task Include_collection_multiple_with_filter(bool async) @@ -1017,7 +1149,8 @@ public override async Task Include_collection_multiple_with_filter(bool async) await base.Include_collection_multiple_with_filter(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l3].[Id] AS [Id0], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name] AS [Name0], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l4].[Id] AS [Id1], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name] AS [Name1], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id] @@ -1030,7 +1163,8 @@ SELECT COUNT(*) FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL))) > 0 -ORDER BY [l].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Lift_projection_mapping_when_pushing_down_subquery(bool async) @@ -1038,7 +1172,8 @@ public override async Task Lift_projection_mapping_when_pushing_down_subquery(bo await base.Lift_projection_mapping_when_pushing_down_subquery(async); AssertSql( - @"@__p_0='25' +""" +@__p_0='25' SELECT [t].[Id], [t0].[Id], [l1].[Id], [t0].[c] FROM ( @@ -1054,7 +1189,8 @@ FROM [LevelTwo] AS [l0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Id] = [t0].[OneToMany_Required_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[OneToMany_Required_Inverse2Id] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Including_reference_navigation_and_projecting_collection_navigation(bool async) @@ -1062,12 +1198,14 @@ public override async Task Including_reference_navigation_and_projecting_collect await base.Including_reference_navigation_and_projecting_collection_navigation(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] LEFT JOIN [LevelTwo] AS [l2] ON [l].[Id] = [l2].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(bool async) @@ -1075,7 +1213,8 @@ public override async Task LeftJoin_with_Any_on_outer_source_and_projecting_coll await base.LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l0].[Id] IS NULL THEN 0 ELSE [l0].[Id] END, [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] @@ -1083,7 +1222,8 @@ FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Required_Inverse3Id] WHERE [l].[Name] IN (N'L1 01', N'L1 02') -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Select_subquery_single_nested_subquery(bool async) @@ -1091,7 +1231,8 @@ public override async Task Select_subquery_single_nested_subquery(bool async) await base.Select_subquery_single_nested_subquery(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [l1].[Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [l1].[Id], [t0].[c] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToMany_Optional_Inverse2Id] @@ -1102,7 +1243,8 @@ FROM [LevelTwo] AS [l0] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [t0].[Id], [l1].[Id] +"""); } public override async Task Select_subquery_single_nested_subquery2(bool async) @@ -1110,7 +1252,8 @@ public override async Task Select_subquery_single_nested_subquery2(bool async) await base.Select_subquery_single_nested_subquery2(async); AssertSql( - @"SELECT [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id1], [t1].[c] +""" +SELECT [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id1], [t1].[c] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [t0].[Id] AS [Id0], [l1].[Id] AS [Id1], [t0].[c], [l0].[OneToMany_Optional_Inverse2Id] @@ -1125,7 +1268,8 @@ FROM [LevelThree] AS [l2] ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse4Id] ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id1]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id1] +"""); } public override async Task Filtered_include_basic_Where(bool async) @@ -1133,14 +1277,16 @@ public override async Task Filtered_include_basic_Where(bool async) await base.Filtered_include_basic_Where(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] WHERE [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_OrderBy(bool async) @@ -1148,10 +1294,12 @@ public override async Task Filtered_include_OrderBy(bool async) await base.Filtered_include_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Name]"); +ORDER BY [l].[Id], [l0].[Name] +"""); } public override async Task Filtered_ThenInclude_OrderBy(bool async) @@ -1159,14 +1307,16 @@ public override async Task Filtered_ThenInclude_OrderBy(bool async) await base.Filtered_ThenInclude_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Name0]"); +ORDER BY [l].[Id], [t].[Id], [t].[Name0] +"""); } public override async Task Filtered_include_ThenInclude_OrderBy(bool async) @@ -1174,14 +1324,16 @@ public override async Task Filtered_include_ThenInclude_OrderBy(bool async) await base.Filtered_include_ThenInclude_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Name], [t].[Id], [t].[Name0] DESC"); +ORDER BY [l].[Id], [t].[Name], [t].[Id], [t].[Name0] DESC +"""); } public override async Task Filtered_include_basic_OrderBy_Take(bool async) @@ -1189,7 +1341,8 @@ public override async Task Filtered_include_basic_OrderBy_Take(bool async) await base.Filtered_include_basic_OrderBy_Take(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -1199,7 +1352,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip(bool async) @@ -1207,7 +1361,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip(bool async) await base.Filtered_include_basic_OrderBy_Skip(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -1217,7 +1372,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip_Take(bool async) @@ -1225,7 +1381,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip_Take(bool async) await base.Filtered_include_basic_OrderBy_Skip_Take(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -1235,7 +1392,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_Skip_without_OrderBy(bool async) @@ -1243,7 +1401,8 @@ public override async Task Filtered_include_Skip_without_OrderBy(bool async) await base.Filtered_include_Skip_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -1253,7 +1412,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_Take_without_OrderBy(bool async) @@ -1261,7 +1421,8 @@ public override async Task Filtered_include_Take_without_OrderBy(bool async) await base.Filtered_include_Take_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -1271,7 +1432,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_on_ThenInclude(bool async) @@ -1279,7 +1441,8 @@ public override async Task Filtered_include_on_ThenInclude(bool async) await base.Filtered_include_on_ThenInclude(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -1291,7 +1454,8 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name] +"""); } public override async Task Filtered_include_after_reference_navigation(bool async) @@ -1299,7 +1463,8 @@ public override async Task Filtered_include_after_reference_navigation(bool asyn await base.Filtered_include_after_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -1311,7 +1476,8 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name] +"""); } public override async Task Filtered_include_after_different_filtered_include_same_level(bool async) @@ -1319,7 +1485,8 @@ public override async Task Filtered_include_after_different_filtered_include_sam await base.Filtered_include_after_different_filtered_include_same_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -1339,7 +1506,8 @@ FROM [LevelTwo] AS [l1] ) AS [t2] WHERE 1 < [t2].[row] ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name], [t0].[Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[Name] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name], [t0].[Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[Name] DESC +"""); } public override async Task Filtered_include_after_different_filtered_include_different_level(bool async) @@ -1347,7 +1515,8 @@ public override async Task Filtered_include_after_different_filtered_include_dif await base.Filtered_include_after_different_filtered_include_different_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t2].[Id], [t2].[Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Optional_Self_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToMany_Required_Self_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[OneToOne_Optional_Self2Id], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Name0], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Optional_Self_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToMany_Required_Self_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t2].[Id], [t2].[Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Optional_Self_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToMany_Required_Self_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[OneToOne_Optional_Self2Id], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Name0], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Optional_Self_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToMany_Required_Self_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name] AS [Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] @@ -1367,7 +1536,8 @@ FROM [LevelThree] AS [l1] WHERE 1 < [t1].[row] ) AS [t0] ON [t].[Id] = [t0].[OneToMany_Required_Inverse3Id] ) AS [t2] -ORDER BY [l].[Id], [t2].[Name], [t2].[Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[Name0] DESC"); +ORDER BY [l].[Id], [t2].[Name], [t2].[Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[Name0] DESC +"""); } public override async Task Filtered_include_same_filter_set_on_same_navigation_twice(bool async) @@ -1375,7 +1545,8 @@ public override async Task Filtered_include_same_filter_set_on_same_navigation_t await base.Filtered_include_same_filter_set_on_same_navigation_twice(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -1386,7 +1557,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] DESC +"""); } public override async Task Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(bool async) @@ -1394,7 +1566,8 @@ public override async Task Filtered_include_same_filter_set_on_same_navigation_t await base.Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Id1], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Id1], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l0].[Id] AS [Id0], [l1].[Id] AS [Id1], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l0].[Level2_Optional_Id] AS [Level2_Optional_Id0], [l0].[Level2_Required_Id] AS [Level2_Required_Id0], [l0].[Name] AS [Name1], [l0].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [l0].[OneToMany_Optional_Self_Inverse3Id] AS [OneToMany_Optional_Self_Inverse3Id0], [l0].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [l0].[OneToMany_Required_Self_Inverse3Id] AS [OneToMany_Required_Self_Inverse3Id0], [l0].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [l0].[OneToOne_Optional_Self3Id] AS [OneToOne_Optional_Self3Id0] @@ -1407,7 +1580,8 @@ ORDER BY [l2].[Id] LEFT JOIN [LevelThree] AS [l0] ON [t].[Id] = [l0].[Level2_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [t].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t0] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +"""); } public override async Task @@ -1417,7 +1591,8 @@ await base .Filtered_include_multiple_multi_level_includes_with_first_level_using_filter_include_on_one_of_the_chains_only(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Id1], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Id1], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l0].[Id] AS [Id0], [l1].[Id] AS [Id1], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l0].[Level2_Optional_Id] AS [Level2_Optional_Id0], [l0].[Level2_Required_Id] AS [Level2_Required_Id0], [l0].[Name] AS [Name1], [l0].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [l0].[OneToMany_Optional_Self_Inverse3Id] AS [OneToMany_Optional_Self_Inverse3Id0], [l0].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [l0].[OneToMany_Required_Self_Inverse3Id] AS [OneToMany_Required_Self_Inverse3Id0], [l0].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [l0].[OneToOne_Optional_Self3Id] AS [OneToOne_Optional_Self3Id0] @@ -1430,7 +1605,8 @@ ORDER BY [l2].[Id] LEFT JOIN [LevelThree] AS [l0] ON [t].[Id] = [l0].[Level2_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [t].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t0] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +"""); } public override async Task Filtered_include_and_non_filtered_include_on_same_navigation1(bool async) @@ -1438,7 +1614,8 @@ public override async Task Filtered_include_and_non_filtered_include_on_same_nav await base.Filtered_include_and_non_filtered_include_on_same_navigation1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -1449,7 +1626,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_and_non_filtered_include_on_same_navigation2(bool async) @@ -1457,7 +1635,8 @@ public override async Task Filtered_include_and_non_filtered_include_on_same_nav await base.Filtered_include_and_non_filtered_include_on_same_navigation2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -1468,7 +1647,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(bool async) @@ -1476,7 +1656,8 @@ public override async Task Filtered_include_and_non_filtered_include_followed_by await base.Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l0].[Id] AS [Id0], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name] AS [Name0], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [t0].[Id] AS [Id1], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Name] AS [Name1], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Optional_Self_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToMany_Required_Self_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[OneToOne_Optional_Self4Id] @@ -1493,7 +1674,8 @@ FROM [LevelFour] AS [l2] WHERE [l2].[Id] > 1 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse4Id] ) AS [t1] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0] +"""); } public override async Task Filtered_include_complex_three_level_with_middle_having_filter1(bool async) @@ -1501,7 +1683,8 @@ public override async Task Filtered_include_complex_three_level_with_middle_havi await base.Filtered_include_complex_three_level_with_middle_having_filter1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[Id00], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[Id1], [t1].[Level3_Optional_Id0], [t1].[Level3_Required_Id0], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id0], [t1].[OneToMany_Optional_Self_Inverse4Id0], [t1].[OneToMany_Required_Inverse4Id0], [t1].[OneToMany_Required_Self_Inverse4Id0], [t1].[OneToOne_Optional_PK_Inverse4Id0], [t1].[OneToOne_Optional_Self4Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[Id00], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[Id1], [t1].[Level3_Optional_Id0], [t1].[Level3_Required_Id0], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id0], [t1].[OneToMany_Optional_Self_Inverse4Id0], [t1].[OneToMany_Required_Inverse4Id0], [t1].[OneToMany_Required_Self_Inverse4Id0], [t1].[OneToOne_Optional_PK_Inverse4Id0], [t1].[OneToOne_Optional_Self4Id0] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name] AS [Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[Id0] AS [Id00], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Name0] AS [Name00], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Optional_Self_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToMany_Required_Self_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[OneToOne_Optional_Self4Id], [t0].[Id1], [t0].[Level3_Optional_Id0], [t0].[Level3_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse4Id0], [t0].[OneToMany_Optional_Self_Inverse4Id0], [t0].[OneToMany_Required_Inverse4Id0], [t0].[OneToMany_Required_Self_Inverse4Id0], [t0].[OneToOne_Optional_PK_Inverse4Id0], [t0].[OneToOne_Optional_Self4Id0] @@ -1518,7 +1701,8 @@ ORDER BY [l3].[Id] LEFT JOIN [LevelFour] AS [l2] ON [t].[Id] = [l2].[OneToMany_Required_Inverse4Id] ) AS [t0] ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id00]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id00] +"""); } public override async Task Filtered_include_complex_three_level_with_middle_having_filter2(bool async) @@ -1526,7 +1710,8 @@ public override async Task Filtered_include_complex_three_level_with_middle_havi await base.Filtered_include_complex_three_level_with_middle_having_filter2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[Id00], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[Id1], [t1].[Level3_Optional_Id0], [t1].[Level3_Required_Id0], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id0], [t1].[OneToMany_Optional_Self_Inverse4Id0], [t1].[OneToMany_Required_Inverse4Id0], [t1].[OneToMany_Required_Self_Inverse4Id0], [t1].[OneToOne_Optional_PK_Inverse4Id0], [t1].[OneToOne_Optional_Self4Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[Id00], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[Id1], [t1].[Level3_Optional_Id0], [t1].[Level3_Required_Id0], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id0], [t1].[OneToMany_Optional_Self_Inverse4Id0], [t1].[OneToMany_Required_Inverse4Id0], [t1].[OneToMany_Required_Self_Inverse4Id0], [t1].[OneToOne_Optional_PK_Inverse4Id0], [t1].[OneToOne_Optional_Self4Id0] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name] AS [Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[Id0] AS [Id00], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Name0] AS [Name00], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Optional_Self_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToMany_Required_Self_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[OneToOne_Optional_Self4Id], [t0].[Id1], [t0].[Level3_Optional_Id0], [t0].[Level3_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse4Id0], [t0].[OneToMany_Optional_Self_Inverse4Id0], [t0].[OneToMany_Required_Inverse4Id0], [t0].[OneToMany_Required_Self_Inverse4Id0], [t0].[OneToOne_Optional_PK_Inverse4Id0], [t0].[OneToOne_Optional_Self4Id0] @@ -1543,7 +1728,8 @@ ORDER BY [l3].[Id] LEFT JOIN [LevelFour] AS [l2] ON [t].[Id] = [l2].[OneToMany_Required_Inverse4Id] ) AS [t0] ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id00]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id00] +"""); } public override async Task Filtered_include_variable_used_inside_filter(bool async) @@ -1551,7 +1737,8 @@ public override async Task Filtered_include_variable_used_inside_filter(bool asy await base.Filtered_include_variable_used_inside_filter(async); AssertSql( - @"@__prm_0='Foo' (Size = 4000) +""" +@__prm_0='Foo' (Size = 4000) SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] @@ -1564,7 +1751,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_context_accessed_inside_filter(bool async) @@ -1572,10 +1760,13 @@ public override async Task Filtered_include_context_accessed_inside_filter(bool await base.Filtered_include_context_accessed_inside_filter(async); AssertSql( - @"SELECT COUNT(*) -FROM [LevelOne] AS [l]", +""" +SELECT COUNT(*) +FROM [LevelOne] AS [l] +""", // - @"@__p_0='True' +""" +@__p_0='True' SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] @@ -1588,7 +1779,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_context_accessed_inside_filter_correlated(bool async) @@ -1596,7 +1788,8 @@ public override async Task Filtered_include_context_accessed_inside_filter_corre await base.Filtered_include_context_accessed_inside_filter_correlated(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -1610,7 +1803,8 @@ FROM [LevelOne] AS [l1] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_outer_parameter_used_inside_filter(bool async) @@ -1618,7 +1812,8 @@ public override async Task Filtered_include_outer_parameter_used_inside_filter(b await base.Filtered_include_outer_parameter_used_inside_filter(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] @@ -1634,7 +1829,8 @@ FROM [LevelThree] AS [l3] WHERE [l3].[Id] <> [l].[Id] ) AS [t1] ON [l2].[Id] = [t1].[OneToMany_Optional_Inverse3Id] ) AS [t0] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t0].[Id] +"""); } public override async Task Complex_query_with_let_collection_projection_FirstOrDefault(bool async) @@ -1642,7 +1838,8 @@ public override async Task Complex_query_with_let_collection_projection_FirstOrD await base.Complex_query_with_let_collection_projection_FirstOrDefault(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t1].[Name], [t1].[Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t1].[Name], [t1].[Id], [t0].[c] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToMany_Optional_Inverse2Id] @@ -1661,7 +1858,8 @@ SELECT 1 FROM [LevelTwo] AS [l2] WHERE [l1].[Id] = [l2].[OneToMany_Optional_Inverse2Id] AND [l2].[Id] = [t0].[Id]) ) AS [t1] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task SelectMany_DefaultIfEmpty_multiple_times_with_joins_projecting_a_collection(bool async) @@ -1669,7 +1867,8 @@ public override async Task SelectMany_DefaultIfEmpty_multiple_times_with_joins_p await base.SelectMany_DefaultIfEmpty_multiple_times_with_joins_projecting_a_collection(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [l14].[Name] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [l14].[Name] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -1698,7 +1897,8 @@ FROM [LevelTwo] AS [l15] WHERE [l15].[Id] <> 42 ) AS [t1] ON [t].[Id2] = [t1].[OneToMany_Optional_Self_Inverse2Id] WHERE [l11].[Name] <> N'Foo' OR ([l11].[Name] IS NULL) -ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id]"); +ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id] +"""); } public override async Task Take_Select_collection_Take(bool async) @@ -1706,7 +1906,8 @@ public override async Task Take_Select_collection_Take(bool async) await base.Take_Select_collection_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Name], [t0].[Id], [t0].[Name], [t0].[Level1Id], [t0].[Level2Id], [t0].[Id0], [t0].[Date], [t0].[Name0], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] FROM ( @@ -1724,7 +1925,8 @@ ORDER BY [l1].[Id] ) AS [t1] INNER JOIN [LevelOne] AS [l0] ON [t1].[Level1_Required_Id] = [l0].[Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Skip_Take_Select_collection_Skip_Take(bool async) @@ -1732,7 +1934,8 @@ public override async Task Skip_Take_Select_collection_Skip_Take(bool async) await base.Skip_Take_Select_collection_Skip_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Name], [t0].[Id], [t0].[Name], [t0].[Level1Id], [t0].[Level2Id], [t0].[Id0], [t0].[Date], [t0].[Name0], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] FROM ( @@ -1752,7 +1955,8 @@ OFFSET 1 ROWS FETCH NEXT 3 ROWS ONLY ) AS [t1] INNER JOIN [LevelOne] AS [l0] ON [t1].[Level1_Required_Id] = [l0].[Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Projecting_collection_with_FirstOrDefault(bool async) @@ -1760,14 +1964,16 @@ public override async Task Projecting_collection_with_FirstOrDefault(bool async) await base.Projecting_collection_with_FirstOrDefault(async); AssertSql( - @"SELECT [t].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [t].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM ( SELECT TOP(1) [l].[Id] FROM [LevelOne] AS [l] WHERE [l].[Id] = 1 ) AS [t] LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Filtered_include_Take_with_another_Take_on_top_level(bool async) @@ -1775,7 +1981,8 @@ public override async Task Filtered_include_Take_with_another_Take_on_top_level( await base.Filtered_include_Take_with_another_Take_on_top_level(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM ( @@ -1793,7 +2000,8 @@ ORDER BY [l1].[Name] DESC ) AS [t1] LEFT JOIN [LevelThree] AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Name] DESC, [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Name] DESC, [t0].[Id] +"""); } public override async Task Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(bool async) @@ -1801,7 +2009,8 @@ public override async Task Filtered_include_Skip_Take_with_another_Skip_Take_on_ await base.Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] @@ -1822,7 +2031,8 @@ OFFSET 2 ROWS FETCH NEXT 4 ROWS ONLY ) AS [t1] LEFT JOIN [LevelThree] AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id] DESC, [t0].[Name] DESC, [t0].[Id]"); +ORDER BY [t].[Id] DESC, [t0].[Name] DESC, [t0].[Id] +"""); } public override async Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level( @@ -1831,7 +2041,8 @@ public override async Task Filtered_include_with_Take_without_order_by_followed_ await base.Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM ( SELECT TOP(1) [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] @@ -1846,7 +2057,8 @@ FROM [LevelTwo] AS [l1] ) AS [t1] LEFT JOIN [LevelThree] AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level( @@ -1855,7 +2067,8 @@ public override async Task Filtered_include_with_Take_without_order_by_followed_ await base.Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level(async); AssertSql( - @"@__p_0='30' +""" +@__p_0='30' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM ( @@ -1872,7 +2085,8 @@ FROM [LevelTwo] AS [l1] ) AS [t1] LEFT JOIN [LevelThree] AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Skip_on_grouping_element(bool async) @@ -1880,7 +2094,8 @@ public override async Task Skip_on_grouping_element(bool async) await base.Skip_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -1894,7 +2109,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Take_on_grouping_element(bool async) @@ -1902,7 +2118,8 @@ public override async Task Take_on_grouping_element(bool async) await base.Take_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -1916,7 +2133,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE [t1].[row] <= 10 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name] DESC"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] DESC +"""); } public override async Task Skip_Take_on_grouping_element(bool async) @@ -1924,7 +2142,8 @@ public override async Task Skip_Take_on_grouping_element(bool async) await base.Skip_Take_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -1938,7 +2157,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_Distinct_on_grouping_element(bool async) @@ -1946,7 +2166,8 @@ public override async Task Skip_Take_Distinct_on_grouping_element(bool async) await base.Skip_Take_Distinct_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -1962,7 +2183,8 @@ ORDER BY [l0].[Name] OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] ) AS [t0] -ORDER BY [t].[Date]"); +ORDER BY [t].[Date] +"""); } public override async Task Skip_Take_ToList_on_grouping_element(bool async) @@ -1970,7 +2192,8 @@ public override async Task Skip_Take_ToList_on_grouping_element(bool async) await base.Skip_Take_ToList_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -1984,7 +2207,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_on_grouping_element_into_non_entity(bool async) @@ -1992,7 +2216,8 @@ public override async Task Skip_Take_on_grouping_element_into_non_entity(bool as await base.Skip_Take_on_grouping_element_into_non_entity(async); AssertSql( - @"SELECT [t].[Date], [t0].[Name], [t0].[Id] +""" +SELECT [t].[Date], [t0].[Name], [t0].[Id] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -2006,7 +2231,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_on_grouping_element_with_collection_include(bool async) @@ -2014,7 +2240,8 @@ public override async Task Skip_Take_on_grouping_element_with_collection_include await base.Skip_Take_on_grouping_element_with_collection_include(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -2031,7 +2258,8 @@ OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] LEFT JOIN [LevelTwo] AS [l0] ON [t1].[Id] = [l0].[OneToMany_Optional_Inverse2Id] ) AS [t0] -ORDER BY [t].[Date], [t0].[Name], [t0].[Id]"); +ORDER BY [t].[Date], [t0].[Name], [t0].[Id] +"""); } public override async Task Skip_Take_on_grouping_element_with_reference_include(bool async) @@ -2039,7 +2267,8 @@ public override async Task Skip_Take_on_grouping_element_with_reference_include( await base.Skip_Take_on_grouping_element_with_reference_include(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -2056,7 +2285,8 @@ OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] LEFT JOIN [LevelTwo] AS [l0] ON [t1].[Id] = [l0].[Level1_Optional_Id] ) AS [t0] -ORDER BY [t].[Date], [t0].[Name], [t0].[Id]"); +ORDER BY [t].[Date], [t0].[Name], [t0].[Id] +"""); } public override async Task Skip_Take_on_grouping_element_inside_collection_projection(bool async) @@ -2064,7 +2294,8 @@ public override async Task Skip_Take_on_grouping_element_inside_collection_proje await base.Skip_Take_on_grouping_element_inside_collection_projection(async); AssertSql( - @"SELECT [l].[Id], [t2].[Date], [t2].[Id], [t2].[Date0], [t2].[Name], [t2].[OneToMany_Optional_Self_Inverse1Id], [t2].[OneToMany_Required_Self_Inverse1Id], [t2].[OneToOne_Optional_Self1Id] +""" +SELECT [l].[Id], [t2].[Date], [t2].[Id], [t2].[Date0], [t2].[Name], [t2].[OneToMany_Optional_Self_Inverse1Id], [t2].[OneToMany_Required_Self_Inverse1Id], [t2].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [t].[Date], [t0].[Id], [t0].[Date] AS [Date0], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] @@ -2084,7 +2315,8 @@ FROM [LevelOne] AS [l1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] ) AS [t2] -ORDER BY [l].[Id], [t2].[Date], [t2].[Date0], [t2].[Name]"); +ORDER BY [l].[Id], [t2].[Date], [t2].[Date0], [t2].[Name] +"""); } public override async Task Include_partially_added_before_Where_and_then_build_upon(bool async) @@ -2092,7 +2324,8 @@ public override async Task Include_partially_added_before_Where_and_then_build_u await base.Include_partially_added_before_Where_and_then_build_upon(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] @@ -2102,7 +2335,8 @@ FROM [LevelThree] AS [l2] LEFT JOIN [LevelFour] AS [l3] ON [l2].[Id] = [l3].[Level3_Optional_Id] ) AS [t] ON [l1].[Id] = [t].[OneToMany_Optional_Inverse3Id] WHERE [l0].[Id] < 3 OR [l1].[Id] > 8 -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(bool async) @@ -2110,7 +2344,8 @@ public override async Task Include_partially_added_before_Where_and_then_build_u await base.Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] @@ -2128,7 +2363,8 @@ FROM [LevelThree] AS [l3] LEFT JOIN [LevelFour] AS [l4] ON [l3].[Id] = [l4].[Level3_Optional_Id] ) AS [t1] ON [l1].[Id] = [t1].[OneToMany_Required_Inverse3Id] WHERE [l0].[Id] < 3 OR [l1].[Id] > 8 -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Take_on_correlated_collection_in_projection(bool async) @@ -2136,7 +2372,8 @@ public override async Task Take_on_correlated_collection_in_projection(bool asyn await base.Take_on_correlated_collection_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -2146,7 +2383,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 50 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task FirstOrDefault_with_predicate_on_correlated_collection_in_projection(bool async) @@ -2154,7 +2392,8 @@ public override async Task FirstOrDefault_with_predicate_on_correlated_collectio await base.FirstOrDefault_with_predicate_on_correlated_collection_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -2163,7 +2402,8 @@ LEFT JOIN ( FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] AND [l].[Id] = [t0].[Id]"); +) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] AND [l].[Id] = [t0].[Id] +"""); } public override async Task SelectMany_with_predicate_and_DefaultIfEmpty_projecting_root_collection_element_and_another_collection( @@ -2172,7 +2412,8 @@ public override async Task SelectMany_with_predicate_and_DefaultIfEmpty_projecti await base.SelectMany_with_predicate_and_DefaultIfEmpty_projecting_root_collection_element_and_another_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] @@ -2180,7 +2421,8 @@ FROM [LevelTwo] AS [l0] WHERE [l0].[Level1_Required_Id] = ([l].[Id] * 2) OR CAST(LEN([l0].[Name]) AS int) = [l0].[Id] ) AS [t] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Complex_query_issue_21665(bool async) @@ -2188,7 +2430,8 @@ public override async Task Complex_query_issue_21665(bool async) await base.Complex_query_issue_21665(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[Name0], [t].[c], [t].[c0], [t].[c1], [t].[Id0], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[ChildCount], [t0].[Level2Name], [t0].[Level2Count], [t0].[IsLevel2There], [t0].[Id0] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[Name0], [t].[c], [t].[c0], [t].[c1], [t].[Id0], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[ChildCount], [t0].[Level2Name], [t0].[Level2Count], [t0].[IsLevel2There], [t0].[Id0] FROM ( SELECT TOP(1) [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Name] AS [Name0], ( SELECT COUNT(*) @@ -2231,7 +2474,8 @@ OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] LEFT JOIN [LevelTwo] AS [l4] ON [t1].[Id] = [l4].[Level1_Optional_Id] ) AS [t0] -ORDER BY [t].[Name], [t].[Id], [t].[Id0], [t0].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t].[Id], [t].[Id0], [t0].[Name], [t0].[Id] +"""); } public override async Task SelectMany_over_conditional_null_source(bool async) @@ -2309,7 +2553,8 @@ public override async Task Filtered_include_is_considered_loaded(bool async) await base.Filtered_include_is_considered_loaded(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -2319,7 +2564,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Select_nav_prop_collection_one_to_many_required(bool async) @@ -2327,10 +2573,12 @@ public override async Task Select_nav_prop_collection_one_to_many_required(bool await base.Select_nav_prop_collection_one_to_many_required(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id] +""" +SELECT [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_collection_navigation_nested_with_take(bool async) @@ -2338,7 +2586,8 @@ public override async Task Project_collection_navigation_nested_with_take(bool a await base.Project_collection_navigation_nested_with_take(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l0].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -2349,7 +2598,8 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE [t].[row] <= 50 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Multiple_optional_navigation_with_Include(bool async) @@ -2357,12 +2607,14 @@ public override async Task Multiple_optional_navigation_with_Include(bool async) await base.Multiple_optional_navigation_with_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Complex_query_with_let_collection_projection_FirstOrDefault_with_ToList_on_inner_and_outer(bool async) @@ -2370,7 +2622,8 @@ public override async Task Complex_query_with_let_collection_projection_FirstOrD await base.Complex_query_with_let_collection_projection_FirstOrDefault_with_ToList_on_inner_and_outer(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[Name], [t0].[Id], [t].[c] +""" +SELECT [l].[Id], [t].[Id], [t0].[Name], [t0].[Id], [t].[c] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT TOP(1) 1 AS [c], [l0].[Id] @@ -2385,7 +2638,8 @@ SELECT 1 FROM [LevelTwo] AS [l2] WHERE [l1].[Id] = [l2].[OneToMany_Optional_Inverse2Id] AND [l2].[Id] = [t].[Id]) ) AS [t0] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_complex_repeated_checked(bool async) @@ -2393,10 +2647,12 @@ public override async Task Include_collection_with_multiple_orderbys_complex_rep await base.Include_collection_with_multiple_orderbys_complex_repeated_checked(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l] LEFT JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id]"); +ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id] +"""); } public override async Task Multiple_optional_navigation_with_string_based_Include(bool async) @@ -2404,12 +2660,14 @@ public override async Task Multiple_optional_navigation_with_string_based_Includ await base.Multiple_optional_navigation_with_string_based_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Projecting_collection_after_optional_reference_correlated_with_parent(bool async) @@ -2417,7 +2675,8 @@ public override async Task Projecting_collection_after_optional_reference_correl await base.Projecting_collection_after_optional_reference_correlated_with_parent(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [t].[ChildId], [t].[ParentName] +""" +SELECT [l].[Id], [l0].[Id], [t].[ChildId], [t].[ParentName] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] OUTER APPLY ( @@ -2425,7 +2684,8 @@ OUTER APPLY ( FROM [LevelThree] AS [l1] WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Projecting_collection_with_group_by_after_optional_reference_correlated_with_parent(bool async) @@ -2433,7 +2693,8 @@ public override async Task Projecting_collection_with_group_by_after_optional_re await base.Projecting_collection_with_group_by_after_optional_reference_correlated_with_parent(async); AssertSql( - @"SELECT [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l0].[Id], [t].[Key], [t].[Count] +""" +SELECT [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l0].[Id], [t].[Key], [t].[Count] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -2443,7 +2704,8 @@ FROM [LevelThree] AS [l2] WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] GROUP BY [l2].[Name] ) AS [t] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Multiple_complex_includes_EF_Property(bool async) @@ -2451,7 +2713,8 @@ public override async Task Multiple_complex_includes_EF_Property(bool async) await base.Multiple_complex_includes_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] @@ -2460,7 +2723,8 @@ LEFT JOIN ( FROM [LevelTwo] AS [l2] LEFT JOIN [LevelThree] AS [l3] ON [l2].[Id] = [l3].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Multiple_complex_includes_self_ref_EF_Property(bool async) @@ -2468,7 +2732,8 @@ public override async Task Multiple_complex_includes_self_ref_EF_Property(bool a await base.Multiple_complex_includes_self_ref_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0] FROM [LevelOne] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[OneToOne_Optional_Self1Id] = [l0].[Id] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Self_Inverse1Id] @@ -2477,7 +2742,8 @@ LEFT JOIN ( FROM [LevelOne] AS [l2] LEFT JOIN [LevelOne] AS [l3] ON [l2].[OneToOne_Optional_Self1Id] = [l3].[Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Self_Inverse1Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Include_collection_multiple_with_filter_EF_Property(bool async) @@ -2485,7 +2751,8 @@ public override async Task Include_collection_multiple_with_filter_EF_Property(b await base.Include_collection_multiple_with_filter_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l3].[Id] AS [Id0], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name] AS [Name0], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l4].[Id] AS [Id1], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name] AS [Name1], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id] @@ -2498,7 +2765,8 @@ SELECT COUNT(*) FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL))) > 0 -ORDER BY [l].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Filtered_include_basic_Where_EF_Property(bool async) @@ -2506,14 +2774,16 @@ public override async Task Filtered_include_basic_Where_EF_Property(bool async) await base.Filtered_include_basic_Where_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] WHERE [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_OrderBy_EF_Property(bool async) @@ -2521,10 +2791,12 @@ public override async Task Filtered_include_OrderBy_EF_Property(bool async) await base.Filtered_include_OrderBy_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Name]"); +ORDER BY [l].[Id], [l0].[Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip_Take_EF_Property(bool async) @@ -2532,7 +2804,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip_Take_EF_Property( await base.Filtered_include_basic_OrderBy_Skip_Take_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -2542,7 +2815,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_on_ThenInclude_EF_Property(bool async) @@ -2550,7 +2824,8 @@ public override async Task Filtered_include_on_ThenInclude_EF_Property(bool asyn await base.Filtered_include_on_ThenInclude_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -2562,7 +2837,8 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection(bool async) @@ -2570,10 +2846,12 @@ public override async Task Final_GroupBy_property_entity_Include_collection(bool await base.Final_GroupBy_property_entity_Include_collection(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id]"); +ORDER BY [l].[Name], [l].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_nested(bool async) @@ -2581,14 +2859,16 @@ public override async Task Final_GroupBy_property_entity_Include_collection_nest await base.Final_GroupBy_property_entity_Include_collection_nested(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [t].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_reference(bool async) @@ -2596,14 +2876,16 @@ public override async Task Final_GroupBy_property_entity_Include_collection_refe await base.Final_GroupBy_property_entity_Include_collection_reference(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [t].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_multiple(bool async) @@ -2611,11 +2893,13 @@ public override async Task Final_GroupBy_property_entity_Include_collection_mult await base.Final_GroupBy_property_entity_Include_collection_multiple(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_reference_same_level(bool async) @@ -2623,11 +2907,13 @@ public override async Task Final_GroupBy_property_entity_Include_collection_refe await base.Final_GroupBy_property_entity_Include_collection_reference_same_level(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_reference(bool async) @@ -2635,10 +2921,12 @@ public override async Task Final_GroupBy_property_entity_Include_reference(bool await base.Final_GroupBy_property_entity_Include_reference(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Final_GroupBy_property_entity_Include_reference_multiple(bool async) @@ -2646,11 +2934,13 @@ public override async Task Final_GroupBy_property_entity_Include_reference_multi await base.Final_GroupBy_property_entity_Include_reference_multiple(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Required_Id] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs index cef574f4ec5..b8a98df5351 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs @@ -24,7 +24,8 @@ public override async Task Complex_query_with_let_collection_projection_FirstOrD await base.Complex_query_with_let_collection_projection_FirstOrDefault_with_ToList_on_inner_and_outer(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[Id0], [t1].[Name], [t1].[Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t0].[Id0], [t1].[Name], [t1].[Id], [t0].[c] FROM [Level1] AS [l] OUTER APPLY ( SELECT TOP(1) 1 AS [c], [l0].[Id], [t].[Id] AS [Id0], [t].[OneToOne_Required_PK_Date], [t].[Level1_Required_Id], [t].[OneToMany_Required_Inverse2Id] @@ -48,7 +49,8 @@ FROM [Level1] AS [l3] WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END) ) AS [t1] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +"""); } public override async Task SelectMany_with_Include1(bool async) @@ -56,7 +58,8 @@ public override async Task SelectMany_with_Include1(bool async) await base.SelectMany_with_Include1(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -70,7 +73,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_with_navigation_and_Distinct(bool async) @@ -78,7 +82,8 @@ public override async Task SelectMany_with_navigation_and_Distinct(bool async) await base.SelectMany_with_navigation_and_Distinct(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -91,7 +96,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Take_Select_collection_Take(bool async) @@ -99,7 +105,8 @@ public override async Task Take_Select_collection_Take(bool async) await base.Take_Select_collection_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Name], [t0].[Id], [t0].[Name], [t0].[Level1Id], [t0].[Level2Id], [t0].[Id0], [t0].[Date], [t0].[Name0], [t0].[Id1] FROM ( @@ -123,7 +130,8 @@ ORDER BY CASE ) AS [t1] INNER JOIN [Level1] AS [l0] ON [t1].[Level1_Required_Id] = [l0].[Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[c], [t0].[Id1]"); +ORDER BY [t].[Id], [t0].[c], [t0].[Id1] +"""); } public override async Task Skip_Take_Select_collection_Skip_Take(bool async) @@ -131,7 +139,8 @@ public override async Task Skip_Take_Select_collection_Skip_Take(bool async) await base.Skip_Take_Select_collection_Skip_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Name], [t0].[Id], [t0].[Name], [t0].[Level1Id], [t0].[Level2Id], [t0].[Id0], [t0].[Date], [t0].[Name0], [t0].[Id1] FROM ( @@ -157,7 +166,8 @@ OFFSET 1 ROWS FETCH NEXT 3 ROWS ONLY ) AS [t1] INNER JOIN [Level1] AS [l0] ON [t1].[Level1_Required_Id] = [l0].[Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[c], [t0].[Id1]"); +ORDER BY [t].[Id], [t0].[c], [t0].[Id1] +"""); } public override async Task FirstOrDefault_with_predicate_on_correlated_collection_in_projection(bool async) @@ -165,7 +175,8 @@ public override async Task FirstOrDefault_with_predicate_on_correlated_collectio await base.FirstOrDefault_with_predicate_on_correlated_collection_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -179,7 +190,8 @@ FROM [Level1] AS [l0] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] AND [l].[Id] = CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] -END"); +END +"""); } public override async Task Filtered_include_same_filter_set_on_same_navigation_twice(bool async) @@ -187,7 +199,8 @@ public override async Task Filtered_include_same_filter_set_on_same_navigation_t await base.Filtered_include_same_filter_set_on_same_navigation_twice(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[c] @@ -202,7 +215,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] DESC +"""); } public override async Task Filtered_include_basic_Where(bool async) @@ -210,14 +224,16 @@ public override async Task Filtered_include_basic_Where(bool async) await base.Filtered_include_basic_Where(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Optional_navigation_with_order_by_and_Include(bool async) @@ -225,7 +241,8 @@ public override async Task Optional_navigation_with_order_by_and_Include(bool as await base.Optional_navigation_with_order_by_and_Include(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -239,7 +256,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip(bool async) @@ -247,7 +265,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip(bool async) await base.Filtered_include_basic_OrderBy_Skip(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -258,7 +277,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name] +"""); } public override async Task Multiple_include_with_multiple_optional_navigations(bool async) @@ -266,7 +286,8 @@ public override async Task Multiple_include_with_multiple_optional_navigations(b await base.Multiple_include_with_multiple_optional_navigations(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t1].[Id], [t2].[Id], [t3].[Id], [t4].[Id], [t4].[Level2_Optional_Id], [t4].[Level2_Required_Id], [t4].[Level3_Name], [t4].[OneToMany_Optional_Inverse3Id], [t4].[OneToMany_Required_Inverse3Id], [t4].[OneToOne_Optional_PK_Inverse3Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t1].[Id], [t2].[Id], [t3].[Id], [t4].[Id], [t4].[Level2_Optional_Id], [t4].[Level2_Required_Id], [t4].[Level3_Name], [t4].[OneToMany_Optional_Inverse3Id], [t4].[OneToMany_Required_Inverse3Id], [t4].[OneToOne_Optional_PK_Inverse3Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -307,7 +328,8 @@ FROM [Level1] AS [l5] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t4].[OneToMany_Optional_Inverse3Id] WHERE [t0].[Level3_Name] <> N'Foo' OR ([t0].[Level3_Name] IS NULL) -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id], [t2].[Id], [t3].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id], [t2].[Id], [t3].[Id] +"""); } public override async Task Filtered_include_Take_with_another_Take_on_top_level(bool async) @@ -315,7 +337,8 @@ public override async Task Filtered_include_Take_with_another_Take_on_top_level( await base.Filtered_include_Take_with_another_Take_on_top_level(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[Id], [t].[Date], [t].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM ( @@ -339,7 +362,8 @@ FROM [Level1] AS [l1] WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[Level2_Optional_Id] ) AS [t1] -ORDER BY [t].[Id], [t1].[Level2_Name] DESC, [t1].[Id]"); +ORDER BY [t].[Id], [t1].[Level2_Name] DESC, [t1].[Id] +"""); } public override async Task Filtered_include_after_different_filtered_include_different_level(bool async) @@ -347,7 +371,8 @@ public override async Task Filtered_include_after_different_filtered_include_dif await base.Filtered_include_after_different_filtered_include_different_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] @@ -369,7 +394,8 @@ WHERE 1 < [t1].[row] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Required_Inverse3Id] ) AS [t2] -ORDER BY [l].[Id], [t2].[Level2_Name], [t2].[Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[Level3_Name] DESC"); +ORDER BY [l].[Id], [t2].[Level2_Name], [t2].[Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[Level3_Name] DESC +"""); } public override async Task Project_collection_navigation_composed(bool async) @@ -377,7 +403,8 @@ public override async Task Project_collection_navigation_composed(bool async) await base.Project_collection_navigation_composed(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -385,7 +412,8 @@ FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l0].[Level2_Name] <> N'Foo' OR ([l0].[Level2_Name] IS NULL)) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] WHERE [l].[Id] < 3 -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip_Take(bool async) @@ -393,7 +421,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip_Take(bool async) await base.Filtered_include_basic_OrderBy_Skip_Take(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -404,7 +433,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name] +"""); } public override async Task Filtered_include_on_ThenInclude(bool async) @@ -412,7 +442,8 @@ public override async Task Filtered_include_on_ThenInclude(bool async) await base.Filtered_include_on_ThenInclude(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -430,7 +461,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Level3_Name]"); +ORDER BY [l].[Id], [t].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Level3_Name] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -438,7 +470,8 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -448,7 +481,8 @@ FROM [Level1] AS [l0] ORDER BY CASE WHEN ([l].[Name] IS NOT NULL) AND ([l].[Name] LIKE N'%03') THEN 1 ELSE 2 -END, [l].[Id]"); +END, [l].[Id] +"""); } public override async Task Include_nested_with_optional_navigation(bool async) @@ -456,7 +490,8 @@ public override async Task Include_nested_with_optional_navigation(bool async) await base.Include_nested_with_optional_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id0], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id0], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -478,7 +513,8 @@ FROM [Level1] AS [l2] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Required_Inverse3Id] WHERE [t].[Level2_Name] <> N'L2 09' OR ([t].[Level2_Name] IS NULL) -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(bool async) @@ -486,7 +522,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging_joins_ await base.Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t2].[Id], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id] @@ -520,7 +557,8 @@ FROM [Level1] AS [l3] ) AS [t3] ON CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] END = [t3].[OneToMany_Required_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id], [t2].[Id]"); +ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id], [t2].[Id] +"""); } public override async Task Select_subquery_single_nested_subquery2(bool async) @@ -528,7 +566,8 @@ public override async Task Select_subquery_single_nested_subquery2(bool async) await base.Select_subquery_single_nested_subquery2(async); AssertSql( - @"SELECT [l].[Id], [t2].[Id], [t2].[Id0], [t2].[Id1], [t2].[Id00], [t2].[c] +""" +SELECT [l].[Id], [t2].[Id], [t2].[Id0], [t2].[Id1], [t2].[Id00], [t2].[c] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [t0].[Id] AS [Id0], [t1].[Id] AS [Id1], [t1].[Id0] AS [Id00], [t0].[c], CASE @@ -559,7 +598,8 @@ FROM [Level1] AS [l2] END = [t1].[OneToMany_Optional_Inverse4Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [l].[Id] = [t2].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t2].[c0], [t2].[Id], [t2].[Id0], [t2].[Id1]"); +ORDER BY [l].[Id], [t2].[c0], [t2].[Id], [t2].[Id0], [t2].[Id1] +"""); } public override async Task SelectMany_with_Include_and_order_by(bool async) @@ -567,7 +607,8 @@ public override async Task SelectMany_with_Include_and_order_by(bool async) await base.SelectMany_with_Include_and_order_by(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -581,7 +622,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id] +"""); } public override async Task Multiple_complex_includes(bool async) @@ -589,7 +631,8 @@ public override async Task Multiple_complex_includes(bool async) await base.Multiple_complex_includes(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -615,7 +658,8 @@ FROM [Level1] AS [l3] END = [t2].[Level2_Optional_Id] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -623,7 +667,8 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id] @@ -637,7 +682,8 @@ FROM [Level1] AS [l1] END = [t].[Level2_Optional_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Include_reference_followed_by_include_collection(bool async) @@ -645,7 +691,8 @@ public override async Task Include_reference_followed_by_include_collection(bool await base.Include_reference_followed_by_include_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -659,7 +706,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Multiple_optional_navigation_with_string_based_Include(bool async) @@ -667,7 +715,8 @@ public override async Task Multiple_optional_navigation_with_string_based_Includ await base.Multiple_optional_navigation_with_string_based_Include(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [l].[Id], [t].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [l].[Id], [t].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -688,7 +737,8 @@ FROM [Level1] AS [l2] ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(bool async) @@ -696,7 +746,8 @@ public override async Task SelectMany_navigation_property_with_include_and_follo await base.SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -717,7 +768,8 @@ FROM [Level1] AS [l2] ) AS [t1] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task SelectMany_with_Include_ThenInclude(bool async) @@ -725,7 +777,8 @@ public override async Task SelectMany_with_Include_ThenInclude(bool async) await base.SelectMany_with_Include_ThenInclude(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [l].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [l].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -746,7 +799,8 @@ FROM [Level1] AS [l2] ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Filtered_include_and_non_filtered_include_on_same_navigation2(bool async) @@ -754,7 +808,8 @@ public override async Task Filtered_include_and_non_filtered_include_on_same_nav await base.Filtered_include_and_non_filtered_include_on_same_navigation2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[c] @@ -769,7 +824,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } public override async Task @@ -779,7 +835,8 @@ await base .Multi_level_include_correct_PK_is_chosen_as_the_join_predicate_for_queries_that_join_same_table_multiple_times(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id00], [t2].[OneToOne_Required_PK_Date0], [t2].[Level1_Optional_Id0], [t2].[Level1_Required_Id0], [t2].[Level2_Name0], [t2].[OneToMany_Optional_Inverse2Id0], [t2].[OneToMany_Required_Inverse2Id0], [t2].[OneToOne_Optional_PK_Inverse2Id0], [t2].[Id1], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id00], [t2].[OneToOne_Required_PK_Date0], [t2].[Level1_Optional_Id0], [t2].[Level1_Required_Id0], [t2].[Level2_Name0], [t2].[OneToMany_Optional_Inverse2Id0], [t2].[OneToMany_Required_Inverse2Id0], [t2].[OneToOne_Optional_PK_Inverse2Id0], [t2].[Id1], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id] AS [Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id0] AS [Id00], [t1].[OneToOne_Required_PK_Date] AS [OneToOne_Required_PK_Date0], [t1].[Level1_Optional_Id] AS [Level1_Optional_Id0], [t1].[Level1_Required_Id] AS [Level1_Required_Id0], [t1].[Level2_Name] AS [Level2_Name0], [t1].[OneToMany_Optional_Inverse2Id] AS [OneToMany_Optional_Inverse2Id0], [t1].[OneToMany_Required_Inverse2Id] AS [OneToMany_Required_Inverse2Id0], [t1].[OneToOne_Optional_PK_Inverse2Id] AS [OneToOne_Optional_PK_Inverse2Id0], [t1].[Id1], [t1].[Level2_Optional_Id0], [t1].[Level2_Required_Id0], [t1].[Level3_Name0], [t1].[OneToMany_Optional_Inverse3Id0], [t1].[OneToMany_Required_Inverse3Id0], [t1].[OneToOne_Optional_PK_Inverse3Id0] @@ -807,7 +864,8 @@ FROM [Level1] AS [l3] END = [t1].[OneToMany_Optional_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [l].[Id] = [t2].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t2].[Id], [t2].[Id0], [t2].[Id00]"); +ORDER BY [l].[Id], [t2].[Id], [t2].[Id0], [t2].[Id00] +"""); } public override async Task Include_after_SelectMany(bool async) @@ -815,7 +873,8 @@ public override async Task Include_after_SelectMany(bool async) await base.Include_after_SelectMany(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -829,7 +888,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Filtered_include_context_accessed_inside_filter_correlated(bool async) @@ -837,7 +897,8 @@ public override async Task Filtered_include_context_accessed_inside_filter_corre await base.Filtered_include_context_accessed_inside_filter_correlated(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[c] @@ -855,7 +916,8 @@ FROM [Level1] AS [l1] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } public override async Task Skip_Take_on_grouping_element(bool async) @@ -863,7 +925,8 @@ public override async Task Skip_Take_on_grouping_element(bool async) await base.Skip_Take_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name] FROM ( SELECT [l].[Date] FROM [Level1] AS [l] @@ -877,7 +940,8 @@ FROM [Level1] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task SelectMany_with_Include2(bool async) @@ -885,7 +949,8 @@ public override async Task SelectMany_with_Include2(bool async) await base.SelectMany_with_Include2(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -898,7 +963,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[Level2_Required_Id]"); +END = [t0].[Level2_Required_Id] +"""); } public override async Task Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(bool async) @@ -906,7 +972,8 @@ public override async Task Filtered_include_and_non_filtered_include_followed_by await base.Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id1], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id1], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id] AS [Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t].[c] @@ -935,7 +1002,8 @@ FROM [Level1] AS [l2] WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse4Id] ) AS [t2] -ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0]"); +ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0] +"""); } public override async Task Include_collection_with_groupby_in_subquery(bool async) @@ -943,7 +1011,8 @@ public override async Task Include_collection_with_groupby_in_subquery(bool asyn await base.Include_collection_with_groupby_in_subquery(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id] FROM ( SELECT [l].[Name] FROM [Level1] AS [l] @@ -962,7 +1031,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t0].[Id] = [t2].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Skip_Take_ToList_on_grouping_element(bool async) @@ -970,7 +1040,8 @@ public override async Task Skip_Take_ToList_on_grouping_element(bool async) await base.Skip_Take_ToList_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name] FROM ( SELECT [l].[Date] FROM [Level1] AS [l] @@ -984,7 +1055,8 @@ FROM [Level1] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Project_collection_navigation_nested_with_take(bool async) @@ -992,7 +1064,8 @@ public override async Task Project_collection_navigation_nested_with_take(bool a await base.Project_collection_navigation_nested_with_take(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1010,7 +1083,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) @@ -1018,7 +1092,8 @@ public override async Task Multiple_SelectMany_navigation_property_followed_by_s await base.Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END, [l].[Id], [t].[Id], [t0].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] @@ -1041,7 +1116,8 @@ FROM [Level1] AS [l2] ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Skip_Take_on_grouping_element_with_reference_include(bool async) @@ -1049,7 +1125,8 @@ public override async Task Skip_Take_on_grouping_element_with_reference_include( await base.Skip_Take_on_grouping_element_with_reference_include(async); AssertSql( - @"SELECT [t].[Date], [t1].[Id], [t1].[Date], [t1].[Name], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Date], [t1].[Id], [t1].[Date], [t1].[Name], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM ( SELECT [l].[Date] FROM [Level1] AS [l] @@ -1070,7 +1147,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t0].[Id] = [t2].[Level1_Optional_Id] ) AS [t1] -ORDER BY [t].[Date], [t1].[Name], [t1].[Id]"); +ORDER BY [t].[Date], [t1].[Name], [t1].[Id] +"""); } public override async Task SelectMany_with_predicate_and_DefaultIfEmpty_projecting_root_collection_element_and_another_collection( @@ -1079,7 +1157,8 @@ public override async Task SelectMany_with_predicate_and_DefaultIfEmpty_projecti await base.SelectMany_with_predicate_and_DefaultIfEmpty_projecting_root_collection_element_and_another_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l0].[Id] AS [Id0] @@ -1102,7 +1181,8 @@ LEFT JOIN ( FROM [Level1] AS [l2] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id0], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id0], [t0].[Id] +"""); } public override async Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level( @@ -1111,7 +1191,8 @@ public override async Task Filtered_include_with_Take_without_order_by_followed_ await base.Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM ( SELECT TOP(1) [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] @@ -1132,7 +1213,8 @@ FROM [Level1] AS [l1] WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[Level2_Optional_Id] ) AS [t1] -ORDER BY [t].[Id], [t1].[Id]"); +ORDER BY [t].[Id], [t1].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(bool async) @@ -1140,7 +1222,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging_joins_ await base.Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id] @@ -1169,7 +1252,8 @@ FROM [Level1] AS [l2] ) AS [t2] ON CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id] END = [t2].[OneToMany_Optional_Inverse4Id] -ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) @@ -1177,7 +1261,8 @@ public override async Task SelectMany_navigation_property_followed_by_select_col await base.SelectMany_navigation_property_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END, [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] @@ -1193,7 +1278,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery_and_filter_before_groupby(bool async) @@ -1201,7 +1287,8 @@ public override async Task Include_collection_with_groupby_in_subquery_and_filte await base.Include_collection_with_groupby_in_subquery_and_filter_before_groupby(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id] FROM ( SELECT [l].[Name] FROM [Level1] AS [l] @@ -1222,7 +1309,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t0].[Id] = [t2].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Filtered_include_after_reference_navigation(bool async) @@ -1230,7 +1318,8 @@ public override async Task Filtered_include_after_reference_navigation(bool asyn await base.Filtered_include_after_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -1248,7 +1337,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Level3_Name]"); +ORDER BY [l].[Id], [t].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Level3_Name] +"""); } public override async Task Project_collection_navigation_nested(bool async) @@ -1256,7 +1346,8 @@ public override async Task Project_collection_navigation_nested(bool async) await base.Project_collection_navigation_nested(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1270,7 +1361,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Lift_projection_mapping_when_pushing_down_subquery(bool async) @@ -1278,7 +1370,8 @@ public override async Task Lift_projection_mapping_when_pushing_down_subquery(bo await base.Lift_projection_mapping_when_pushing_down_subquery(async); AssertSql( - @"@__p_0='25' +""" +@__p_0='25' SELECT [t].[Id], [t0].[Id0], [t2].[Id], [t2].[Id0], [t0].[Id], [t0].[c] FROM ( @@ -1303,7 +1396,8 @@ SELECT CASE FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t].[Id] = [t2].[OneToMany_Required_Inverse2Id] -ORDER BY [t].[Id], [t0].[Id0]"); +ORDER BY [t].[Id], [t0].[Id0] +"""); } public override async Task Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(bool async) @@ -1311,7 +1405,8 @@ public override async Task Include_collection_ThenInclude_reference_followed_by_ await base.Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id] @@ -1337,7 +1432,8 @@ FROM [Level1] AS [l3] END = [t2].[OneToOne_Optional_PK_Inverse3Id] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0], [t1].[Id]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0], [t1].[Id] +"""); } public override async Task Project_collection_navigation_nested_anonymous(bool async) @@ -1345,7 +1441,8 @@ public override async Task Project_collection_navigation_nested_anonymous(bool a await base.Project_collection_navigation_nested_anonymous(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1359,7 +1456,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Filtered_include_after_different_filtered_include_same_level(bool async) @@ -1367,7 +1465,8 @@ public override async Task Filtered_include_after_different_filtered_include_sam await base.Filtered_include_after_different_filtered_include_same_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -1387,7 +1486,8 @@ FROM [Level1] AS [l1] ) AS [t2] WHERE 1 < [t2].[row] ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name], [t0].[Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[Level2_Name] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name], [t0].[Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[Level2_Name] DESC +"""); } public override async Task Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(bool async) @@ -1395,7 +1495,8 @@ public override async Task Include_collection_followed_by_complex_includes_and_p await base.Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(async); AssertSql( - @"SELECT [l].[Id], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id1], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[Id2], [t3].[Level2_Optional_Id0], [t3].[Level2_Required_Id0], [t3].[Level3_Name0], [t3].[OneToMany_Optional_Inverse3Id0], [t3].[OneToMany_Required_Inverse3Id0], [t3].[OneToOne_Optional_PK_Inverse3Id0], [t3].[Id3], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0] +""" +SELECT [l].[Id], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id1], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[Id2], [t3].[Level2_Optional_Id0], [t3].[Level2_Required_Id0], [t3].[Level3_Name0], [t3].[OneToMany_Optional_Inverse3Id0], [t3].[OneToMany_Required_Inverse3Id0], [t3].[OneToOne_Optional_PK_Inverse3Id0], [t3].[Id3], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id] AS [Id1], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t1].[Id] AS [Id2], [t1].[Level2_Optional_Id] AS [Level2_Optional_Id0], [t1].[Level2_Required_Id] AS [Level2_Required_Id0], [t1].[Level3_Name] AS [Level3_Name0], [t1].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [t1].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [t1].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [t2].[Id] AS [Id3], [t2].[Level3_Optional_Id] AS [Level3_Optional_Id0], [t2].[Level3_Required_Id] AS [Level3_Required_Id0], [t2].[Level4_Name] AS [Level4_Name0], [t2].[OneToMany_Optional_Inverse4Id] AS [OneToMany_Optional_Inverse4Id0], [t2].[OneToMany_Required_Inverse4Id] AS [OneToMany_Required_Inverse4Id0], [t2].[OneToOne_Optional_PK_Inverse4Id] AS [OneToOne_Optional_PK_Inverse4Id0] @@ -1430,7 +1531,8 @@ FROM [Level1] AS [l4] END = [t2].[OneToMany_Optional_Inverse4Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t3] ON [l].[Id] = [t3].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t3].[Id], [t3].[Id0], [t3].[Id1], [t3].[Id2]"); +ORDER BY [l].[Id], [t3].[Id], [t3].[Id0], [t3].[Id1], [t3].[Id2] +"""); } public override async Task Filtered_include_context_accessed_inside_filter(bool async) @@ -1438,10 +1540,13 @@ public override async Task Filtered_include_context_accessed_inside_filter(bool await base.Filtered_include_context_accessed_inside_filter(async); AssertSql( - @"SELECT COUNT(*) -FROM [Level1] AS [l]", +""" +SELECT COUNT(*) +FROM [Level1] AS [l] +""", // - @"@__p_0='True' +""" +@__p_0='True' SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] @@ -1458,7 +1563,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } public override async Task Include_collection_followed_by_include_reference(bool async) @@ -1466,7 +1572,8 @@ public override async Task Include_collection_followed_by_include_reference(bool await base.Include_collection_followed_by_include_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id] @@ -1480,7 +1587,8 @@ FROM [Level1] AS [l1] END = [t].[OneToOne_Optional_PK_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging(bool async) @@ -1488,7 +1596,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging(bool a await base.Complex_multi_include_with_order_by_and_paging(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id] @@ -1517,7 +1626,8 @@ FROM [Level1] AS [l2] ) AS [t2] ON CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[OneToMany_Required_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(bool async) @@ -1525,7 +1635,8 @@ public override async Task Filtered_include_Skip_Take_with_another_Skip_Take_on_ await base.Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[Id], [t].[Date], [t].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] @@ -1552,7 +1663,8 @@ FROM [Level1] AS [l1] WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[Level2_Optional_Id] ) AS [t1] -ORDER BY [t].[Id] DESC, [t1].[Level2_Name] DESC, [t1].[Id]"); +ORDER BY [t].[Id] DESC, [t1].[Level2_Name] DESC, [t1].[Id] +"""); } public override async Task Skip_Take_on_grouping_element_with_collection_include(bool async) @@ -1560,7 +1672,8 @@ public override async Task Skip_Take_on_grouping_element_with_collection_include await base.Skip_Take_on_grouping_element_with_collection_include(async); AssertSql( - @"SELECT [t].[Date], [t1].[Id], [t1].[Date], [t1].[Name], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Date], [t1].[Id], [t1].[Date], [t1].[Name], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM ( SELECT [l].[Date] FROM [Level1] AS [l] @@ -1581,7 +1694,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t0].[Id] = [t2].[OneToMany_Optional_Inverse2Id] ) AS [t1] -ORDER BY [t].[Date], [t1].[Name], [t1].[Id]"); +ORDER BY [t].[Date], [t1].[Name], [t1].[Id] +"""); } public override async Task Null_check_in_anonymous_type_projection_should_not_be_removed(bool async) @@ -1589,7 +1703,8 @@ public override async Task Null_check_in_anonymous_type_projection_should_not_be await base.Null_check_in_anonymous_type_projection_should_not_be_removed(async); AssertSql( - @"SELECT [l].[Id], [t0].[c], [t0].[Level3_Name], [t0].[Id], [t0].[Id0] +""" +SELECT [l].[Id], [t0].[c], [t0].[Level3_Name], [t0].[Id], [t0].[Id0] FROM [Level1] AS [l] LEFT JOIN ( SELECT CASE @@ -1606,7 +1721,8 @@ FROM [Level1] AS [l1] END = [t].[Level2_Required_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Filtered_include_Take_without_OrderBy(bool async) @@ -1614,7 +1730,8 @@ public override async Task Filtered_include_Take_without_OrderBy(bool async) await base.Filtered_include_Take_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -1625,7 +1742,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_followed_by_projecting_the_included_collection(bool async) @@ -1633,14 +1751,16 @@ public override async Task Include_collection_followed_by_projecting_the_include await base.Include_collection_followed_by_projecting_the_included_collection(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(bool async) @@ -1648,7 +1768,8 @@ public override async Task Include_collection_and_another_navigation_chain_follo await base.Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(async); AssertSql( - @"SELECT [l].[Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [l].[Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id] AS [Id1], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id] @@ -1669,7 +1790,8 @@ FROM [Level1] AS [l2] END = [t0].[Level3_Optional_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0] +"""); } public override async Task Filtered_include_ThenInclude_OrderBy(bool async) @@ -1677,7 +1799,8 @@ public override async Task Filtered_include_ThenInclude_OrderBy(bool async) await base.Filtered_include_ThenInclude_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id] @@ -1691,7 +1814,8 @@ FROM [Level1] AS [l1] END = [t].[OneToMany_Optional_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Level2_Name], [t0].[Id], [t0].[Level3_Name] DESC"); +ORDER BY [l].[Id], [t0].[Level2_Name], [t0].[Id], [t0].[Level3_Name] DESC +"""); } public override async Task Filtered_include_complex_three_level_with_middle_having_filter2(bool async) @@ -1699,7 +1823,8 @@ public override async Task Filtered_include_complex_three_level_with_middle_havi await base.Filtered_include_complex_three_level_with_middle_having_filter2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id00], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[Id1], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id00], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[Id1], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id] AS [Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id0] AS [Id00], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id], [t2].[Id1], [t2].[Level3_Optional_Id0], [t2].[Level3_Required_Id0], [t2].[Level4_Name0], [t2].[OneToMany_Optional_Inverse4Id0], [t2].[OneToMany_Required_Inverse4Id0], [t2].[OneToOne_Optional_PK_Inverse4Id0], [t2].[c] @@ -1739,7 +1864,8 @@ FROM [Level1] AS [l3] ) AS [t2] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t3] ON [l].[Id] = [t3].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t3].[Id], [t3].[c], [t3].[Id0], [t3].[Id00]"); +ORDER BY [l].[Id], [t3].[Id], [t3].[c], [t3].[Id0], [t3].[Id00] +"""); } public override async Task Project_collection_and_root_entity(bool async) @@ -1747,14 +1873,16 @@ public override async Task Project_collection_and_root_entity(bool async) await base.Project_collection_and_root_entity(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_reference_collection_order_by_reference_navigation(bool async) @@ -1762,7 +1890,8 @@ public override async Task Include_reference_collection_order_by_reference_navig await base.Include_reference_collection_order_by_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -1778,7 +1907,8 @@ FROM [Level1] AS [l1] END = [t0].[OneToMany_Optional_Inverse3Id] ORDER BY CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END, [l].[Id], [t].[Id]"); +END, [l].[Id], [t].[Id] +"""); } public override async Task Multiple_optional_navigation_with_Include(bool async) @@ -1786,7 +1916,8 @@ public override async Task Multiple_optional_navigation_with_Include(bool async) await base.Multiple_optional_navigation_with_Include(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [l].[Id], [t].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [l].[Id], [t].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1807,7 +1938,8 @@ FROM [Level1] AS [l2] ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task SelectMany_with_order_by_and_Include(bool async) @@ -1815,7 +1947,8 @@ public override async Task SelectMany_with_order_by_and_Include(bool async) await base.SelectMany_with_order_by_and_Include(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -1829,7 +1962,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id] +"""); } public override async Task Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(bool async) @@ -1837,7 +1971,8 @@ public override async Task Include_and_ThenInclude_collections_followed_by_proje await base.Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id] @@ -1851,7 +1986,8 @@ FROM [Level1] AS [l1] END = [t].[OneToOne_Optional_PK_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Select_nav_prop_collection_one_to_many_required(bool async) @@ -1859,7 +1995,8 @@ public override async Task Select_nav_prop_collection_one_to_many_required(bool await base.Select_nav_prop_collection_one_to_many_required(async); AssertSql( - @"SELECT [l].[Id], [t].[c], [t].[Id] +""" +SELECT [l].[Id], [t].[c], [t].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT CASE @@ -1868,7 +2005,8 @@ SELECT CASE FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection(bool async) @@ -1876,14 +2014,16 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Multiple_complex_include_select(bool async) @@ -1891,7 +2031,8 @@ public override async Task Multiple_complex_include_select(bool async) await base.Multiple_complex_include_select(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -1917,7 +2058,8 @@ FROM [Level1] AS [l3] END = [t2].[Level2_Optional_Id] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Project_collection_navigation_using_ef_property(bool async) @@ -1925,7 +2067,8 @@ public override async Task Project_collection_navigation_using_ef_property(bool await base.Project_collection_navigation_using_ef_property(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1939,7 +2082,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Filtered_include_and_non_filtered_include_on_same_navigation1(bool async) @@ -1947,7 +2091,8 @@ public override async Task Filtered_include_and_non_filtered_include_on_same_nav await base.Filtered_include_and_non_filtered_include_on_same_navigation1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[c] @@ -1962,7 +2107,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } public override async Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level( @@ -1971,7 +2117,8 @@ public override async Task Filtered_include_with_Take_without_order_by_followed_ await base.Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level(async); AssertSql( - @"@__p_0='30' +""" +@__p_0='30' SELECT [t].[Id], [t].[Date], [t].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM ( @@ -1994,7 +2141,8 @@ FROM [Level1] AS [l1] WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[Level2_Optional_Id] ) AS [t1] -ORDER BY [t].[Id], [t1].[Id]"); +ORDER BY [t].[Id], [t1].[Id] +"""); } public override async Task Project_collection_and_include(bool async) @@ -2002,7 +2150,8 @@ public override async Task Project_collection_and_include(bool async) await base.Project_collection_and_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2014,7 +2163,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Complex_query_with_let_collection_projection_FirstOrDefault(bool async) @@ -2022,7 +2172,8 @@ public override async Task Complex_query_with_let_collection_projection_FirstOrD await base.Complex_query_with_let_collection_projection_FirstOrDefault(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t1].[Name], [t1].[Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t1].[Name], [t1].[Id], [t0].[c] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Required_Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Optional_Inverse2Id] @@ -2043,7 +2194,8 @@ FROM [Level1] AS [l2] WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END) ) AS [t1] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(bool async) @@ -2051,7 +2203,8 @@ public override async Task Include_partially_added_before_Where_and_then_build_u await base.Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id0], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id0], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2097,7 +2250,8 @@ WHERE CASE END < 3 OR CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END > 8 -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[OneToMany_Optional_Inverse3Id], [t1].[c], [t1].[Id], [t3].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[OneToMany_Optional_Inverse3Id], [t1].[c], [t1].[Id], [t3].[Id] +"""); } public override async Task Multiple_SelectMany_with_Include(bool async) @@ -2105,7 +2259,8 @@ public override async Task Multiple_SelectMany_with_Include(bool async) await base.Multiple_SelectMany_with_Include(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [l].[Id], [t].[Id], [t2].[Id], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [l].[Id], [t].[Id], [t2].[Id], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id] @@ -2133,7 +2288,8 @@ FROM [Level1] AS [l3] ) AS [t2] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Projecting_collection_with_FirstOrDefault(bool async) @@ -2141,7 +2297,8 @@ public override async Task Projecting_collection_with_FirstOrDefault(bool async) await base.Projecting_collection_with_FirstOrDefault(async); AssertSql( - @"SELECT [t].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM ( SELECT TOP(1) [l].[Id] FROM [Level1] AS [l] @@ -2152,7 +2309,8 @@ LEFT JOIN ( FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [t].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Orderby_SelectMany_with_Include1(bool async) @@ -2160,7 +2318,8 @@ public override async Task Orderby_SelectMany_with_Include1(bool async) await base.Orderby_SelectMany_with_Include1(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2174,7 +2333,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Select_subquery_single_nested_subquery(bool async) @@ -2182,7 +2342,8 @@ public override async Task Select_subquery_single_nested_subquery(bool async) await base.Select_subquery_single_nested_subquery(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t1].[Id], [t1].[Id0], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t1].[Id], [t1].[Id0], [t0].[c] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Required_Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Optional_Inverse2Id] @@ -2204,7 +2365,8 @@ FROM [Level1] AS [l1] ) AS [t1] ON CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Filtered_include_OrderBy(bool async) @@ -2212,14 +2374,16 @@ public override async Task Filtered_include_OrderBy(bool async) await base.Filtered_include_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Level2_Name]"); +ORDER BY [l].[Id], [t].[Level2_Name] +"""); } public override async Task Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(bool async) @@ -2227,7 +2391,8 @@ public override async Task Filtered_include_same_filter_set_on_same_navigation_t await base.Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id0], [t2].[Id1], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id0], [t2].[Id1], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0] FROM [Level1] AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id] AS [Id0], [t1].[Id] AS [Id1], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t0].[Level2_Optional_Id] AS [Level2_Optional_Id0], [t0].[Level2_Required_Id] AS [Level2_Required_Id0], [t0].[Level3_Name] AS [Level3_Name0], [t0].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [t].[c] @@ -2256,7 +2421,8 @@ FROM [Level1] AS [l2] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t1].[OneToMany_Optional_Inverse3Id] ) AS [t2] -ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0]"); +ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0] +"""); } public override async Task Include_collection_with_groupby_in_subquery_and_filter_after_groupby(bool async) @@ -2264,7 +2430,8 @@ public override async Task Include_collection_with_groupby_in_subquery_and_filte await base.Include_collection_with_groupby_in_subquery_and_filter_after_groupby(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id] FROM ( SELECT [l].[Name] FROM [Level1] AS [l] @@ -2284,7 +2451,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t0].[Id] = [t2].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Filtered_include_variable_used_inside_filter(bool async) @@ -2292,7 +2460,8 @@ public override async Task Filtered_include_variable_used_inside_filter(bool asy await base.Filtered_include_variable_used_inside_filter(async); AssertSql( - @"@__prm_0='Foo' (Size = 4000) +""" +@__prm_0='Foo' (Size = 4000) SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] @@ -2309,7 +2478,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } public override async Task Filtered_ThenInclude_OrderBy(bool async) @@ -2317,7 +2487,8 @@ public override async Task Filtered_ThenInclude_OrderBy(bool async) await base.Filtered_ThenInclude_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id] @@ -2331,7 +2502,8 @@ FROM [Level1] AS [l1] END = [t].[OneToMany_Optional_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id], [t0].[Level3_Name]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Level3_Name] +"""); } public override async Task @@ -2341,7 +2513,8 @@ await base .Filtered_include_multiple_multi_level_includes_with_first_level_using_filter_include_on_one_of_the_chains_only(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id0], [t2].[Id1], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id0], [t2].[Id1], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0] FROM [Level1] AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id] AS [Id0], [t1].[Id] AS [Id1], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t0].[Level2_Optional_Id] AS [Level2_Optional_Id0], [t0].[Level2_Required_Id] AS [Level2_Required_Id0], [t0].[Level3_Name] AS [Level3_Name0], [t0].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [t].[c] @@ -2370,7 +2543,8 @@ FROM [Level1] AS [l2] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t1].[OneToMany_Optional_Inverse3Id] ) AS [t2] -ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0]"); +ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0] +"""); } public override async Task Filtered_include_Skip_without_OrderBy(bool async) @@ -2378,7 +2552,8 @@ public override async Task Filtered_include_Skip_without_OrderBy(bool async) await base.Filtered_include_Skip_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -2389,7 +2564,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Skip_Take_on_grouping_element_into_non_entity(bool async) @@ -2397,7 +2573,8 @@ public override async Task Skip_Take_on_grouping_element_into_non_entity(bool as await base.Skip_Take_on_grouping_element_into_non_entity(async); AssertSql( - @"SELECT [t].[Date], [t0].[Name], [t0].[Id] +""" +SELECT [t].[Date], [t0].[Name], [t0].[Id] FROM ( SELECT [l].[Date] FROM [Level1] AS [l] @@ -2411,7 +2588,8 @@ FROM [Level1] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Include_collection_multiple(bool async) @@ -2419,7 +2597,8 @@ public override async Task Include_collection_multiple(bool async) await base.Include_collection_multiple(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id1], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[Id2], [t3].[Level2_Optional_Id0], [t3].[Level2_Required_Id0], [t3].[Level3_Name0], [t3].[OneToMany_Optional_Inverse3Id0], [t3].[OneToMany_Required_Inverse3Id0], [t3].[OneToOne_Optional_PK_Inverse3Id0], [t3].[Id3], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id1], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[Id2], [t3].[Level2_Optional_Id0], [t3].[Level2_Required_Id0], [t3].[Level3_Name0], [t3].[OneToMany_Optional_Inverse3Id0], [t3].[OneToMany_Required_Inverse3Id0], [t3].[OneToOne_Optional_PK_Inverse3Id0], [t3].[Id3], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id] AS [Id1], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t1].[Id] AS [Id2], [t1].[Level2_Optional_Id] AS [Level2_Optional_Id0], [t1].[Level2_Required_Id] AS [Level2_Required_Id0], [t1].[Level3_Name] AS [Level3_Name0], [t1].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [t1].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [t1].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [t2].[Id] AS [Id3], [t2].[Level3_Optional_Id] AS [Level3_Optional_Id0], [t2].[Level3_Required_Id] AS [Level3_Required_Id0], [t2].[Level4_Name] AS [Level4_Name0], [t2].[OneToMany_Optional_Inverse4Id] AS [OneToMany_Optional_Inverse4Id0], [t2].[OneToMany_Required_Inverse4Id] AS [OneToMany_Required_Inverse4Id0], [t2].[OneToOne_Optional_PK_Inverse4Id] AS [OneToOne_Optional_PK_Inverse4Id0] @@ -2454,7 +2633,8 @@ FROM [Level1] AS [l4] END = [t2].[OneToMany_Optional_Inverse4Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t3] ON [l].[Id] = [t3].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t3].[Id], [t3].[Id0], [t3].[Id1], [t3].[Id2]"); +ORDER BY [l].[Id], [t3].[Id], [t3].[Id0], [t3].[Id1], [t3].[Id2] +"""); } public override async Task Take_on_correlated_collection_in_projection(bool async) @@ -2462,7 +2642,8 @@ public override async Task Take_on_correlated_collection_in_projection(bool asyn await base.Take_on_correlated_collection_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -2473,7 +2654,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE [t].[row] <= 50 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Optional_navigation_with_Include_ThenInclude(bool async) @@ -2481,7 +2663,8 @@ public override async Task Optional_navigation_with_Include_ThenInclude(bool asy await base.Optional_navigation_with_Include_ThenInclude(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id0], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id0], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2502,7 +2685,8 @@ FROM [Level1] AS [l2] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Including_reference_navigation_and_projecting_collection_navigation(bool async) @@ -2510,7 +2694,8 @@ public override async Task Including_reference_navigation_and_projecting_collect await base.Including_reference_navigation_and_projecting_collection_navigation(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2529,7 +2714,8 @@ LEFT JOIN ( FROM [Level1] AS [l2] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Optional_navigation_with_Include_and_order(bool async) @@ -2537,7 +2723,8 @@ public override async Task Optional_navigation_with_Include_and_order(bool async await base.Optional_navigation_with_Include_and_order(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2551,7 +2738,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id] +"""); } public override async Task Include_partially_added_before_Where_and_then_build_upon(bool async) @@ -2559,7 +2747,8 @@ public override async Task Include_partially_added_before_Where_and_then_build_u await base.Include_partially_added_before_Where_and_then_build_upon(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2590,7 +2779,8 @@ WHERE CASE END < 3 OR CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END > 8 -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Include_collection_multiple_with_filter(bool async) @@ -2598,7 +2788,8 @@ public override async Task Include_collection_multiple_with_filter(bool async) await base.Include_collection_multiple_with_filter(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l2].[Id], [l2].[OneToOne_Required_PK_Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Level2_Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id] AS [Id1], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id] @@ -2630,7 +2821,8 @@ FROM [Level1] AS [l1] WHEN ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [l0].[Id] END = [t].[OneToOne_Optional_PK_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([t].[Level3_Name] <> N'Foo' OR ([t].[Level3_Name] IS NULL))) > 0 -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0] +"""); } public override async Task Project_collection_navigation(bool async) @@ -2638,14 +2830,16 @@ public override async Task Project_collection_navigation(bool async) await base.Project_collection_navigation(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(bool async) @@ -2653,7 +2847,8 @@ public override async Task LeftJoin_with_Any_on_outer_source_and_projecting_coll await base.LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NULL) OR ([t0].[Level1_Required_Id] IS NULL) OR ([t0].[OneToMany_Required_Inverse2Id] IS NULL) THEN 0 WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END, [l].[Id], [t0].[Id], [t0].[Id0], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] @@ -2678,7 +2873,8 @@ FROM [Level1] AS [l2] WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END = [t1].[OneToMany_Required_Inverse3Id] WHERE [l].[Name] IN (N'L1 01', N'L1 02') -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +"""); } public override async Task Multi_level_include_one_to_many_optional_and_one_to_many_optional_produces_valid_sql(bool async) @@ -2686,7 +2882,8 @@ public override async Task Multi_level_include_one_to_many_optional_and_one_to_m await base.Multi_level_include_one_to_many_optional_and_one_to_many_optional_produces_valid_sql(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id] @@ -2700,7 +2897,8 @@ FROM [Level1] AS [l1] END = [t].[OneToMany_Optional_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Take_on_grouping_element(bool async) @@ -2708,7 +2906,8 @@ public override async Task Take_on_grouping_element(bool async) await base.Take_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name] FROM ( SELECT [l].[Date] FROM [Level1] AS [l] @@ -2722,7 +2921,8 @@ FROM [Level1] AS [l0] ) AS [t1] WHERE [t1].[row] <= 10 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name] DESC"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] DESC +"""); } public override async Task Null_check_in_Dto_projection_should_not_be_removed(bool async) @@ -2730,7 +2930,8 @@ public override async Task Null_check_in_Dto_projection_should_not_be_removed(bo await base.Null_check_in_Dto_projection_should_not_be_removed(async); AssertSql( - @"SELECT [l].[Id], [t0].[c], [t0].[Level3_Name], [t0].[Id], [t0].[Id0] +""" +SELECT [l].[Id], [t0].[c], [t0].[Level3_Name], [t0].[Id], [t0].[Id0] FROM [Level1] AS [l] LEFT JOIN ( SELECT CASE @@ -2747,7 +2948,8 @@ FROM [Level1] AS [l1] END = [t].[Level2_Required_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Filtered_include_basic_OrderBy_Take(bool async) @@ -2755,7 +2957,8 @@ public override async Task Filtered_include_basic_OrderBy_Take(bool async) await base.Filtered_include_basic_OrderBy_Take(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -2766,7 +2969,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name] +"""); } public override async Task Skip_Take_on_grouping_element_inside_collection_projection(bool async) @@ -2774,7 +2978,8 @@ public override async Task Skip_Take_on_grouping_element_inside_collection_proje await base.Skip_Take_on_grouping_element_inside_collection_projection(async); AssertSql( - @"SELECT [l].[Id], [t2].[Date], [t2].[Id], [t2].[Date0], [t2].[Name] +""" +SELECT [l].[Id], [t2].[Date], [t2].[Id], [t2].[Date0], [t2].[Name] FROM [Level1] AS [l] OUTER APPLY ( SELECT [t].[Date], [t0].[Id], [t0].[Date] AS [Date0], [t0].[Name] @@ -2794,7 +2999,8 @@ FROM [Level1] AS [l1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] ) AS [t2] -ORDER BY [l].[Id], [t2].[Date], [t2].[Date0], [t2].[Name]"); +ORDER BY [l].[Id], [t2].[Date], [t2].[Date0], [t2].[Name] +"""); } public override async Task Filtered_include_is_considered_loaded(bool async) @@ -2802,7 +3008,8 @@ public override async Task Filtered_include_is_considered_loaded(bool async) await base.Filtered_include_is_considered_loaded(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[c] @@ -2817,7 +3024,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } public override async Task Skip_on_grouping_element(bool async) @@ -2825,7 +3033,8 @@ public override async Task Skip_on_grouping_element(bool async) await base.Skip_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name] FROM ( SELECT [l].[Date] FROM [Level1] AS [l] @@ -2839,7 +3048,8 @@ FROM [Level1] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Include_reference_and_collection_order_by(bool async) @@ -2847,7 +3057,8 @@ public override async Task Include_reference_and_collection_order_by(bool async) await base.Include_reference_and_collection_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2861,7 +3072,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [t].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t].[Id] +"""); } public override async Task Skip_Take_Distinct_on_grouping_element(bool async) @@ -2869,7 +3081,8 @@ public override async Task Skip_Take_Distinct_on_grouping_element(bool async) await base.Skip_Take_Distinct_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name] FROM ( SELECT [l].[Date] FROM [Level1] AS [l] @@ -2885,7 +3098,8 @@ ORDER BY [l0].[Name] OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] ) AS [t0] -ORDER BY [t].[Date]"); +ORDER BY [t].[Date] +"""); } public override async Task Include_collection_ThenInclude_two_references(bool async) @@ -2893,7 +3107,8 @@ public override async Task Include_collection_ThenInclude_two_references(bool as await base.Include_collection_ThenInclude_two_references(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id] AS [Id1], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id] @@ -2914,7 +3129,8 @@ FROM [Level1] AS [l2] END = [t0].[Level3_Optional_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0] +"""); } public override async Task Filtered_include_complex_three_level_with_middle_having_filter1(bool async) @@ -2922,7 +3138,8 @@ public override async Task Filtered_include_complex_three_level_with_middle_havi await base.Filtered_include_complex_three_level_with_middle_having_filter1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id00], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[Id1], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id00], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[Id1], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id] AS [Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id0] AS [Id00], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id], [t2].[Id1], [t2].[Level3_Optional_Id0], [t2].[Level3_Required_Id0], [t2].[Level4_Name0], [t2].[OneToMany_Optional_Inverse4Id0], [t2].[OneToMany_Required_Inverse4Id0], [t2].[OneToOne_Optional_PK_Inverse4Id0], [t2].[c] @@ -2962,7 +3179,8 @@ FROM [Level1] AS [l3] ) AS [t2] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t3] ON [l].[Id] = [t3].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t3].[Id], [t3].[c], [t3].[Id0], [t3].[Id00]"); +ORDER BY [l].[Id], [t3].[Id], [t3].[c], [t3].[Id0], [t3].[Id00] +"""); } public override async Task Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(bool async) @@ -2970,7 +3188,8 @@ public override async Task Include_ThenInclude_ThenInclude_followed_by_two_neste await base.Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(async); AssertSql( - @"SELECT [l].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[Id1] +""" +SELECT [l].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[Id1] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id] AS [Id0], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [l0].[Id] AS [Id1], [l0].[OneToMany_Optional_Inverse2Id] @@ -2991,7 +3210,8 @@ FROM [Level1] AS [l2] END = [t0].[Level3_Optional_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id1], [t1].[Id]"); +ORDER BY [l].[Id], [t1].[Id1], [t1].[Id] +"""); } public override async Task Project_navigation_and_collection(bool async) @@ -2999,7 +3219,8 @@ public override async Task Project_navigation_and_collection(bool async) await base.Project_navigation_and_collection(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3013,7 +3234,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_reference_ThenInclude_collection_order_by(bool async) @@ -3021,7 +3243,8 @@ public override async Task Include_reference_ThenInclude_collection_order_by(boo await base.Include_reference_ThenInclude_collection_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3035,7 +3258,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [t].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_with_navigation_and_Distinct_projecting_columns_including_join_key(bool async) @@ -3234,7 +3458,8 @@ public override async Task Projecting_collection_after_optional_reference_correl await base.Projecting_collection_after_optional_reference_correlated_with_parent(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[ChildId], [t0].[ParentName], [t0].[Id] +""" +SELECT [l].[Id], [t].[Id], [t0].[ChildId], [t0].[ParentName], [t0].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Required_Inverse2Id] @@ -3254,7 +3479,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END IS NULL) AND ([l1].[OneToMany_Optional_Inverse3Id] IS NULL))) ) AS [t0] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Projecting_collection_with_group_by_after_optional_reference_correlated_with_parent(bool async) @@ -3262,7 +3488,8 @@ public override async Task Projecting_collection_with_group_by_after_optional_re await base.Projecting_collection_with_group_by_after_optional_reference_correlated_with_parent(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t].[Id], [t1].[Key], [t1].[Count] +""" +SELECT [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t].[Id], [t1].[Key], [t1].[Count] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -3288,7 +3515,8 @@ FROM [Level1] AS [l2] END IS NULL) AND ([l2].[OneToMany_Optional_Inverse3Id] IS NULL))) GROUP BY [l2].[Level3_Name] ) AS [t1] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Multiple_complex_includes_self_ref_EF_Property(bool async) @@ -3303,7 +3531,8 @@ public override async Task Multiple_complex_includes_EF_Property(bool async) await base.Multiple_complex_includes_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3329,7 +3558,8 @@ FROM [Level1] AS [l3] END = [t2].[Level2_Optional_Id] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Include_collection_multiple_with_filter_EF_Property(bool async) @@ -3337,7 +3567,8 @@ public override async Task Include_collection_multiple_with_filter_EF_Property(b await base.Include_collection_multiple_with_filter_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l2].[Id], [l2].[OneToOne_Required_PK_Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Level2_Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id] AS [Id1], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id] @@ -3369,7 +3600,8 @@ FROM [Level1] AS [l1] WHEN ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [l0].[Id] END = [t].[OneToOne_Optional_PK_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([t].[Level3_Name] <> N'Foo' OR ([t].[Level3_Name] IS NULL))) > 0 -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0] +"""); } public override async Task Filtered_include_basic_Where_EF_Property(bool async) @@ -3377,14 +3609,16 @@ public override async Task Filtered_include_basic_Where_EF_Property(bool async) await base.Filtered_include_basic_Where_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_OrderBy_EF_Property(bool async) @@ -3392,14 +3626,16 @@ public override async Task Filtered_include_OrderBy_EF_Property(bool async) await base.Filtered_include_OrderBy_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Level2_Name]"); +ORDER BY [l].[Id], [t].[Level2_Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip_Take_EF_Property(bool async) @@ -3407,7 +3643,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip_Take_EF_Property( await base.Filtered_include_basic_OrderBy_Skip_Take_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -3418,7 +3655,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name] +"""); } public override async Task Filtered_include_on_ThenInclude_EF_Property(bool async) @@ -3426,7 +3664,8 @@ public override async Task Filtered_include_on_ThenInclude_EF_Property(bool asyn await base.Filtered_include_on_ThenInclude_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3444,7 +3683,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Level3_Name]"); +ORDER BY [l].[Id], [t].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Level3_Name] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection(bool async) @@ -3452,14 +3692,16 @@ public override async Task Final_GroupBy_property_entity_Include_collection(bool await base.Final_GroupBy_property_entity_Include_collection(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id]"); +ORDER BY [l].[Name], [l].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_nested(bool async) @@ -3467,7 +3709,8 @@ public override async Task Final_GroupBy_property_entity_Include_collection_nest await base.Final_GroupBy_property_entity_Include_collection_nested(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id] @@ -3481,7 +3724,8 @@ FROM [Level1] AS [l1] END = [t].[OneToMany_Optional_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [t0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t0].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_reference(bool async) @@ -3489,7 +3733,8 @@ public override async Task Final_GroupBy_property_entity_Include_collection_refe await base.Final_GroupBy_property_entity_Include_collection_reference(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id] @@ -3503,7 +3748,8 @@ FROM [Level1] AS [l1] END = [t].[Level2_Optional_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [t0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t0].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_multiple(bool async) @@ -3511,7 +3757,8 @@ public override async Task Final_GroupBy_property_entity_Include_collection_mult await base.Final_GroupBy_property_entity_Include_collection_multiple(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3523,7 +3770,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [t].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_reference_same_level(bool async) @@ -3531,7 +3779,8 @@ public override async Task Final_GroupBy_property_entity_Include_collection_refe await base.Final_GroupBy_property_entity_Include_collection_reference_same_level(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [t].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [t].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3543,7 +3792,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [t].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_reference(bool async) @@ -3551,14 +3801,16 @@ public override async Task Final_GroupBy_property_entity_Include_reference(bool await base.Final_GroupBy_property_entity_Include_reference(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Final_GroupBy_property_entity_Include_reference_multiple(bool async) @@ -3566,7 +3818,8 @@ public override async Task Final_GroupBy_property_entity_Include_reference_multi await base.Final_GroupBy_property_entity_Include_reference_multiple(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3578,7 +3831,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[Level1_Required_Id] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSplitQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSplitQuerySqlServerTest.cs index 5eac64a1f9a..c6a3d7f220c 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSplitQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsCollectionsSplitQuerySqlServerTest.cs @@ -24,18 +24,22 @@ public override async Task Filtered_include_basic_Where(bool async) await base.Filtered_include_basic_Where(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] WHERE [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_OrderBy(bool async) @@ -43,14 +47,18 @@ public override async Task Filtered_include_OrderBy(bool async) await base.Filtered_include_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Name]"); +ORDER BY [l].[Id], [l0].[Name] +"""); } public override async Task Filtered_ThenInclude_OrderBy(bool async) @@ -58,20 +66,26 @@ public override async Task Filtered_ThenInclude_OrderBy(bool async) await base.Filtered_ThenInclude_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Name]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Name] +"""); } public override async Task Filtered_include_ThenInclude_OrderBy(bool async) @@ -79,20 +93,26 @@ public override async Task Filtered_include_ThenInclude_OrderBy(bool async) await base.Filtered_include_ThenInclude_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Name], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Name], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Name], [l0].[Id], [l1].[Name] DESC"); +ORDER BY [l].[Id], [l0].[Name], [l0].[Id], [l1].[Name] DESC +"""); } public override async Task Filtered_include_basic_OrderBy_Take(bool async) @@ -100,11 +120,14 @@ public override async Task Filtered_include_basic_OrderBy_Take(bool async) await base.Filtered_include_basic_OrderBy_Take(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -114,7 +137,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip(bool async) @@ -122,11 +146,14 @@ public override async Task Filtered_include_basic_OrderBy_Skip(bool async) await base.Filtered_include_basic_OrderBy_Skip(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -136,7 +163,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip_Take(bool async) @@ -144,11 +172,14 @@ public override async Task Filtered_include_basic_OrderBy_Skip_Take(bool async) await base.Filtered_include_basic_OrderBy_Skip_Take(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -158,7 +189,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_Skip_without_OrderBy(bool async) @@ -166,11 +198,14 @@ public override async Task Filtered_include_Skip_without_OrderBy(bool async) await base.Filtered_include_Skip_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -180,7 +215,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_Take_without_OrderBy(bool async) @@ -188,11 +224,14 @@ public override async Task Filtered_include_Take_without_OrderBy(bool async) await base.Filtered_include_Take_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -202,7 +241,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_on_ThenInclude(bool async) @@ -210,12 +250,15 @@ public override async Task Filtered_include_on_ThenInclude(bool async) await base.Filtered_include_on_ThenInclude(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN ( @@ -227,7 +270,8 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name] +"""); } public override async Task Filtered_include_after_reference_navigation(bool async) @@ -235,12 +279,15 @@ public override async Task Filtered_include_after_reference_navigation(bool asyn await base.Filtered_include_after_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN ( @@ -252,7 +299,8 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name] +"""); } public override async Task Filtered_include_after_different_filtered_include_same_level(bool async) @@ -260,11 +308,14 @@ public override async Task Filtered_include_after_different_filtered_include_sam await base.Filtered_include_after_different_filtered_include_same_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -275,9 +326,11 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]", +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -288,7 +341,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[Name] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[Name] DESC +"""); } public override async Task Filtered_include_after_different_filtered_include_different_level(bool async) @@ -296,11 +350,14 @@ public override async Task Filtered_include_after_different_filtered_include_dif await base.Filtered_include_after_different_filtered_include_different_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -311,9 +368,11 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name], [t0].[Id]", +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name], [t0].[Id] +""", // - @"SELECT [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [l].[Id], [t0].[Id] +""" +SELECT [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [l].[Id], [t0].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id] @@ -333,7 +392,8 @@ FROM [LevelThree] AS [l1] ) AS [t2] WHERE 1 < [t2].[row] ) AS [t1] ON [t0].[Id] = [t1].[OneToMany_Required_Inverse3Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name], [t0].[Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[Name] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name], [t0].[Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[Name] DESC +"""); } public override async Task Filtered_include_same_filter_set_on_same_navigation_twice(bool async) @@ -341,11 +401,14 @@ public override async Task Filtered_include_same_filter_set_on_same_navigation_t await base.Filtered_include_same_filter_set_on_same_navigation_twice(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -356,7 +419,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] DESC +"""); } public override async Task Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(bool async) @@ -364,11 +428,14 @@ public override async Task Filtered_include_same_filter_set_on_same_navigation_t await base.Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l0].[Id] AS [Id0], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name] AS [Name0], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] @@ -380,9 +447,11 @@ ORDER BY [l1].[Id] ) AS [t] LEFT JOIN [LevelThree] AS [l0] ON [t].[Id] = [l0].[Level2_Required_Id] ) AS [t0] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]", +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +""", // - @"SELECT [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l].[Id], [t0].[Id], [t0].[Id0] +""" +SELECT [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l].[Id], [t0].[Id], [t0].[Id0] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT [t].[Id], [l0].[Id] AS [Id0] @@ -395,7 +464,8 @@ ORDER BY [l1].[Id] LEFT JOIN [LevelThree] AS [l0] ON [t].[Id] = [l0].[Level2_Required_Id] ) AS [t0] INNER JOIN [LevelThree] AS [l2] ON [t0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +"""); } public override async Task @@ -405,11 +475,14 @@ await base .Filtered_include_multiple_multi_level_includes_with_first_level_using_filter_include_on_one_of_the_chains_only(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l0].[Id] AS [Id0], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name] AS [Name0], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] @@ -421,9 +494,11 @@ ORDER BY [l1].[Id] ) AS [t] LEFT JOIN [LevelThree] AS [l0] ON [t].[Id] = [l0].[Level2_Required_Id] ) AS [t0] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]", +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +""", // - @"SELECT [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l].[Id], [t0].[Id], [t0].[Id0] +""" +SELECT [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l].[Id], [t0].[Id], [t0].[Id0] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT [t].[Id], [l0].[Id] AS [Id0] @@ -436,7 +511,8 @@ ORDER BY [l1].[Id] LEFT JOIN [LevelThree] AS [l0] ON [t].[Id] = [l0].[Level2_Required_Id] ) AS [t0] INNER JOIN [LevelThree] AS [l2] ON [t0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +"""); } public override async Task Filtered_include_and_non_filtered_include_on_same_navigation1(bool async) @@ -444,11 +520,14 @@ public override async Task Filtered_include_and_non_filtered_include_on_same_nav await base.Filtered_include_and_non_filtered_include_on_same_navigation1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -459,7 +538,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_and_non_filtered_include_on_same_navigation2(bool async) @@ -467,11 +547,14 @@ public override async Task Filtered_include_and_non_filtered_include_on_same_nav await base.Filtered_include_and_non_filtered_include_on_same_navigation2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -482,7 +565,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(bool async) @@ -490,11 +574,14 @@ public override async Task Filtered_include_and_non_filtered_include_followed_by await base.Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l0].[Id] AS [Id0], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name] AS [Name0], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] @@ -506,9 +593,11 @@ ORDER BY [l1].[Id] ) AS [t] LEFT JOIN [LevelThree] AS [l0] ON [t].[Id] = [l0].[OneToOne_Optional_PK_Inverse3Id] ) AS [t0] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]", +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +""", // - @"SELECT [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [l].[Id], [t0].[Id], [t0].[Id0] +""" +SELECT [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [l].[Id], [t0].[Id], [t0].[Id0] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT [t].[Id], [l0].[Id] AS [Id0] @@ -525,7 +614,8 @@ INNER JOIN ( FROM [LevelFour] AS [l2] WHERE [l2].[Id] > 1 ) AS [t1] ON [t0].[Id0] = [t1].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +"""); } public override async Task Filtered_include_complex_three_level_with_middle_having_filter1(bool async) @@ -533,16 +623,21 @@ public override async Task Filtered_include_complex_three_level_with_middle_havi await base.Filtered_include_complex_three_level_with_middle_having_filter1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN ( @@ -554,9 +649,11 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id]", +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id] +""", // - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [t0].[Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [t0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN ( @@ -569,9 +666,11 @@ FROM [LevelThree] AS [l1] WHERE [t].[row] <= 1 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] INNER JOIN [LevelFour] AS [l2] ON [t0].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id]", +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id] +""", // - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [t0].[Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [t0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN ( @@ -584,7 +683,8 @@ FROM [LevelThree] AS [l1] WHERE [t].[row] <= 1 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] INNER JOIN [LevelFour] AS [l2] ON [t0].[Id] = [l2].[OneToMany_Required_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id] +"""); } public override async Task Filtered_include_complex_three_level_with_middle_having_filter2(bool async) @@ -592,16 +692,21 @@ public override async Task Filtered_include_complex_three_level_with_middle_havi await base.Filtered_include_complex_three_level_with_middle_having_filter2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN ( @@ -613,9 +718,11 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id]", +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id] +""", // - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [t0].[Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [t0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN ( @@ -628,9 +735,11 @@ FROM [LevelThree] AS [l1] WHERE [t].[row] <= 1 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] INNER JOIN [LevelFour] AS [l2] ON [t0].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id]", +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id] +""", // - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [t0].[Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [t0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN ( @@ -643,7 +752,8 @@ FROM [LevelThree] AS [l1] WHERE [t].[row] <= 1 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] INNER JOIN [LevelFour] AS [l2] ON [t0].[Id] = [l2].[OneToMany_Required_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id] +"""); } public override async Task Filtered_include_variable_used_inside_filter(bool async) @@ -651,11 +761,14 @@ public override async Task Filtered_include_variable_used_inside_filter(bool asy await base.Filtered_include_variable_used_inside_filter(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"@__prm_0='Foo' (Size = 4000) +""" +@__prm_0='Foo' (Size = 4000) SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] @@ -668,7 +781,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_context_accessed_inside_filter(bool async) @@ -676,14 +790,19 @@ public override async Task Filtered_include_context_accessed_inside_filter(bool await base.Filtered_include_context_accessed_inside_filter(async); AssertSql( - @"SELECT COUNT(*) -FROM [LevelOne] AS [l]", +""" +SELECT COUNT(*) +FROM [LevelOne] AS [l] +""", // - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"@__p_0='True' +""" +@__p_0='True' SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] @@ -696,7 +815,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_context_accessed_inside_filter_correlated(bool async) @@ -704,11 +824,14 @@ public override async Task Filtered_include_context_accessed_inside_filter_corre await base.Filtered_include_context_accessed_inside_filter_correlated(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -722,7 +845,8 @@ FROM [LevelOne] AS [l1] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_outer_parameter_used_inside_filter(bool async) @@ -730,31 +854,41 @@ public override async Task Filtered_include_outer_parameter_used_inside_filter(b await base.Filtered_include_outer_parameter_used_inside_filter(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] CROSS APPLY [LevelTwo] AS [l0] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] CROSS APPLY [LevelTwo] AS [l0] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] CROSS APPLY [LevelTwo] AS [l0] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] CROSS APPLY [LevelTwo] AS [l0] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] AND [l].[Id] <> [l1].[Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Select_nav_prop_collection_one_to_many_required(bool async) @@ -762,14 +896,18 @@ public override async Task Select_nav_prop_collection_one_to_many_required(bool await base.Select_nav_prop_collection_one_to_many_required(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l].[Id] +""" +SELECT [l0].[Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task @@ -779,7 +917,8 @@ await base.Complex_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpt async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [l14].[Name] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [l14].[Name] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -803,9 +942,11 @@ FROM [LevelFour] AS [l7] LEFT JOIN [LevelTwo] AS [l13] ON [t0].[Level2_Optional_Id0] = [l13].[Id] LEFT JOIN [LevelThree] AS [l14] ON [l13].[Id] = [l14].[Level2_Required_Id] WHERE [l11].[Name] <> N'Foo' OR ([l11].[Name] IS NULL) -ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id]", +ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id] +""", // - @"SELECT [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id] +""" +SELECT [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -834,7 +975,8 @@ FROM [LevelTwo] AS [l15] WHERE [l15].[Id] <> 42 ) AS [t1] ON [t].[Id2] = [t1].[OneToMany_Optional_Self_Inverse2Id] WHERE [l11].[Name] <> N'Foo' OR ([l11].[Name] IS NULL) -ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id]"); +ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id] +"""); } public override async Task Project_collection_navigation(bool async) @@ -842,14 +984,18 @@ public override async Task Project_collection_navigation(bool async) await base.Project_collection_navigation(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_collection_navigation_nested(bool async) @@ -857,16 +1003,20 @@ public override async Task Project_collection_navigation_nested(bool async) await base.Project_collection_navigation_nested(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id] +""" +SELECT [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Project_collection_navigation_nested_with_take(bool async) @@ -874,12 +1024,15 @@ public override async Task Project_collection_navigation_nested_with_take(bool a await base.Project_collection_navigation_nested_with_take(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id] +""" +SELECT [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN ( @@ -890,7 +1043,8 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE [t].[row] <= 50 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Project_collection_navigation_using_ef_property(bool async) @@ -898,16 +1052,20 @@ public override async Task Project_collection_navigation_using_ef_property(bool await base.Project_collection_navigation_using_ef_property(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id] +""" +SELECT [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Project_collection_navigation_nested_anonymous(bool async) @@ -915,16 +1073,20 @@ public override async Task Project_collection_navigation_nested_anonymous(bool a await base.Project_collection_navigation_nested_anonymous(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id] +""" +SELECT [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Project_collection_navigation_composed(bool async) @@ -932,12 +1094,15 @@ public override async Task Project_collection_navigation_composed(bool async) await base.Project_collection_navigation_composed(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] WHERE [l].[Id] < 3 -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] @@ -945,7 +1110,8 @@ FROM [LevelTwo] AS [l0] WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] WHERE [l].[Id] < 3 -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_collection_and_root_entity(bool async) @@ -953,14 +1119,18 @@ public override async Task Project_collection_and_root_entity(bool async) await base.Project_collection_and_root_entity(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_collection_and_include(bool async) @@ -968,19 +1138,25 @@ public override async Task Project_collection_and_include(bool async) await base.Project_collection_and_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_navigation_and_collection(bool async) @@ -988,16 +1164,20 @@ public override async Task Project_navigation_and_collection(bool async) await base.Project_navigation_and_collection(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_inside_subquery(bool async) @@ -1005,12 +1185,15 @@ public override async Task Include_inside_subquery(bool async) await base.Include_inside_subquery(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] WHERE [l].[Id] < 3 -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] @@ -1018,9 +1201,11 @@ FROM [LevelTwo] AS [l0] WHERE [l0].[Id] > 0 ) AS [t] WHERE [l].[Id] < 3 -ORDER BY [l].[Id], [t].[Id]", +ORDER BY [l].[Id], [t].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [t].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [t].[Id] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT [l0].[Id] @@ -1029,7 +1214,8 @@ WHERE [l0].[Id] > 0 ) AS [t] INNER JOIN [LevelThree] AS [l1] ON [t].[Id] = [l1].[OneToMany_Optional_Inverse3Id] WHERE [l].[Id] < 3 -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Null_check_in_anonymous_type_projection_should_not_be_removed(bool async) @@ -1037,11 +1223,14 @@ public override async Task Null_check_in_anonymous_type_projection_should_not_be await base.Null_check_in_anonymous_type_projection_should_not_be_removed(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[c], [t].[Name], [l].[Id] +""" +SELECT [t].[c], [t].[Name], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT CASE @@ -1051,7 +1240,8 @@ ELSE CAST(0 AS bit) FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Null_check_in_Dto_projection_should_not_be_removed(bool async) @@ -1059,11 +1249,14 @@ public override async Task Null_check_in_Dto_projection_should_not_be_removed(bo await base.Null_check_in_Dto_projection_should_not_be_removed(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[c], [t].[Name], [l].[Id] +""" +SELECT [t].[c], [t].[Name], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT CASE @@ -1073,7 +1266,8 @@ ELSE CAST(0 AS bit) FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) @@ -1081,16 +1275,20 @@ public override async Task SelectMany_navigation_property_followed_by_select_col await base.SelectMany_navigation_property_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [l0].[Id], [l].[Id] +""" +SELECT [l0].[Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) @@ -1098,18 +1296,22 @@ public override async Task Multiple_SelectMany_navigation_property_followed_by_s await base.Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [l1].[Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +""", // - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] INNER JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(bool async) @@ -1117,22 +1319,28 @@ public override async Task SelectMany_navigation_property_with_include_and_follo await base.SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Required_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Lift_projection_mapping_when_pushing_down_subquery(bool async) @@ -1140,7 +1348,8 @@ public override async Task Lift_projection_mapping_when_pushing_down_subquery(bo await base.Lift_projection_mapping_when_pushing_down_subquery(async); AssertSql( - @"@__p_0='25' +""" +@__p_0='25' SELECT [t].[Id], [t0].[Id], [t0].[c] FROM ( @@ -1155,9 +1364,11 @@ FROM [LevelTwo] AS [l0] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Id] = [t0].[OneToMany_Required_Inverse2Id] -ORDER BY [t].[Id]", +ORDER BY [t].[Id] +""", // - @"@__p_0='25' +""" +@__p_0='25' SELECT [l0].[Id], [t].[Id] FROM ( @@ -1165,7 +1376,8 @@ SELECT TOP(@__p_0) [l].[Id] FROM [LevelOne] AS [l] ) AS [t] INNER JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[OneToMany_Required_Inverse2Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Select_subquery_single_nested_subquery(bool async) @@ -1173,7 +1385,8 @@ public override async Task Select_subquery_single_nested_subquery(bool async) await base.Select_subquery_single_nested_subquery(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t0].[c] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToMany_Optional_Inverse2Id] @@ -1183,9 +1396,11 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]", +ORDER BY [l].[Id], [t0].[Id] +""", // - @"SELECT [l1].[Id], [l].[Id], [t0].[Id] +""" +SELECT [l1].[Id], [l].[Id], [t0].[Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToMany_Optional_Inverse2Id] @@ -1196,7 +1411,8 @@ FROM [LevelTwo] AS [l0] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [t0].[Id], [l1].[Id] +"""); } public override async Task Select_subquery_single_nested_subquery2(bool async) @@ -1204,11 +1420,14 @@ public override async Task Select_subquery_single_nested_subquery2(bool async) await base.Select_subquery_single_nested_subquery2(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l].[Id], [l0].[Id], [t0].[Id], [t0].[c] +""" +SELECT [l].[Id], [l0].[Id], [t0].[Id], [t0].[c] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN ( @@ -1219,9 +1438,11 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[Id]", +ORDER BY [l].[Id], [l0].[Id], [t0].[Id] +""", // - @"SELECT [l2].[Id], [l].[Id], [l0].[Id], [t0].[Id] +""" +SELECT [l2].[Id], [l].[Id], [l0].[Id], [t0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN ( @@ -1233,7 +1454,8 @@ FROM [LevelThree] AS [l1] WHERE [t].[row] <= 1 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] INNER JOIN [LevelFour] AS [l2] ON [t0].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[Id], [l2].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[Id], [l2].[Id] +"""); } public override async Task Queryable_in_subquery_works_when_final_projection_is_List(bool async) @@ -1248,16 +1470,19 @@ public override async Task Complex_query_with_let_collection_projection_FirstOrD await base.Complex_query_with_let_collection_projection_FirstOrDefault_with_ToList_on_inner_and_outer(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[c] +""" +SELECT [l].[Id], [t].[Id], [t].[c] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT TOP(1) 1 AS [c], [l0].[Id] FROM [LevelTwo] AS [l0] WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL) ) AS [t] -ORDER BY [l].[Id], [t].[Id]", +ORDER BY [l].[Id], [t].[Id] +""", // - @"SELECT [t0].[Name], [l].[Id], [t].[Id] +""" +SELECT [t0].[Name], [l].[Id], [t].[Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT TOP(1) [l0].[Id] @@ -1272,7 +1497,8 @@ SELECT 1 FROM [LevelTwo] AS [l2] WHERE [l1].[Id] = [l2].[OneToMany_Optional_Inverse2Id] AND [l2].[Id] = [t].[Id]) ) AS [t0] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Complex_query_with_let_collection_projection_FirstOrDefault(bool async) @@ -1280,7 +1506,8 @@ public override async Task Complex_query_with_let_collection_projection_FirstOrD await base.Complex_query_with_let_collection_projection_FirstOrDefault(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t0].[c] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToMany_Optional_Inverse2Id] @@ -1291,9 +1518,11 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]", +ORDER BY [l].[Id], [t0].[Id] +""", // - @"SELECT [t1].[Name], [l].[Id], [t0].[Id] +""" +SELECT [t1].[Name], [l].[Id], [t0].[Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToMany_Optional_Inverse2Id] @@ -1312,7 +1541,8 @@ SELECT 1 FROM [LevelTwo] AS [l2] WHERE [l1].[Id] = [l2].[OneToMany_Optional_Inverse2Id] AND [l2].[Id] = [t0].[Id]) ) AS [t1] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task SelectMany_DefaultIfEmpty_multiple_times_with_joins_projecting_a_collection(bool async) @@ -1320,7 +1550,8 @@ public override async Task SelectMany_DefaultIfEmpty_multiple_times_with_joins_p await base.SelectMany_DefaultIfEmpty_multiple_times_with_joins_projecting_a_collection(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [l14].[Name] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [l14].[Name] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -1344,9 +1575,11 @@ FROM [LevelFour] AS [l7] LEFT JOIN [LevelTwo] AS [l13] ON [t0].[Level2_Optional_Id0] = [l13].[Id] LEFT JOIN [LevelThree] AS [l14] ON [l13].[Id] = [l14].[Level2_Required_Id] WHERE [l11].[Name] <> N'Foo' OR ([l11].[Name] IS NULL) -ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id]", +ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id] +""", // - @"SELECT [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id] +""" +SELECT [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -1375,7 +1608,8 @@ FROM [LevelTwo] AS [l15] WHERE [l15].[Id] <> 42 ) AS [t1] ON [t].[Id2] = [t1].[OneToMany_Optional_Self_Inverse2Id] WHERE [l11].[Name] <> N'Foo' OR ([l11].[Name] IS NULL) -ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id]"); +ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id] +"""); } public override async Task Take_Select_collection_Take(bool async) @@ -1383,13 +1617,16 @@ public override async Task Take_Select_collection_Take(bool async) await base.Take_Select_collection_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(@__p_0) [l].[Id], [l].[Name] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[Id], [t0].[Name], [t0].[Level1Id], [t0].[Level2Id], [t0].[Id0], [t0].[Date], [t0].[Name0], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Id] FROM ( @@ -1407,7 +1644,8 @@ ORDER BY [l1].[Id] ) AS [t1] INNER JOIN [LevelOne] AS [l0] ON [t1].[Level1_Required_Id] = [l0].[Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Skip_Take_Select_collection_Skip_Take(bool async) @@ -1415,14 +1653,17 @@ public override async Task Skip_Take_Select_collection_Skip_Take(bool async) await base.Skip_Take_Select_collection_Skip_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [l].[Id], [l].[Name] FROM [LevelOne] AS [l] ORDER BY [l].[Id] -OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY", +OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[Id], [t0].[Name], [t0].[Level1Id], [t0].[Level2Id], [t0].[Id0], [t0].[Date], [t0].[Name0], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Id] FROM ( @@ -1442,7 +1683,8 @@ OFFSET 1 ROWS FETCH NEXT 3 ROWS ONLY ) AS [t1] INNER JOIN [LevelOne] AS [l0] ON [t1].[Level1_Required_Id] = [l0].[Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Multi_level_include_one_to_many_optional_and_one_to_many_optional_produces_valid_sql(bool async) @@ -1450,20 +1692,26 @@ public override async Task Multi_level_include_one_to_many_optional_and_one_to_m await base.Multi_level_include_one_to_many_optional_and_one_to_many_optional_produces_valid_sql(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task @@ -1473,16 +1721,21 @@ await base .Multi_level_include_correct_PK_is_chosen_as_the_join_predicate_for_queries_that_join_same_table_multiple_times(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id] +""" +SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN ( @@ -1490,9 +1743,11 @@ INNER JOIN ( FROM [LevelThree] AS [l1] INNER JOIN [LevelTwo] AS [l2] ON [l1].[OneToMany_Required_Inverse3Id] = [l2].[Id] ) AS [t] ON [l0].[Id] = [t].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t].[Id], [t].[Id0]", +ORDER BY [l].[Id], [l0].[Id], [t].[Id], [t].[Id0] +""", // - @"SELECT [l3].[Id], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id], [t].[Id], [t].[Id0] +""" +SELECT [l3].[Id], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id], [t].[Id], [t].[Id0] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN ( @@ -1501,7 +1756,8 @@ FROM [LevelThree] AS [l1] INNER JOIN [LevelTwo] AS [l2] ON [l1].[OneToMany_Required_Inverse3Id] = [l2].[Id] ) AS [t] ON [l0].[Id] = [t].[OneToMany_Optional_Inverse3Id] INNER JOIN [LevelThree] AS [l3] ON [t].[Id0] = [l3].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [l].[Id], [l0].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Multiple_complex_includes(bool async) @@ -1509,18 +1765,23 @@ public override async Task Multiple_complex_includes(bool async) await base.Multiple_complex_includes(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN ( @@ -1528,7 +1789,8 @@ INNER JOIN ( FROM [LevelTwo] AS [l1] LEFT JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Multiple_complex_includes_self_ref(bool async) @@ -1536,18 +1798,23 @@ public override async Task Multiple_complex_includes_self_ref(bool async) await base.Multiple_complex_includes_self_ref(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[OneToOne_Optional_Self1Id] = [l0].[Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[OneToOne_Optional_Self1Id] = [l0].[Id] INNER JOIN [LevelOne] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Self_Inverse1Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0], [l].[Id], [l0].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[OneToOne_Optional_Self1Id] = [l0].[Id] INNER JOIN ( @@ -1555,7 +1822,8 @@ INNER JOIN ( FROM [LevelOne] AS [l1] LEFT JOIN [LevelOne] AS [l2] ON [l1].[OneToOne_Optional_Self1Id] = [l2].[Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Self_Inverse1Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_reference_and_collection_order_by(bool async) @@ -1563,16 +1831,20 @@ public override async Task Include_reference_and_collection_order_by(bool async) await base.Include_reference_and_collection_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]", +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Include_reference_ThenInclude_collection_order_by(bool async) @@ -1580,16 +1852,20 @@ public override async Task Include_reference_ThenInclude_collection_order_by(boo await base.Include_reference_ThenInclude_collection_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]", +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -1597,18 +1873,22 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -1616,20 +1896,24 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] ORDER BY CASE WHEN ([l].[Name] IS NOT NULL) AND ([l].[Name] LIKE N'%03') THEN 1 ELSE 2 -END, [l].[Id]", +END, [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] ORDER BY CASE WHEN ([l].[Name] IS NOT NULL) AND ([l].[Name] LIKE N'%03') THEN 1 ELSE 2 -END, [l].[Id]"); +END, [l].[Id] +"""); } public override async Task Multiple_complex_include_select(bool async) @@ -1637,18 +1921,23 @@ public override async Task Multiple_complex_include_select(bool async) await base.Multiple_complex_include_select(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN ( @@ -1656,7 +1945,8 @@ INNER JOIN ( FROM [LevelTwo] AS [l1] LEFT JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_nested_with_optional_navigation(bool async) @@ -1664,13 +1954,16 @@ public override async Task Include_nested_with_optional_navigation(bool async) await base.Include_nested_with_optional_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] WHERE [l0].[Name] <> N'L2 09' OR ([l0].[Name] IS NULL) -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id] +""" +SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN ( @@ -1679,7 +1972,8 @@ FROM [LevelThree] AS [l1] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] ) AS [t] ON [l0].[Id] = [t].[OneToMany_Required_Inverse3Id] WHERE [l0].[Name] <> N'L2 09' OR ([l0].[Name] IS NULL) -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging(bool async) @@ -1687,7 +1981,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging(bool a await base.Complex_multi_include_with_order_by_and_paging(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] @@ -1698,9 +1993,11 @@ ORDER BY [l].[Name] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Required_Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id]", +ORDER BY [t].[Name], [t].[Id], [l0].[Id] +""", // - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [t].[Id], [l0].[Id] @@ -1712,9 +2009,11 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Required_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id]", +ORDER BY [t].[Name], [t].[Id], [l0].[Id] +""", // - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [t].[Id], [l0].[Id] @@ -1726,7 +2025,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Required_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Required_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id]"); +ORDER BY [t].[Name], [t].[Id], [l0].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(bool async) @@ -1734,7 +2034,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging_joins_ await base.Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] @@ -1746,9 +2047,11 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Required_Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id] +""", // - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [t].[Id], [l0].[Id], [l1].[Id] @@ -1761,9 +2064,11 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Required_Id] INNER JOIN [LevelThree] AS [l2] ON [l0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id] +""", // - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [t].[Id], [l0].[Id], [l1].[Id] @@ -1776,7 +2081,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Required_Id] INNER JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Required_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(bool async) @@ -1784,7 +2090,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging_joins_ await base.Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] @@ -1796,9 +2103,11 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id] +""", // - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [t].[Id], [l0].[Id], [l1].[Id] @@ -1811,7 +2120,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] INNER JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Multiple_include_with_multiple_optional_navigations(bool async) @@ -1819,7 +2129,8 @@ public override async Task Multiple_include_with_multiple_optional_navigations(b await base.Multiple_include_with_multiple_optional_navigations(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id], [l4].[Level2_Optional_Id], [l4].[Level2_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse3Id], [l4].[OneToMany_Optional_Self_Inverse3Id], [l4].[OneToMany_Required_Inverse3Id], [l4].[OneToMany_Required_Self_Inverse3Id], [l4].[OneToOne_Optional_PK_Inverse3Id], [l4].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id], [l4].[Level2_Optional_Id], [l4].[Level2_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse3Id], [l4].[OneToMany_Optional_Self_Inverse3Id], [l4].[OneToMany_Required_Inverse3Id], [l4].[OneToMany_Required_Self_Inverse3Id], [l4].[OneToOne_Optional_PK_Inverse3Id], [l4].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] @@ -1827,9 +2138,11 @@ FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l3] ON [l].[Id] = [l3].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l4] ON [l3].[Id] = [l4].[Level2_Optional_Id] WHERE [l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL) -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id] +""", // - @"SELECT [l5].[Id], [l5].[Level2_Optional_Id], [l5].[Level2_Required_Id], [l5].[Name], [l5].[OneToMany_Optional_Inverse3Id], [l5].[OneToMany_Optional_Self_Inverse3Id], [l5].[OneToMany_Required_Inverse3Id], [l5].[OneToMany_Required_Self_Inverse3Id], [l5].[OneToOne_Optional_PK_Inverse3Id], [l5].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id] +""" +SELECT [l5].[Id], [l5].[Level2_Optional_Id], [l5].[Level2_Required_Id], [l5].[Name], [l5].[OneToMany_Optional_Inverse3Id], [l5].[OneToMany_Optional_Self_Inverse3Id], [l5].[OneToMany_Required_Inverse3Id], [l5].[OneToMany_Required_Self_Inverse3Id], [l5].[OneToOne_Optional_PK_Inverse3Id], [l5].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] @@ -1838,7 +2151,8 @@ FROM [LevelOne] AS [l] LEFT JOIN [LevelThree] AS [l4] ON [l3].[Id] = [l4].[Level2_Optional_Id] INNER JOIN [LevelThree] AS [l5] ON [l0].[Id] = [l5].[OneToMany_Optional_Inverse3Id] WHERE [l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL) -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id] +"""); } public override async Task SelectMany_with_Include1(bool async) @@ -1846,16 +2160,20 @@ public override async Task SelectMany_with_Include1(bool async) await base.SelectMany_with_Include1(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Orderby_SelectMany_with_Include1(bool async) @@ -1863,16 +2181,20 @@ public override async Task Orderby_SelectMany_with_Include1(bool async) await base.Orderby_SelectMany_with_Include1(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_with_Include2(bool async) @@ -1880,10 +2202,12 @@ public override async Task SelectMany_with_Include2(bool async) await base.SelectMany_with_Include2(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] +"""); } public override async Task SelectMany_with_Include_ThenInclude(bool async) @@ -1891,18 +2215,22 @@ public override async Task SelectMany_with_Include_ThenInclude(bool async) await base.SelectMany_with_Include_ThenInclude(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +""", // - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] INNER JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Multiple_SelectMany_with_Include(bool async) @@ -1910,20 +2238,24 @@ public override async Task Multiple_SelectMany_with_Include(bool async) await base.Multiple_SelectMany_with_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +""", // - @"SELECT [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +""" +SELECT [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] INNER JOIN [LevelFour] AS [l3] ON [l1].[Id] = [l3].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Required_navigation_with_Include(bool async) @@ -1931,10 +2263,12 @@ public override async Task Required_navigation_with_Include(bool async) await base.Required_navigation_with_Include(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] -INNER JOIN [LevelOne] AS [l1] ON [l0].[OneToMany_Required_Inverse2Id] = [l1].[Id]"); +INNER JOIN [LevelOne] AS [l1] ON [l0].[OneToMany_Required_Inverse2Id] = [l1].[Id] +"""); } public override async Task Required_navigation_with_Include_ThenInclude(bool async) @@ -1942,11 +2276,13 @@ public override async Task Required_navigation_with_Include_ThenInclude(bool asy await base.Required_navigation_with_Include_ThenInclude(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l2].[Id], [l2].[Date], [l2].[Name], [l2].[OneToMany_Optional_Self_Inverse1Id], [l2].[OneToMany_Required_Self_Inverse1Id], [l2].[OneToOne_Optional_Self1Id] +""" +SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l2].[Id], [l2].[Date], [l2].[Name], [l2].[OneToMany_Optional_Self_Inverse1Id], [l2].[OneToMany_Required_Self_Inverse1Id], [l2].[OneToOne_Optional_Self1Id] FROM [LevelFour] AS [l] INNER JOIN [LevelThree] AS [l0] ON [l].[Level3_Required_Id] = [l0].[Id] INNER JOIN [LevelTwo] AS [l1] ON [l0].[OneToMany_Required_Inverse3Id] = [l1].[Id] -LEFT JOIN [LevelOne] AS [l2] ON [l1].[OneToMany_Optional_Inverse2Id] = [l2].[Id]"); +LEFT JOIN [LevelOne] AS [l2] ON [l1].[OneToMany_Optional_Inverse2Id] = [l2].[Id] +"""); } public override async Task Optional_navigation_with_Include_ThenInclude(bool async) @@ -1954,12 +2290,15 @@ public override async Task Optional_navigation_with_Include_ThenInclude(bool asy await base.Optional_navigation_with_Include_ThenInclude(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id] +""" +SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN ( @@ -1967,7 +2306,8 @@ INNER JOIN ( FROM [LevelThree] AS [l1] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l0].[Id] = [t].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Multiple_optional_navigation_with_Include(bool async) @@ -1975,18 +2315,22 @@ public override async Task Multiple_optional_navigation_with_Include(bool async) await base.Multiple_optional_navigation_with_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +""", // - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] INNER JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Multiple_optional_navigation_with_string_based_Include(bool async) @@ -1994,18 +2338,22 @@ public override async Task Multiple_optional_navigation_with_string_based_Includ await base.Multiple_optional_navigation_with_string_based_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +""", // - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] INNER JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Optional_navigation_with_order_by_and_Include(bool async) @@ -2013,16 +2361,20 @@ public override async Task Optional_navigation_with_order_by_and_Include(bool as await base.Optional_navigation_with_order_by_and_Include(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]", +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Optional_navigation_with_Include_and_order(bool async) @@ -2030,16 +2382,20 @@ public override async Task Optional_navigation_with_Include_and_order(bool async await base.Optional_navigation_with_Include_and_order(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]", +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_with_order_by_and_Include(bool async) @@ -2047,16 +2403,20 @@ public override async Task SelectMany_with_order_by_and_Include(bool async) await base.SelectMany_with_order_by_and_Include(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]", +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_with_Include_and_order_by(bool async) @@ -2064,16 +2424,20 @@ public override async Task SelectMany_with_Include_and_order_by(bool async) await base.SelectMany_with_Include_and_order_by(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]", +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_with_navigation_and_Distinct(bool async) @@ -2081,22 +2445,26 @@ public override async Task SelectMany_with_navigation_and_Distinct(bool async) await base.SelectMany_with_navigation_and_Distinct(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]", +ORDER BY [l].[Id], [t].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l].[Id], [t].[Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l].[Id], [t].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_with_navigation_and_Distinct_projecting_columns_including_join_key(bool async) @@ -2104,22 +2472,26 @@ public override async Task SelectMany_with_navigation_and_Distinct_projecting_co await base.SelectMany_with_navigation_and_Distinct_projecting_columns_including_join_key(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id] AS [FK] FROM [LevelTwo] AS [l0] ) AS [t] ON [l].[Id] = [t].[FK] -ORDER BY [l].[Id], [t].[Id]", +ORDER BY [l].[Id], [t].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l].[Id], [t].[Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l].[Id], [t].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id] AS [FK] FROM [LevelTwo] AS [l0] ) AS [t] ON [l].[Id] = [t].[FK] INNER JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_member(bool async) @@ -2127,14 +2499,18 @@ public override async Task Include_collection_with_multiple_orderbys_member(bool await base.Include_collection_with_multiple_orderbys_member(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] -ORDER BY [l].[Name], [l].[Level1_Required_Id], [l].[Id]", +ORDER BY [l].[Name], [l].[Level1_Required_Id], [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Level1_Required_Id], [l].[Id]"); +ORDER BY [l].[Name], [l].[Level1_Required_Id], [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_property(bool async) @@ -2142,14 +2518,18 @@ public override async Task Include_collection_with_multiple_orderbys_property(bo await base.Include_collection_with_multiple_orderbys_property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] -ORDER BY [l].[Level1_Required_Id], [l].[Name], [l].[Id]", +ORDER BY [l].[Level1_Required_Id], [l].[Name], [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Level1_Required_Id], [l].[Name], [l].[Id]"); +ORDER BY [l].[Level1_Required_Id], [l].[Name], [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_methodcall(bool async) @@ -2157,14 +2537,18 @@ public override async Task Include_collection_with_multiple_orderbys_methodcall( await base.Include_collection_with_multiple_orderbys_methodcall(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] -ORDER BY ABS([l].[Level1_Required_Id]), [l].[Name], [l].[Id]", +ORDER BY ABS([l].[Level1_Required_Id]), [l].[Name], [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY ABS([l].[Level1_Required_Id]), [l].[Name], [l].[Id]"); +ORDER BY ABS([l].[Level1_Required_Id]), [l].[Name], [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_complex(bool async) @@ -2172,14 +2556,18 @@ public override async Task Include_collection_with_multiple_orderbys_complex(boo await base.Include_collection_with_multiple_orderbys_complex(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] -ORDER BY ABS([l].[Level1_Required_Id]) + 7, [l].[Name], [l].[Id]", +ORDER BY ABS([l].[Level1_Required_Id]) + 7, [l].[Name], [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY ABS([l].[Level1_Required_Id]) + 7, [l].[Name], [l].[Id]"); +ORDER BY ABS([l].[Level1_Required_Id]) + 7, [l].[Name], [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_complex_repeated(bool async) @@ -2187,14 +2575,18 @@ public override async Task Include_collection_with_multiple_orderbys_complex_rep await base.Include_collection_with_multiple_orderbys_complex_repeated(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] -ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id]", +ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id]"); +ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_complex_repeated_checked(bool async) @@ -2202,14 +2594,18 @@ public override async Task Include_collection_with_multiple_orderbys_complex_rep await base.Include_collection_with_multiple_orderbys_complex_repeated_checked(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] -ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id]", +ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id]"); +ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery(bool async) @@ -2217,7 +2613,8 @@ public override async Task Include_collection_with_groupby_in_subquery(bool asyn await base.Include_collection_with_groupby_in_subquery(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -2231,9 +2628,11 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] -ORDER BY [t].[Name], [t0].[Id]", +ORDER BY [t].[Name], [t0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [t].[Name], [t0].[Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [t].[Name], [t0].[Id] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -2248,7 +2647,8 @@ FROM [LevelOne] AS [l0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] INNER JOIN [LevelTwo] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery_and_filter_before_groupby(bool async) @@ -2256,7 +2656,8 @@ public override async Task Include_collection_with_groupby_in_subquery_and_filte await base.Include_collection_with_groupby_in_subquery_and_filter_before_groupby(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -2272,9 +2673,11 @@ WHERE [l0].[Id] > 3 ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] -ORDER BY [t].[Name], [t0].[Id]", +ORDER BY [t].[Name], [t0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [t].[Name], [t0].[Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [t].[Name], [t0].[Id] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -2291,7 +2694,8 @@ WHERE [l0].[Id] > 3 WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] INNER JOIN [LevelTwo] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery_and_filter_after_groupby(bool async) @@ -2299,7 +2703,8 @@ public override async Task Include_collection_with_groupby_in_subquery_and_filte await base.Include_collection_with_groupby_in_subquery_and_filter_after_groupby(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Name] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -2314,9 +2719,11 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] -ORDER BY [t].[Name], [t0].[Id]", +ORDER BY [t].[Name], [t0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [t].[Name], [t0].[Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [t].[Name], [t0].[Id] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -2332,7 +2739,8 @@ FROM [LevelOne] AS [l0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] INNER JOIN [LevelTwo] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Include_reference_collection_order_by_reference_navigation(bool async) @@ -2340,16 +2748,20 @@ public override async Task Include_reference_collection_order_by_reference_navig await base.Include_reference_collection_order_by_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l0].[Id], [l].[Id]", +ORDER BY [l0].[Id], [l].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Id], [l].[Id]"); +ORDER BY [l0].[Id], [l].[Id] +"""); } public override async Task Include_after_SelectMany(bool async) @@ -2357,16 +2769,20 @@ public override async Task Include_after_SelectMany(bool async) await base.Include_after_SelectMany(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_after_multiple_SelectMany_and_reference_navigation(bool async) @@ -2374,20 +2790,24 @@ public override async Task Include_after_multiple_SelectMany_and_reference_navig await base.Include_after_multiple_SelectMany_and_reference_navigation(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +""", // - @"SELECT [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +""" +SELECT [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] INNER JOIN [LevelFour] AS [l3] ON [l2].[Id] = [l3].[OneToMany_Required_Self_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Include_after_SelectMany_and_multiple_reference_navigations(bool async) @@ -2395,20 +2815,24 @@ public override async Task Include_after_SelectMany_and_multiple_reference_navig await base.Include_after_SelectMany_and_multiple_reference_navigations(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +""", // - @"SELECT [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +""" +SELECT [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] INNER JOIN [LevelFour] AS [l3] ON [l2].[Id] = [l3].[OneToMany_Optional_Self_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Include_collection(bool async) @@ -2416,14 +2840,18 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_followed_by_include_reference(bool async) @@ -2431,18 +2859,22 @@ public override async Task Include_collection_followed_by_include_reference(bool await base.Include_collection_followed_by_include_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_reference_followed_by_include_collection(bool async) @@ -2450,16 +2882,20 @@ public override async Task Include_reference_followed_by_include_collection(bool await base.Include_reference_followed_by_include_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_collection_followed_by_projecting_the_included_collection(bool async) @@ -2467,14 +2903,18 @@ public override async Task Include_collection_followed_by_projecting_the_include await base.Include_collection_followed_by_projecting_the_included_collection(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(bool async) @@ -2482,18 +2922,22 @@ public override async Task Include_and_ThenInclude_collections_followed_by_proje await base.Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(bool async) @@ -2501,11 +2945,14 @@ public override async Task Include_collection_and_another_navigation_chain_follo await base.Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] @@ -2513,7 +2960,8 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_ThenInclude_two_references(bool async) @@ -2521,11 +2969,14 @@ public override async Task Include_collection_ThenInclude_two_references(bool as await base.Include_collection_ThenInclude_two_references(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] @@ -2533,7 +2984,8 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(bool async) @@ -2541,11 +2993,14 @@ public override async Task Include_collection_followed_by_complex_includes_and_p await base.Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l3].[Id] AS [Id2], [l3].[Level2_Optional_Id] AS [Level2_Optional_Id0], [l3].[Level2_Required_Id] AS [Level2_Required_Id0], [l3].[Name] AS [Name2], [l3].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [l3].[OneToMany_Optional_Self_Inverse3Id] AS [OneToMany_Optional_Self_Inverse3Id0], [l3].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [l3].[OneToMany_Required_Self_Inverse3Id] AS [OneToMany_Required_Self_Inverse3Id0], [l3].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [l3].[OneToOne_Optional_Self3Id] AS [OneToOne_Optional_Self3Id0] @@ -2554,9 +3009,11 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] LEFT JOIN [LevelThree] AS [l3] ON [l0].[Id] = [l3].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2]", +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] +""", // - @"SELECT [l4].[Id], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id], [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] +""" +SELECT [l4].[Id], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id], [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToMany_Optional_Inverse2Id], [l1].[Id] AS [Id0], [l2].[Id] AS [Id1], [l3].[Id] AS [Id2] @@ -2566,7 +3023,8 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l3] ON [l0].[Id] = [l3].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelFour] AS [l4] ON [t].[Id2] = [l4].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] +"""); } public override async Task Include_collection_multiple(bool async) @@ -2574,11 +3032,14 @@ public override async Task Include_collection_multiple(bool async) await base.Include_collection_multiple(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l3].[Id] AS [Id2], [l3].[Level2_Optional_Id] AS [Level2_Optional_Id0], [l3].[Level2_Required_Id] AS [Level2_Required_Id0], [l3].[Name] AS [Name2], [l3].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [l3].[OneToMany_Optional_Self_Inverse3Id] AS [OneToMany_Optional_Self_Inverse3Id0], [l3].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [l3].[OneToMany_Required_Self_Inverse3Id] AS [OneToMany_Required_Self_Inverse3Id0], [l3].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [l3].[OneToOne_Optional_Self3Id] AS [OneToOne_Optional_Self3Id0] @@ -2587,9 +3048,11 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] LEFT JOIN [LevelThree] AS [l3] ON [l0].[Id] = [l3].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2]", +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] +""", // - @"SELECT [l4].[Id], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id], [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] +""" +SELECT [l4].[Id], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id], [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToMany_Optional_Inverse2Id], [l1].[Id] AS [Id0], [l2].[Id] AS [Id1], [l3].[Id] AS [Id2] @@ -2599,7 +3062,8 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l3] ON [l0].[Id] = [l3].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelFour] AS [l4] ON [t].[Id2] = [l4].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] +"""); } public override async Task Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(bool async) @@ -2607,11 +3071,14 @@ public override async Task Include_ThenInclude_ThenInclude_followed_by_two_neste await base.Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id] AS [Id0], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name0], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l0].[OneToMany_Optional_Inverse2Id] @@ -2619,7 +3086,8 @@ FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(bool async) @@ -2627,27 +3095,33 @@ public override async Task Include_collection_ThenInclude_reference_followed_by_ await base.Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_multiple_with_filter(bool async) @@ -2655,16 +3129,19 @@ public override async Task Include_collection_multiple_with_filter(bool async) await base.Include_collection_multiple_with_filter(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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 ( SELECT COUNT(*) FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL))) > 0 -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l3].[Id] AS [Id0], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name] AS [Name0], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l4].[Id] AS [Id1], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name] AS [Name1], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id] @@ -2677,7 +3154,8 @@ SELECT COUNT(*) FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL))) > 0 -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Including_reference_navigation_and_projecting_collection_navigation(bool async) @@ -2685,18 +3163,22 @@ public override async Task Including_reference_navigation_and_projecting_collect await base.Including_reference_navigation_and_projecting_collection_navigation(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +""", // - @"SELECT [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] INNER JOIN [LevelTwo] AS [l2] ON [l].[Id] = [l2].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(bool async) @@ -2704,21 +3186,25 @@ public override async Task LeftJoin_with_Any_on_outer_source_and_projecting_coll await base.LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l0].[Id] IS NULL THEN 0 ELSE [l0].[Id] END, [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] WHERE [l].[Name] IN (N'L1 01', N'L1 02') -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Required_Inverse3Id] WHERE [l].[Name] IN (N'L1 01', N'L1 02') -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Filtered_include_different_filter_set_on_same_navigation_twice(bool async) @@ -2747,7 +3233,8 @@ public override async Task Filtered_include_is_considered_loaded(bool async) await base.Filtered_include_is_considered_loaded(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -2757,7 +3244,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_with_Distinct_throws(bool async) @@ -2779,13 +3267,16 @@ public override async Task Filtered_include_Take_with_another_Take_on_top_level( await base.Filtered_include_Take_with_another_Take_on_top_level(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT TOP(@__p_0) [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"@__p_0='5' +""" +@__p_0='5' SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t].[Id] FROM ( @@ -2803,7 +3294,8 @@ ORDER BY [l1].[Name] DESC ) AS [t1] LEFT JOIN [LevelThree] AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Name] DESC"); +ORDER BY [t].[Id], [t0].[Name] DESC +"""); } public override async Task Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(bool async) @@ -2811,15 +3303,18 @@ public override async Task Filtered_include_Skip_Take_with_another_Skip_Take_on_ await base.Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' 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] ORDER BY [l].[Id] DESC -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY", +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +""", // - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t].[Id] @@ -2840,7 +3335,8 @@ OFFSET 2 ROWS FETCH NEXT 4 ROWS ONLY ) AS [t1] LEFT JOIN [LevelThree] AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id] DESC, [t0].[Name] DESC"); +ORDER BY [t].[Id] DESC, [t0].[Name] DESC +"""); } public override async Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level( @@ -2849,11 +3345,14 @@ public override async Task Filtered_include_with_Take_without_order_by_followed_ await base.Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level(async); AssertSql( - @"SELECT TOP(1) [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +SELECT TOP(1) [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t].[Id] FROM ( SELECT TOP(1) [l].[Id] FROM [LevelOne] AS [l] @@ -2868,7 +3367,8 @@ FROM [LevelTwo] AS [l1] ) AS [t1] LEFT JOIN [LevelThree] AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level( @@ -2877,13 +3377,16 @@ public override async Task Filtered_include_with_Take_without_order_by_followed_ await base.Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level(async); AssertSql( - @"@__p_0='30' +""" +@__p_0='30' SELECT TOP(@__p_0) [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"@__p_0='30' +""" +@__p_0='30' SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t].[Id] FROM ( @@ -2900,7 +3403,8 @@ FROM [LevelTwo] AS [l1] ) AS [t1] LEFT JOIN [LevelThree] AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Projecting_collection_with_FirstOrDefault(bool async) @@ -2908,19 +3412,23 @@ public override async Task Projecting_collection_with_FirstOrDefault(bool async) await base.Projecting_collection_with_FirstOrDefault(async); AssertSql( - @"SELECT TOP(1) [l].[Id] +""" +SELECT TOP(1) [l].[Id] FROM [LevelOne] AS [l] WHERE [l].[Id] = 1 -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [t].[Id] FROM ( SELECT TOP(1) [l].[Id] FROM [LevelOne] AS [l] WHERE [l].[Id] = 1 ) AS [t] INNER JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Skip_on_grouping_element(bool async) @@ -2928,12 +3436,15 @@ public override async Task Skip_on_grouping_element(bool async) await base.Skip_on_grouping_element(async); AssertSql( - @"SELECT [l].[Date] +""" +SELECT [l].[Date] FROM [LevelOne] AS [l] GROUP BY [l].[Date] -ORDER BY [l].[Date]", +ORDER BY [l].[Date] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -2947,7 +3458,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Take_on_grouping_element(bool async) @@ -2955,12 +3467,15 @@ public override async Task Take_on_grouping_element(bool async) await base.Take_on_grouping_element(async); AssertSql( - @"SELECT [l].[Date] +""" +SELECT [l].[Date] FROM [LevelOne] AS [l] GROUP BY [l].[Date] -ORDER BY [l].[Date]", +ORDER BY [l].[Date] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -2974,7 +3489,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE [t1].[row] <= 10 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name] DESC"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] DESC +"""); } public override async Task Skip_Take_on_grouping_element(bool async) @@ -2982,12 +3498,15 @@ public override async Task Skip_Take_on_grouping_element(bool async) await base.Skip_Take_on_grouping_element(async); AssertSql( - @"SELECT [l].[Date] +""" +SELECT [l].[Date] FROM [LevelOne] AS [l] GROUP BY [l].[Date] -ORDER BY [l].[Date]", +ORDER BY [l].[Date] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -3001,7 +3520,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_Distinct_on_grouping_element(bool async) @@ -3009,12 +3529,15 @@ public override async Task Skip_Take_Distinct_on_grouping_element(bool async) await base.Skip_Take_Distinct_on_grouping_element(async); AssertSql( - @"SELECT [l].[Date] +""" +SELECT [l].[Date] FROM [LevelOne] AS [l] GROUP BY [l].[Date] -ORDER BY [l].[Date]", +ORDER BY [l].[Date] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -3030,7 +3553,8 @@ ORDER BY [l0].[Name] OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] ) AS [t0] -ORDER BY [t].[Date]"); +ORDER BY [t].[Date] +"""); } public override async Task Skip_Take_ToList_on_grouping_element(bool async) @@ -3038,12 +3562,15 @@ public override async Task Skip_Take_ToList_on_grouping_element(bool async) await base.Skip_Take_ToList_on_grouping_element(async); AssertSql( - @"SELECT [l].[Date] +""" +SELECT [l].[Date] FROM [LevelOne] AS [l] GROUP BY [l].[Date] -ORDER BY [l].[Date]", +ORDER BY [l].[Date] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -3057,7 +3584,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_on_grouping_element_into_non_entity(bool async) @@ -3065,12 +3593,15 @@ public override async Task Skip_Take_on_grouping_element_into_non_entity(bool as await base.Skip_Take_on_grouping_element_into_non_entity(async); AssertSql( - @"SELECT [l].[Date] +""" +SELECT [l].[Date] FROM [LevelOne] AS [l] GROUP BY [l].[Date] -ORDER BY [l].[Date]", +ORDER BY [l].[Date] +""", // - @"SELECT [t0].[Name], [t].[Date] +""" +SELECT [t0].[Name], [t].[Date] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -3084,7 +3615,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_on_grouping_element_with_collection_include(bool async) @@ -3092,12 +3624,15 @@ public override async Task Skip_Take_on_grouping_element_with_collection_include await base.Skip_Take_on_grouping_element_with_collection_include(async); AssertSql( - @"SELECT [l].[Date] +""" +SELECT [l].[Date] FROM [LevelOne] AS [l] GROUP BY [l].[Date] -ORDER BY [l].[Date]", +ORDER BY [l].[Date] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t].[Date] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -3111,7 +3646,8 @@ FROM [LevelOne] AS [l0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name], [t0].[Id]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name], [t0].[Id] +"""); } public override async Task Skip_Take_on_grouping_element_with_reference_include(bool async) @@ -3119,12 +3655,15 @@ public override async Task Skip_Take_on_grouping_element_with_reference_include( await base.Skip_Take_on_grouping_element_with_reference_include(async); AssertSql( - @"SELECT [l].[Date] +""" +SELECT [l].[Date] FROM [LevelOne] AS [l] GROUP BY [l].[Date] -ORDER BY [l].[Date]", +ORDER BY [l].[Date] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t].[Date] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t].[Date] FROM ( SELECT [l].[Date] FROM [LevelOne] AS [l] @@ -3141,7 +3680,8 @@ OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] LEFT JOIN [LevelTwo] AS [l0] ON [t1].[Id] = [l0].[Level1_Optional_Id] ) AS [t0] -ORDER BY [t].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_on_grouping_element_inside_collection_projection(bool async) @@ -3149,11 +3689,14 @@ public override async Task Skip_Take_on_grouping_element_inside_collection_proje await base.Skip_Take_on_grouping_element_inside_collection_projection(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Date], [l].[Id] +""" +SELECT [t].[Date], [l].[Id] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT [l0].[Date] @@ -3161,9 +3704,11 @@ FROM [LevelOne] AS [l0] WHERE [l0].[Name] = [l].[Name] OR (([l0].[Name] IS NULL) AND ([l].[Name] IS NULL)) GROUP BY [l0].[Date] ) AS [t] -ORDER BY [l].[Id], [t].[Date]", +ORDER BY [l].[Id], [t].[Date] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [l].[Id], [t].[Date] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [l].[Id], [t].[Date] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT [l0].[Date] @@ -3179,7 +3724,8 @@ FROM [LevelOne] AS [l1] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON ([l].[Name] = [t0].[Name] OR (([l].[Name] IS NULL) AND ([t0].[Name] IS NULL))) AND [t].[Date] = [t0].[Date] -ORDER BY [l].[Id], [t].[Date], [t0].[Name], [t0].[Date]"); +ORDER BY [l].[Id], [t].[Date], [t0].[Name], [t0].[Date] +"""); } public override async Task Include_partially_added_before_Where_and_then_build_upon(bool async) @@ -3187,14 +3733,17 @@ public override async Task Include_partially_added_before_Where_and_then_build_u await base.Include_partially_added_before_Where_and_then_build_upon(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] WHERE [l0].[Id] < 3 OR [l1].[Id] > 8 -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +""", // - @"SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] @@ -3204,7 +3753,8 @@ FROM [LevelThree] AS [l2] LEFT JOIN [LevelFour] AS [l3] ON [l2].[Id] = [l3].[Level3_Optional_Id] ) AS [t] ON [l1].[Id] = [t].[OneToMany_Optional_Inverse3Id] WHERE [l0].[Id] < 3 OR [l1].[Id] > 8 -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(bool async) @@ -3212,14 +3762,17 @@ public override async Task Include_partially_added_before_Where_and_then_build_u await base.Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] WHERE [l0].[Id] < 3 OR [l1].[Id] > 8 -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] @@ -3232,9 +3785,11 @@ FROM [LevelThree] AS [l2] WHERE [t].[row] <= 3 ) AS [t0] ON [l1].[Id] = [t0].[OneToMany_Optional_Inverse3Id] WHERE [l0].[Id] < 3 OR [l1].[Id] > 8 -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id] +""", // - @"SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] @@ -3244,7 +3799,8 @@ FROM [LevelThree] AS [l2] LEFT JOIN [LevelFour] AS [l3] ON [l2].[Id] = [l3].[Level3_Optional_Id] ) AS [t] ON [l1].[Id] = [t].[OneToMany_Required_Inverse3Id] WHERE [l0].[Id] < 3 OR [l1].[Id] > 8 -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Take_on_correlated_collection_in_projection(bool async) @@ -3252,11 +3808,14 @@ public override async Task Take_on_correlated_collection_in_projection(bool asyn await base.Take_on_correlated_collection_in_projection(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -3266,7 +3825,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 50 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task FirstOrDefault_with_predicate_on_correlated_collection_in_projection(bool async) @@ -3274,7 +3834,8 @@ public override async Task FirstOrDefault_with_predicate_on_correlated_collectio await base.FirstOrDefault_with_predicate_on_correlated_collection_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -3283,7 +3844,8 @@ LEFT JOIN ( FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] AND [l].[Id] = [t0].[Id]"); +) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] AND [l].[Id] = [t0].[Id] +"""); } public override async Task SelectMany_with_predicate_and_DefaultIfEmpty_projecting_root_collection_element_and_another_collection( @@ -3292,16 +3854,19 @@ public override async Task SelectMany_with_predicate_and_DefaultIfEmpty_projecti await base.SelectMany_with_predicate_and_DefaultIfEmpty_projecting_root_collection_element_and_another_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] WHERE [l0].[Level1_Required_Id] = ([l].[Id] * 2) OR CAST(LEN([l0].[Name]) AS int) = [l0].[Id] ) AS [t] -ORDER BY [l].[Id], [t].[Id]", +ORDER BY [l].[Id], [t].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l].[Id], [t].[Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l].[Id], [t].[Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [l0].[Id] @@ -3309,7 +3874,8 @@ FROM [LevelTwo] AS [l0] WHERE [l0].[Level1_Required_Id] = ([l].[Id] * 2) OR CAST(LEN([l0].[Name]) AS int) = [l0].[Id] ) AS [t] INNER JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Complex_query_issue_21665(bool async) @@ -3317,7 +3883,8 @@ public override async Task Complex_query_issue_21665(bool async) await base.Complex_query_issue_21665(async); AssertSql( - @"SELECT TOP(1) [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Name], ( +""" +SELECT TOP(1) [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Name], ( SELECT COUNT(*) FROM [LevelOne] AS [l1] WHERE [l].[Id] = [l1].[OneToMany_Optional_Self_Inverse1Id]), ( @@ -3333,9 +3900,11 @@ ELSE CAST(0 AS bit) FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] WHERE [l].[Id] = 2 -ORDER BY [l].[Name], [l].[Id], [l0].[Id]", +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[ChildCount], [t0].[Level2Name], [t0].[Level2Count], [t0].[IsLevel2There], [t].[Id], [t].[Id0] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[ChildCount], [t0].[Level2Name], [t0].[Level2Count], [t0].[IsLevel2There], [t].[Id], [t].[Id0] FROM ( SELECT TOP(1) [l].[Id], [l0].[Id] AS [Id0], [l].[Name] FROM [LevelOne] AS [l] @@ -3366,7 +3935,8 @@ OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] LEFT JOIN [LevelTwo] AS [l1] ON [t1].[Id] = [l1].[Level1_Optional_Id] ) AS [t0] -ORDER BY [t].[Name], [t].[Id], [t].[Id0], [t0].[Name]"); +ORDER BY [t].[Name], [t].[Id], [t].[Id0], [t0].[Name] +"""); } public override async Task SelectMany_over_conditional_null_source(bool async) @@ -3402,12 +3972,15 @@ public override async Task Projecting_collection_after_optional_reference_correl await base.Projecting_collection_after_optional_reference_correlated_with_parent(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id] +""" +SELECT [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t].[ChildId], [t].[ParentName], [l].[Id], [l0].[Id] +""" +SELECT [t].[ChildId], [t].[ParentName], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] CROSS APPLY ( @@ -3415,7 +3988,8 @@ CROSS APPLY ( FROM [LevelThree] AS [l1] WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Projecting_collection_with_group_by_after_optional_reference_correlated_with_parent(bool async) @@ -3423,13 +3997,16 @@ public override async Task Projecting_collection_with_group_by_after_optional_re await base.Projecting_collection_with_group_by_after_optional_reference_correlated_with_parent(async); AssertSql( - @"SELECT [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l0].[Id] +""" +SELECT [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]", +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +""", // - @"SELECT [t].[Key], [t].[Count], [l].[Id], [l0].[Id], [l1].[Id] +""" +SELECT [t].[Key], [t].[Count], [l].[Id], [l0].[Id], [l1].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -3439,7 +4016,8 @@ FROM [LevelThree] AS [l2] WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] GROUP BY [l2].[Name] ) AS [t] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Multiple_complex_includes_EF_Property(bool async) @@ -3447,18 +4025,23 @@ public override async Task Multiple_complex_includes_EF_Property(bool async) await base.Multiple_complex_includes_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN ( @@ -3466,7 +4049,8 @@ INNER JOIN ( FROM [LevelTwo] AS [l1] LEFT JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Multiple_complex_includes_self_ref_EF_Property(bool async) @@ -3474,18 +4058,23 @@ public override async Task Multiple_complex_includes_self_ref_EF_Property(bool a await base.Multiple_complex_includes_self_ref_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[OneToOne_Optional_Self1Id] = [l0].[Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [l].[Id], [l0].[Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[OneToOne_Optional_Self1Id] = [l0].[Id] INNER JOIN [LevelOne] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Self_Inverse1Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0], [l].[Id], [l0].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[OneToOne_Optional_Self1Id] = [l0].[Id] INNER JOIN ( @@ -3493,7 +4082,8 @@ INNER JOIN ( FROM [LevelOne] AS [l1] LEFT JOIN [LevelOne] AS [l2] ON [l1].[OneToOne_Optional_Self1Id] = [l2].[Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Self_Inverse1Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_collection_multiple_with_filter_EF_Property(bool async) @@ -3501,16 +4091,19 @@ public override async Task Include_collection_multiple_with_filter_EF_Property(b await base.Include_collection_multiple_with_filter_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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 ( SELECT COUNT(*) FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL))) > 0 -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l3].[Id] AS [Id0], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name] AS [Name0], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l4].[Id] AS [Id1], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name] AS [Name1], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id] @@ -3523,7 +4116,8 @@ SELECT COUNT(*) FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL))) > 0 -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_basic_Where_EF_Property(bool async) @@ -3531,18 +4125,22 @@ public override async Task Filtered_include_basic_Where_EF_Property(bool async) await base.Filtered_include_basic_Where_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] WHERE [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_OrderBy_EF_Property(bool async) @@ -3550,14 +4148,18 @@ public override async Task Filtered_include_OrderBy_EF_Property(bool async) await base.Filtered_include_OrderBy_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Name]"); +ORDER BY [l].[Id], [l0].[Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip_Take_EF_Property(bool async) @@ -3565,11 +4167,14 @@ public override async Task Filtered_include_basic_OrderBy_Skip_Take_EF_Property( await base.Filtered_include_basic_OrderBy_Skip_Take_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] @@ -3579,7 +4184,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_on_ThenInclude_EF_Property(bool async) @@ -3587,12 +4193,15 @@ public override async Task Filtered_include_on_ThenInclude_EF_Property(bool asyn await base.Filtered_include_on_ThenInclude_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Id], [l0].[Id]", +ORDER BY [l].[Id], [l0].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN ( @@ -3604,7 +4213,8 @@ FROM [LevelThree] AS [l1] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection(bool async) @@ -3612,14 +4222,18 @@ public override async Task Final_GroupBy_property_entity_Include_collection(bool await base.Final_GroupBy_property_entity_Include_collection(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Name], [l].[Id]", - // - @"SELECT [l].[Name], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +ORDER BY [l].[Name], [l].[Id] +""", + // +""" +SELECT [l].[Name], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id]"); +ORDER BY [l].[Name], [l].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_nested(bool async) @@ -3627,20 +4241,26 @@ public override async Task Final_GroupBy_property_entity_Include_collection_nest await base.Final_GroupBy_property_entity_Include_collection_nested(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Name], [l].[Id]", - // - @"SELECT [l].[Name], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +ORDER BY [l].[Name], [l].[Id] +""", + // +""" +SELECT [l].[Name], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]", - // - @"SELECT [l].[Name], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +""", + // +""" +SELECT [l].[Name], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_reference(bool async) @@ -3648,18 +4268,22 @@ public override async Task Final_GroupBy_property_entity_Include_collection_refe await base.Final_GroupBy_property_entity_Include_collection_reference(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Name], [l].[Id]", - // - @"SELECT [l].[Name], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] +ORDER BY [l].[Name], [l].[Id] +""", + // +""" +SELECT [l].[Name], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id]"); +ORDER BY [l].[Name], [l].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_multiple(bool async) @@ -3667,19 +4291,25 @@ public override async Task Final_GroupBy_property_entity_Include_collection_mult await base.Final_GroupBy_property_entity_Include_collection_multiple(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] -ORDER BY [l].[Name], [l].[Id]", - // - @"SELECT [l].[Name], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +ORDER BY [l].[Name], [l].[Id] +""", + // +""" +SELECT [l].[Name], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id]", - // - @"SELECT [l].[Name], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] +ORDER BY [l].[Name], [l].[Id] +""", + // +""" +SELECT [l].[Name], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l].[Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Name], [l].[Id]"); +ORDER BY [l].[Name], [l].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_reference_same_level(bool async) @@ -3687,16 +4317,20 @@ public override async Task Final_GroupBy_property_entity_Include_collection_refe await base.Final_GroupBy_property_entity_Include_collection_reference_same_level(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]", - // - @"SELECT [l].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id] +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +""", + // +""" +SELECT [l].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_reference(bool async) @@ -3704,10 +4338,12 @@ public override async Task Final_GroupBy_property_entity_Include_reference(bool await base.Final_GroupBy_property_entity_Include_reference(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Final_GroupBy_property_entity_Include_reference_multiple(bool async) @@ -3715,11 +4351,13 @@ public override async Task Final_GroupBy_property_entity_Include_reference_multi await base.Final_GroupBy_property_entity_Include_reference_multiple(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Required_Id] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs index a4b4fb57495..85e32974927 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsQuerySqlServerTest.cs @@ -28,10 +28,12 @@ public override async Task Entity_equality_empty(bool async) await base.Entity_equality_empty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l0].[Id] = 0"); +WHERE [l0].[Id] = 0 +"""); } public override async Task Key_equality_when_sentinel_ef_property(bool async) @@ -39,10 +41,12 @@ public override async Task Key_equality_when_sentinel_ef_property(bool async) await base.Key_equality_when_sentinel_ef_property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l0].[Id] = 0"); +WHERE [l0].[Id] = 0 +"""); } public override async Task Key_equality_using_property_method_required(bool async) @@ -50,10 +54,12 @@ public override async Task Key_equality_using_property_method_required(bool asyn await base.Key_equality_using_property_method_required(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] -WHERE [l0].[Id] > 7"); +WHERE [l0].[Id] > 7 +"""); } public override async Task Key_equality_using_property_method_required2(bool async) @@ -61,10 +67,12 @@ public override async Task Key_equality_using_property_method_required2(bool asy await base.Key_equality_using_property_method_required2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[Level1_Required_Id] = [l0].[Id] -WHERE [l0].[Id] > 7"); +WHERE [l0].[Id] > 7 +"""); } public override async Task Key_equality_using_property_method_nested(bool async) @@ -72,10 +80,12 @@ public override async Task Key_equality_using_property_method_nested(bool async) await base.Key_equality_using_property_method_nested(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] -WHERE [l0].[Id] = 7"); +WHERE [l0].[Id] = 7 +"""); } public override async Task Key_equality_using_property_method_nested2(bool async) @@ -83,10 +93,12 @@ public override async Task Key_equality_using_property_method_nested2(bool async await base.Key_equality_using_property_method_nested2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[Level1_Required_Id] = [l0].[Id] -WHERE [l0].[Id] = 7"); +WHERE [l0].[Id] = 7 +"""); } public override async Task Key_equality_using_property_method_and_member_expression1(bool async) @@ -94,10 +106,12 @@ public override async Task Key_equality_using_property_method_and_member_express await base.Key_equality_using_property_method_and_member_expression1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] -WHERE [l0].[Id] = 7"); +WHERE [l0].[Id] = 7 +"""); } public override async Task Key_equality_using_property_method_and_member_expression2(bool async) @@ -105,10 +119,12 @@ public override async Task Key_equality_using_property_method_and_member_express await base.Key_equality_using_property_method_and_member_expression2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] -WHERE [l0].[Id] = 7"); +WHERE [l0].[Id] = 7 +"""); } public override async Task Key_equality_using_property_method_and_member_expression3(bool async) @@ -116,10 +132,12 @@ public override async Task Key_equality_using_property_method_and_member_express await base.Key_equality_using_property_method_and_member_expression3(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[Level1_Required_Id] = [l0].[Id] -WHERE [l0].[Id] = 7"); +WHERE [l0].[Id] = 7 +"""); } public override async Task Key_equality_navigation_converted_to_FK(bool async) @@ -127,10 +145,12 @@ public override async Task Key_equality_navigation_converted_to_FK(bool async) await base.Key_equality_navigation_converted_to_FK(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[Level1_Required_Id] = [l0].[Id] -WHERE [l0].[Id] = 1"); +WHERE [l0].[Id] = 1 +"""); } public override async Task Key_equality_two_conditions_on_same_navigation(bool async) @@ -138,10 +158,12 @@ public override async Task Key_equality_two_conditions_on_same_navigation(bool a await base.Key_equality_two_conditions_on_same_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] -WHERE [l0].[Id] IN (1, 2)"); +WHERE [l0].[Id] IN (1, 2) +"""); } public override async Task Key_equality_two_conditions_on_same_navigation2(bool async) @@ -149,10 +171,12 @@ public override async Task Key_equality_two_conditions_on_same_navigation2(bool await base.Key_equality_two_conditions_on_same_navigation2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[Level1_Required_Id] = [l0].[Id] -WHERE [l0].[Id] IN (1, 2)"); +WHERE [l0].[Id] IN (1, 2) +"""); } public override async Task Multi_level_include_with_short_circuiting(bool async) @@ -160,7 +184,8 @@ public override async Task Multi_level_include_with_short_circuiting(bool async) await base.Multi_level_include_with_short_circuiting(async); AssertSql( - @"SELECT [f].[Name], [f].[LabelDefaultText], [f].[PlaceholderDefaultText], [m].[DefaultText], [m0].[DefaultText], [t].[Text], [t].[ComplexNavigationStringDefaultText], [t].[LanguageName], [t].[Name], [t].[CultureString], [t0].[Text], [t0].[ComplexNavigationStringDefaultText], [t0].[LanguageName], [t0].[Name], [t0].[CultureString] +""" +SELECT [f].[Name], [f].[LabelDefaultText], [f].[PlaceholderDefaultText], [m].[DefaultText], [m0].[DefaultText], [t].[Text], [t].[ComplexNavigationStringDefaultText], [t].[LanguageName], [t].[Name], [t].[CultureString], [t0].[Text], [t0].[ComplexNavigationStringDefaultText], [t0].[LanguageName], [t0].[Name], [t0].[CultureString] FROM [Fields] AS [f] LEFT JOIN [MultilingualStrings] AS [m] ON [f].[LabelDefaultText] = [m].[DefaultText] LEFT JOIN [MultilingualStrings] AS [m0] ON [f].[PlaceholderDefaultText] = [m0].[DefaultText] @@ -174,7 +199,8 @@ LEFT JOIN ( FROM [Globalizations] AS [g0] LEFT JOIN [Languages] AS [l0] ON [g0].[LanguageName] = [l0].[Name] ) AS [t0] ON [m0].[DefaultText] = [t0].[ComplexNavigationStringDefaultText] -ORDER BY [f].[Name], [m].[DefaultText], [m0].[DefaultText], [t].[Text], [t].[Name], [t0].[Text]"); +ORDER BY [f].[Name], [m].[DefaultText], [m0].[DefaultText], [t].[Text], [t].[Name], [t0].[Text] +"""); } public override async Task Join_navigation_key_access_optional(bool async) @@ -182,13 +208,15 @@ public override async Task Join_navigation_key_access_optional(bool async) await base.Join_navigation_key_access_optional(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], [t].[Id] AS [Id2] +""" +SELECT [l].[Id] AS [Id1], [t].[Id] AS [Id2] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l1].[Id] AS [Id0] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Level1_Optional_Id] = [l1].[Id] -) AS [t] ON [l].[Id] = [t].[Id0]"); +) AS [t] ON [l].[Id] = [t].[Id0] +"""); } public override async Task Join_navigation_key_access_required(bool async) @@ -196,13 +224,15 @@ public override async Task Join_navigation_key_access_required(bool async) await base.Join_navigation_key_access_required(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], [t].[Id] AS [Id2] +""" +SELECT [l].[Id] AS [Id1], [t].[Id] AS [Id2] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l1].[Id] AS [Id0] FROM [LevelTwo] AS [l0] INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] -) AS [t] ON [l].[Id] = [t].[Id0]"); +) AS [t] ON [l].[Id] = [t].[Id0] +"""); } public override async Task Navigation_key_access_optional_comparison(bool async) @@ -210,10 +240,12 @@ public override async Task Navigation_key_access_optional_comparison(bool async) await base.Navigation_key_access_optional_comparison(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelTwo] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[OneToOne_Optional_PK_Inverse2Id] = [l0].[Id] -WHERE [l0].[Id] > 5"); +WHERE [l0].[Id] > 5 +"""); } public override async Task Navigation_key_access_required_comparison(bool async) @@ -221,10 +253,12 @@ public override async Task Navigation_key_access_required_comparison(bool async) await base.Navigation_key_access_required_comparison(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[Id] = [l0].[Id] -WHERE [l0].[Id] > 5"); +WHERE [l0].[Id] > 5 +"""); } public override async Task Navigation_inside_method_call_translated_to_join(bool async) @@ -232,10 +266,12 @@ public override async Task Navigation_inside_method_call_translated_to_join(bool await base.Navigation_inside_method_call_translated_to_join(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] -WHERE ([l0].[Name] IS NOT NULL) AND ([l0].[Name] LIKE N'L%')"); +WHERE ([l0].[Name] IS NOT NULL) AND ([l0].[Name] LIKE N'L%') +"""); } public override async Task Navigation_inside_method_call_translated_to_join2(bool async) @@ -243,10 +279,12 @@ public override async Task Navigation_inside_method_call_translated_to_join2(boo await base.Navigation_inside_method_call_translated_to_join2(async); AssertSql( - @"SELECT [l].[Id], [l].[Level2_Optional_Id], [l].[Level2_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse3Id], [l].[OneToMany_Optional_Self_Inverse3Id], [l].[OneToMany_Required_Inverse3Id], [l].[OneToMany_Required_Self_Inverse3Id], [l].[OneToOne_Optional_PK_Inverse3Id], [l].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Level2_Optional_Id], [l].[Level2_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse3Id], [l].[OneToMany_Optional_Self_Inverse3Id], [l].[OneToMany_Required_Inverse3Id], [l].[OneToMany_Required_Self_Inverse3Id], [l].[OneToOne_Optional_PK_Inverse3Id], [l].[OneToOne_Optional_Self3Id] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] -WHERE ([l0].[Name] IS NOT NULL) AND ([l0].[Name] LIKE N'L%')"); +WHERE ([l0].[Name] IS NOT NULL) AND ([l0].[Name] LIKE N'L%') +"""); } public override async Task Optional_navigation_inside_method_call_translated_to_join(bool async) @@ -254,10 +292,12 @@ public override async Task Optional_navigation_inside_method_call_translated_to_ await base.Optional_navigation_inside_method_call_translated_to_join(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE ([l0].[Name] IS NOT NULL) AND ([l0].[Name] LIKE N'L%')"); +WHERE ([l0].[Name] IS NOT NULL) AND ([l0].[Name] LIKE N'L%') +"""); } public override async Task Optional_navigation_inside_property_method_translated_to_join(bool async) @@ -265,10 +305,12 @@ public override async Task Optional_navigation_inside_property_method_translated await base.Optional_navigation_inside_property_method_translated_to_join(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l0].[Name] = N'L2 01'"); +WHERE [l0].[Name] = N'L2 01' +"""); } public override async Task Optional_navigation_inside_nested_method_call_translated_to_join(bool async) @@ -276,10 +318,12 @@ public override async Task Optional_navigation_inside_nested_method_call_transla await base.Optional_navigation_inside_nested_method_call_translated_to_join(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE ([l0].[Name] IS NOT NULL) AND (UPPER([l0].[Name]) LIKE N'L%')"); +WHERE ([l0].[Name] IS NOT NULL) AND (UPPER([l0].[Name]) LIKE N'L%') +"""); } public override async Task Method_call_on_optional_navigation_translates_to_null_conditional_properly_for_arguments(bool async) @@ -287,10 +331,12 @@ public override async Task Method_call_on_optional_navigation_translates_to_null await base.Method_call_on_optional_navigation_translates_to_null_conditional_properly_for_arguments(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l0].[Name] = N'' OR (([l0].[Name] IS NOT NULL) AND LEFT([l0].[Name], LEN([l0].[Name])) = [l0].[Name])"); +WHERE [l0].[Name] = N'' OR (([l0].[Name] IS NOT NULL) AND LEFT([l0].[Name], LEN([l0].[Name])) = [l0].[Name]) +"""); } public override async Task Optional_navigation_inside_method_call_translated_to_join_keeps_original_nullability(bool async) @@ -298,10 +344,12 @@ public override async Task Optional_navigation_inside_method_call_translated_to_ await base.Optional_navigation_inside_method_call_translated_to_join_keeps_original_nullability(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE DATEADD(day, CAST(10.0E0 AS int), [l0].[Date]) > '2000-02-01T00:00:00.0000000'"); +WHERE DATEADD(day, CAST(10.0E0 AS int), [l0].[Date]) > '2000-02-01T00:00:00.0000000' +"""); } public override async Task Optional_navigation_inside_nested_method_call_translated_to_join_keeps_original_nullability(bool async) @@ -309,10 +357,12 @@ public override async Task Optional_navigation_inside_nested_method_call_transla await base.Optional_navigation_inside_nested_method_call_translated_to_join_keeps_original_nullability(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE DATEADD(month, CAST(2 AS int), DATEADD(day, CAST(15.0E0 AS int), DATEADD(day, CAST(10.0E0 AS int), [l0].[Date]))) > '2002-02-01T00:00:00.0000000'"); +WHERE DATEADD(month, CAST(2 AS int), DATEADD(day, CAST(15.0E0 AS int), DATEADD(day, CAST(10.0E0 AS int), [l0].[Date]))) > '2002-02-01T00:00:00.0000000' +"""); } public override async Task @@ -322,10 +372,12 @@ await base.Optional_navigation_inside_nested_method_call_translated_to_join_keep async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE DATEADD(day, CAST(CAST([l0].[Id] AS float) AS int), DATEADD(day, CAST(15.0E0 AS int), [l0].[Date])) > '2002-02-01T00:00:00.0000000'"); +WHERE DATEADD(day, CAST(CAST([l0].[Id] AS float) AS int), DATEADD(day, CAST(15.0E0 AS int), [l0].[Date])) > '2002-02-01T00:00:00.0000000' +"""); } public override async Task Join_navigation_in_outer_selector_translated_to_extra_join(bool async) @@ -333,10 +385,12 @@ public override async Task Join_navigation_in_outer_selector_translated_to_extra await base.Join_navigation_in_outer_selector_translated_to_extra_join(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], [l1].[Id] AS [Id2] +""" +SELECT [l].[Id] AS [Id1], [l1].[Id] AS [Id2] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -INNER JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Id]"); +INNER JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Id] +"""); } public override async Task Join_navigation_in_outer_selector_translated_to_extra_join_nested(bool async) @@ -344,11 +398,13 @@ public override async Task Join_navigation_in_outer_selector_translated_to_extra await base.Join_navigation_in_outer_selector_translated_to_extra_join_nested(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], [l2].[Id] AS [Id3] +""" +SELECT [l].[Id] AS [Id1], [l2].[Id] AS [Id3] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] -INNER JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Id]"); +INNER JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Id] +"""); } public override async Task Join_navigation_in_outer_selector_translated_to_extra_join_nested2(bool async) @@ -356,11 +412,13 @@ public override async Task Join_navigation_in_outer_selector_translated_to_extra await base.Join_navigation_in_outer_selector_translated_to_extra_join_nested2(async); AssertSql( - @"SELECT [l].[Id] AS [Id3], [l2].[Id] AS [Id1] +""" +SELECT [l].[Id] AS [Id3], [l2].[Id] AS [Id1] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Level1_Optional_Id] = [l1].[Id] -INNER JOIN [LevelOne] AS [l2] ON [l1].[Id] = [l2].[Id]"); +INNER JOIN [LevelOne] AS [l2] ON [l1].[Id] = [l2].[Id] +"""); } public override async Task Join_navigation_in_inner_selector(bool async) @@ -368,13 +426,15 @@ public override async Task Join_navigation_in_inner_selector(bool async) await base.Join_navigation_in_inner_selector(async); AssertSql( - @"SELECT [l].[Id] AS [Id2], [t].[Id] AS [Id1] +""" +SELECT [l].[Id] AS [Id2], [t].[Id] AS [Id1] FROM [LevelTwo] AS [l] INNER JOIN ( SELECT [l0].[Id], [l1].[Id] AS [Id0] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] -) AS [t] ON [l].[Id] = [t].[Id0]"); +) AS [t] ON [l].[Id] = [t].[Id0] +"""); } public override async Task Join_navigations_in_inner_selector_translated_without_collision(bool async) @@ -382,7 +442,8 @@ public override async Task Join_navigations_in_inner_selector_translated_without await base.Join_navigations_in_inner_selector_translated_without_collision(async); AssertSql( - @"SELECT [l].[Id] AS [Id2], [t].[Id] AS [Id1], [t0].[Id] AS [Id3] +""" +SELECT [l].[Id] AS [Id2], [t].[Id] AS [Id1], [t0].[Id] AS [Id3] FROM [LevelTwo] AS [l] INNER JOIN ( SELECT [l0].[Id], [l1].[Id] AS [Id0] @@ -393,7 +454,8 @@ INNER JOIN ( SELECT [l2].[Id], [l3].[Id] AS [Id0] FROM [LevelThree] AS [l2] LEFT JOIN [LevelTwo] AS [l3] ON [l2].[Level2_Optional_Id] = [l3].[Id] -) AS [t0] ON [l].[Id] = [t0].[Id0]"); +) AS [t0] ON [l].[Id] = [t0].[Id0] +"""); } public override async Task Join_navigation_non_key_join(bool async) @@ -401,13 +463,15 @@ public override async Task Join_navigation_non_key_join(bool async) await base.Join_navigation_non_key_join(async); AssertSql( - @"SELECT [l].[Id] AS [Id2], [l].[Name] AS [Name2], [t].[Id] AS [Id1], [t].[Name] AS [Name1] +""" +SELECT [l].[Id] AS [Id2], [l].[Name] AS [Name2], [t].[Id] AS [Id1], [t].[Name] AS [Name1] FROM [LevelTwo] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Name], [l1].[Name] AS [Name0] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] -) AS [t] ON [l].[Name] = [t].[Name0]"); +) AS [t] ON [l].[Name] = [t].[Name0] +"""); } public override async Task Join_with_orderby_on_inner_sequence_navigation_non_key_join(bool async) @@ -415,13 +479,15 @@ public override async Task Join_with_orderby_on_inner_sequence_navigation_non_ke await base.Join_with_orderby_on_inner_sequence_navigation_non_key_join(async); AssertSql( - @"SELECT [l].[Id] AS [Id2], [l].[Name] AS [Name2], [t].[Id] AS [Id1], [t].[Name] AS [Name1] +""" +SELECT [l].[Id] AS [Id2], [l].[Name] AS [Name2], [t].[Id] AS [Id1], [t].[Name] AS [Name1] FROM [LevelTwo] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Name], [l1].[Name] AS [Name0] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] -) AS [t] ON [l].[Name] = [t].[Name0]"); +) AS [t] ON [l].[Name] = [t].[Name0] +"""); } public override async Task Join_navigation_self_ref(bool async) @@ -429,13 +495,15 @@ public override async Task Join_navigation_self_ref(bool async) await base.Join_navigation_self_ref(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], [t].[Id] AS [Id2] +""" +SELECT [l].[Id] AS [Id1], [t].[Id] AS [Id2] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l1].[Id] AS [Id0] FROM [LevelOne] AS [l0] LEFT JOIN [LevelOne] AS [l1] ON [l0].[OneToMany_Optional_Self_Inverse1Id] = [l1].[Id] -) AS [t] ON [l].[Id] = [t].[Id0]"); +) AS [t] ON [l].[Id] = [t].[Id0] +"""); } public override async Task Join_navigation_nested(bool async) @@ -443,14 +511,16 @@ public override async Task Join_navigation_nested(bool async) await base.Join_navigation_nested(async); AssertSql( - @"SELECT [l].[Id] AS [Id3], [t].[Id] AS [Id1] +""" +SELECT [l].[Id] AS [Id3], [t].[Id] AS [Id1] FROM [LevelThree] AS [l] INNER JOIN ( SELECT [l0].[Id], [l2].[Id] AS [Id1] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Level2_Optional_Id] -) AS [t] ON [l].[Id] = [t].[Id1]"); +) AS [t] ON [l].[Id] = [t].[Id1] +"""); } public override async Task Join_navigation_nested2(bool async) @@ -458,14 +528,16 @@ public override async Task Join_navigation_nested2(bool async) await base.Join_navigation_nested2(async); AssertSql( - @"SELECT [l].[Id] AS [Id3], [t].[Id] AS [Id1] +""" +SELECT [l].[Id] AS [Id3], [t].[Id] AS [Id1] FROM [LevelThree] AS [l] INNER JOIN ( SELECT [l0].[Id], [l2].[Id] AS [Id1] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Level2_Optional_Id] -) AS [t] ON [l].[Id] = [t].[Id1]"); +) AS [t] ON [l].[Id] = [t].[Id1] +"""); } public override async Task Join_navigation_deeply_nested_non_key_join(bool async) @@ -473,7 +545,8 @@ public override async Task Join_navigation_deeply_nested_non_key_join(bool async await base.Join_navigation_deeply_nested_non_key_join(async); AssertSql( - @"SELECT [l].[Id] AS [Id4], [l].[Name] AS [Name4], [t].[Id] AS [Id1], [t].[Name] AS [Name1] +""" +SELECT [l].[Id] AS [Id4], [l].[Name] AS [Name4], [t].[Id] AS [Id1], [t].[Name] AS [Name1] FROM [LevelFour] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Name], [l3].[Name] AS [Name2] @@ -481,7 +554,8 @@ FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Level2_Optional_Id] LEFT JOIN [LevelFour] AS [l3] ON [l2].[Id] = [l3].[Id] -) AS [t] ON [l].[Name] = [t].[Name2]"); +) AS [t] ON [l].[Name] = [t].[Name2] +"""); } public override async Task Join_navigation_deeply_nested_required(bool async) @@ -489,7 +563,8 @@ public override async Task Join_navigation_deeply_nested_required(bool async) await base.Join_navigation_deeply_nested_required(async); AssertSql( - @"SELECT [t].[Id] AS [Id4], [t].[Name] AS [Name4], [l].[Id] AS [Id1], [l].[Name] AS [Name1] +""" +SELECT [t].[Id] AS [Id4], [t].[Name] AS [Name4], [l].[Id] AS [Id1], [l].[Name] AS [Name1] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Name], [l3].[Name] AS [Name2] @@ -497,7 +572,8 @@ FROM [LevelFour] AS [l0] INNER JOIN [LevelThree] AS [l1] ON [l0].[Level3_Required_Id] = [l1].[Id] INNER JOIN [LevelTwo] AS [l2] ON [l1].[Level2_Required_Id] = [l2].[Id] INNER JOIN [LevelOne] AS [l3] ON [l2].[Id] = [l3].[Id] -) AS [t] ON [l].[Name] = [t].[Name2]"); +) AS [t] ON [l].[Name] = [t].[Name2] +"""); } public override async Task Include_reference_and_project_into_anonymous_type(bool async) @@ -505,9 +581,11 @@ public override async Task Include_reference_and_project_into_anonymous_type(boo await base.Include_reference_and_project_into_anonymous_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Select_nav_prop_reference_optional1(bool async) @@ -515,9 +593,11 @@ public override async Task Select_nav_prop_reference_optional1(bool async) await base.Select_nav_prop_reference_optional1(async); AssertSql( - @"SELECT [l0].[Name] +""" +SELECT [l0].[Name] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Select_nav_prop_reference_optional1_via_DefaultIfEmpty(bool async) @@ -525,9 +605,11 @@ public override async Task Select_nav_prop_reference_optional1_via_DefaultIfEmpt await base.Select_nav_prop_reference_optional1_via_DefaultIfEmpty(async); AssertSql( - @"SELECT [l0].[Name] +""" +SELECT [l0].[Name] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Select_nav_prop_reference_optional2(bool async) @@ -535,9 +617,11 @@ public override async Task Select_nav_prop_reference_optional2(bool async) await base.Select_nav_prop_reference_optional2(async); AssertSql( - @"SELECT [l0].[Id] +""" +SELECT [l0].[Id] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Select_nav_prop_reference_optional2_via_DefaultIfEmpty(bool async) @@ -545,9 +629,11 @@ public override async Task Select_nav_prop_reference_optional2_via_DefaultIfEmpt await base.Select_nav_prop_reference_optional2_via_DefaultIfEmpty(async); AssertSql( - @"SELECT [l0].[Id] +""" +SELECT [l0].[Id] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Select_nav_prop_reference_optional3(bool async) @@ -555,9 +641,11 @@ public override async Task Select_nav_prop_reference_optional3(bool async) await base.Select_nav_prop_reference_optional3(async); AssertSql( - @"SELECT [l0].[Name] +""" +SELECT [l0].[Name] FROM [LevelTwo] AS [l] -LEFT JOIN [LevelOne] AS [l0] ON [l].[Level1_Optional_Id] = [l0].[Id]"); +LEFT JOIN [LevelOne] AS [l0] ON [l].[Level1_Optional_Id] = [l0].[Id] +"""); } public override async Task Where_nav_prop_reference_optional1(bool async) @@ -565,10 +653,12 @@ public override async Task Where_nav_prop_reference_optional1(bool async) await base.Where_nav_prop_reference_optional1(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l0].[Name] IN (N'L2 05', N'L2 07')"); +WHERE [l0].[Name] IN (N'L2 05', N'L2 07') +"""); } public override async Task Where_nav_prop_reference_optional1_via_DefaultIfEmpty(bool async) @@ -576,11 +666,13 @@ public override async Task Where_nav_prop_reference_optional1_via_DefaultIfEmpty await base.Where_nav_prop_reference_optional1_via_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] -WHERE [l0].[Name] = N'L2 05' OR [l1].[Name] = N'L2 07'"); +WHERE [l0].[Name] = N'L2 05' OR [l1].[Name] = N'L2 07' +"""); } public override async Task Where_nav_prop_reference_optional2(bool async) @@ -588,10 +680,12 @@ public override async Task Where_nav_prop_reference_optional2(bool async) await base.Where_nav_prop_reference_optional2(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l0].[Name] = N'L2 05' OR [l0].[Name] <> N'L2 42' OR ([l0].[Name] IS NULL)"); +WHERE [l0].[Name] = N'L2 05' OR [l0].[Name] <> N'L2 42' OR ([l0].[Name] IS NULL) +"""); } public override async Task Where_nav_prop_reference_optional2_via_DefaultIfEmpty(bool async) @@ -599,11 +693,13 @@ public override async Task Where_nav_prop_reference_optional2_via_DefaultIfEmpty await base.Where_nav_prop_reference_optional2_via_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] -WHERE [l0].[Name] = N'L2 05' OR [l1].[Name] <> N'L2 42' OR ([l1].[Name] IS NULL)"); +WHERE [l0].[Name] = N'L2 05' OR [l1].[Name] <> N'L2 42' OR ([l1].[Name] IS NULL) +"""); } public override async Task Select_multiple_nav_prop_reference_optional(bool async) @@ -611,10 +707,12 @@ public override async Task Select_multiple_nav_prop_reference_optional(bool asyn await base.Select_multiple_nav_prop_reference_optional(async); AssertSql( - @"SELECT [l1].[Id] +""" +SELECT [l1].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] +"""); } public override async Task Where_multiple_nav_prop_reference_optional_member_compared_to_value(bool async) @@ -622,11 +720,13 @@ public override async Task Where_multiple_nav_prop_reference_optional_member_com await base.Where_multiple_nav_prop_reference_optional_member_compared_to_value(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] -WHERE [l1].[Name] <> N'L3 05' OR ([l1].[Name] IS NULL)"); +WHERE [l1].[Name] <> N'L3 05' OR ([l1].[Name] IS NULL) +"""); } public override async Task Where_multiple_nav_prop_reference_optional_member_compared_to_null(bool async) @@ -634,11 +734,13 @@ public override async Task Where_multiple_nav_prop_reference_optional_member_com await base.Where_multiple_nav_prop_reference_optional_member_compared_to_null(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] -WHERE [l1].[Name] IS NOT NULL"); +WHERE [l1].[Name] IS NOT NULL +"""); } public override async Task Where_multiple_nav_prop_reference_optional_compared_to_null1(bool async) @@ -646,11 +748,13 @@ public override async Task Where_multiple_nav_prop_reference_optional_compared_t await base.Where_multiple_nav_prop_reference_optional_compared_to_null1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] -WHERE [l1].[Id] IS NULL"); +WHERE [l1].[Id] IS NULL +"""); } public override async Task Where_multiple_nav_prop_reference_optional_compared_to_null2(bool async) @@ -658,11 +762,13 @@ public override async Task Where_multiple_nav_prop_reference_optional_compared_t await base.Where_multiple_nav_prop_reference_optional_compared_to_null2(async); AssertSql( - @"SELECT [l].[Id], [l].[Level2_Optional_Id], [l].[Level2_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse3Id], [l].[OneToMany_Optional_Self_Inverse3Id], [l].[OneToMany_Required_Inverse3Id], [l].[OneToMany_Required_Self_Inverse3Id], [l].[OneToOne_Optional_PK_Inverse3Id], [l].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Level2_Optional_Id], [l].[Level2_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse3Id], [l].[OneToMany_Optional_Self_Inverse3Id], [l].[OneToMany_Required_Inverse3Id], [l].[OneToMany_Required_Self_Inverse3Id], [l].[OneToOne_Optional_PK_Inverse3Id], [l].[OneToOne_Optional_Self3Id] FROM [LevelThree] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Level2_Optional_Id] = [l0].[Id] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Level1_Optional_Id] = [l1].[Id] -WHERE [l1].[Id] IS NULL"); +WHERE [l1].[Id] IS NULL +"""); } public override async Task Where_multiple_nav_prop_reference_optional_compared_to_null3(bool async) @@ -670,11 +776,13 @@ public override async Task Where_multiple_nav_prop_reference_optional_compared_t await base.Where_multiple_nav_prop_reference_optional_compared_to_null3(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] -WHERE [l1].[Id] IS NOT NULL"); +WHERE [l1].[Id] IS NOT NULL +"""); } public override async Task Where_multiple_nav_prop_reference_optional_compared_to_null4(bool async) @@ -682,11 +790,13 @@ public override async Task Where_multiple_nav_prop_reference_optional_compared_t await base.Where_multiple_nav_prop_reference_optional_compared_to_null4(async); AssertSql( - @"SELECT [l].[Id], [l].[Level2_Optional_Id], [l].[Level2_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse3Id], [l].[OneToMany_Optional_Self_Inverse3Id], [l].[OneToMany_Required_Inverse3Id], [l].[OneToMany_Required_Self_Inverse3Id], [l].[OneToOne_Optional_PK_Inverse3Id], [l].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Level2_Optional_Id], [l].[Level2_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse3Id], [l].[OneToMany_Optional_Self_Inverse3Id], [l].[OneToMany_Required_Inverse3Id], [l].[OneToMany_Required_Self_Inverse3Id], [l].[OneToOne_Optional_PK_Inverse3Id], [l].[OneToOne_Optional_Self3Id] FROM [LevelThree] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Level2_Optional_Id] = [l0].[Id] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Level1_Optional_Id] = [l1].[Id] -WHERE [l1].[Id] IS NOT NULL"); +WHERE [l1].[Id] IS NOT NULL +"""); } public override async Task Where_multiple_nav_prop_reference_optional_compared_to_null5(bool async) @@ -694,12 +804,14 @@ public override async Task Where_multiple_nav_prop_reference_optional_compared_t await base.Where_multiple_nav_prop_reference_optional_compared_to_null5(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] -WHERE [l2].[Id] IS NULL"); +WHERE [l2].[Id] IS NULL +"""); } public override async Task Select_multiple_nav_prop_reference_required(bool async) @@ -707,10 +819,12 @@ public override async Task Select_multiple_nav_prop_reference_required(bool asyn await base.Select_multiple_nav_prop_reference_required(async); AssertSql( - @"SELECT [l1].[Id] +""" +SELECT [l1].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] +"""); } public override async Task Select_multiple_nav_prop_reference_required2(bool async) @@ -718,10 +832,12 @@ public override async Task Select_multiple_nav_prop_reference_required2(bool asy await base.Select_multiple_nav_prop_reference_required2(async); AssertSql( - @"SELECT [l1].[Id] +""" +SELECT [l1].[Id] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] -INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id]"); +INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] +"""); } public override async Task Select_multiple_nav_prop_optional_required(bool async) @@ -729,10 +845,12 @@ public override async Task Select_multiple_nav_prop_optional_required(bool async await base.Select_multiple_nav_prop_optional_required(async); AssertSql( - @"SELECT [l1].[Id] +""" +SELECT [l1].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] +"""); } public override async Task Where_multiple_nav_prop_optional_required(bool async) @@ -740,11 +858,13 @@ public override async Task Where_multiple_nav_prop_optional_required(bool async) await base.Where_multiple_nav_prop_optional_required(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] -WHERE [l1].[Name] <> N'L3 05' OR ([l1].[Name] IS NULL)"); +WHERE [l1].[Name] <> N'L3 05' OR ([l1].[Name] IS NULL) +"""); } public override async Task SelectMany_navigation_comparison1(bool async) @@ -752,10 +872,12 @@ public override async Task SelectMany_navigation_comparison1(bool async) await base.SelectMany_navigation_comparison1(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], [l0].[Id] AS [Id2] +""" +SELECT [l].[Id] AS [Id1], [l0].[Id] AS [Id2] FROM [LevelOne] AS [l] CROSS JOIN [LevelOne] AS [l0] -WHERE [l].[Id] = [l0].[Id]"); +WHERE [l].[Id] = [l0].[Id] +"""); } public override async Task SelectMany_navigation_comparison2(bool async) @@ -763,11 +885,13 @@ public override async Task SelectMany_navigation_comparison2(bool async) await base.SelectMany_navigation_comparison2(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], [l0].[Id] AS [Id2] +""" +SELECT [l].[Id] AS [Id1], [l0].[Id] AS [Id2] FROM [LevelOne] AS [l] CROSS JOIN [LevelTwo] AS [l0] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Level1_Optional_Id] = [l1].[Id] -WHERE [l].[Id] = [l1].[Id]"); +WHERE [l].[Id] = [l1].[Id] +"""); } public override async Task SelectMany_navigation_comparison3(bool async) @@ -775,11 +899,13 @@ public override async Task SelectMany_navigation_comparison3(bool async) await base.SelectMany_navigation_comparison3(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], [l0].[Id] AS [Id2] +""" +SELECT [l].[Id] AS [Id1], [l0].[Id] AS [Id2] FROM [LevelOne] AS [l] CROSS JOIN [LevelTwo] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] -WHERE [l1].[Id] = [l0].[Id]"); +WHERE [l1].[Id] = [l0].[Id] +"""); } public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse1(bool async) @@ -787,12 +913,14 @@ public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse await base.Where_complex_predicate_with_with_nav_prop_and_OrElse1(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], [l0].[Id] AS [Id2] +""" +SELECT [l].[Id] AS [Id1], [l0].[Id] AS [Id2] FROM [LevelOne] AS [l] CROSS JOIN [LevelTwo] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] INNER JOIN [LevelOne] AS [l2] ON [l0].[Level1_Required_Id] = [l2].[Id] -WHERE [l1].[Name] = N'L2 01' OR [l2].[Name] <> N'Bar' OR ([l2].[Name] IS NULL)"); +WHERE [l1].[Name] = N'L2 01' OR [l2].[Name] <> N'Bar' OR ([l2].[Name] IS NULL) +"""); } public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse2(bool async) @@ -800,11 +928,13 @@ public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse await base.Where_complex_predicate_with_with_nav_prop_and_OrElse2(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] -WHERE [l1].[Name] = N'L3 05' OR [l0].[Name] <> N'L2 05' OR ([l0].[Name] IS NULL)"); +WHERE [l1].[Name] = N'L3 05' OR [l0].[Name] <> N'L2 05' OR ([l0].[Name] IS NULL) +"""); } public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse3(bool async) @@ -812,12 +942,14 @@ public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse await base.Where_complex_predicate_with_with_nav_prop_and_OrElse3(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Level2_Optional_Id] -WHERE [l0].[Name] <> N'L2 05' OR ([l0].[Name] IS NULL) OR [l2].[Name] = N'L3 05'"); +WHERE [l0].[Name] <> N'L2 05' OR ([l0].[Name] IS NULL) OR [l2].[Name] = N'L3 05' +"""); } public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse4(bool async) @@ -825,12 +957,14 @@ public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse await base.Where_complex_predicate_with_with_nav_prop_and_OrElse4(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelThree] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Level2_Optional_Id] = [l0].[Id] INNER JOIN [LevelTwo] AS [l1] ON [l].[Level2_Required_Id] = [l1].[Id] LEFT JOIN [LevelOne] AS [l2] ON [l1].[Level1_Optional_Id] = [l2].[Id] -WHERE [l0].[Name] <> N'L2 05' OR ([l0].[Name] IS NULL) OR [l2].[Name] = N'L1 05'"); +WHERE [l0].[Name] <> N'L2 05' OR ([l0].[Name] IS NULL) OR [l2].[Name] = N'L1 05' +"""); } public override async Task Complex_navigations_with_predicate_projected_into_anonymous_type(bool async) @@ -838,12 +972,14 @@ public override async Task Complex_navigations_with_predicate_projected_into_ano await base.Complex_navigations_with_predicate_projected_into_anonymous_type(async); AssertSql( - @"SELECT [l].[Name], [l2].[Id] +""" +SELECT [l].[Name], [l2].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] LEFT JOIN [LevelThree] AS [l2] ON [l0].[Id] = [l2].[Level2_Optional_Id] -WHERE ([l1].[Id] = [l2].[Id] OR (([l1].[Id] IS NULL) AND ([l2].[Id] IS NULL))) AND ([l2].[Id] <> 7 OR ([l2].[Id] IS NULL))"); +WHERE ([l1].[Id] = [l2].[Id] OR (([l1].[Id] IS NULL) AND ([l2].[Id] IS NULL))) AND ([l2].[Id] <> 7 OR ([l2].[Id] IS NULL)) +"""); } public override async Task Complex_navigations_with_predicate_projected_into_anonymous_type2(bool async) @@ -851,12 +987,14 @@ public override async Task Complex_navigations_with_predicate_projected_into_ano await base.Complex_navigations_with_predicate_projected_into_anonymous_type2(async); AssertSql( - @"SELECT [l].[Name], [l2].[Id] +""" +SELECT [l].[Name], [l2].[Id] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] LEFT JOIN [LevelOne] AS [l2] ON [l0].[Level1_Optional_Id] = [l2].[Id] -WHERE [l1].[Id] = [l2].[Id] AND ([l2].[Id] <> 7 OR ([l2].[Id] IS NULL))"); +WHERE [l1].[Id] = [l2].[Id] AND ([l2].[Id] <> 7 OR ([l2].[Id] IS NULL)) +"""); } public override async Task Optional_navigation_projected_into_DTO(bool async) @@ -864,12 +1002,14 @@ public override async Task Optional_navigation_projected_into_DTO(bool async) await base.Optional_navigation_projected_into_DTO(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], CASE +""" +SELECT [l].[Id], [l].[Name], CASE WHEN [l0].[Id] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [l0].[Id], [l0].[Name] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task OrderBy_nav_prop_reference_optional(bool async) @@ -877,10 +1017,12 @@ public override async Task OrderBy_nav_prop_reference_optional(bool async) await base.OrderBy_nav_prop_reference_optional(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l0].[Name], [l].[Id]"); +ORDER BY [l0].[Name], [l].[Id] +"""); } public override async Task OrderBy_nav_prop_reference_optional_via_DefaultIfEmpty(bool async) @@ -888,10 +1030,12 @@ public override async Task OrderBy_nav_prop_reference_optional_via_DefaultIfEmpt await base.OrderBy_nav_prop_reference_optional_via_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l0].[Name], [l].[Id]"); +ORDER BY [l0].[Name], [l].[Id] +"""); } public override async Task Result_operator_nav_prop_reference_optional_Sum(bool async) @@ -899,9 +1043,11 @@ public override async Task Result_operator_nav_prop_reference_optional_Sum(bool await base.Result_operator_nav_prop_reference_optional_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([l0].[Level1_Required_Id]), 0) +""" +SELECT COALESCE(SUM([l0].[Level1_Required_Id]), 0) FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Result_operator_nav_prop_reference_optional_Min(bool async) @@ -909,9 +1055,11 @@ public override async Task Result_operator_nav_prop_reference_optional_Min(bool await base.Result_operator_nav_prop_reference_optional_Min(async); AssertSql( - @"SELECT MIN([l0].[Level1_Required_Id]) +""" +SELECT MIN([l0].[Level1_Required_Id]) FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Result_operator_nav_prop_reference_optional_Max(bool async) @@ -919,9 +1067,11 @@ public override async Task Result_operator_nav_prop_reference_optional_Max(bool await base.Result_operator_nav_prop_reference_optional_Max(async); AssertSql( - @"SELECT MAX([l0].[Level1_Required_Id]) +""" +SELECT MAX([l0].[Level1_Required_Id]) FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Result_operator_nav_prop_reference_optional_Average(bool async) @@ -929,9 +1079,11 @@ public override async Task Result_operator_nav_prop_reference_optional_Average(b await base.Result_operator_nav_prop_reference_optional_Average(async); AssertSql( - @"SELECT AVG(CAST([l0].[Level1_Required_Id] AS float)) +""" +SELECT AVG(CAST([l0].[Level1_Required_Id] AS float)) FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Result_operator_nav_prop_reference_optional_Average_with_identity_selector(bool async) @@ -939,9 +1091,11 @@ public override async Task Result_operator_nav_prop_reference_optional_Average_w await base.Result_operator_nav_prop_reference_optional_Average_with_identity_selector(async); AssertSql( - @"SELECT AVG(CAST([l0].[Level1_Required_Id] AS float)) +""" +SELECT AVG(CAST([l0].[Level1_Required_Id] AS float)) FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Result_operator_nav_prop_reference_optional_Average_without_selector(bool async) @@ -949,9 +1103,11 @@ public override async Task Result_operator_nav_prop_reference_optional_Average_w await base.Result_operator_nav_prop_reference_optional_Average_without_selector(async); AssertSql( - @"SELECT AVG(CAST([l0].[Level1_Required_Id] AS float)) +""" +SELECT AVG(CAST([l0].[Level1_Required_Id] AS float)) FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Result_operator_nav_prop_reference_optional_via_DefaultIfEmpty(bool async) @@ -959,12 +1115,14 @@ public override async Task Result_operator_nav_prop_reference_optional_via_Defau await base.Result_operator_nav_prop_reference_optional_via_DefaultIfEmpty(async); AssertSql( - @"SELECT COALESCE(SUM(CASE +""" +SELECT COALESCE(SUM(CASE WHEN [l0].[Id] IS NULL THEN 0 ELSE [l0].[Level1_Required_Id] END), 0) FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Include_with_optional_navigation(bool async) @@ -972,10 +1130,12 @@ public override async Task Include_with_optional_navigation(bool async) await base.Include_with_optional_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l0].[Name] <> N'L2 05' OR ([l0].[Name] IS NULL)"); +WHERE [l0].[Name] <> N'L2 05' OR ([l0].[Name] IS NULL) +"""); } public override async Task Join_flattening_bug_4539(bool async) @@ -983,11 +1143,13 @@ public override async Task Join_flattening_bug_4539(bool async) await base.Join_flattening_bug_4539(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l2].[Id], [l2].[Date], [l2].[Name], [l2].[OneToMany_Optional_Self_Inverse1Id], [l2].[OneToMany_Required_Self_Inverse1Id], [l2].[OneToOne_Optional_Self1Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l2].[Id], [l2].[Date], [l2].[Name], [l2].[OneToMany_Optional_Self_Inverse1Id], [l2].[OneToMany_Required_Self_Inverse1Id], [l2].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] CROSS JOIN [LevelTwo] AS [l1] -INNER JOIN [LevelOne] AS [l2] ON [l1].[Level1_Required_Id] = [l2].[Id]"); +INNER JOIN [LevelOne] AS [l2] ON [l1].[Level1_Required_Id] = [l2].[Id] +"""); } public override async Task Query_source_materialization_bug_4547(bool async) @@ -995,13 +1157,15 @@ public override async Task Query_source_materialization_bug_4547(bool async) await base.Query_source_materialization_bug_4547(async); AssertSql( - @"SELECT [l0].[Id] +""" +SELECT [l0].[Id] FROM [LevelThree] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[Id] = ( SELECT TOP(1) [l2].[Id] FROM [LevelTwo] AS [l1] LEFT JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Level2_Optional_Id] - ORDER BY [l2].[Id])"); + ORDER BY [l2].[Id]) +"""); } public override async Task SelectMany_navigation_property(bool async) @@ -1009,9 +1173,11 @@ public override async Task SelectMany_navigation_property(bool async) await base.SelectMany_navigation_property(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] -INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id]"); +INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] +"""); } public override async Task SelectMany_navigation_property_and_projection(bool async) @@ -1019,9 +1185,11 @@ public override async Task SelectMany_navigation_property_and_projection(bool as await base.SelectMany_navigation_property_and_projection(async); AssertSql( - @"SELECT [l0].[Name] +""" +SELECT [l0].[Name] FROM [LevelOne] AS [l] -INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id]"); +INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] +"""); } public override async Task SelectMany_navigation_property_and_filter_before(bool async) @@ -1029,10 +1197,12 @@ public override async Task SelectMany_navigation_property_and_filter_before(bool await base.SelectMany_navigation_property_and_filter_before(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -WHERE [l].[Id] = 1"); +WHERE [l].[Id] = 1 +"""); } public override async Task SelectMany_navigation_property_and_filter_after(bool async) @@ -1040,10 +1210,12 @@ public override async Task SelectMany_navigation_property_and_filter_after(bool await base.SelectMany_navigation_property_and_filter_after(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -WHERE [l0].[Id] <> 6"); +WHERE [l0].[Id] <> 6 +"""); } public override async Task SelectMany_nested_navigation_property_required(bool async) @@ -1051,10 +1223,12 @@ public override async Task SelectMany_nested_navigation_property_required(bool a await base.SelectMany_nested_navigation_property_required(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] -INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id]"); +INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] +"""); } public override async Task SelectMany_nested_navigation_property_optional_and_projection(bool async) @@ -1062,10 +1236,12 @@ public override async Task SelectMany_nested_navigation_property_optional_and_pr await base.SelectMany_nested_navigation_property_optional_and_projection(async); AssertSql( - @"SELECT [l1].[Name] +""" +SELECT [l1].[Name] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id]"); +INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] +"""); } public override async Task Multiple_SelectMany_calls(bool async) @@ -1073,10 +1249,12 @@ public override async Task Multiple_SelectMany_calls(bool async) await base.Multiple_SelectMany_calls(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id]"); +INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] +"""); } public override async Task SelectMany_navigation_property_with_another_navigation_in_subquery(bool async) @@ -1084,13 +1262,15 @@ public override async Task SelectMany_navigation_property_with_another_navigatio await base.SelectMany_navigation_property_with_another_navigation_in_subquery(async); AssertSql( - @"SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l0].[OneToMany_Optional_Inverse2Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] -) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id]"); +) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] +"""); } [ConditionalFact] @@ -1108,7 +1288,8 @@ public void Multiple_complex_includes_from_sql() Assert.Equal(13, results.Count); AssertSql( - @"SELECT [m].[Id], [m].[Date], [m].[Name], [m].[OneToMany_Optional_Self_Inverse1Id], [m].[OneToMany_Required_Self_Inverse1Id], [m].[OneToOne_Optional_Self1Id], [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [m].[Id], [m].[Date], [m].[Name], [m].[OneToMany_Optional_Self_Inverse1Id], [m].[OneToMany_Required_Self_Inverse1Id], [m].[OneToOne_Optional_Self1Id], [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM ( SELECT * FROM [LevelOne] ) AS [m] @@ -1119,7 +1300,8 @@ LEFT JOIN ( FROM [LevelTwo] AS [l1] LEFT JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[Level2_Optional_Id] ) AS [t] ON [m].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [m].[Id], [l].[Id], [l0].[Id], [t].[Id]"); +ORDER BY [m].[Id], [l].[Id], [l0].[Id], [t].[Id] +"""); } public override async Task Where_navigation_property_to_collection(bool async) @@ -1127,13 +1309,15 @@ public override async Task Where_navigation_property_to_collection(bool async) await base.Where_navigation_property_to_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] WHERE ( SELECT COUNT(*) FROM [LevelThree] AS [l1] - WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id]) > 0"); + WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id]) > 0 +"""); } public override async Task Where_navigation_property_to_collection2(bool async) @@ -1141,13 +1325,15 @@ public override async Task Where_navigation_property_to_collection2(bool async) await base.Where_navigation_property_to_collection2(async); AssertSql( - @"SELECT [l].[Id], [l].[Level2_Optional_Id], [l].[Level2_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse3Id], [l].[OneToMany_Optional_Self_Inverse3Id], [l].[OneToMany_Required_Inverse3Id], [l].[OneToMany_Required_Self_Inverse3Id], [l].[OneToOne_Optional_PK_Inverse3Id], [l].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Level2_Optional_Id], [l].[Level2_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse3Id], [l].[OneToMany_Optional_Self_Inverse3Id], [l].[OneToMany_Required_Inverse3Id], [l].[OneToMany_Required_Self_Inverse3Id], [l].[OneToOne_Optional_PK_Inverse3Id], [l].[OneToOne_Optional_Self3Id] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] WHERE ( SELECT COUNT(*) FROM [LevelThree] AS [l1] - WHERE [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id]) > 0"); + WHERE [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id]) > 0 +"""); } public override async Task Where_navigation_property_to_collection_of_original_entity_type(bool async) @@ -1155,13 +1341,15 @@ public override async Task Where_navigation_property_to_collection_of_original_e await base.Where_navigation_property_to_collection_of_original_entity_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[OneToMany_Required_Inverse2Id] = [l0].[Id] WHERE ( SELECT COUNT(*) FROM [LevelTwo] AS [l1] - WHERE [l0].[Id] = [l1].[OneToMany_Optional_Inverse2Id]) > 0"); + WHERE [l0].[Id] = [l1].[OneToMany_Optional_Inverse2Id]) > 0 +"""); } public override async Task Correlated_subquery_doesnt_project_unnecessary_columns_in_top_level(bool async) @@ -1169,12 +1357,14 @@ public override async Task Correlated_subquery_doesnt_project_unnecessary_column await base.Correlated_subquery_doesnt_project_unnecessary_columns_in_top_level(async); AssertSql( - @"SELECT DISTINCT [l].[Name] +""" +SELECT DISTINCT [l].[Name] FROM [LevelOne] AS [l] WHERE EXISTS ( SELECT 1 FROM [LevelTwo] AS [l0] - WHERE [l0].[Level1_Required_Id] = [l].[Id])"); + WHERE [l0].[Level1_Required_Id] = [l].[Id]) +"""); } public override async Task Correlated_subquery_doesnt_project_unnecessary_columns_in_top_level_join(bool async) @@ -1182,7 +1372,8 @@ public override async Task Correlated_subquery_doesnt_project_unnecessary_column await base.Correlated_subquery_doesnt_project_unnecessary_columns_in_top_level_join(async); AssertSql( - @"SELECT [l].[Name] AS [Name1], [t].[Id] AS [Id2] +""" +SELECT [l].[Name] AS [Name1], [t].[Id] AS [Id2] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l0].[Id], [l1].[Id] AS [Id0] @@ -1192,7 +1383,8 @@ FROM [LevelTwo] AS [l0] WHERE EXISTS ( SELECT 1 FROM [LevelTwo] AS [l2] - WHERE [l2].[Level1_Required_Id] = [l].[Id])"); + WHERE [l2].[Level1_Required_Id] = [l].[Id]) +"""); } public override async Task Correlated_nested_subquery_doesnt_project_unnecessary_columns_in_top_level(bool async) @@ -1200,14 +1392,16 @@ public override async Task Correlated_nested_subquery_doesnt_project_unnecessary await base.Correlated_nested_subquery_doesnt_project_unnecessary_columns_in_top_level(async); AssertSql( - @"SELECT DISTINCT [l].[Name] +""" +SELECT DISTINCT [l].[Name] FROM [LevelOne] AS [l] WHERE EXISTS ( SELECT 1 FROM [LevelTwo] AS [l0] WHERE EXISTS ( SELECT 1 - FROM [LevelThree] AS [l1]))"); + FROM [LevelThree] AS [l1])) +"""); } public override async Task Correlated_nested_two_levels_up_subquery_doesnt_project_unnecessary_columns_in_top_level(bool async) @@ -1215,14 +1409,16 @@ public override async Task Correlated_nested_two_levels_up_subquery_doesnt_proje await base.Correlated_nested_two_levels_up_subquery_doesnt_project_unnecessary_columns_in_top_level(async); AssertSql( - @"SELECT DISTINCT [l].[Name] +""" +SELECT DISTINCT [l].[Name] FROM [LevelOne] AS [l] WHERE EXISTS ( SELECT 1 FROM [LevelTwo] AS [l0] WHERE EXISTS ( SELECT 1 - FROM [LevelThree] AS [l1]))"); + FROM [LevelThree] AS [l1])) +"""); } public override async Task SelectMany_where_with_subquery(bool async) @@ -1230,13 +1426,15 @@ public override async Task SelectMany_where_with_subquery(bool async) await base.SelectMany_where_with_subquery(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] WHERE EXISTS ( SELECT 1 FROM [LevelThree] AS [l1] - WHERE [l0].[Id] = [l1].[OneToMany_Required_Inverse3Id])"); + WHERE [l0].[Id] = [l1].[OneToMany_Required_Inverse3Id]) +"""); } public override async Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access1(bool async) @@ -1244,10 +1442,12 @@ public override async Task Order_by_key_of_projected_navigation_doesnt_get_optim await base.Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access1(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] -ORDER BY [l0].[Id]"); +ORDER BY [l0].[Id] +"""); } public override async Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access2(bool async) @@ -1255,10 +1455,12 @@ public override async Task Order_by_key_of_projected_navigation_doesnt_get_optim await base.Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access2(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] -ORDER BY [l0].[Id]"); +ORDER BY [l0].[Id] +"""); } public override async Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access3(bool async) @@ -1266,10 +1468,12 @@ public override async Task Order_by_key_of_projected_navigation_doesnt_get_optim await base.Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access3(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] -ORDER BY [l0].[Id]"); +ORDER BY [l0].[Id] +"""); } public override async Task Order_by_key_of_navigation_similar_to_projected_gets_optimized_into_FK_access(bool async) @@ -1277,11 +1481,13 @@ public override async Task Order_by_key_of_navigation_similar_to_projected_gets_ await base.Order_by_key_of_navigation_similar_to_projected_gets_optimized_into_FK_access(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] -ORDER BY [l0].[Id]"); +ORDER BY [l0].[Id] +"""); } public override async Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access_subquery(bool async) @@ -1289,7 +1495,8 @@ public override async Task Order_by_key_of_projected_navigation_doesnt_get_optim await base.Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access_subquery(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [l1].[Name] FROM ( @@ -1299,7 +1506,8 @@ FROM [LevelThree] AS [l] ORDER BY [l0].[Id] ) AS [t] INNER JOIN [LevelOne] AS [l1] ON [t].[Level1_Required_Id] = [l1].[Id] -ORDER BY [t].[Id0]"); +ORDER BY [t].[Id0] +"""); } public override async Task Order_by_key_of_anonymous_type_projected_navigation_doesnt_get_optimized_into_FK_access_subquery( @@ -1308,12 +1516,14 @@ public override async Task Order_by_key_of_anonymous_type_projected_navigation_d await base.Order_by_key_of_anonymous_type_projected_navigation_doesnt_get_optimized_into_FK_access_subquery(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [l0].[Name] FROM [LevelThree] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] -ORDER BY [l0].[Id]"); +ORDER BY [l0].[Id] +"""); } public override async Task Optional_navigation_take_optional_navigation(bool async) @@ -1321,7 +1531,8 @@ public override async Task Optional_navigation_take_optional_navigation(bool asy await base.Optional_navigation_take_optional_navigation(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [l1].[Name] FROM ( @@ -1331,7 +1542,8 @@ FROM [LevelOne] AS [l] ORDER BY [l0].[Id] ) AS [t] LEFT JOIN [LevelThree] AS [l1] ON [t].[Id0] = [l1].[Level2_Optional_Id] -ORDER BY [t].[Id0]"); +ORDER BY [t].[Id0] +"""); } public override async Task Projection_select_correct_table_from_subquery_when_materialization_is_not_required(bool async) @@ -1339,13 +1551,15 @@ public override async Task Projection_select_correct_table_from_subquery_when_ma await base.Projection_select_correct_table_from_subquery_when_materialization_is_not_required(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT TOP(@__p_0) [l].[Name] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[Level1_Required_Id] = [l0].[Id] WHERE [l0].[Name] = N'L1 03' -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Projection_select_correct_table_with_anonymous_projection_in_subquery(bool async) @@ -1353,14 +1567,16 @@ public override async Task Projection_select_correct_table_with_anonymous_projec await base.Projection_select_correct_table_with_anonymous_projection_in_subquery(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT TOP(@__p_0) [l].[Name] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[Level1_Required_Id] = [l0].[Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] WHERE [l0].[Name] = N'L1 03' AND [l1].[Name] = N'L3 08' -ORDER BY [l0].[Id]"); +ORDER BY [l0].[Id] +"""); } public override async Task Projection_select_correct_table_in_subquery_when_materialization_is_not_required_in_multiple_joins( @@ -1369,14 +1585,16 @@ public override async Task Projection_select_correct_table_in_subquery_when_mate await base.Projection_select_correct_table_in_subquery_when_materialization_is_not_required_in_multiple_joins(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT TOP(@__p_0) [l0].[Name] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[Level1_Required_Id] = [l0].[Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] WHERE [l0].[Name] = N'L1 03' AND [l1].[Name] = N'L3 08' -ORDER BY [l0].[Id]"); +ORDER BY [l0].[Id] +"""); } public override async Task Where_predicate_on_optional_reference_navigation(bool async) @@ -1384,13 +1602,15 @@ public override async Task Where_predicate_on_optional_reference_navigation(bool await base.Where_predicate_on_optional_reference_navigation(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT TOP(@__p_0) [l].[Name] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] WHERE [l0].[Name] = N'L2 03' -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task SelectMany_with_string_based_Include1(bool async) @@ -1398,10 +1618,12 @@ public override async Task SelectMany_with_string_based_Include1(bool async) await base.SelectMany_with_string_based_Include1(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] +"""); } public override async Task SelectMany_with_string_based_Include2(bool async) @@ -1409,11 +1631,13 @@ public override async Task SelectMany_with_string_based_Include2(bool async) await base.SelectMany_with_string_based_Include2(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] -LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id]"); +LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] +"""); } public override async Task Multiple_SelectMany_with_string_based_Include(bool async) @@ -1421,11 +1645,13 @@ public override async Task Multiple_SelectMany_with_string_based_Include(bool as await base.Multiple_SelectMany_with_string_based_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id]"); +LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] +"""); } public override async Task Multiple_required_navigations_with_Include(bool async) @@ -1468,10 +1694,12 @@ public override async Task SelectMany_with_navigation_and_explicit_DefaultIfEmpt await base.SelectMany_with_navigation_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -WHERE [l0].[Id] IS NOT NULL"); +WHERE [l0].[Id] IS NOT NULL +"""); } public override async Task SelectMany_with_navigation_filter_and_explicit_DefaultIfEmpty(bool async) @@ -1479,14 +1707,16 @@ public override async Task SelectMany_with_navigation_filter_and_explicit_Defaul await base.SelectMany_with_navigation_filter_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToMany_Optional_Inverse2Id] FROM [LevelTwo] AS [l0] WHERE [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -WHERE [t].[Id] IS NOT NULL"); +WHERE [t].[Id] IS NOT NULL +"""); } public override async Task SelectMany_with_nested_navigation_and_explicit_DefaultIfEmpty(bool async) @@ -1494,11 +1724,13 @@ public override async Task SelectMany_with_nested_navigation_and_explicit_Defaul await base.SelectMany_with_nested_navigation_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -WHERE [l1].[Id] IS NOT NULL"); +WHERE [l1].[Id] IS NOT NULL +"""); } public override async Task SelectMany_with_nested_navigation_filter_and_explicit_DefaultIfEmpty(bool async) @@ -1506,7 +1738,8 @@ public override async Task SelectMany_with_nested_navigation_filter_and_explicit await base.SelectMany_with_nested_navigation_filter_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -1514,7 +1747,8 @@ LEFT JOIN ( FROM [LevelThree] AS [l1] WHERE [l1].[Id] > 5 ) AS [t] ON [l0].[Id] = [t].[OneToMany_Optional_Inverse3Id] -WHERE [t].[Id] IS NOT NULL"); +WHERE [t].[Id] IS NOT NULL +"""); } public override async Task SelectMany_with_nested_required_navigation_filter_and_explicit_DefaultIfEmpty(bool async) @@ -1522,7 +1756,8 @@ public override async Task SelectMany_with_nested_required_navigation_filter_and await base.SelectMany_with_nested_required_navigation_filter_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN ( @@ -1530,7 +1765,8 @@ LEFT JOIN ( FROM [LevelThree] AS [l1] WHERE [l1].[Id] > 5 ) AS [t] ON [l0].[Id] = [t].[OneToMany_Required_Inverse3Id] -WHERE [t].[Id] IS NOT NULL"); +WHERE [t].[Id] IS NOT NULL +"""); } public override async Task SelectMany_with_nested_navigations_and_additional_joins_outside_of_SelectMany(bool async) @@ -1538,7 +1774,8 @@ public override async Task SelectMany_with_nested_navigations_and_additional_joi await base.SelectMany_with_nested_navigations_and_additional_joins_outside_of_SelectMany(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id2], [t].[Date0], [t].[Level1_Optional_Id0], [t].[Level1_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse2Id0], [t].[OneToMany_Optional_Self_Inverse2Id0], [t].[OneToMany_Required_Inverse2Id0], [t].[OneToMany_Required_Self_Inverse2Id0], [t].[OneToOne_Optional_PK_Inverse2Id0], [t].[OneToOne_Optional_Self2Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id2], [t].[Date0], [t].[Level1_Optional_Id0], [t].[Level1_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse2Id0], [t].[OneToMany_Optional_Self_Inverse2Id0], [t].[OneToMany_Required_Inverse2Id0], [t].[OneToMany_Required_Self_Inverse2Id0], [t].[OneToOne_Optional_PK_Inverse2Id0], [t].[OneToOne_Optional_Self2Id0] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l3].[Id] AS [Id2], [l3].[Date] AS [Date0], [l3].[Level1_Optional_Id] AS [Level1_Optional_Id0], [l3].[Level1_Required_Id] AS [Level1_Required_Id0], [l3].[Name] AS [Name2], [l3].[OneToMany_Optional_Inverse2Id] AS [OneToMany_Optional_Inverse2Id0], [l3].[OneToMany_Optional_Self_Inverse2Id] AS [OneToMany_Optional_Self_Inverse2Id0], [l3].[OneToMany_Required_Inverse2Id] AS [OneToMany_Required_Inverse2Id0], [l3].[OneToMany_Required_Self_Inverse2Id] AS [OneToMany_Required_Self_Inverse2Id0], [l3].[OneToOne_Optional_PK_Inverse2Id] AS [OneToOne_Optional_PK_Inverse2Id0], [l3].[OneToOne_Optional_Self2Id] AS [OneToOne_Optional_Self2Id0] @@ -1546,7 +1783,8 @@ FROM [LevelFour] AS [l0] INNER JOIN [LevelThree] AS [l1] ON [l0].[Level3_Required_Id] = [l1].[Id] LEFT JOIN [LevelTwo] AS [l2] ON [l1].[Level2_Optional_Id] = [l2].[Id] INNER JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[OneToMany_Required_Self_Inverse2Id] -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id0]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id0] +"""); } public override async Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany( @@ -1555,7 +1793,8 @@ public override async Task SelectMany_with_nested_navigations_explicit_DefaultIf await base.SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id2], [t].[Date0], [t].[Level1_Optional_Id0], [t].[Level1_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse2Id0], [t].[OneToMany_Optional_Self_Inverse2Id0], [t].[OneToMany_Required_Inverse2Id0], [t].[OneToMany_Required_Self_Inverse2Id0], [t].[OneToOne_Optional_PK_Inverse2Id0], [t].[OneToOne_Optional_Self2Id0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id2], [t].[Date0], [t].[Level1_Optional_Id0], [t].[Level1_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse2Id0], [t].[OneToMany_Optional_Self_Inverse2Id0], [t].[OneToMany_Required_Inverse2Id0], [t].[OneToMany_Required_Self_Inverse2Id0], [t].[OneToOne_Optional_PK_Inverse2Id0], [t].[OneToOne_Optional_Self2Id0] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [l3].[Id] AS [Id2], [l3].[Date] AS [Date0], [l3].[Level1_Optional_Id] AS [Level1_Optional_Id0], [l3].[Level1_Required_Id] AS [Level1_Required_Id0], [l3].[Name] AS [Name2], [l3].[OneToMany_Optional_Inverse2Id] AS [OneToMany_Optional_Inverse2Id0], [l3].[OneToMany_Optional_Self_Inverse2Id] AS [OneToMany_Optional_Self_Inverse2Id0], [l3].[OneToMany_Required_Inverse2Id] AS [OneToMany_Required_Inverse2Id0], [l3].[OneToMany_Required_Self_Inverse2Id] AS [OneToMany_Required_Self_Inverse2Id0], [l3].[OneToOne_Optional_PK_Inverse2Id] AS [OneToOne_Optional_PK_Inverse2Id0], [l3].[OneToOne_Optional_Self2Id] AS [OneToOne_Optional_Self2Id0] @@ -1563,7 +1802,8 @@ FROM [LevelFour] AS [l0] INNER JOIN [LevelThree] AS [l1] ON [l0].[Level3_Required_Id] = [l1].[Id] LEFT JOIN [LevelTwo] AS [l2] ON [l1].[Level2_Optional_Id] = [l2].[Id] LEFT JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[OneToMany_Required_Self_Inverse2Id] -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id0]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id0] +"""); } public override async Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany2( @@ -1572,12 +1812,14 @@ public override async Task SelectMany_with_nested_navigations_explicit_DefaultIf await base.SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany2(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l3].[Id], [l3].[Date], [l3].[Name], [l3].[OneToMany_Optional_Self_Inverse1Id], [l3].[OneToMany_Required_Self_Inverse1Id], [l3].[OneToOne_Optional_Self1Id] +""" +SELECT [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l3].[Id], [l3].[Date], [l3].[Name], [l3].[OneToMany_Optional_Self_Inverse1Id], [l3].[OneToMany_Required_Self_Inverse1Id], [l3].[OneToOne_Optional_Self1Id] FROM [LevelFour] AS [l] INNER JOIN [LevelThree] AS [l0] ON [l].[Level3_Required_Id] = [l0].[Id] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Level2_Optional_Id] = [l1].[Id] LEFT JOIN [LevelTwo] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Required_Self_Inverse2Id] -INNER JOIN [LevelOne] AS [l3] ON [l2].[Level1_Optional_Id] = [l3].[Id]"); +INNER JOIN [LevelOne] AS [l3] ON [l2].[Level1_Optional_Id] = [l3].[Id] +"""); } public override async Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany3( @@ -1586,12 +1828,14 @@ public override async Task SelectMany_with_nested_navigations_explicit_DefaultIf await base.SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany3(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l3].[Id], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l3].[Id], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Required_Inverse4Id] -INNER JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[Id]"); +INNER JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[Id] +"""); } public override async Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany4( @@ -1600,12 +1844,14 @@ public override async Task SelectMany_with_nested_navigations_explicit_DefaultIf await base.SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany4(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l3].[Id], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l3].[Id], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Required_Inverse4Id] -LEFT JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[Id]"); +LEFT JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[Id] +"""); } public override async Task Multiple_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_joined_together(bool async) @@ -1613,7 +1859,8 @@ public override async Task Multiple_SelectMany_with_nested_navigations_and_expli await base.Multiple_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpty_joined_together(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [t].[Id2], [t].[Date0], [t].[Level1_Optional_Id0], [t].[Level1_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse2Id0], [t].[OneToMany_Optional_Self_Inverse2Id0], [t].[OneToMany_Required_Inverse2Id0], [t].[OneToMany_Required_Self_Inverse2Id0], [t].[OneToOne_Optional_PK_Inverse2Id0], [t].[OneToOne_Optional_Self2Id0] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [t].[Id2], [t].[Date0], [t].[Level1_Optional_Id0], [t].[Level1_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse2Id0], [t].[OneToMany_Optional_Self_Inverse2Id0], [t].[OneToMany_Required_Inverse2Id0], [t].[OneToMany_Required_Self_Inverse2Id0], [t].[OneToOne_Optional_PK_Inverse2Id0], [t].[OneToOne_Optional_Self2Id0] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -1624,7 +1871,8 @@ FROM [LevelFour] AS [l3] INNER JOIN [LevelThree] AS [l4] ON [l3].[Level3_Required_Id] = [l4].[Id] LEFT JOIN [LevelTwo] AS [l5] ON [l4].[Level2_Optional_Id] = [l5].[Id] LEFT JOIN [LevelTwo] AS [l6] ON [l5].[Id] = [l6].[OneToMany_Required_Self_Inverse2Id] -) AS [t] ON [l2].[Id] = [t].[Id2]"); +) AS [t] ON [l2].[Id] = [t].[Id2] +"""); } public override async Task @@ -1636,13 +1884,15 @@ await base async); AssertSql( - @"SELECT [l4].[Id], [l4].[Date], [l4].[Name], [l4].[OneToMany_Optional_Self_Inverse1Id], [l4].[OneToMany_Required_Self_Inverse1Id], [l4].[OneToOne_Optional_Self1Id] +""" +SELECT [l4].[Id], [l4].[Date], [l4].[Name], [l4].[OneToMany_Optional_Self_Inverse1Id], [l4].[OneToMany_Required_Self_Inverse1Id], [l4].[OneToOne_Optional_Self1Id] FROM [LevelFour] AS [l] INNER JOIN [LevelThree] AS [l0] ON [l].[Level3_Required_Id] = [l0].[Id] INNER JOIN [LevelTwo] AS [l1] ON [l0].[Level2_Required_Id] = [l1].[Id] LEFT JOIN [LevelThree] AS [l2] ON [l1].[Id] = [l2].[OneToMany_Required_Inverse3Id] LEFT JOIN [LevelTwo] AS [l3] ON [l2].[Level2_Required_Id] = [l3].[Id] -LEFT JOIN [LevelOne] AS [l4] ON [l3].[Id] = [l4].[Id]"); +LEFT JOIN [LevelOne] AS [l4] ON [l3].[Id] = [l4].[Id] +"""); } public override async Task @@ -1654,12 +1904,14 @@ await base async); AssertSql( - @"SELECT [l3].[Id], [l3].[Date], [l3].[Name], [l3].[OneToMany_Optional_Self_Inverse1Id], [l3].[OneToMany_Required_Self_Inverse1Id], [l3].[OneToOne_Optional_Self1Id] +""" +SELECT [l3].[Id], [l3].[Date], [l3].[Name], [l3].[OneToMany_Optional_Self_Inverse1Id], [l3].[OneToMany_Required_Self_Inverse1Id], [l3].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelTwo] AS [l2] ON [l1].[Level2_Required_Id] = [l2].[Id] -LEFT JOIN [LevelOne] AS [l3] ON [l2].[Id] = [l3].[Id]"); +LEFT JOIN [LevelOne] AS [l3] ON [l2].[Id] = [l3].[Id] +"""); } public override async Task Multiple_SelectMany_with_navigation_and_explicit_DefaultIfEmpty(bool async) @@ -1667,7 +1919,8 @@ public override async Task Multiple_SelectMany_with_navigation_and_explicit_Defa await base.Multiple_SelectMany_with_navigation_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN ( @@ -1675,7 +1928,8 @@ LEFT JOIN ( FROM [LevelThree] AS [l1] WHERE [l1].[Id] > 5 ) AS [t] ON [l0].[Id] = [t].[OneToMany_Optional_Inverse3Id] -WHERE [t].[Id] IS NOT NULL"); +WHERE [t].[Id] IS NOT NULL +"""); } public override async Task SelectMany_with_navigation_filter_paging_and_explicit_DefaultIfEmpty(bool async) @@ -1683,7 +1937,8 @@ public override async Task SelectMany_with_navigation_filter_paging_and_explicit await base.SelectMany_with_navigation_filter_paging_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN ( SELECT [t].[Id], [t].[OneToMany_Required_Inverse2Id] @@ -1694,7 +1949,8 @@ WHERE [l0].[Id] > 5 ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Required_Inverse2Id] -WHERE [t0].[Id] IS NOT NULL"); +WHERE [t0].[Id] IS NOT NULL +"""); } public override async Task Select_join_subquery_containing_filter_and_distinct(bool async) @@ -1702,13 +1958,15 @@ public override async Task Select_join_subquery_containing_filter_and_distinct(b await base.Select_join_subquery_containing_filter_and_distinct(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] WHERE [l0].[Id] > 2 -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Select_join_with_key_selector_being_a_subquery(bool async) @@ -1716,12 +1974,14 @@ public override async Task Select_join_with_key_selector_being_a_subquery(bool a await base.Select_join_with_key_selector_being_a_subquery(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = COALESCE(( SELECT TOP(1) [l1].[Id] FROM [LevelTwo] AS [l1] - ORDER BY [l1].[Id]), 0)"); + ORDER BY [l1].[Id]), 0) +"""); } public override async Task Contains_with_subquery_optional_navigation_and_constant_item(bool async) @@ -1729,7 +1989,8 @@ public override async Task Contains_with_subquery_optional_navigation_and_consta await base.Contains_with_subquery_optional_navigation_and_constant_item(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] WHERE EXISTS ( @@ -1739,7 +2000,8 @@ SELECT 1 FROM [LevelThree] AS [l1] WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] - WHERE [t].[Id] = 1)"); + WHERE [t].[Id] = 1) +"""); } public override async Task Contains_with_subquery_optional_navigation_scalar_distinct_and_constant_item(bool async) @@ -1747,13 +2009,15 @@ public override async Task Contains_with_subquery_optional_navigation_scalar_dis await base.Contains_with_subquery_optional_navigation_scalar_distinct_and_constant_item(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] WHERE EXISTS ( SELECT DISTINCT 1 FROM [LevelThree] AS [l1] - WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] AND CAST(LEN([l1].[Name]) AS int) = 1)"); + WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] AND CAST(LEN([l1].[Name]) AS int) = 1) +"""); } public override async Task Required_navigation_on_a_subquery_with_First_in_projection(bool async) @@ -1761,13 +2025,15 @@ public override async Task Required_navigation_on_a_subquery_with_First_in_proje await base.Required_navigation_on_a_subquery_with_First_in_projection(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [l1].[Name] FROM [LevelTwo] AS [l0] INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] ORDER BY [l0].[Id]) FROM [LevelTwo] AS [l] -WHERE [l].[Id] = 7"); +WHERE [l].[Id] = 7 +"""); } public override async Task Required_navigation_on_a_subquery_with_complex_projection_and_First(bool async) @@ -1775,14 +2041,16 @@ public override async Task Required_navigation_on_a_subquery_with_complex_projec await base.Required_navigation_on_a_subquery_with_complex_projection_and_First(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [l2].[Name] FROM [LevelTwo] AS [l0] INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] INNER JOIN [LevelOne] AS [l2] ON [l0].[Level1_Required_Id] = [l2].[Id] ORDER BY [l0].[Id]) FROM [LevelTwo] AS [l] -WHERE [l].[Id] = 7"); +WHERE [l].[Id] = 7 +"""); } public override async Task Required_navigation_on_a_subquery_with_First_in_predicate(bool async) @@ -1790,13 +2058,15 @@ public override async Task Required_navigation_on_a_subquery_with_First_in_predi await base.Required_navigation_on_a_subquery_with_First_in_predicate(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] WHERE [l].[Id] = 7 AND ( SELECT TOP(1) [l1].[Name] FROM [LevelTwo] AS [l0] INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] - ORDER BY [l0].[Id]) = N'L1 02'"); + ORDER BY [l0].[Id]) = N'L1 02' +"""); } public override async Task Manually_created_left_join_propagates_nullability_to_navigations(bool async) @@ -1804,11 +2074,13 @@ public override async Task Manually_created_left_join_propagates_nullability_to_ await base.Manually_created_left_join_propagates_nullability_to_navigations(async); AssertSql( - @"SELECT [l1].[Name] +""" +SELECT [l1].[Name] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] -WHERE [l1].[Name] <> N'L3 02' OR ([l1].[Name] IS NULL)"); +WHERE [l1].[Name] <> N'L3 02' OR ([l1].[Name] IS NULL) +"""); } public override async Task Optional_navigation_propagates_nullability_to_manually_created_left_join1(bool async) @@ -1816,10 +2088,12 @@ public override async Task Optional_navigation_propagates_nullability_to_manuall await base.Optional_navigation_propagates_nullability_to_manually_created_left_join1(async); AssertSql( - @"SELECT [l0].[Id] AS [Id1], [l1].[Id] AS [Id2] +""" +SELECT [l0].[Id] AS [Id1], [l1].[Id] AS [Id2] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id]"); +LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] +"""); } public override async Task Optional_navigation_propagates_nullability_to_manually_created_left_join2(bool async) @@ -1827,13 +2101,15 @@ public override async Task Optional_navigation_propagates_nullability_to_manuall await base.Optional_navigation_propagates_nullability_to_manually_created_left_join2(async); AssertSql( - @"SELECT [l].[Name] AS [Name1], [t].[Name0] AS [Name2] +""" +SELECT [l].[Name] AS [Name1], [t].[Name0] AS [Name2] FROM [LevelThree] AS [l] LEFT JOIN ( SELECT [l1].[Id] AS [Id0], [l1].[Name] AS [Name0] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] -) AS [t] ON [l].[Level2_Required_Id] = [t].[Id0]"); +) AS [t] ON [l].[Level2_Required_Id] = [t].[Id0] +"""); } public override async Task Null_reference_protection_complex(bool async) @@ -1841,13 +2117,15 @@ public override async Task Null_reference_protection_complex(bool async) await base.Null_reference_protection_complex(async); AssertSql( - @"SELECT [t].[Name0] +""" +SELECT [t].[Name0] FROM [LevelThree] AS [l] LEFT JOIN ( SELECT [l1].[Id] AS [Id0], [l1].[Name] AS [Name0] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] -) AS [t] ON [l].[Level2_Required_Id] = [t].[Id0]"); +) AS [t] ON [l].[Level2_Required_Id] = [t].[Id0] +"""); } public override async Task Null_reference_protection_complex_materialization(bool async) @@ -1855,13 +2133,15 @@ public override async Task Null_reference_protection_complex_materialization(boo await base.Null_reference_protection_complex_materialization(async); AssertSql( - @"SELECT [t].[Id0], [t].[Date0], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] +""" +SELECT [t].[Id0], [t].[Date0], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] FROM [LevelThree] AS [l] LEFT JOIN ( SELECT [l1].[Id] AS [Id0], [l1].[Date] AS [Date0], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] -) AS [t] ON [l].[Level2_Required_Id] = [t].[Id0]"); +) AS [t] ON [l].[Level2_Required_Id] = [t].[Id0] +"""); } public override async Task Null_reference_protection_complex_client_eval(bool async) @@ -1869,13 +2149,15 @@ public override async Task Null_reference_protection_complex_client_eval(bool as await base.Null_reference_protection_complex_client_eval(async); AssertSql( - @"SELECT [t].[Name0] +""" +SELECT [t].[Name0] FROM [LevelThree] AS [l] LEFT JOIN ( SELECT [l1].[Id] AS [Id0], [l1].[Name] AS [Name0] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] -) AS [t] ON [l].[Level2_Required_Id] = [t].[Id0]"); +) AS [t] ON [l].[Level2_Required_Id] = [t].[Id0] +"""); } public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened(bool async) @@ -1883,13 +2165,15 @@ public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_g await base.GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened(async); AssertSql( - @"SELECT [t].[Id] +""" +SELECT [t].[Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Level1_Optional_Id] FROM [LevelTwo] AS [l0] INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened2(bool async) @@ -1897,13 +2181,15 @@ public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_g await base.GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened2(async); AssertSql( - @"SELECT [t].[Id] +""" +SELECT [t].[Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Level1_Optional_Id] FROM [LevelTwo] AS [l0] INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened3(bool async) @@ -1911,13 +2197,15 @@ public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_g await base.GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened3(async); AssertSql( - @"SELECT [t].[Id] +""" +SELECT [t].[Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Level1_Required_Id] FROM [LevelTwo] AS [l0] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] -) AS [t] ON [l].[Id] = [t].[Level1_Required_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Required_Id] +"""); } public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_outer(bool async) @@ -1925,7 +2213,8 @@ public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_ await base.GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_outer(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [l1].[Name] FROM ( @@ -1935,7 +2224,8 @@ FROM [LevelOne] AS [l] ORDER BY [l].[Id] ) AS [t] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Optional_Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_outer_with_client_method(bool async) @@ -1950,7 +2240,8 @@ public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_ await base.GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_inner(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [l1].[Name] FROM ( @@ -1960,7 +2251,8 @@ FROM [LevelOne] AS [l] ORDER BY [l].[Id] ) AS [t] LEFT JOIN [LevelOne] AS [l1] ON [t].[Level1_Optional_Id] = [l1].[Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_with_orderby_on_inner_sequence_projecting_inner( @@ -1969,7 +2261,8 @@ public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_ await base.GroupJoin_on_a_subquery_containing_another_GroupJoin_with_orderby_on_inner_sequence_projecting_inner(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [l1].[Name] FROM ( @@ -1979,7 +2272,8 @@ FROM [LevelOne] AS [l] ORDER BY [l].[Id] ) AS [t] LEFT JOIN [LevelOne] AS [l1] ON [t].[Level1_Optional_Id] = [l1].[Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task GroupJoin_on_left_side_being_a_subquery(bool async) @@ -1987,12 +2281,14 @@ public override async Task GroupJoin_on_left_side_being_a_subquery(bool async) await base.GroupJoin_on_left_side_being_a_subquery(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) [l].[Id], [l0].[Name] AS [Brand] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l0].[Name], [l].[Id]"); +ORDER BY [l0].[Name], [l].[Id] +"""); } public override async Task GroupJoin_on_right_side_being_a_subquery(bool async) @@ -2000,7 +2296,8 @@ public override async Task GroupJoin_on_right_side_being_a_subquery(bool async) await base.GroupJoin_on_right_side_being_a_subquery(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [l].[Id], [t].[Name] FROM [LevelTwo] AS [l] @@ -2009,7 +2306,8 @@ SELECT TOP(@__p_0) [l0].[Id], [l0].[Name] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] ORDER BY [l1].[Name] -) AS [t] ON [l].[Level1_Optional_Id] = [t].[Id]"); +) AS [t] ON [l].[Level1_Optional_Id] = [t].[Id] +"""); } public override async Task GroupJoin_in_subquery_with_client_result_operator(bool async) @@ -2017,7 +2315,8 @@ public override async Task GroupJoin_in_subquery_with_client_result_operator(boo await base.GroupJoin_in_subquery_with_client_result_operator(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LevelOne] AS [l] WHERE ( SELECT COUNT(*) @@ -2025,7 +2324,8 @@ SELECT COUNT(*) SELECT DISTINCT [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] - ) AS [t]) > 7 AND [l].[Id] < 3"); + ) AS [t]) > 7 AND [l].[Id] < 3 +"""); } public override async Task GroupJoin_in_subquery_with_client_projection(bool async) @@ -2033,12 +2333,14 @@ public override async Task GroupJoin_in_subquery_with_client_projection(bool asy await base.GroupJoin_in_subquery_with_client_projection(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LevelOne] AS [l] WHERE ( SELECT COUNT(*) FROM [LevelOne] AS [l0] - LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id]) > 7 AND [l].[Id] < 3"); + LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id]) > 7 AND [l].[Id] < 3 +"""); } public override async Task GroupJoin_in_subquery_with_client_projection_nested1(bool async) @@ -2046,7 +2348,8 @@ public override async Task GroupJoin_in_subquery_with_client_projection_nested1( await base.GroupJoin_in_subquery_with_client_projection_nested1(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LevelOne] AS [l] WHERE ( SELECT COUNT(*) @@ -2059,7 +2362,8 @@ SELECT COUNT(*) FROM [LevelOne] AS [l2] LEFT JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[Level1_Optional_Id]) > 7 ORDER BY [l0].[Id] - ) AS [t]) > 4 AND [l].[Id] < 2"); + ) AS [t]) > 4 AND [l].[Id] < 2 +"""); } public override async Task GroupJoin_in_subquery_with_client_projection_nested2(bool async) @@ -2067,7 +2371,8 @@ public override async Task GroupJoin_in_subquery_with_client_projection_nested2( await base.GroupJoin_in_subquery_with_client_projection_nested2(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LevelOne] AS [l] WHERE ( SELECT COUNT(*) @@ -2076,7 +2381,8 @@ FROM [LevelOne] AS [l0] WHERE ( SELECT COUNT(*) FROM [LevelOne] AS [l2] - LEFT JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[Level1_Optional_Id]) > 7) > 4 AND [l].[Id] < 2"); + LEFT JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[Level1_Optional_Id]) > 7) > 4 AND [l].[Id] < 2 +"""); } public override async Task GroupJoin_client_method_on_outer(bool async) @@ -2084,9 +2390,11 @@ public override async Task GroupJoin_client_method_on_outer(bool async) await base.GroupJoin_client_method_on_outer(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task GroupJoin_client_method_in_OrderBy(bool async) @@ -2105,9 +2413,11 @@ public override async Task GroupJoin_without_DefaultIfEmpty(bool async) await base.GroupJoin_without_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] -INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task GroupJoin_with_subquery_on_inner(bool async) @@ -2115,14 +2425,16 @@ public override async Task GroupJoin_with_subquery_on_inner(bool async) await base.GroupJoin_with_subquery_on_inner(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT TOP(10) [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] WHERE [l].[Id] = [l0].[Level1_Optional_Id] AND [l0].[Id] > 0 ORDER BY [l0].[Id] -) AS [t]"); +) AS [t] +"""); } public override async Task GroupJoin_with_subquery_on_inner_and_no_DefaultIfEmpty(bool async) @@ -2130,14 +2442,16 @@ public override async Task GroupJoin_with_subquery_on_inner_and_no_DefaultIfEmpt await base.GroupJoin_with_subquery_on_inner_and_no_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] CROSS APPLY ( SELECT TOP(10) [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] WHERE [l].[Id] = [l0].[Level1_Optional_Id] AND [l0].[Id] > 0 ORDER BY [l0].[Id] -) AS [t]"); +) AS [t] +"""); } public override async Task Optional_navigation_in_subquery_with_unrelated_projection(bool async) @@ -2145,13 +2459,15 @@ public override async Task Optional_navigation_in_subquery_with_unrelated_projec await base.Optional_navigation_in_subquery_with_unrelated_projection(async); AssertSql( - @"@__p_0='15' +""" +@__p_0='15' SELECT TOP(@__p_0) [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL) -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_projection(bool async) @@ -2159,13 +2475,15 @@ public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_project await base.Explicit_GroupJoin_in_subquery_with_unrelated_projection(async); AssertSql( - @"@__p_0='15' +""" +@__p_0='15' SELECT TOP(@__p_0) [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL) -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_projection2(bool async) @@ -2173,13 +2491,15 @@ public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_project await base.Explicit_GroupJoin_in_subquery_with_unrelated_projection2(async); AssertSql( - @"SELECT [t].[Id] +""" +SELECT [t].[Id] FROM ( SELECT DISTINCT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL) -) AS [t]"); +) AS [t] +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_projection3(bool async) @@ -2187,10 +2507,12 @@ public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_project await base.Explicit_GroupJoin_in_subquery_with_unrelated_projection3(async); AssertSql( - @"SELECT DISTINCT [l].[Id] +""" +SELECT DISTINCT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL)"); +WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL) +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_projection4(bool async) @@ -2198,7 +2520,8 @@ public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_project await base.Explicit_GroupJoin_in_subquery_with_unrelated_projection4(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' SELECT TOP(@__p_0) [t].[Id] FROM ( @@ -2207,7 +2530,8 @@ FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL) ) AS [t] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_scalar_result_operator(bool async) @@ -2215,12 +2539,14 @@ public override async Task Explicit_GroupJoin_in_subquery_with_scalar_result_ope await base.Explicit_GroupJoin_in_subquery_with_scalar_result_operator(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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 ( SELECT COUNT(*) FROM [LevelOne] AS [l0] - LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id]) > 4"); + LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id]) > 4 +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_multiple_result_operator_distinct_count_materializes_main_clause( @@ -2229,7 +2555,8 @@ public override async Task Explicit_GroupJoin_in_subquery_with_multiple_result_o await base.Explicit_GroupJoin_in_subquery_with_multiple_result_operator_distinct_count_materializes_main_clause(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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 ( SELECT COUNT(*) @@ -2237,7 +2564,8 @@ SELECT COUNT(*) SELECT DISTINCT [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] - ) AS [t]) > 4"); + ) AS [t]) > 4 +"""); } public override async Task Where_on_multilevel_reference_in_subquery_with_outer_projection(bool async) @@ -2245,7 +2573,8 @@ public override async Task Where_on_multilevel_reference_in_subquery_with_outer_ await base.Where_on_multilevel_reference_in_subquery_with_outer_projection(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [l].[Name] @@ -2254,7 +2583,8 @@ FROM [LevelThree] AS [l] INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] WHERE [l1].[Name] = N'L1 03' ORDER BY [l].[Level2_Required_Id] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task Join_condition_optimizations_applied_correctly_when_anonymous_type_with_single_property(bool async) @@ -2262,9 +2592,11 @@ public override async Task Join_condition_optimizations_applied_correctly_when_a await base.Join_condition_optimizations_applied_correctly_when_anonymous_type_with_single_property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -INNER JOIN [LevelTwo] AS [l0] ON [l].[OneToMany_Optional_Self_Inverse1Id] = [l0].[Level1_Optional_Id] OR (([l].[OneToMany_Optional_Self_Inverse1Id] IS NULL) AND ([l0].[Level1_Optional_Id] IS NULL))"); +INNER JOIN [LevelTwo] AS [l0] ON [l].[OneToMany_Optional_Self_Inverse1Id] = [l0].[Level1_Optional_Id] OR (([l].[OneToMany_Optional_Self_Inverse1Id] IS NULL) AND ([l0].[Level1_Optional_Id] IS NULL)) +"""); } public override async Task Join_condition_optimizations_applied_correctly_when_anonymous_type_with_multiple_properties(bool async) @@ -2272,9 +2604,11 @@ public override async Task Join_condition_optimizations_applied_correctly_when_a await base.Join_condition_optimizations_applied_correctly_when_anonymous_type_with_multiple_properties(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] -INNER JOIN [LevelTwo] AS [l0] ON ([l].[OneToMany_Optional_Self_Inverse1Id] = [l0].[Level1_Optional_Id] OR (([l].[OneToMany_Optional_Self_Inverse1Id] IS NULL) AND ([l0].[Level1_Optional_Id] IS NULL))) AND ([l].[OneToOne_Optional_Self1Id] = [l0].[OneToMany_Optional_Self_Inverse2Id] OR (([l].[OneToOne_Optional_Self1Id] IS NULL) AND ([l0].[OneToMany_Optional_Self_Inverse2Id] IS NULL)))"); +INNER JOIN [LevelTwo] AS [l0] ON ([l].[OneToMany_Optional_Self_Inverse1Id] = [l0].[Level1_Optional_Id] OR (([l].[OneToMany_Optional_Self_Inverse1Id] IS NULL) AND ([l0].[Level1_Optional_Id] IS NULL))) AND ([l].[OneToOne_Optional_Self1Id] = [l0].[OneToMany_Optional_Self_Inverse2Id] OR (([l].[OneToOne_Optional_Self1Id] IS NULL) AND ([l0].[OneToMany_Optional_Self_Inverse2Id] IS NULL))) +"""); } public override async Task Nested_group_join_with_take(bool async) @@ -2282,7 +2616,8 @@ public override async Task Nested_group_join_with_take(bool async) await base.Nested_group_join_with_take(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [l1].[Name] FROM ( @@ -2292,7 +2627,8 @@ FROM [LevelOne] AS [l] ORDER BY [l].[Id] ) AS [t] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id0] = [l1].[Level1_Optional_Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Navigation_with_same_navigation_compared_to_null(bool async) @@ -2300,10 +2636,12 @@ public override async Task Navigation_with_same_navigation_compared_to_null(bool await base.Navigation_with_same_navigation_compared_to_null(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[OneToMany_Required_Inverse2Id] = [l0].[Id] -WHERE [l0].[Name] <> N'L1 07' OR ([l0].[Name] IS NULL)"); +WHERE [l0].[Name] <> N'L1 07' OR ([l0].[Name] IS NULL) +"""); } public override async Task Multi_level_navigation_compared_to_null(bool async) @@ -2311,11 +2649,13 @@ public override async Task Multi_level_navigation_compared_to_null(bool async) await base.Multi_level_navigation_compared_to_null(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelThree] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[OneToMany_Optional_Inverse3Id] = [l0].[Id] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] -WHERE [l1].[Id] IS NOT NULL"); +WHERE [l1].[Id] IS NOT NULL +"""); } public override async Task Multi_level_navigation_with_same_navigation_compared_to_null(bool async) @@ -2323,11 +2663,13 @@ public override async Task Multi_level_navigation_with_same_navigation_compared_ await base.Multi_level_navigation_with_same_navigation_compared_to_null(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelThree] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[OneToMany_Optional_Inverse3Id] = [l0].[Id] LEFT JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] -WHERE ([l1].[Name] <> N'L1 07' OR ([l1].[Name] IS NULL)) AND ([l1].[Id] IS NOT NULL)"); +WHERE ([l1].[Name] <> N'L1 07' OR ([l1].[Name] IS NULL)) AND ([l1].[Id] IS NOT NULL) +"""); } public override async Task Navigations_compared_to_each_other1(bool async) @@ -2335,9 +2677,11 @@ public override async Task Navigations_compared_to_each_other1(bool async) await base.Navigations_compared_to_each_other1(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LevelTwo] AS [l] -INNER JOIN [LevelOne] AS [l0] ON [l].[OneToMany_Required_Inverse2Id] = [l0].[Id]"); +INNER JOIN [LevelOne] AS [l0] ON [l].[OneToMany_Required_Inverse2Id] = [l0].[Id] +"""); } public override async Task Navigations_compared_to_each_other2(bool async) @@ -2345,11 +2689,13 @@ public override async Task Navigations_compared_to_each_other2(bool async) await base.Navigations_compared_to_each_other2(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[OneToMany_Required_Inverse2Id] = [l0].[Id] LEFT JOIN [LevelOne] AS [l1] ON [l].[OneToOne_Optional_PK_Inverse2Id] = [l1].[Id] -WHERE [l0].[Id] = [l1].[Id]"); +WHERE [l0].[Id] = [l1].[Id] +"""); } public override async Task Navigations_compared_to_each_other3(bool async) @@ -2357,12 +2703,14 @@ public override async Task Navigations_compared_to_each_other3(bool async) await base.Navigations_compared_to_each_other3(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LevelTwo] AS [l] WHERE EXISTS ( SELECT 1 FROM [LevelThree] AS [l0] - WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id])"); + WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id]) +"""); } public override async Task Navigations_compared_to_each_other4(bool async) @@ -2370,13 +2718,15 @@ public override async Task Navigations_compared_to_each_other4(bool async) await base.Navigations_compared_to_each_other4(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LevelTwo] AS [l] LEFT JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[Level2_Required_Id] WHERE EXISTS ( SELECT 1 FROM [LevelFour] AS [l1] - WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse4Id])"); + WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse4Id]) +"""); } public override async Task Navigations_compared_to_each_other5(bool async) @@ -2384,14 +2734,16 @@ public override async Task Navigations_compared_to_each_other5(bool async) await base.Navigations_compared_to_each_other5(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LevelTwo] AS [l] LEFT JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[Level2_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] WHERE EXISTS ( SELECT 1 FROM [LevelFour] AS [l2] - WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l2].[OneToMany_Optional_Inverse4Id])"); + WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l2].[OneToMany_Optional_Inverse4Id]) +"""); } public override async Task Level4_Include(bool async) @@ -2406,10 +2758,12 @@ public override async Task Comparing_collection_navigation_on_optional_reference await base.Comparing_collection_navigation_on_optional_reference_to_null(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l0].[Id] IS NULL"); +WHERE [l0].[Id] IS NULL +"""); } public override async Task Select_subquery_with_client_eval_and_navigation1(bool async) @@ -2417,12 +2771,14 @@ public override async Task Select_subquery_with_client_eval_and_navigation1(bool await base.Select_subquery_with_client_eval_and_navigation1(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [l1].[Name] FROM [LevelTwo] AS [l0] INNER JOIN [LevelOne] AS [l1] ON [l0].[Level1_Required_Id] = [l1].[Id] ORDER BY [l0].[Id]) -FROM [LevelTwo] AS [l]"); +FROM [LevelTwo] AS [l] +"""); } public override async Task Select_subquery_with_client_eval_and_navigation2(bool async) @@ -2430,7 +2786,8 @@ public override async Task Select_subquery_with_client_eval_and_navigation2(bool await base.Select_subquery_with_client_eval_and_navigation2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ( SELECT TOP(1) [l1].[Name] FROM [LevelTwo] AS [l0] @@ -2442,7 +2799,8 @@ FROM [LevelTwo] AS [l0] ORDER BY [l0].[Id]) IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [LevelTwo] AS [l]"); +FROM [LevelTwo] AS [l] +"""); } public override async Task Select_subquery_with_client_eval_and_multi_level_navigation(bool async) @@ -2450,13 +2808,15 @@ public override async Task Select_subquery_with_client_eval_and_multi_level_navi await base.Select_subquery_with_client_eval_and_multi_level_navigation(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [l2].[Name] FROM [LevelThree] AS [l0] INNER JOIN [LevelTwo] AS [l1] ON [l0].[Level2_Required_Id] = [l1].[Id] INNER JOIN [LevelOne] AS [l2] ON [l1].[Level1_Required_Id] = [l2].[Id] ORDER BY [l0].[Id]) -FROM [LevelThree] AS [l]"); +FROM [LevelThree] AS [l] +"""); } public override async Task Member_doesnt_get_pushed_down_into_subquery_with_result_operator(bool async) @@ -2464,7 +2824,8 @@ public override async Task Member_doesnt_get_pushed_down_into_subquery_with_resu await base.Member_doesnt_get_pushed_down_into_subquery_with_result_operator(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT [t].[Name] FROM ( SELECT DISTINCT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] @@ -2473,7 +2834,8 @@ FROM [LevelThree] AS [l0] ORDER BY [t].[Id] OFFSET 1 ROWS FETCH NEXT 1 ROWS ONLY) FROM [LevelOne] AS [l] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task Subquery_with_Distinct_Skip_FirstOrDefault_without_OrderBy(bool async) @@ -2481,7 +2843,8 @@ public override async Task Subquery_with_Distinct_Skip_FirstOrDefault_without_Or await base.Subquery_with_Distinct_Skip_FirstOrDefault_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id] AS [Key], ( +""" +SELECT [l].[Id] AS [Key], ( SELECT [t].[Name] FROM ( SELECT DISTINCT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] @@ -2490,7 +2853,8 @@ FROM [LevelThree] AS [l0] ORDER BY (SELECT 1) OFFSET 1 ROWS FETCH NEXT 1 ROWS ONLY) AS [Subquery] FROM [LevelOne] AS [l] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task Project_collection_navigation_count(bool async) @@ -2498,12 +2862,14 @@ public override async Task Project_collection_navigation_count(bool async) await base.Project_collection_navigation_count(async); AssertSql( - @"SELECT [l].[Id], ( +""" +SELECT [l].[Id], ( SELECT COUNT(*) FROM [LevelThree] AS [l1] WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id]) AS [Count] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Select_optional_navigation_property_string_concat(bool async) @@ -2511,7 +2877,8 @@ public override async Task Select_optional_navigation_property_string_concat(boo await base.Select_optional_navigation_property_string_concat(async); AssertSql( - @"SELECT (COALESCE([l].[Name], N'') + N' ') + COALESCE(CASE +""" +SELECT (COALESCE([l].[Name], N'') + N' ') + COALESCE(CASE WHEN [t].[Id] IS NOT NULL THEN [t].[Name] ELSE N'NULL' END, N'') @@ -2520,7 +2887,8 @@ LEFT JOIN ( SELECT [l0].[Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id] FROM [LevelTwo] AS [l0] WHERE [l0].[Id] > 5 -) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id]"); +) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] +"""); } public override async Task Include_reference_with_groupby_in_subquery(bool async) @@ -2528,7 +2896,8 @@ public override async Task Include_reference_with_groupby_in_subquery(bool async await base.Include_reference_with_groupby_in_subquery(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -2542,7 +2911,8 @@ FROM [LevelOne] AS [l0] LEFT JOIN [LevelTwo] AS [l1] ON [l0].[Id] = [l1].[Level1_Optional_Id] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[Name] = [t0].[Name]"); +) AS [t0] ON [t].[Name] = [t0].[Name] +"""); } public override async Task Multi_include_with_groupby_in_subquery(bool async) @@ -2550,7 +2920,8 @@ public override async Task Multi_include_with_groupby_in_subquery(bool async) await base.Multi_include_with_groupby_in_subquery(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t].[Name], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t].[Name], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id] FROM ( SELECT [l].[Name] FROM [LevelOne] AS [l] @@ -2566,7 +2937,8 @@ FROM [LevelOne] AS [l0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] LEFT JOIN [LevelThree] AS [l2] ON [t0].[Id0] = [l2].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Name], [t0].[Id], [t0].[Id0]"); +ORDER BY [t].[Name], [t0].[Id], [t0].[Id0] +"""); } public override async Task String_include_multiple_derived_navigation_with_same_name_and_same_type(bool async) @@ -2574,10 +2946,12 @@ public override async Task String_include_multiple_derived_navigation_with_same_ await base.String_include_multiple_derived_navigation_with_same_name_and_same_type(async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived1Id], [i1].[InheritanceDerived1Id1], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived1Id], [i1].[InheritanceDerived1Id1], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[SameTypeReference_InheritanceDerived1Id] -LEFT JOIN [InheritanceLeafOne] AS [i1] ON [i].[Id] = [i1].[SameTypeReference_InheritanceDerived2Id]"); +LEFT JOIN [InheritanceLeafOne] AS [i1] ON [i].[Id] = [i1].[SameTypeReference_InheritanceDerived2Id] +"""); } public override async Task String_include_multiple_derived_navigation_with_same_name_and_different_type(bool async) @@ -2585,10 +2959,12 @@ public override async Task String_include_multiple_derived_navigation_with_same_ await base.String_include_multiple_derived_navigation_with_same_name_and_different_type(async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[DifferentTypeReference_InheritanceDerived1Id] -LEFT JOIN [InheritanceLeafTwo] AS [i1] ON [i].[Id] = [i1].[DifferentTypeReference_InheritanceDerived2Id]"); +LEFT JOIN [InheritanceLeafTwo] AS [i1] ON [i].[Id] = [i1].[DifferentTypeReference_InheritanceDerived2Id] +"""); } public override async Task @@ -2600,12 +2976,14 @@ await base async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name], [i2].[Id], [i2].[InheritanceLeaf2Id], [i2].[Name] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name], [i2].[Id], [i2].[InheritanceLeaf2Id], [i2].[Name] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[DifferentTypeReference_InheritanceDerived1Id] LEFT JOIN [InheritanceLeafTwo] AS [i1] ON [i].[Id] = [i1].[DifferentTypeReference_InheritanceDerived2Id] LEFT JOIN [InheritanceTwo] AS [i2] ON [i1].[Id] = [i2].[InheritanceLeaf2Id] -ORDER BY [i].[Id], [i0].[Id], [i1].[Id]"); +ORDER BY [i].[Id], [i0].[Id], [i1].[Id] +"""); } public override async Task String_include_multiple_derived_collection_navigation_with_same_name_and_same_type(bool async) @@ -2613,11 +2991,13 @@ public override async Task String_include_multiple_derived_collection_navigation await base.String_include_multiple_derived_collection_navigation_with_same_name_and_same_type(async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived1Id], [i1].[InheritanceDerived1Id1], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived1Id], [i1].[InheritanceDerived1Id1], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[InheritanceDerived1Id1] LEFT JOIN [InheritanceLeafOne] AS [i1] ON [i].[Id] = [i1].[InheritanceDerived2Id] -ORDER BY [i].[Id], [i0].[Id]"); +ORDER BY [i].[Id], [i0].[Id] +"""); } public override async Task String_include_multiple_derived_collection_navigation_with_same_name_and_different_type(bool async) @@ -2625,11 +3005,13 @@ public override async Task String_include_multiple_derived_collection_navigation await base.String_include_multiple_derived_collection_navigation_with_same_name_and_different_type(async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[InheritanceDerived1Id] LEFT JOIN [InheritanceLeafTwo] AS [i1] ON [i].[Id] = [i1].[InheritanceDerived2Id] -ORDER BY [i].[Id], [i0].[Id]"); +ORDER BY [i].[Id], [i0].[Id] +"""); } public override async Task @@ -2641,7 +3023,8 @@ await base async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [t].[Id], [t].[DifferentTypeReference_InheritanceDerived2Id], [t].[InheritanceDerived2Id], [t].[Name], [t].[Id0], [t].[InheritanceLeaf2Id], [t].[Name0] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived1Id], [i0].[InheritanceDerived1Id1], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [t].[Id], [t].[DifferentTypeReference_InheritanceDerived2Id], [t].[InheritanceDerived2Id], [t].[Name], [t].[Id0], [t].[InheritanceLeaf2Id], [t].[Name0] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[InheritanceDerived1Id] LEFT JOIN ( @@ -2649,7 +3032,8 @@ LEFT JOIN ( FROM [InheritanceLeafTwo] AS [i1] LEFT JOIN [InheritanceTwo] AS [i2] ON [i1].[Id] = [i2].[InheritanceLeaf2Id] ) AS [t] ON [i].[Id] = [t].[InheritanceDerived2Id] -ORDER BY [i].[Id], [i0].[Id], [t].[Id]"); +ORDER BY [i].[Id], [i0].[Id], [t].[Id] +"""); } public override async Task String_include_multiple_derived_navigations_complex(bool async) @@ -2657,7 +3041,8 @@ public override async Task String_include_multiple_derived_navigations_complex(b await base.String_include_multiple_derived_navigations_complex(async); AssertSql( - @"SELECT [i].[Id], [i].[InheritanceLeaf2Id], [i].[Name], [i0].[Id], [i0].[Discriminator], [i0].[InheritanceBase2Id], [i0].[InheritanceBase2Id1], [i0].[Name], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived1Id], [i1].[InheritanceDerived1Id1], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id], [i2].[Id], [i2].[DifferentTypeReference_InheritanceDerived2Id], [i2].[InheritanceDerived2Id], [i2].[Name], [t].[Id], [t].[Discriminator], [t].[InheritanceBase2Id], [t].[InheritanceBase2Id1], [t].[Name], [t].[Id0], [t].[DifferentTypeReference_InheritanceDerived1Id], [t].[InheritanceDerived1Id], [t].[InheritanceDerived1Id1], [t].[InheritanceDerived2Id], [t].[Name0], [t].[SameTypeReference_InheritanceDerived1Id], [t].[SameTypeReference_InheritanceDerived2Id], [t].[Id1], [t].[DifferentTypeReference_InheritanceDerived1Id0], [t].[InheritanceDerived1Id0], [t].[InheritanceDerived1Id10], [t].[InheritanceDerived2Id0], [t].[Name1], [t].[SameTypeReference_InheritanceDerived1Id0], [t].[SameTypeReference_InheritanceDerived2Id0] +""" +SELECT [i].[Id], [i].[InheritanceLeaf2Id], [i].[Name], [i0].[Id], [i0].[Discriminator], [i0].[InheritanceBase2Id], [i0].[InheritanceBase2Id1], [i0].[Name], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived1Id], [i1].[InheritanceDerived1Id1], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id], [i2].[Id], [i2].[DifferentTypeReference_InheritanceDerived2Id], [i2].[InheritanceDerived2Id], [i2].[Name], [t].[Id], [t].[Discriminator], [t].[InheritanceBase2Id], [t].[InheritanceBase2Id1], [t].[Name], [t].[Id0], [t].[DifferentTypeReference_InheritanceDerived1Id], [t].[InheritanceDerived1Id], [t].[InheritanceDerived1Id1], [t].[InheritanceDerived2Id], [t].[Name0], [t].[SameTypeReference_InheritanceDerived1Id], [t].[SameTypeReference_InheritanceDerived2Id], [t].[Id1], [t].[DifferentTypeReference_InheritanceDerived1Id0], [t].[InheritanceDerived1Id0], [t].[InheritanceDerived1Id10], [t].[InheritanceDerived2Id0], [t].[Name1], [t].[SameTypeReference_InheritanceDerived1Id0], [t].[SameTypeReference_InheritanceDerived2Id0] FROM [InheritanceTwo] AS [i] LEFT JOIN [InheritanceOne] AS [i0] ON [i].[Id] = [i0].[InheritanceBase2Id] LEFT JOIN [InheritanceLeafOne] AS [i1] ON [i0].[Id] = [i1].[InheritanceDerived1Id] @@ -2668,7 +3053,8 @@ FROM [InheritanceOne] AS [i3] LEFT JOIN [InheritanceLeafOne] AS [i4] ON [i3].[Id] = [i4].[SameTypeReference_InheritanceDerived1Id] LEFT JOIN [InheritanceLeafOne] AS [i5] ON [i3].[Id] = [i5].[SameTypeReference_InheritanceDerived2Id] ) AS [t] ON [i].[Id] = [t].[InheritanceBase2Id1] -ORDER BY [i].[Id], [i0].[Id], [i1].[Id], [i2].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [i].[Id], [i0].[Id], [i1].[Id], [i2].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Nav_rewrite_doesnt_apply_null_protection_for_function_arguments(bool async) @@ -2676,10 +3062,12 @@ public override async Task Nav_rewrite_doesnt_apply_null_protection_for_function await base.Nav_rewrite_doesnt_apply_null_protection_for_function_arguments(async); AssertSql( - @"SELECT [l0].[Level1_Required_Id] +""" +SELECT [l0].[Level1_Required_Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] -WHERE [l0].[Id] IS NOT NULL"); +WHERE [l0].[Id] IS NOT NULL +"""); } public override async Task Accessing_optional_property_inside_result_operator_subquery(bool async) @@ -2687,10 +3075,12 @@ public override async Task Accessing_optional_property_inside_result_operator_su await base.Accessing_optional_property_inside_result_operator_subquery(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l0].[Name] NOT IN (N'Name1', N'Name2') OR ([l0].[Name] IS NULL)"); +WHERE [l0].[Name] NOT IN (N'Name1', N'Name2') OR ([l0].[Name] IS NULL) +"""); } public override async Task Include1(bool async) @@ -2698,9 +3088,11 @@ public override async Task Include1(bool async) await base.Include1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Include2(bool async) @@ -2708,9 +3100,11 @@ public override async Task Include2(bool async) await base.Include2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Include3(bool async) @@ -2718,10 +3112,12 @@ public override async Task Include3(bool async) await base.Include3(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToOne_Optional_PK_Inverse2Id]"); +LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToOne_Optional_PK_Inverse2Id] +"""); } public override async Task Include4(bool async) @@ -2729,10 +3125,12 @@ public override async Task Include4(bool async) await base.Include4(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] +"""); } public override async Task Include5(bool async) @@ -2740,10 +3138,12 @@ public override async Task Include5(bool async) await base.Include5(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] +"""); } public override async Task Include6(bool async) @@ -2751,10 +3151,12 @@ public override async Task Include6(bool async) await base.Include6(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] +"""); } public override async Task Include7(bool async) @@ -2762,9 +3164,11 @@ public override async Task Include7(bool async) await base.Include7(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] +"""); } public override async Task Include8(bool async) @@ -2772,10 +3176,12 @@ public override async Task Include8(bool async) await base.Include8(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] FROM [LevelTwo] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[Level1_Optional_Id] = [l0].[Id] -WHERE [l0].[Name] <> N'Fubar' OR ([l0].[Name] IS NULL)"); +WHERE [l0].[Name] <> N'Fubar' OR ([l0].[Name] IS NULL) +"""); } public override async Task Include9(bool async) @@ -2783,10 +3189,12 @@ public override async Task Include9(bool async) await base.Include9(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] FROM [LevelTwo] AS [l] LEFT JOIN [LevelOne] AS [l0] ON [l].[Level1_Optional_Id] = [l0].[Id] -WHERE [l0].[Name] <> N'Fubar' OR ([l0].[Name] IS NULL)"); +WHERE [l0].[Name] <> N'Fubar' OR ([l0].[Name] IS NULL) +"""); } public override async Task Include10(bool async) @@ -2794,13 +3202,15 @@ public override async Task Include10(bool async) await base.Include10(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l3].[Id], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l4].[Id], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l3].[Id], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l4].[Id], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelTwo] AS [l2] ON [l].[Id] = [l2].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelThree] AS [l3] ON [l2].[Id] = [l3].[Level2_Optional_Id] -LEFT JOIN [LevelFour] AS [l4] ON [l3].[Id] = [l4].[OneToOne_Optional_PK_Inverse4Id]"); +LEFT JOIN [LevelFour] AS [l4] ON [l3].[Id] = [l4].[OneToOne_Optional_PK_Inverse4Id] +"""); } public override async Task Include11(bool async) @@ -2808,7 +3218,8 @@ public override async Task Include11(bool async) await base.Include11(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l3].[Id], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id], [l4].[Id], [l4].[Level2_Optional_Id], [l4].[Level2_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse3Id], [l4].[OneToMany_Optional_Self_Inverse3Id], [l4].[OneToMany_Required_Inverse3Id], [l4].[OneToMany_Required_Self_Inverse3Id], [l4].[OneToOne_Optional_PK_Inverse3Id], [l4].[OneToOne_Optional_Self3Id], [l5].[Id], [l5].[Level3_Optional_Id], [l5].[Level3_Required_Id], [l5].[Name], [l5].[OneToMany_Optional_Inverse4Id], [l5].[OneToMany_Optional_Self_Inverse4Id], [l5].[OneToMany_Required_Inverse4Id], [l5].[OneToMany_Required_Self_Inverse4Id], [l5].[OneToOne_Optional_PK_Inverse4Id], [l5].[OneToOne_Optional_Self4Id], [l6].[Id], [l6].[Level3_Optional_Id], [l6].[Level3_Required_Id], [l6].[Name], [l6].[OneToMany_Optional_Inverse4Id], [l6].[OneToMany_Optional_Self_Inverse4Id], [l6].[OneToMany_Required_Inverse4Id], [l6].[OneToMany_Required_Self_Inverse4Id], [l6].[OneToOne_Optional_PK_Inverse4Id], [l6].[OneToOne_Optional_Self4Id], [l7].[Id], [l7].[Level2_Optional_Id], [l7].[Level2_Required_Id], [l7].[Name], [l7].[OneToMany_Optional_Inverse3Id], [l7].[OneToMany_Optional_Self_Inverse3Id], [l7].[OneToMany_Required_Inverse3Id], [l7].[OneToMany_Required_Self_Inverse3Id], [l7].[OneToOne_Optional_PK_Inverse3Id], [l7].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l3].[Id], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id], [l4].[Id], [l4].[Level2_Optional_Id], [l4].[Level2_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse3Id], [l4].[OneToMany_Optional_Self_Inverse3Id], [l4].[OneToMany_Required_Inverse3Id], [l4].[OneToMany_Required_Self_Inverse3Id], [l4].[OneToOne_Optional_PK_Inverse3Id], [l4].[OneToOne_Optional_Self3Id], [l5].[Id], [l5].[Level3_Optional_Id], [l5].[Level3_Required_Id], [l5].[Name], [l5].[OneToMany_Optional_Inverse4Id], [l5].[OneToMany_Optional_Self_Inverse4Id], [l5].[OneToMany_Required_Inverse4Id], [l5].[OneToMany_Required_Self_Inverse4Id], [l5].[OneToOne_Optional_PK_Inverse4Id], [l5].[OneToOne_Optional_Self4Id], [l6].[Id], [l6].[Level3_Optional_Id], [l6].[Level3_Required_Id], [l6].[Name], [l6].[OneToMany_Optional_Inverse4Id], [l6].[OneToMany_Optional_Self_Inverse4Id], [l6].[OneToMany_Required_Inverse4Id], [l6].[OneToMany_Required_Self_Inverse4Id], [l6].[OneToOne_Optional_PK_Inverse4Id], [l6].[OneToOne_Optional_Self4Id], [l7].[Id], [l7].[Level2_Optional_Id], [l7].[Level2_Required_Id], [l7].[Name], [l7].[OneToMany_Optional_Inverse3Id], [l7].[OneToMany_Optional_Self_Inverse3Id], [l7].[OneToMany_Required_Inverse3Id], [l7].[OneToMany_Required_Self_Inverse3Id], [l7].[OneToOne_Optional_PK_Inverse3Id], [l7].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -2817,7 +3228,8 @@ FROM [LevelOne] AS [l] LEFT JOIN [LevelThree] AS [l4] ON [l3].[Id] = [l4].[Level2_Optional_Id] LEFT JOIN [LevelFour] AS [l5] ON [l4].[Id] = [l5].[Level3_Optional_Id] LEFT JOIN [LevelFour] AS [l6] ON [l4].[Id] = [l6].[OneToOne_Optional_PK_Inverse4Id] -LEFT JOIN [LevelThree] AS [l7] ON [l3].[Id] = [l7].[OneToOne_Optional_PK_Inverse3Id]"); +LEFT JOIN [LevelThree] AS [l7] ON [l3].[Id] = [l7].[OneToOne_Optional_PK_Inverse3Id] +"""); } public override async Task Include12(bool async) @@ -2825,10 +3237,12 @@ public override async Task Include12(bool async) await base.Include12(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] +"""); } public override async Task Include13(bool async) @@ -2836,9 +3250,11 @@ public override async Task Include13(bool async) await base.Include13(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Include14(bool async) @@ -2846,11 +3262,13 @@ public override async Task Include14(bool async) await base.Include14(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToOne_Optional_PK_Inverse2Id] -LEFT JOIN [LevelThree] AS [l2] ON [l0].[Id] = [l2].[Level2_Optional_Id]"); +LEFT JOIN [LevelThree] AS [l2] ON [l0].[Id] = [l2].[Level2_Optional_Id] +"""); } public override async Task Include17(bool async) @@ -2865,12 +3283,14 @@ public override async Task Include18_1(bool async) await base.Include18_1(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM ( SELECT DISTINCT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] ) AS [t] -LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Include18_1_1(bool async) @@ -2878,7 +3298,8 @@ public override async Task Include18_1_1(bool async) await base.Include18_1_1(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM ( @@ -2888,7 +3309,8 @@ FROM [LevelOne] AS [l] ORDER BY [l0].[Name] ) AS [t] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Optional_Id] -ORDER BY [t].[Name0]"); +ORDER BY [t].[Name0] +"""); } public override async Task Include18_2(bool async) @@ -2896,14 +3318,16 @@ public override async Task Include18_2(bool async) await base.Include18_2(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM ( SELECT DISTINCT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL) ) AS [t] -LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Optional_Id] +"""); } public override async Task Include18_3(bool async) @@ -2911,7 +3335,8 @@ public override async Task Include18_3(bool async) await base.Include18_3(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM ( @@ -2921,7 +3346,8 @@ FROM [LevelOne] AS [l] ORDER BY [l0].[Name] ) AS [t] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Optional_Id] -ORDER BY [t].[Name0]"); +ORDER BY [t].[Name0] +"""); } public override async Task Include18_3_1(bool async) @@ -2930,7 +3356,8 @@ public override async Task Include18_3_1(bool async) // issue #15783 AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM ( @@ -2940,7 +3367,8 @@ FROM [LevelOne] AS [l] ORDER BY [l0].[Name] ) AS [t] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Optional_Id] -ORDER BY [t].[Name0]"); +ORDER BY [t].[Name0] +"""); } public override async Task Include18_3_2(bool async) @@ -2949,7 +3377,8 @@ public override async Task Include18_3_2(bool async) // issue #15783 AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM ( @@ -2959,7 +3388,8 @@ FROM [LevelOne] AS [l] ORDER BY [l0].[Name] ) AS [t] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Optional_Id] -ORDER BY [t].[Name0]"); +ORDER BY [t].[Name0] +"""); } public override async Task Include18_3_3(bool async) @@ -2967,13 +3397,15 @@ public override async Task Include18_3_3(bool async) await base.Include18_3_3(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM ( SELECT DISTINCT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] ) AS [t] -LEFT JOIN [LevelThree] AS [l1] ON [t].[Id] = [l1].[Level2_Optional_Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [t].[Id] = [l1].[Level2_Optional_Id] +"""); } public override async Task Include18_4(bool async) @@ -2982,13 +3414,15 @@ public override async Task Include18_4(bool async) // issue #15783 AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM ( SELECT DISTINCT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l] ) AS [t] LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[Level1_Optional_Id] -LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Optional_Id] +"""); } public override async Task Include18(bool async) @@ -2996,7 +3430,8 @@ public override async Task Include18(bool async) await base.Include18(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM ( @@ -3006,7 +3441,8 @@ ORDER BY [l].[Id] ) AS [t] LEFT JOIN [LevelTwo] AS [l0] ON [t].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [t].[Id] = [l1].[Level1_Optional_Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Include19(bool async) @@ -3014,13 +3450,15 @@ public override async Task Include19(bool async) await base.Include19(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Date0], [t].[Level1_Optional_Id0], [t].[Level1_Required_Id0], [t].[Name0], [t].[OneToMany_Optional_Inverse2Id0], [t].[OneToMany_Optional_Self_Inverse2Id0], [t].[OneToMany_Required_Inverse2Id0], [t].[OneToMany_Required_Self_Inverse2Id0], [t].[OneToOne_Optional_PK_Inverse2Id0], [t].[OneToOne_Optional_Self2Id0] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[Id0], [t].[Date0], [t].[Level1_Optional_Id0], [t].[Level1_Required_Id0], [t].[Name0], [t].[OneToMany_Optional_Inverse2Id0], [t].[OneToMany_Optional_Self_Inverse2Id0], [t].[OneToMany_Required_Inverse2Id0], [t].[OneToMany_Required_Self_Inverse2Id0], [t].[OneToOne_Optional_PK_Inverse2Id0], [t].[OneToOne_Optional_Self2Id0] FROM ( SELECT DISTINCT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id] AS [Id0], [l1].[Date] AS [Date0], [l1].[Level1_Optional_Id] AS [Level1_Optional_Id0], [l1].[Level1_Required_Id] AS [Level1_Required_Id0], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse2Id] AS [OneToMany_Optional_Inverse2Id0], [l1].[OneToMany_Optional_Self_Inverse2Id] AS [OneToMany_Optional_Self_Inverse2Id0], [l1].[OneToMany_Required_Inverse2Id] AS [OneToMany_Required_Inverse2Id0], [l1].[OneToMany_Required_Self_Inverse2Id] AS [OneToMany_Required_Self_Inverse2Id0], [l1].[OneToOne_Optional_PK_Inverse2Id] AS [OneToOne_Optional_PK_Inverse2Id0], [l1].[OneToOne_Optional_Self2Id] AS [OneToOne_Optional_Self2Id0] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToOne_Optional_PK_Inverse2Id] -) AS [t]"); +) AS [t] +"""); } public override async Task Include_with_all_method_include_gets_ignored(bool isAsnc) @@ -3028,13 +3466,15 @@ public override async Task Include_with_all_method_include_gets_ignored(bool isA await base.Include_with_all_method_include_gets_ignored(isAsnc); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [LevelOne] AS [l] WHERE [l].[Name] = N'Foo' AND ([l].[Name] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Join_with_navigations_in_the_result_selector1(bool async) @@ -3042,10 +3482,12 @@ public override async Task Join_with_navigations_in_the_result_selector1(bool as await base.Join_with_navigations_in_the_result_selector1(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] -LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] +"""); } public override async Task Join_with_navigations_in_the_result_selector2(bool async) @@ -3053,12 +3495,14 @@ public override async Task Join_with_navigations_in_the_result_selector2(bool as await base.Join_with_navigations_in_the_result_selector2(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id] +""" +SELECT [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l2] ON [l0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Member_pushdown_chain_3_levels_deep(bool async) @@ -3066,7 +3510,8 @@ public override async Task Member_pushdown_chain_3_levels_deep(bool async) await base.Member_pushdown_chain_3_levels_deep(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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 ( SELECT TOP(1) ( @@ -3093,7 +3538,8 @@ FROM [LevelThree] AS [l1] FROM [LevelTwo] AS [l0] WHERE [l0].[Level1_Optional_Id] = [l].[Id] ORDER BY [l0].[Id]) IS NULL) -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Member_pushdown_chain_3_levels_deep_entity(bool async) @@ -3101,7 +3547,8 @@ public override async Task Member_pushdown_chain_3_levels_deep_entity(bool async await base.Member_pushdown_chain_3_levels_deep_entity(async); AssertSql( - @"SELECT [t0].[c], [t1].[c], [t3].[Id], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Optional_Self_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToMany_Required_Self_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[OneToOne_Optional_Self4Id] +""" +SELECT [t0].[c], [t1].[c], [t3].[Id], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Optional_Self_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToMany_Required_Self_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[Level1_Optional_Id] @@ -3127,7 +3574,8 @@ FROM [LevelFour] AS [l2] ) AS [t4] WHERE [t4].[row] <= 1 ) AS [t3] ON [t1].[Id] = [t3].[Level3_Required_Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Member_pushdown_with_collection_navigation_in_the_middle(bool async) @@ -3135,7 +3583,8 @@ public override async Task Member_pushdown_with_collection_navigation_in_the_mid await base.Member_pushdown_with_collection_navigation_in_the_middle(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) ( SELECT TOP(1) ( SELECT TOP(1) [l2].[Name] @@ -3148,7 +3597,8 @@ FROM [LevelTwo] AS [l0] WHERE [l0].[Level1_Required_Id] = [l].[Id] ORDER BY [l0].[Id]) FROM [LevelOne] AS [l] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Member_pushdown_with_multiple_collections(bool async) @@ -3156,7 +3606,8 @@ public override async Task Member_pushdown_with_multiple_collections(bool async) await base.Member_pushdown_with_multiple_collections(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [l0].[Name] FROM [LevelThree] AS [l0] WHERE (( @@ -3173,7 +3624,8 @@ FROM [LevelTwo] AS [l2] WHERE [l].[Id] = [l2].[OneToMany_Optional_Inverse2Id] ORDER BY [l2].[Id]) IS NULL) AND ([l0].[OneToMany_Optional_Inverse3Id] IS NULL))) ORDER BY [l0].[Id]) -FROM [LevelOne] AS [l]"); +FROM [LevelOne] AS [l] +"""); } public override async Task Null_check_removal_applied_recursively(bool async) @@ -3181,12 +3633,14 @@ public override async Task Null_check_removal_applied_recursively(bool async) await base.Null_check_removal_applied_recursively(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] -WHERE [l2].[Name] = N'L4 01'"); +WHERE [l2].[Name] = N'L4 01' +"""); } public override async Task Null_check_different_structure_does_not_remove_null_checks(bool async) @@ -3194,7 +3648,8 @@ public override async Task Null_check_different_structure_does_not_remove_null_c await base.Null_check_different_structure_does_not_remove_null_checks(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -3203,7 +3658,8 @@ WHERE CASE WHEN [l0].[Id] IS NULL THEN NULL WHEN [l1].[Id] IS NULL THEN NULL ELSE [l2].[Name] -END = N'L4 01'"); +END = N'L4 01' +"""); } public override async Task Union_over_entities_with_different_nullability(bool async) @@ -3211,14 +3667,16 @@ public override async Task Union_over_entities_with_different_nullability(bool a await base.Union_over_entities_with_different_nullability(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] UNION ALL SELECT [l2].[Id] FROM [LevelTwo] AS [l1] LEFT JOIN [LevelOne] AS [l2] ON [l1].[Level1_Optional_Id] = [l2].[Id] -WHERE [l2].[Id] IS NULL"); +WHERE [l2].[Id] IS NULL +"""); } public override async Task Including_reference_navigation_and_projecting_collection_navigation_2(bool async) @@ -3226,7 +3684,8 @@ public override async Task Including_reference_navigation_and_projecting_collect await base.Including_reference_navigation_and_projecting_collection_navigation_2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Required_Inverse2Id] @@ -3238,7 +3697,8 @@ FROM [LevelTwo] AS [l2] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task OrderBy_collection_count_ThenBy_reference_navigation(bool async) @@ -3246,14 +3706,16 @@ public override async Task OrderBy_collection_count_ThenBy_reference_navigation( await base.OrderBy_collection_count_ThenBy_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] ORDER BY ( SELECT COUNT(*) FROM [LevelThree] AS [l2] - WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l2].[OneToMany_Required_Inverse3Id]), [l1].[Name]"); + WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l2].[OneToMany_Required_Inverse3Id]), [l1].[Name] +"""); } public override async Task Null_conditional_is_not_applied_explicitly_for_optional_navigation(bool async) @@ -3261,10 +3723,12 @@ public override async Task Null_conditional_is_not_applied_explicitly_for_option await base.Null_conditional_is_not_applied_explicitly_for_optional_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Name] = N'L2 01'"); +WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Name] = N'L2 01' +"""); } public override async Task Sum_with_selector_cast_using_as(bool async) @@ -3272,8 +3736,10 @@ public override async Task Sum_with_selector_cast_using_as(bool async) await base.Sum_with_selector_cast_using_as(async); AssertSql( - @"SELECT COALESCE(SUM([l].[Id]), 0) -FROM [LevelOne] AS [l]"); +""" +SELECT COALESCE(SUM([l].[Id]), 0) +FROM [LevelOne] AS [l] +"""); } public override async Task Sum_with_filter_with_include_selector_cast_using_as(bool async) @@ -3281,12 +3747,14 @@ public override async Task Sum_with_filter_with_include_selector_cast_using_as(b await base.Sum_with_filter_with_include_selector_cast_using_as(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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 [l].[Id] > ( SELECT COALESCE(SUM([l0].[Id]), 0) FROM [LevelTwo] AS [l0] - WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id])"); + WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id]) +"""); } public override async Task Select_with_joined_where_clause_cast_using_as(bool async) @@ -3294,10 +3762,12 @@ public override async Task Select_with_joined_where_clause_cast_using_as(bool as await base.Select_with_joined_where_clause_cast_using_as(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -WHERE [l].[Id] = [l0].[Id]"); +WHERE [l].[Id] = [l0].[Id] +"""); } public override async Task SelectMany_with_outside_reference_to_joined_table_correctly_translated_to_apply(bool async) @@ -3305,12 +3775,14 @@ public override async Task SelectMany_with_outside_reference_to_joined_table_cor await base.SelectMany_with_outside_reference_to_joined_table_correctly_translated_to_apply(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id] +""" +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] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] INNER JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] -LEFT JOIN [LevelOne] AS [l3] ON [l0].[Id] >= [l3].[Id] AND ([l2].[Name] = [l3].[Name] OR (([l2].[Name] IS NULL) AND ([l3].[Name] IS NULL)))"); +LEFT JOIN [LevelOne] AS [l3] ON [l0].[Id] >= [l3].[Id] AND ([l2].[Name] = [l3].[Name] OR (([l2].[Name] IS NULL) AND ([l3].[Name] IS NULL))) +"""); } public override async Task Nested_SelectMany_correlated_with_join_table_correctly_translated_to_apply(bool async) @@ -3320,7 +3792,8 @@ await Assert.ThrowsAsync( async () => await base.Nested_SelectMany_correlated_with_join_table_correctly_translated_to_apply(async)); AssertSql( - @"SELECT [t0].[l1Name], [t0].[l2Name], [t0].[l3Name] +""" +SELECT [t0].[l1Name], [t0].[l2Name], [t0].[l3Name] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [t].[l1Name], [t].[l2Name], [t].[l3Name] @@ -3333,7 +3806,8 @@ FROM [LevelFour] AS [l2] WHERE ([l1].[Id] IS NOT NULL) AND [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] ) AS [t] WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Contains_over_optional_navigation_with_null_constant(bool async) @@ -3341,14 +3815,16 @@ public override async Task Contains_over_optional_navigation_with_null_constant( await base.Contains_over_optional_navigation_with_null_constant(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] WHERE [l0].[Id] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Contains_over_optional_navigation_with_null_parameter(bool async) @@ -3356,14 +3832,16 @@ public override async Task Contains_over_optional_navigation_with_null_parameter await base.Contains_over_optional_navigation_with_null_parameter(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] WHERE [l0].[Id] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Contains_over_optional_navigation_with_null_column(bool async) @@ -3371,7 +3849,8 @@ public override async Task Contains_over_optional_navigation_with_null_column(bo await base.Contains_over_optional_navigation_with_null_column(async); AssertSql( - @"SELECT [l].[Name], [l0].[Name] AS [OptionalName], CASE +""" +SELECT [l].[Name], [l0].[Name] AS [OptionalName], CASE WHEN EXISTS ( SELECT 1 FROM [LevelOne] AS [l1] @@ -3380,7 +3859,8 @@ FROM [LevelOne] AS [l1] ELSE CAST(0 AS bit) END AS [Contains] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] +"""); } public override async Task Contains_over_optional_navigation_with_null_entity_reference(bool async) @@ -3388,7 +3868,8 @@ public override async Task Contains_over_optional_navigation_with_null_entity_re await base.Contains_over_optional_navigation_with_null_entity_reference(async); AssertSql( - @"SELECT [l].[Name], [l0].[Name] AS [OptionalName], CASE +""" +SELECT [l].[Name], [l0].[Name] AS [OptionalName], CASE WHEN EXISTS ( SELECT 1 FROM [LevelOne] AS [l2] @@ -3398,7 +3879,8 @@ ELSE CAST(0 AS bit) END AS [Contains] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToOne_Optional_PK_Inverse2Id]"); +LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToOne_Optional_PK_Inverse2Id] +"""); } public override async Task Element_selector_with_coalesce_repeated_in_aggregate(bool async) @@ -3406,7 +3888,8 @@ public override async Task Element_selector_with_coalesce_repeated_in_aggregate( await base.Element_selector_with_coalesce_repeated_in_aggregate(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Id] @@ -3417,7 +3900,8 @@ FROM [LevelOne] AS [l2] LEFT JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[Id] LEFT JOIN [LevelThree] AS [l4] ON [l3].[Id] = [l4].[Id] LEFT JOIN [LevelTwo] AS [l5] ON [l2].[Id] = [l5].[Id] - WHERE [l1].[Name] = [l4].[Name] OR (([l1].[Name] IS NULL) AND ([l4].[Name] IS NULL))) > 0"); + WHERE [l1].[Name] = [l4].[Name] OR (([l1].[Name] IS NULL) AND ([l4].[Name] IS NULL))) > 0 +"""); } public override async Task Nested_object_constructed_from_group_key_properties(bool async) @@ -3425,12 +3909,14 @@ public override async Task Nested_object_constructed_from_group_key_properties(b await base.Nested_object_constructed_from_group_key_properties(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], [l].[Date], [l0].[Id], [l1].[Name], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], COALESCE(SUM(CAST(LEN([l].[Name]) AS int)), 0) AS [Aggregate] +""" +SELECT [l].[Id], [l].[Name], [l].[Date], [l0].[Id], [l1].[Name], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], COALESCE(SUM(CAST(LEN([l].[Name]) AS int)), 0) AS [Aggregate] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[Level1_Required_Id] WHERE [l0].[Id] IS NOT NULL -GROUP BY [l].[Id], [l].[Date], [l].[Name], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l1].[Name]"); +GROUP BY [l].[Id], [l].[Date], [l].[Name], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l1].[Name] +"""); } public override async Task GroupBy_aggregate_where_required_relationship(bool async) @@ -3438,11 +3924,13 @@ public override async Task GroupBy_aggregate_where_required_relationship(bool as await base.GroupBy_aggregate_where_required_relationship(async); AssertSql( - @"SELECT [l0].[Id] AS [Key], MAX([l].[Id]) AS [Max] +""" +SELECT [l0].[Id] AS [Key], MAX([l].[Id]) AS [Max] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[OneToMany_Required_Inverse2Id] = [l0].[Id] GROUP BY [l0].[Id] -HAVING MAX([l].[Id]) <> 2 OR (MAX([l].[Id]) IS NULL)"); +HAVING MAX([l].[Id]) <> 2 OR (MAX([l].[Id]) IS NULL) +"""); } public override async Task GroupBy_aggregate_where_required_relationship_2(bool async) @@ -3450,11 +3938,13 @@ public override async Task GroupBy_aggregate_where_required_relationship_2(bool await base.GroupBy_aggregate_where_required_relationship_2(async); AssertSql( - @"SELECT [l0].[Id] AS [Key], MAX([l].[Id]) AS [Max] +""" +SELECT [l0].[Id] AS [Key], MAX([l].[Id]) AS [Max] FROM [LevelTwo] AS [l] INNER JOIN [LevelOne] AS [l0] ON [l].[OneToMany_Required_Inverse2Id] = [l0].[Id] GROUP BY [l0].[Id] -HAVING MAX([l].[Id]) < 2 OR MAX([l].[Id]) > 2"); +HAVING MAX([l].[Id]) < 2 OR MAX([l].[Id]) > 2 +"""); } public override async Task Member_over_null_check_ternary_and_nested_dto_type(bool async) @@ -3462,13 +3952,15 @@ public override async Task Member_over_null_check_ternary_and_nested_dto_type(bo await base.Member_over_null_check_ternary_and_nested_dto_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], CASE +""" +SELECT [l].[Id], [l].[Name], CASE WHEN [l0].[Id] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [l0].[Id], [l0].[Name] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l0].[Name], [l].[Id]"); +ORDER BY [l0].[Name], [l].[Id] +"""); } public override async Task Member_over_null_check_ternary_and_nested_anonymous_type(bool async) @@ -3476,7 +3968,8 @@ public override async Task Member_over_null_check_ternary_and_nested_anonymous_t await base.Member_over_null_check_ternary_and_nested_anonymous_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], CASE +""" +SELECT [l].[Id], [l].[Name], CASE WHEN [l0].[Id] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [l0].[Id], [l0].[Name], CASE @@ -3492,7 +3985,8 @@ ELSE [l1].[Name] END <> N'L' OR (CASE WHEN [l0].[Id] IS NULL THEN NULL ELSE [l1].[Name] -END IS NULL)"); +END IS NULL) +"""); } public override async Task Distinct_skip_without_orderby(bool async) @@ -3500,7 +3994,8 @@ public override async Task Distinct_skip_without_orderby(bool async) await base.Distinct_skip_without_orderby(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t0].[Name] FROM ( SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] @@ -3513,7 +4008,8 @@ OFFSET 1 ROWS ) AS [t0] ORDER BY [t0].[Id]) FROM [LevelOne] AS [l] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task Distinct_take_without_orderby(bool async) @@ -3521,7 +4017,8 @@ public override async Task Distinct_take_without_orderby(bool async) await base.Distinct_take_without_orderby(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[Name] FROM ( SELECT DISTINCT TOP(1) [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] @@ -3529,7 +4026,8 @@ FROM [LevelThree] AS [l0] ) AS [t] ORDER BY [t].[Id]) FROM [LevelOne] AS [l] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task Let_let_contains_from_outer_let(bool async) @@ -3537,7 +4035,8 @@ public override async Task Let_let_contains_from_outer_let(bool async) await base.Let_let_contains_from_outer_let(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [t].[Id], [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] OUTER APPLY ( SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id] @@ -3548,7 +4047,8 @@ FROM [LevelTwo] AS [l1] WHERE [l].[Id] = [l1].[OneToMany_Required_Inverse2Id] AND [l1].[Id] = [l0].[Level2_Required_Id]) ) AS [t] LEFT JOIN [LevelTwo] AS [l2] ON [l].[Id] = [l2].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Multiple_conditionals_in_projection(bool async) @@ -3556,13 +4056,15 @@ public override async Task Multiple_conditionals_in_projection(bool async) await base.Multiple_conditionals_in_projection(async); AssertSql( - @"SELECT [l].[Id], [l0].[Name], CASE +""" +SELECT [l].[Id], [l0].[Name], CASE WHEN [l1].[Id] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [LevelTwo] AS [l] LEFT JOIN [LevelThree] AS [l0] ON [l].[Id] = [l0].[Level2_Optional_Id] -LEFT JOIN [LevelOne] AS [l1] ON [l].[Level1_Optional_Id] = [l1].[Id]"); +LEFT JOIN [LevelOne] AS [l1] ON [l].[Level1_Optional_Id] = [l1].[Id] +"""); } public override async Task Composite_key_join_on_groupby_aggregate_projecting_only_grouping_key(bool async) @@ -3570,7 +4072,8 @@ public override async Task Composite_key_join_on_groupby_aggregate_projecting_on await base.Composite_key_join_on_groupby_aggregate_projecting_only_grouping_key(async); AssertSql( - @"SELECT [t0].[Key] +""" +SELECT [t0].[Key] FROM [LevelOne] AS [l] INNER JOIN ( SELECT [t].[Key], COALESCE(SUM([t].[Id]), 0) AS [Sum] @@ -3582,7 +4085,8 @@ GROUP BY [t].[Key] ) AS [t0] ON [l].[Id] = [t0].[Key] AND CAST(1 AS bit) = CASE WHEN [t0].[Sum] > 10 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Multiple_joins_groupby_predicate(bool async) @@ -3590,7 +4094,8 @@ public override async Task Multiple_joins_groupby_predicate(bool async) await base.Multiple_joins_groupby_predicate(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], CASE +""" +SELECT [l].[Id], [l].[Name], CASE WHEN [l0].[Id] IS NULL THEN N'Foo' ELSE N'Bar' END AS [Foo] @@ -3601,7 +4106,8 @@ LEFT JOIN ( FROM [LevelThree] AS [l1] GROUP BY [l1].[Name] ) AS [t] ON [l].[Name] = [t].[Key] -WHERE ([l0].[Name] IS NOT NULL) OR [t].[Count] > 0"); +WHERE ([l0].[Name] IS NOT NULL) OR [t].[Count] > 0 +"""); } public override async Task Collection_FirstOrDefault_property_accesses_in_projection(bool async) @@ -3609,12 +4115,14 @@ public override async Task Collection_FirstOrDefault_property_accesses_in_projec await base.Collection_FirstOrDefault_property_accesses_in_projection(async); AssertSql( - @"SELECT [l].[Id], ( +""" +SELECT [l].[Id], ( SELECT TOP(1) [l0].[Name] FROM [LevelTwo] AS [l0] WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND [l0].[Name] = N'L2 02') AS [Pushdown] FROM [LevelOne] AS [l] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task Collection_FirstOrDefault_entity_reference_accesses_in_projection(bool async) @@ -3622,7 +4130,8 @@ public override async Task Collection_FirstOrDefault_entity_reference_accesses_i await base.Collection_FirstOrDefault_entity_reference_accesses_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[OneToMany_Optional_Inverse2Id] @@ -3634,7 +4143,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task Collection_FirstOrDefault_entity_collection_accesses_in_projection(bool async) @@ -3642,7 +4152,8 @@ public override async Task Collection_FirstOrDefault_entity_collection_accesses_ await base.Collection_FirstOrDefault_entity_collection_accesses_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [t0].[c] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToMany_Optional_Inverse2Id] @@ -3655,7 +4166,8 @@ FROM [LevelTwo] AS [l0] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] WHERE [l].[Id] < 2 -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Multiple_collection_FirstOrDefault_followed_by_member_access_in_projection(bool async) @@ -3663,7 +4175,8 @@ public override async Task Multiple_collection_FirstOrDefault_followed_by_member await base.Multiple_collection_FirstOrDefault_followed_by_member_access_in_projection(async); AssertSql( - @"SELECT [l].[Id], ( +""" +SELECT [l].[Id], ( SELECT TOP(1) [l0].[Name] FROM [LevelThree] AS [l0] WHERE (( @@ -3678,7 +4191,8 @@ FROM [LevelTwo] AS [l2] WHERE [l].[Id] = [l2].[OneToMany_Optional_Inverse2Id] AND [l2].[Name] = N'L2 02') IS NULL) AND ([l0].[OneToMany_Optional_Inverse3Id] IS NULL))) ORDER BY [l0].[Id]) AS [Pushdown] FROM [LevelOne] AS [l] -WHERE [l].[Id] < 2"); +WHERE [l].[Id] < 2 +"""); } public override async Task Projecting_columns_with_same_name_from_different_entities_making_sure_aliasing_works_after_Distinct( @@ -3687,7 +4201,8 @@ public override async Task Projecting_columns_with_same_name_from_different_enti await base.Projecting_columns_with_same_name_from_different_entities_making_sure_aliasing_works_after_Distinct(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[Id1] AS [Foo], [t].[Id2] AS [Bar], [t].[Id3] AS [Baz] FROM ( @@ -3695,7 +4210,8 @@ SELECT DISTINCT TOP(@__p_0) [l].[Id] AS [Id1], [l0].[Id] AS [Id2], [l1].[Id] AS FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] -) AS [t]"); +) AS [t] +"""); } public override async Task Complex_query_with_let_collection_SelectMany(bool async) @@ -3710,13 +4226,15 @@ public override async Task SelectMany_without_collection_selector_returning_quer await base.SelectMany_without_collection_selector_returning_queryable(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] CROSS JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l0] WHERE [l0].[Id] < 10 -) AS [t]"); +) AS [t] +"""); } public override async Task Select_projecting_queryable_followed_by_SelectMany(bool async) @@ -3761,7 +4279,8 @@ public override async Task Prune_does_not_throw_null_ref(bool async) await base.Prune_does_not_throw_null_ref(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id] FROM ( SELECT NULL AS [empty] ) AS [e] @@ -3774,7 +4293,8 @@ CROSS APPLY ( SELECT [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id] FROM [LevelOne] AS [l0] WHERE [l0].[Id] <> COALESCE([t].[Level1_Required_Id], 0) -) AS [t0]"); +) AS [t0] +"""); } public override async Task Entries_for_detached_entities_are_removed(bool async) @@ -3782,9 +4302,11 @@ public override async Task Entries_for_detached_entities_are_removed(bool async) await base.Entries_for_detached_entities_are_removed(async); AssertSql( - @"SELECT TOP(1) [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] +""" +SELECT TOP(1) [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id] FROM [LevelTwo] AS [l] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task SelectMany_subquery_with_custom_projection(bool async) @@ -3792,12 +4314,14 @@ public override async Task SelectMany_subquery_with_custom_projection(bool async await base.SelectMany_subquery_with_custom_projection(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(@__p_0) [l0].[Name] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_multiple_collections_on_same_level(bool async) @@ -3805,11 +4329,13 @@ public override async Task Include_multiple_collections_on_same_level(bool async await base.Include_multiple_collections_on_same_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelTwo] AS [l1] ON [l].[Id] = [l1].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Simple_level1_include(bool async) @@ -3817,9 +4343,11 @@ public override async Task Simple_level1_include(bool async) await base.Simple_level1_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id] FROM [LevelOne] AS [l] -LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Id]"); +LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Id] +"""); } public override async Task Simple_level1(bool async) @@ -3827,8 +4355,10 @@ public override async Task Simple_level1(bool async) await base.Simple_level1(async); 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]"); +""" +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] +"""); } public override async Task Simple_level1_level2_include(bool async) @@ -3836,10 +4366,12 @@ public override async Task Simple_level1_level2_include(bool async) await base.Simple_level1_level2_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Id] +"""); } public override async Task Simple_level1_level2_GroupBy_Count(bool async) @@ -3847,11 +4379,13 @@ public override async Task Simple_level1_level2_GroupBy_Count(bool async) await base.Simple_level1_level2_GroupBy_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Id] -GROUP BY [l1].[Name]"); +GROUP BY [l1].[Name] +"""); } public override async Task Simple_level1_level2_GroupBy_Having_Count(bool async) @@ -3859,7 +4393,8 @@ public override async Task Simple_level1_level2_GroupBy_Having_Count(bool async) await base.Simple_level1_level2_GroupBy_Having_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Id] @@ -3870,7 +4405,8 @@ FROM [LevelOne] AS [l2] LEFT JOIN [LevelTwo] AS [l3] ON [l2].[Id] = [l3].[Id] LEFT JOIN [LevelThree] AS [l4] ON [l3].[Id] = [l4].[Id] LEFT JOIN [LevelTwo] AS [l5] ON [l2].[Id] = [l5].[Id] - WHERE [l1].[Name] = [l4].[Name] OR (([l1].[Name] IS NULL) AND ([l4].[Name] IS NULL))) > 0"); + WHERE [l1].[Name] = [l4].[Name] OR (([l1].[Name] IS NULL) AND ([l4].[Name] IS NULL))) > 0 +"""); } public override async Task Simple_level1_level2_level3_include(bool async) @@ -3878,11 +4414,13 @@ public override async Task Simple_level1_level2_level3_include(bool async) await base.Simple_level1_level2_level3_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] LEFT JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[Id] LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Id] -LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Id]"); +LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Id] +"""); } public override async Task Project_shadow_properties6(bool async) @@ -3890,9 +4428,11 @@ public override async Task Project_shadow_properties6(bool async) await base.Project_shadow_properties6(async); AssertSql( - @"SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] +""" +SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] FROM [InheritanceOne] AS [i] -WHERE [i].[Discriminator] = N'InheritanceDerived1'"); +WHERE [i].[Discriminator] = N'InheritanceDerived1' +"""); } public override async Task Project_shadow_properties3(bool async) @@ -3900,8 +4440,10 @@ public override async Task Project_shadow_properties3(bool async) await base.Project_shadow_properties3(async); AssertSql( - @"SELECT [l].[Id], [l].[OneToOne_Optional_PK_Inverse3Id], [l].[OneToMany_Required_Inverse3Id], [l].[OneToMany_Optional_Inverse3Id], [l].[OneToOne_Optional_Self3Id], [l].[OneToMany_Required_Self_Inverse3Id], [l].[OneToMany_Optional_Self_Inverse3Id] -FROM [LevelThree] AS [l]"); +""" +SELECT [l].[Id], [l].[OneToOne_Optional_PK_Inverse3Id], [l].[OneToMany_Required_Inverse3Id], [l].[OneToMany_Optional_Inverse3Id], [l].[OneToOne_Optional_Self3Id], [l].[OneToMany_Required_Self_Inverse3Id], [l].[OneToMany_Optional_Self_Inverse3Id] +FROM [LevelThree] AS [l] +"""); } public override async Task Project_shadow_properties9(bool async) @@ -3909,8 +4451,10 @@ public override async Task Project_shadow_properties9(bool async) await base.Project_shadow_properties9(async); AssertSql( - @"SELECT [i].[Id], [i].[DifferentTypeReference_InheritanceDerived1Id], [i].[InheritanceDerived1Id], [i].[InheritanceDerived1Id1], [i].[InheritanceDerived2Id], [i].[SameTypeReference_InheritanceDerived1Id], [i].[SameTypeReference_InheritanceDerived2Id] -FROM [InheritanceLeafOne] AS [i]"); +""" +SELECT [i].[Id], [i].[DifferentTypeReference_InheritanceDerived1Id], [i].[InheritanceDerived1Id], [i].[InheritanceDerived1Id1], [i].[InheritanceDerived2Id], [i].[SameTypeReference_InheritanceDerived1Id], [i].[SameTypeReference_InheritanceDerived2Id] +FROM [InheritanceLeafOne] AS [i] +"""); } public override async Task Project_shadow_properties4(bool async) @@ -3918,8 +4462,10 @@ public override async Task Project_shadow_properties4(bool async) await base.Project_shadow_properties4(async); AssertSql( - @"SELECT [l].[Id], [l].[OneToOne_Optional_PK_Inverse4Id], [l].[OneToMany_Required_Inverse4Id], [l].[OneToMany_Optional_Inverse4Id], [l].[OneToOne_Optional_Self4Id], [l].[OneToMany_Required_Self_Inverse4Id], [l].[OneToMany_Optional_Self_Inverse4Id] -FROM [LevelFour] AS [l]"); +""" +SELECT [l].[Id], [l].[OneToOne_Optional_PK_Inverse4Id], [l].[OneToMany_Required_Inverse4Id], [l].[OneToMany_Optional_Inverse4Id], [l].[OneToOne_Optional_Self4Id], [l].[OneToMany_Required_Self_Inverse4Id], [l].[OneToMany_Optional_Self_Inverse4Id] +FROM [LevelFour] AS [l] +"""); } public override async Task Project_shadow_properties10(bool async) @@ -3927,8 +4473,10 @@ public override async Task Project_shadow_properties10(bool async) await base.Project_shadow_properties10(async); AssertSql( - @"SELECT [i].[Id], [i].[DifferentTypeReference_InheritanceDerived2Id], [i].[InheritanceDerived2Id] -FROM [InheritanceLeafTwo] AS [i]"); +""" +SELECT [i].[Id], [i].[DifferentTypeReference_InheritanceDerived2Id], [i].[InheritanceDerived2Id] +FROM [InheritanceLeafTwo] AS [i] +"""); } public override async Task Project_shadow_properties5(bool async) @@ -3936,8 +4484,10 @@ public override async Task Project_shadow_properties5(bool async) await base.Project_shadow_properties5(async); AssertSql( - @"SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] -FROM [InheritanceOne] AS [i]"); +""" +SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] +FROM [InheritanceOne] AS [i] +"""); } public override async Task Project_shadow_properties7(bool async) @@ -3945,9 +4495,11 @@ public override async Task Project_shadow_properties7(bool async) await base.Project_shadow_properties7(async); AssertSql( - @"SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] +""" +SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] FROM [InheritanceOne] AS [i] -WHERE [i].[Discriminator] = N'InheritanceDerived2'"); +WHERE [i].[Discriminator] = N'InheritanceDerived2' +"""); } public override async Task Project_shadow_properties8(bool async) @@ -3955,8 +4507,10 @@ public override async Task Project_shadow_properties8(bool async) await base.Project_shadow_properties8(async); AssertSql( - @"SELECT [i].[Id], [i].[InheritanceLeaf2Id] -FROM [InheritanceTwo] AS [i]"); +""" +SELECT [i].[Id], [i].[InheritanceLeaf2Id] +FROM [InheritanceTwo] AS [i] +"""); } public override async Task Project_shadow_properties1(bool async) @@ -3964,8 +4518,10 @@ public override async Task Project_shadow_properties1(bool async) await base.Project_shadow_properties1(async); AssertSql( - @"SELECT [l].[Id], [l].[OneToOne_Optional_Self1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToMany_Optional_Self_Inverse1Id] -FROM [LevelOne] AS [l]"); +""" +SELECT [l].[Id], [l].[OneToOne_Optional_Self1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToMany_Optional_Self_Inverse1Id] +FROM [LevelOne] AS [l] +"""); } public override async Task Project_shadow_properties2(bool async) @@ -3973,8 +4529,10 @@ public override async Task Project_shadow_properties2(bool async) await base.Project_shadow_properties2(async); AssertSql( - @"SELECT [l].[Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id] -FROM [LevelTwo] AS [l]"); +""" +SELECT [l].[Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id] +FROM [LevelTwo] AS [l] +"""); } public override async Task Multiple_required_navigation_using_multiple_selects_with_EF_Property_Include(bool async) @@ -3989,10 +4547,12 @@ public override async Task SelectMany_with_EF_Property_Include1(bool async) await base.SelectMany_with_EF_Property_Include1(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id]"); +LEFT JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] +"""); } public override async Task Multiple_SelectMany_with_EF_Property_Include(bool async) @@ -4000,11 +4560,13 @@ public override async Task Multiple_SelectMany_with_EF_Property_Include(bool asy await base.Multiple_SelectMany_with_EF_Property_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id] FROM [LevelOne] AS [l] INNER JOIN [LevelTwo] AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id]"); +LEFT JOIN [LevelFour] AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] +"""); } public override async Task Multiple_required_navigation_with_EF_Property_Include(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerTest.cs index acb3775c36e..ab52e848f35 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ComplexNavigationsSharedTypeQuerySqlServerTest.cs @@ -26,7 +26,8 @@ public override async Task Simple_level1_include(bool async) await base.Simple_level1_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -34,7 +35,8 @@ FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END"); +END +"""); } public override async Task Simple_level1(bool async) @@ -42,15 +44,18 @@ public override async Task Simple_level1(bool async) await base.Simple_level1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] -FROM [Level1] AS [l]"); +""" +SELECT [l].[Id], [l].[Date], [l].[Name] +FROM [Level1] AS [l] +"""); } public override async Task Simple_level1_level2_include(bool async) { await base.Simple_level1_level2_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -67,7 +72,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] -END"); +END +"""); } public override async Task Simple_level1_level2_GroupBy_Count(bool async) @@ -75,7 +81,8 @@ public override async Task Simple_level1_level2_GroupBy_Count(bool async) await base.Simple_level1_level2_GroupBy_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -93,7 +100,8 @@ FROM [Level1] AS [l1] END = CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END -GROUP BY [t0].[Level3_Name]"); +GROUP BY [t0].[Level3_Name] +"""); } public override async Task Simple_level1_level2_GroupBy_Having_Count(bool async) @@ -101,7 +109,8 @@ public override async Task Simple_level1_level2_GroupBy_Having_Count(bool async) await base.Simple_level1_level2_GroupBy_Having_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -148,7 +157,8 @@ FROM [Level1] AS [l5] ) AS [t3] ON [l2].[Id] = CASE WHEN ([t3].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t3].[Level1_Required_Id] IS NOT NULL) AND ([t3].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t3].[Id] END - WHERE [t0].[Level3_Name] = [t2].[Level3_Name] OR (([t0].[Level3_Name] IS NULL) AND ([t2].[Level3_Name] IS NULL))) > 0"); + WHERE [t0].[Level3_Name] = [t2].[Level3_Name] OR (([t0].[Level3_Name] IS NULL) AND ([t2].[Level3_Name] IS NULL))) > 0 +"""); } public override async Task Simple_level1_level2_level3_include(bool async) @@ -156,7 +166,8 @@ public override async Task Simple_level1_level2_level3_include(bool async) await base.Simple_level1_level2_level3_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -182,7 +193,8 @@ FROM [Level1] AS [l2] WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = CASE WHEN ([t1].[Level3_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse4Id] IS NOT NULL) THEN [t1].[Id] -END"); +END +"""); } public override async Task Nested_group_join_with_take(bool async) @@ -190,7 +202,8 @@ public override async Task Nested_group_join_with_take(bool async) await base.Nested_group_join_with_take(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t2].[Level2_Name] FROM ( @@ -224,7 +237,8 @@ FROM [Level1] AS [l3] ) AS [t2] ON CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id00] END = [t2].[Level1_Optional_Id] -ORDER BY [t1].[Id]"); +ORDER BY [t1].[Id] +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_projection2(bool async) @@ -232,7 +246,8 @@ public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_project await base.Explicit_GroupJoin_in_subquery_with_unrelated_projection2(async); AssertSql( - @"SELECT [t1].[Id] +""" +SELECT [t1].[Id] FROM ( SELECT DISTINCT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] @@ -249,7 +264,8 @@ FROM [Level1] AS [l1] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] WHERE [t0].[Level2_Name] <> N'Foo' OR ([t0].[Level2_Name] IS NULL) -) AS [t1]"); +) AS [t1] +"""); } public override async Task Result_operator_nav_prop_reference_optional_via_DefaultIfEmpty(bool async) @@ -257,7 +273,8 @@ public override async Task Result_operator_nav_prop_reference_optional_via_Defau await base.Result_operator_nav_prop_reference_optional_via_DefaultIfEmpty(async); AssertSql( - @"SELECT COALESCE(SUM(CASE +""" +SELECT COALESCE(SUM(CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NULL) OR ([t0].[Level1_Required_Id] IS NULL) OR ([t0].[OneToMany_Required_Inverse2Id] IS NULL) THEN 0 ELSE [t0].[Level1_Required_Id] END), 0) @@ -273,7 +290,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id]"); +) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] +"""); } public override async Task Complex_query_with_optional_navigations_and_client_side_evaluation(bool async) @@ -288,7 +306,8 @@ public override async Task Member_over_null_check_ternary_and_nested_anonymous_t await base.Member_over_null_check_ternary_and_nested_anonymous_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], CASE +""" +SELECT [l].[Id], [l].[Name], CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NULL) OR ([t].[Level1_Required_Id] IS NULL) OR ([t].[OneToMany_Required_Inverse2Id] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, CASE @@ -318,7 +337,8 @@ ELSE [t0].[Level3_Name] END <> N'L' OR (CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NULL) OR ([t].[Level1_Required_Id] IS NULL) OR ([t].[OneToMany_Required_Inverse2Id] IS NULL) THEN NULL ELSE [t0].[Level3_Name] -END IS NULL)"); +END IS NULL) +"""); } public override async Task Nested_SelectMany_correlated_with_join_table_correctly_translated_to_apply(bool async) @@ -328,7 +348,8 @@ await Assert.ThrowsAsync( async () => await base.Nested_SelectMany_correlated_with_join_table_correctly_translated_to_apply(async)); AssertSql( - @"SELECT [t2].[l1Name], [t2].[l2Name], [t2].[l3Name] +""" +SELECT [t2].[l1Name], [t2].[l2Name], [t2].[l3Name] FROM [Level1] AS [l] OUTER APPLY ( SELECT [t0].[l1Name], [t0].[l2Name], [t0].[l3Name] @@ -361,7 +382,8 @@ FROM [Level1] AS [l3] END IS NULL) AND ([l2].[OneToMany_Optional_Inverse4Id] IS NULL))) ) AS [t0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -) AS [t2]"); +) AS [t2] +"""); } public override async Task OrderBy_collection_count_ThenBy_reference_navigation(bool async) @@ -369,7 +391,8 @@ public override async Task OrderBy_collection_count_ThenBy_reference_navigation( await base.OrderBy_collection_count_ThenBy_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -390,7 +413,8 @@ FROM [Level1] AS [l2] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END IS NOT NULL) AND CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] - END = [l2].[OneToMany_Required_Inverse3Id]), [t0].[Level3_Name]"); + END = [l2].[OneToMany_Required_Inverse3Id]), [t0].[Level3_Name] +"""); } public override async Task Element_selector_with_coalesce_repeated_in_aggregate(bool async) @@ -398,7 +422,8 @@ public override async Task Element_selector_with_coalesce_repeated_in_aggregate( await base.Element_selector_with_coalesce_repeated_in_aggregate(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -447,7 +472,8 @@ FROM [Level1] AS [l5] ) AS [t3] ON [l2].[Id] = CASE WHEN ([t3].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t3].[Level1_Required_Id] IS NOT NULL) AND ([t3].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t3].[Id] END - WHERE [t0].[Level3_Name] = [t2].[Level3_Name] OR (([t0].[Level3_Name] IS NULL) AND ([t2].[Level3_Name] IS NULL))) > 0"); + WHERE [t0].[Level3_Name] = [t2].[Level3_Name] OR (([t0].[Level3_Name] IS NULL) AND ([t2].[Level3_Name] IS NULL))) > 0 +"""); } public override async Task Sum_with_selector_cast_using_as(bool async) @@ -455,8 +481,10 @@ public override async Task Sum_with_selector_cast_using_as(bool async) await base.Sum_with_selector_cast_using_as(async); AssertSql( - @"SELECT COALESCE(SUM([l].[Id]), 0) -FROM [Level1] AS [l]"); +""" +SELECT COALESCE(SUM([l].[Id]), 0) +FROM [Level1] AS [l] +"""); } public override async Task Sum_with_filter_with_include_selector_cast_using_as(bool async) @@ -464,14 +492,16 @@ public override async Task Sum_with_filter_with_include_selector_cast_using_as(b await base.Sum_with_filter_with_include_selector_cast_using_as(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] WHERE [l].[Id] > ( SELECT COALESCE(SUM(CASE WHEN ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [l0].[Id] END), 0) FROM [Level1] AS [l0] - WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id])"); + WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id]) +"""); } public override async Task Distinct_take_without_orderby(bool async) @@ -479,7 +509,8 @@ public override async Task Distinct_take_without_orderby(bool async) await base.Distinct_take_without_orderby(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t1].[Level3_Name] FROM ( SELECT DISTINCT TOP(1) [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] @@ -506,7 +537,8 @@ ORDER BY CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id] END) FROM [Level1] AS [l] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task Let_let_contains_from_outer_let(bool async) @@ -514,7 +546,8 @@ public override async Task Let_let_contains_from_outer_let(bool async) await base.Let_let_contains_from_outer_let(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t1].[Id0], [t1].[Id1], [t1].[Id], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t1].[Id0], [t1].[Id1], [t1].[Id], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] OUTER APPLY ( SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [l0].[Id] AS [Id0], [t].[Id] AS [Id1] @@ -545,7 +578,8 @@ LEFT JOIN ( FROM [Level1] AS [l4] WHERE ([l4].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l4].[Level1_Required_Id] IS NOT NULL) AND ([l4].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [l].[Id] = [t2].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id0], [t1].[Id1], [t1].[Id]"); +ORDER BY [l].[Id], [t1].[Id0], [t1].[Id1], [t1].[Id] +"""); } public override async Task Null_check_different_structure_does_not_remove_null_checks(bool async) @@ -553,7 +587,8 @@ public override async Task Null_check_different_structure_does_not_remove_null_c await base.Null_check_different_structure_does_not_remove_null_checks(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -578,7 +613,8 @@ WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NULL) OR ([t].[Level1_Required_Id] IS NULL) OR ([t].[OneToMany_Required_Inverse2Id] IS NULL) THEN NULL WHEN ([t0].[Level2_Required_Id] IS NULL) OR ([t0].[OneToMany_Required_Inverse3Id] IS NULL) THEN NULL ELSE [t1].[Level4_Name] -END = N'L4 01'"); +END = N'L4 01' +"""); } public override async Task Null_conditional_is_not_applied_explicitly_for_optional_navigation(bool async) @@ -586,14 +622,16 @@ public override async Task Null_conditional_is_not_applied_explicitly_for_option await base.Null_conditional_is_not_applied_explicitly_for_optional_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Required_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [t].[Level2_Name] = N'L2 01'"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [t].[Level2_Name] = N'L2 01' +"""); } public override async Task Multiple_conditionals_in_projection(bool async) @@ -601,7 +639,8 @@ public override async Task Multiple_conditionals_in_projection(bool async) await base.Multiple_conditionals_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END, [t0].[Level3_Name], CASE WHEN [l2].[Id] IS NULL THEN CAST(1 AS bit) @@ -623,7 +662,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[Level2_Optional_Id] LEFT JOIN [Level1] AS [l2] ON [t].[Level1_Optional_Id] = [l2].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Multiple_joins_groupby_predicate(bool async) @@ -631,7 +671,8 @@ public override async Task Multiple_joins_groupby_predicate(bool async) await base.Multiple_joins_groupby_predicate(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], CASE +""" +SELECT [l].[Id], [l].[Name], CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NULL) OR ([t0].[Level1_Required_Id] IS NULL) OR ([t0].[OneToMany_Required_Inverse2Id] IS NULL) THEN N'Foo' ELSE N'Bar' END AS [Foo] @@ -670,7 +711,8 @@ FROM [Level1] AS [l4] WHERE ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t3].[Level2_Required_Id] IS NOT NULL) AND ([t3].[OneToMany_Required_Inverse3Id] IS NOT NULL) GROUP BY [t3].[Level3_Name] ) AS [t1] ON [l].[Name] = [t1].[Key] -WHERE ([t0].[Level2_Name] IS NOT NULL) OR [t1].[Count] > 0"); +WHERE ([t0].[Level2_Name] IS NOT NULL) OR [t1].[Count] > 0 +"""); } public override async Task Nested_object_constructed_from_group_key_properties(bool async) @@ -678,7 +720,8 @@ public override async Task Nested_object_constructed_from_group_key_properties(b await base.Nested_object_constructed_from_group_key_properties(async); AssertSql( - @"SELECT [t1].[Id], [t1].[Name], [t1].[Date], [t1].[InnerId] AS [Id], [t1].[Level2_Name0] AS [Name], [t1].[OneToOne_Required_PK_Date] AS [Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], COALESCE(SUM(CAST(LEN([t1].[Name]) AS int)), 0) AS [Aggregate] +""" +SELECT [t1].[Id], [t1].[Name], [t1].[Date], [t1].[InnerId] AS [Id], [t1].[Level2_Name0] AS [Name], [t1].[OneToOne_Required_PK_Date] AS [Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], COALESCE(SUM(CAST(LEN([t1].[Name]) AS int)), 0) AS [Aggregate] FROM ( SELECT [l].[Id], [l].[Date], [l].[Name], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t0].[Level2_Name] AS [Level2_Name0], CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] @@ -696,7 +739,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON [l].[Id] = [t0].[Level1_Required_Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] -GROUP BY [t1].[Id], [t1].[Date], [t1].[Name], [t1].[InnerId], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name0]"); +GROUP BY [t1].[Id], [t1].[Date], [t1].[Name], [t1].[InnerId], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name0] +"""); } public override async Task Contains_over_optional_navigation_with_null_parameter(bool async) @@ -704,7 +748,8 @@ public override async Task Contains_over_optional_navigation_with_null_parameter await base.Contains_over_optional_navigation_with_null_parameter(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Level1] AS [l] @@ -717,7 +762,8 @@ WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Member_over_null_check_ternary_and_nested_dto_type(bool async) @@ -725,7 +771,8 @@ public override async Task Member_over_null_check_ternary_and_nested_dto_type(bo await base.Member_over_null_check_ternary_and_nested_dto_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], CASE +""" +SELECT [l].[Id], [l].[Name], CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NULL) OR ([t].[Level1_Required_Id] IS NULL) OR ([t].[OneToMany_Required_Inverse2Id] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, CASE @@ -737,7 +784,8 @@ LEFT JOIN ( FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -ORDER BY [t].[Level2_Name], [l].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id] +"""); } public override async Task Select_with_joined_where_clause_cast_using_as(bool async) @@ -745,7 +793,8 @@ public override async Task Select_with_joined_where_clause_cast_using_as(bool as await base.Select_with_joined_where_clause_cast_using_as(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -754,7 +803,8 @@ FROM [Level1] AS [l0] ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] WHERE [l].[Id] = CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END"); +END +"""); } public override async Task Composite_key_join_on_groupby_aggregate_projecting_only_grouping_key(bool async) @@ -762,7 +812,8 @@ public override async Task Composite_key_join_on_groupby_aggregate_projecting_on await base.Composite_key_join_on_groupby_aggregate_projecting_only_grouping_key(async); AssertSql( - @"SELECT [t1].[Key] +""" +SELECT [t1].[Key] FROM [Level1] AS [l] INNER JOIN ( SELECT [t0].[Key], ( @@ -809,7 +860,8 @@ GROUP BY [t0].[Key] ) AS [t1] ON [l].[Id] = [t1].[Key] AND CAST(1 AS bit) = CASE WHEN [t1].[Sum] > 10 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Contains_over_optional_navigation_with_null_entity_reference(bool async) @@ -817,7 +869,8 @@ public override async Task Contains_over_optional_navigation_with_null_entity_re await base.Contains_over_optional_navigation_with_null_entity_reference(async); AssertSql( - @"SELECT [l].[Name], [t].[Level2_Name] AS [OptionalName], CASE +""" +SELECT [l].[Name], [t].[Level2_Name] AS [OptionalName], CASE WHEN EXISTS ( SELECT 1 FROM [Level1] AS [l2] @@ -847,7 +900,8 @@ LEFT JOIN ( SELECT [l1].[Id], [l1].[OneToOne_Required_PK_Date], [l1].[Level1_Required_Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[OneToOne_Optional_PK_Inverse2Id]"); +) AS [t0] ON [l].[Id] = [t0].[OneToOne_Optional_PK_Inverse2Id] +"""); } [ConditionalTheory(Skip = "Issue #26104")] @@ -856,7 +910,8 @@ public override async Task GroupBy_aggregate_where_required_relationship_2(bool await base.GroupBy_aggregate_where_required_relationship_2(async); AssertSql( - @"SELECT [l2].[Id] AS [Key], MAX(CASE +""" +SELECT [l2].[Id] AS [Key], MAX(CASE WHEN [t0].[OneToOne_Required_PK_Date] IS NOT NULL AND [t0].[Level1_Required_Id] IS NOT NULL AND [t0].[OneToMany_Required_Inverse2Id] IS NOT NULL THEN [t0].[Id] END) AS [Max] FROM [Level1] AS [l] @@ -883,7 +938,8 @@ HAVING MAX(CASE WHEN [t0].[OneToOne_Required_PK_Date] IS NOT NULL AND [t0].[Level1_Required_Id] IS NOT NULL AND [t0].[OneToMany_Required_Inverse2Id] IS NOT NULL THEN [t0].[Id] END) < 2 OR MAX(CASE WHEN [t0].[OneToOne_Required_PK_Date] IS NOT NULL AND [t0].[Level1_Required_Id] IS NOT NULL AND [t0].[OneToMany_Required_Inverse2Id] IS NOT NULL THEN [t0].[Id] -END) > 2"); +END) > 2 +"""); } public override async Task Including_reference_navigation_and_projecting_collection_navigation_2(bool async) @@ -891,7 +947,8 @@ public override async Task Including_reference_navigation_and_projecting_collect await base.Including_reference_navigation_and_projecting_collection_navigation_2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -914,7 +971,8 @@ FROM [Level1] AS [l2] ) AS [t2] WHERE [t2].[row] <= 1 ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Union_over_entities_with_different_nullability(bool async) @@ -922,7 +980,8 @@ public override async Task Union_over_entities_with_different_nullability(bool a await base.Union_over_entities_with_different_nullability(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Name], [t].[Id] AS [Id0], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -947,7 +1006,8 @@ FROM [Level1] AS [l4] WHEN ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t2].[Id] END LEFT JOIN [Level1] AS [l3] ON [t2].[Level1_Optional_Id] = [l3].[Id] -WHERE ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l3].[Id] IS NULL)"); +WHERE ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l3].[Id] IS NULL) +"""); } public override async Task Distinct_skip_without_orderby(bool async) @@ -955,7 +1015,8 @@ public override async Task Distinct_skip_without_orderby(bool async) await base.Distinct_skip_without_orderby(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t2].[Level3_Name] FROM ( SELECT [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] @@ -987,7 +1048,8 @@ ORDER BY CASE WHEN ([t2].[Level2_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t2].[Id] END) FROM [Level1] AS [l] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } [ConditionalTheory(Skip = "Issue #26104")] @@ -996,7 +1058,8 @@ public override async Task GroupBy_aggregate_where_required_relationship(bool as await base.GroupBy_aggregate_where_required_relationship(async); AssertSql( - @"SELECT [l2].[Id] AS [Key], MAX(CASE +""" +SELECT [l2].[Id] AS [Key], MAX(CASE WHEN [t0].[OneToOne_Required_PK_Date] IS NOT NULL AND [t0].[Level1_Required_Id] IS NOT NULL AND [t0].[OneToMany_Required_Inverse2Id] IS NOT NULL THEN [t0].[Id] END) AS [Max] FROM [Level1] AS [l] @@ -1023,7 +1086,8 @@ HAVING MAX(CASE WHEN [t0].[OneToOne_Required_PK_Date] IS NOT NULL AND [t0].[Level1_Required_Id] IS NOT NULL AND [t0].[OneToMany_Required_Inverse2Id] IS NOT NULL THEN [t0].[Id] END) <> 2 OR MAX(CASE WHEN [t0].[OneToOne_Required_PK_Date] IS NOT NULL AND [t0].[Level1_Required_Id] IS NOT NULL AND [t0].[OneToMany_Required_Inverse2Id] IS NOT NULL THEN [t0].[Id] -END) IS NULL"); +END) IS NULL +"""); } public override async Task Contains_over_optional_navigation_with_null_column(bool async) @@ -1031,7 +1095,8 @@ public override async Task Contains_over_optional_navigation_with_null_column(bo await base.Contains_over_optional_navigation_with_null_column(async); AssertSql( - @"SELECT [l].[Name], [t].[Level2_Name] AS [OptionalName], CASE +""" +SELECT [l].[Name], [t].[Level2_Name] AS [OptionalName], CASE WHEN EXISTS ( SELECT 1 FROM [Level1] AS [l1] @@ -1048,7 +1113,8 @@ LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Collection_FirstOrDefault_property_accesses_in_projection(bool async) @@ -1056,12 +1122,14 @@ public override async Task Collection_FirstOrDefault_property_accesses_in_projec await base.Collection_FirstOrDefault_property_accesses_in_projection(async); AssertSql( - @"SELECT [l].[Id], ( +""" +SELECT [l].[Id], ( SELECT TOP(1) [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND [l0].[Level2_Name] = N'L2 02') AS [Pushdown] FROM [Level1] AS [l] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task SelectMany_with_outside_reference_to_joined_table_correctly_translated_to_apply(bool async) @@ -1069,7 +1137,8 @@ public override async Task SelectMany_with_outside_reference_to_joined_table_cor await base.SelectMany_with_outside_reference_to_joined_table_correctly_translated_to_apply(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] INNER JOIN ( SELECT [t].[Id] AS [Id0], [t].[OneToOne_Required_PK_Date], [t].[Level1_Required_Id], [t].[OneToMany_Required_Inverse2Id] @@ -1140,7 +1209,8 @@ FROM [Level1] AS [l8] END = [t4].[Level3_Required_Id] LEFT JOIN [Level1] AS [l9] ON CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] -END >= [l9].[Id] AND ([t4].[Level4_Name] = [l9].[Name] OR (([t4].[Level4_Name] IS NULL) AND ([l9].[Name] IS NULL)))"); +END >= [l9].[Id] AND ([t4].[Level4_Name] = [l9].[Name] OR (([t4].[Level4_Name] IS NULL) AND ([l9].[Name] IS NULL))) +"""); } public override async Task Contains_over_optional_navigation_with_null_constant(bool async) @@ -1148,7 +1218,8 @@ public override async Task Contains_over_optional_navigation_with_null_constant( await base.Contains_over_optional_navigation_with_null_constant(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Level1] AS [l] @@ -1161,7 +1232,8 @@ WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Join_navigation_self_ref(bool async) @@ -1299,14 +1371,16 @@ public override async Task SelectMany_with_navigation_filter_and_explicit_Defaul await base.SelectMany_with_navigation_filter_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task SelectMany_with_nested_navigation_and_explicit_DefaultIfEmpty(bool async) @@ -1314,7 +1388,8 @@ public override async Task SelectMany_with_nested_navigation_and_explicit_Defaul await base.SelectMany_with_nested_navigation_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1328,7 +1403,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -WHERE ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task SelectMany_with_nested_navigation_filter_and_explicit_DefaultIfEmpty(bool async) @@ -1336,7 +1412,8 @@ public override async Task SelectMany_with_nested_navigation_filter_and_explicit await base.SelectMany_with_nested_navigation_filter_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1350,7 +1427,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -WHERE ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Prune_does_not_throw_null_ref(bool async) @@ -1358,7 +1436,8 @@ public override async Task Prune_does_not_throw_null_ref(bool async) await base.Prune_does_not_throw_null_ref(async); AssertSql( - @"SELECT [t1].[Id], [t1].[Date], [t1].[Name] +""" +SELECT [t1].[Id], [t1].[Date], [t1].[Name] FROM ( SELECT NULL AS [empty] ) AS [e] @@ -1380,7 +1459,8 @@ CROSS APPLY ( SELECT [l1].[Id], [l1].[Date], [l1].[Name] FROM [Level1] AS [l1] WHERE [l1].[Id] <> COALESCE([t0].[Level1_Required_Id], 0) -) AS [t1]"); +) AS [t1] +"""); } public override async Task Projecting_columns_with_same_name_from_different_entities_making_sure_aliasing_works_after_Distinct( @@ -1389,7 +1469,8 @@ public override async Task Projecting_columns_with_same_name_from_different_enti await base.Projecting_columns_with_same_name_from_different_entities_making_sure_aliasing_works_after_Distinct(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t4].[Id1] AS [Foo], [t4].[Id2] AS [Bar], [t4].[Id3] AS [Baz] FROM ( @@ -1434,7 +1515,8 @@ FROM [Level1] AS [l4] ) AS [t1] ON CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END = [t1].[Level2_Optional_Id] -) AS [t4]"); +) AS [t4] +"""); } public override async Task Multiple_collection_FirstOrDefault_followed_by_member_access_in_projection(bool async) @@ -1442,7 +1524,8 @@ public override async Task Multiple_collection_FirstOrDefault_followed_by_member await base.Multiple_collection_FirstOrDefault_followed_by_member_access_in_projection(async); AssertSql( - @"SELECT [l].[Id], ( +""" +SELECT [l].[Id], ( SELECT TOP(1) [l0].[Level3_Name] FROM [Level1] AS [l0] WHERE ([l0].[Level2_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND (( @@ -1465,7 +1548,8 @@ ORDER BY CASE WHEN ([l0].[Level2_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [l0].[Id] END) AS [Pushdown] FROM [Level1] AS [l] -WHERE [l].[Id] < 2"); +WHERE [l].[Id] < 2 +"""); } public override async Task Collection_FirstOrDefault_entity_collection_accesses_in_projection(bool async) @@ -1473,7 +1557,8 @@ public override async Task Collection_FirstOrDefault_entity_collection_accesses_ await base.Collection_FirstOrDefault_entity_collection_accesses_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t0].[c] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Required_Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Optional_Inverse2Id] @@ -1492,7 +1577,8 @@ FROM [Level1] AS [l1] WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse3Id] WHERE [l].[Id] < 2 -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Collection_FirstOrDefault_entity_reference_accesses_in_projection(bool async) @@ -1500,7 +1586,8 @@ public override async Task Collection_FirstOrDefault_entity_reference_accesses_i await base.Collection_FirstOrDefault_entity_reference_accesses_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToMany_Optional_Inverse2Id] @@ -1518,7 +1605,8 @@ FROM [Level1] AS [l1] ) AS [t0] WHERE [t0].[row] <= 1 ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task SelectMany_without_collection_selector_returning_queryable(bool async) @@ -1526,7 +1614,8 @@ public override async Task SelectMany_without_collection_selector_returning_quer await base.SelectMany_without_collection_selector_returning_queryable(async); AssertSql( - @"SELECT [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] CROSS JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -1541,7 +1630,8 @@ FROM [Level1] AS [l1] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END < 10 -) AS [t0]"); +) AS [t0] +"""); } public override async Task Null_reference_protection_complex_materialization(bool async) @@ -1549,7 +1639,8 @@ public override async Task Null_reference_protection_complex_materialization(boo await base.Null_reference_protection_complex_materialization(async); AssertSql( - @"SELECT [t1].[Id00], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t1].[Id00], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1585,7 +1676,8 @@ FROM [Level1] AS [l4] ) AS [t1] ON [t0].[Level2_Required_Id] = CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id00] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany4( @@ -1594,7 +1686,8 @@ public override async Task SelectMany_with_nested_navigations_explicit_DefaultIf await base.SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany4(async); AssertSql( - @"SELECT [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t2].[Id0], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t2].[Id0], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1630,7 +1723,8 @@ FROM [Level1] AS [l4] WHEN ([t1].[Level3_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse4Id] IS NOT NULL) THEN [t1].[Id] END = CASE WHEN ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t2].[Id0] -END"); +END +"""); } public override async Task Select_join_with_key_selector_being_a_subquery(bool async) @@ -1638,7 +1732,8 @@ public override async Task Select_join_with_key_selector_being_a_subquery(bool a await base.Select_join_with_key_selector_being_a_subquery(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id0], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id0], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [t].[Id] AS [Id0], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -1666,7 +1761,8 @@ FROM [Level1] AS [l3] WHERE ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ORDER BY CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] - END), 0)"); + END), 0) +"""); } public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_with_orderby_on_inner_sequence_projecting_inner( @@ -1675,7 +1771,8 @@ public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_ await base.GroupJoin_on_a_subquery_containing_another_GroupJoin_with_orderby_on_inner_sequence_projecting_inner(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [l2].[Name] FROM ( @@ -1696,7 +1793,8 @@ FROM [Level1] AS [l1] ORDER BY [l].[Id] ) AS [t1] LEFT JOIN [Level1] AS [l2] ON [t1].[Level1_Optional_Id] = [l2].[Id] -ORDER BY [t1].[Id]"); +ORDER BY [t1].[Id] +"""); } public override async Task Null_reference_protection_complex(bool async) @@ -1704,7 +1802,8 @@ public override async Task Null_reference_protection_complex(bool async) await base.Null_reference_protection_complex(async); AssertSql( - @"SELECT [t1].[Level2_Name] +""" +SELECT [t1].[Level2_Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1740,7 +1839,8 @@ FROM [Level1] AS [l4] ) AS [t1] ON [t0].[Level2_Required_Id] = CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id00] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Contains_with_subquery_optional_navigation_and_constant_item(bool async) @@ -1748,7 +1848,8 @@ public override async Task Contains_with_subquery_optional_navigation_and_consta await base.Contains_with_subquery_optional_navigation_and_constant_item(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1770,7 +1871,8 @@ FROM [Level1] AS [l1] ) AS [t0] WHERE CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] - END = 1)"); + END = 1) +"""); } public override async Task Null_reference_protection_complex_client_eval(bool async) @@ -1778,7 +1880,8 @@ public override async Task Null_reference_protection_complex_client_eval(bool as await base.Null_reference_protection_complex_client_eval(async); AssertSql( - @"SELECT [t1].[Level2_Name] +""" +SELECT [t1].[Level2_Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1814,7 +1917,8 @@ FROM [Level1] AS [l4] ) AS [t1] ON [t0].[Level2_Required_Id] = CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id00] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Multiple_SelectMany_with_navigation_and_explicit_DefaultIfEmpty(bool async) @@ -1822,7 +1926,8 @@ public override async Task Multiple_SelectMany_with_navigation_and_explicit_Defa await base.Multiple_SelectMany_with_navigation_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1836,7 +1941,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -WHERE ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Contains_with_subquery_optional_navigation_scalar_distinct_and_constant_item(bool async) @@ -1844,7 +1950,8 @@ public override async Task Contains_with_subquery_optional_navigation_scalar_dis await base.Contains_with_subquery_optional_navigation_scalar_distinct_and_constant_item(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1860,7 +1967,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [l1].[OneToMany_Optional_Inverse3Id] OR ((CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] - END IS NULL) AND ([l1].[OneToMany_Optional_Inverse3Id] IS NULL))) AND CAST(LEN([l1].[Level3_Name]) AS int) = 1)"); + END IS NULL) AND ([l1].[OneToMany_Optional_Inverse3Id] IS NULL))) AND CAST(LEN([l1].[Level3_Name]) AS int) = 1) +"""); } public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened2(bool async) @@ -1868,7 +1976,8 @@ public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_g await base.GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END FROM [Level1] AS [l] @@ -1884,7 +1993,8 @@ FROM [Level1] AS [l2] END INNER JOIN [Level1] AS [l1] ON [t].[Level1_Required_Id] = [l1].[Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id]"); +) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] +"""); } public override async Task SelectMany_with_nested_required_navigation_filter_and_explicit_DefaultIfEmpty(bool async) @@ -1892,7 +2002,8 @@ public override async Task SelectMany_with_nested_required_navigation_filter_and await base.SelectMany_with_nested_required_navigation_filter_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1906,7 +2017,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Required_Inverse3Id] -WHERE ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Required_navigation_on_a_subquery_with_complex_projection_and_First(bool async) @@ -1914,7 +2026,8 @@ public override async Task Required_navigation_on_a_subquery_with_complex_projec await base.Required_navigation_on_a_subquery_with_complex_projection_and_First(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [l3].[Name] FROM [Level1] AS [l1] LEFT JOIN ( @@ -1940,7 +2053,8 @@ FROM [Level1] AS [l0] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = 7"); +END = 7 +"""); } public override async Task SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany3( @@ -1949,7 +2063,8 @@ public override async Task SelectMany_with_nested_navigations_explicit_DefaultIf await base.SelectMany_with_nested_navigations_explicit_DefaultIfEmpty_and_additional_joins_outside_of_SelectMany3(async); AssertSql( - @"SELECT [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t2].[Id0], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t2].[Id0], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -1985,7 +2100,8 @@ FROM [Level1] AS [l4] WHEN ([t1].[Level3_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse4Id] IS NOT NULL) THEN [t1].[Id] END = CASE WHEN ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t2].[Id0] -END"); +END +"""); } public override async Task Required_navigation_on_a_subquery_with_First_in_predicate(bool async) @@ -1993,7 +2109,8 @@ public override async Task Required_navigation_on_a_subquery_with_First_in_predi await base.Required_navigation_on_a_subquery_with_First_in_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2018,7 +2135,8 @@ FROM [Level1] AS [l3] WHERE ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ORDER BY CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] - END) = N'L1 02'"); + END) = N'L1 02' +"""); } public override async Task Manually_created_left_join_propagates_nullability_to_navigations(bool async) @@ -2026,7 +2144,8 @@ public override async Task Manually_created_left_join_propagates_nullability_to_ await base.Manually_created_left_join_propagates_nullability_to_navigations(async); AssertSql( - @"SELECT [l2].[Name] +""" +SELECT [l2].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Level1_Optional_Id], [t].[Level1_Required_Id] @@ -2041,7 +2160,8 @@ FROM [Level1] AS [l1] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] LEFT JOIN [Level1] AS [l2] ON [t0].[Level1_Required_Id] = [l2].[Id] -WHERE [l2].[Name] <> N'L3 02' OR ([l2].[Name] IS NULL)"); +WHERE [l2].[Name] <> N'L3 02' OR ([l2].[Name] IS NULL) +"""); } public override async Task @@ -2053,7 +2173,8 @@ await base async); AssertSql( - @"SELECT [l3].[Id], [l3].[Date], [l3].[Name] +""" +SELECT [l3].[Id], [l3].[Date], [l3].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -2076,7 +2197,8 @@ FROM [Level1] AS [l2] END LEFT JOIN [Level1] AS [l3] ON CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] -END = [l3].[Id]"); +END = [l3].[Id] +"""); } public override async Task Optional_navigation_propagates_nullability_to_manually_created_left_join1(bool async) @@ -2084,7 +2206,8 @@ public override async Task Optional_navigation_propagates_nullability_to_manuall await base.Optional_navigation_propagates_nullability_to_manually_created_left_join1(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END AS [Id1], CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] @@ -2108,7 +2231,8 @@ FROM [Level1] AS [l2] WHERE ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [t].[Level1_Required_Id] = CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] -END"); +END +"""); } public override async Task GroupJoin_on_left_side_being_a_subquery(bool async) @@ -2116,7 +2240,8 @@ public override async Task GroupJoin_on_left_side_being_a_subquery(bool async) await base.GroupJoin_on_left_side_being_a_subquery(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) [l].[Id], [t].[Level2_Name] AS [Brand] FROM [Level1] AS [l] @@ -2125,7 +2250,8 @@ LEFT JOIN ( FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -ORDER BY [t].[Level2_Name], [l].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id] +"""); } public override async Task @@ -2137,7 +2263,8 @@ await base async); AssertSql( - @"SELECT [l7].[Id], [l7].[Date], [l7].[Name] +""" +SELECT [l7].[Id], [l7].[Date], [l7].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -2195,7 +2322,8 @@ FROM [Level1] AS [l6] LEFT JOIN [Level1] AS [l7] ON CASE WHEN ([t5].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t5].[Level1_Required_Id] IS NOT NULL) AND ([t5].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t5].[Id] END = [l7].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t1].[Level3_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse4Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t1].[Level3_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse4Id] IS NOT NULL) +"""); } public override async Task Required_navigation_on_a_subquery_with_First_in_projection(bool async) @@ -2203,7 +2331,8 @@ public override async Task Required_navigation_on_a_subquery_with_First_in_proje await base.Required_navigation_on_a_subquery_with_First_in_projection(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [l2].[Name] FROM [Level1] AS [l1] LEFT JOIN ( @@ -2228,7 +2357,8 @@ FROM [Level1] AS [l0] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = 7"); +END = 7 +"""); } public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened(bool async) @@ -2236,7 +2366,8 @@ public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_g await base.GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END FROM [Level1] AS [l] @@ -2252,7 +2383,8 @@ FROM [Level1] AS [l2] END INNER JOIN [Level1] AS [l1] ON [t].[Level1_Required_Id] = [l1].[Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id]"); +) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] +"""); } public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened3(bool async) @@ -2260,7 +2392,8 @@ public override async Task GroupJoin_with_complex_subquery_with_joins_does_not_g await base.GroupJoin_with_complex_subquery_with_joins_does_not_get_flattened3(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END FROM [Level1] AS [l] @@ -2276,7 +2409,8 @@ FROM [Level1] AS [l2] END LEFT JOIN [Level1] AS [l1] ON [t].[Level1_Required_Id] = [l1].[Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[Level1_Required_Id]"); +) AS [t0] ON [l].[Id] = [t0].[Level1_Required_Id] +"""); } public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_inner(bool async) @@ -2284,7 +2418,8 @@ public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_ await base.GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_inner(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [l2].[Name] FROM ( @@ -2305,7 +2440,8 @@ FROM [Level1] AS [l1] ORDER BY [l].[Id] ) AS [t1] LEFT JOIN [Level1] AS [l2] ON [t1].[Level1_Optional_Id] = [l2].[Id] -ORDER BY [t1].[Id]"); +ORDER BY [t1].[Id] +"""); } public override async Task SelectMany_with_navigation_filter_paging_and_explicit_DefaultIfEmpty(bool async) @@ -2313,7 +2449,8 @@ public override async Task SelectMany_with_navigation_filter_paging_and_explicit await base.SelectMany_with_navigation_filter_paging_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[OneToOne_Required_PK_Date], [t].[Level1_Required_Id], [t].[OneToMany_Required_Inverse2Id] @@ -2326,7 +2463,8 @@ FROM [Level1] AS [l0] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Required_Inverse2Id] -WHERE ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Select_join_subquery_containing_filter_and_distinct(bool async) @@ -2334,7 +2472,8 @@ public override async Task Select_join_subquery_containing_filter_and_distinct(b await base.Select_join_subquery_containing_filter_and_distinct(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] INNER JOIN ( SELECT DISTINCT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -2349,7 +2488,8 @@ FROM [Level1] AS [l1] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END > 2 -) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id]"); +) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] +"""); } public override async Task Optional_navigation_propagates_nullability_to_manually_created_left_join2(bool async) @@ -2357,7 +2497,8 @@ public override async Task Optional_navigation_propagates_nullability_to_manuall await base.Optional_navigation_propagates_nullability_to_manually_created_left_join2(async); AssertSql( - @"SELECT [t0].[Level3_Name] AS [Name1], [t1].[Level2_Name] AS [Name2] +""" +SELECT [t0].[Level3_Name] AS [Name1], [t1].[Level2_Name] AS [Name2] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -2386,7 +2527,8 @@ FROM [Level1] AS [l3] ) AS [t1] ON [t0].[Level2_Required_Id] = CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id0] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_outer(bool async) @@ -2394,7 +2536,8 @@ public override async Task GroupJoin_on_a_subquery_containing_another_GroupJoin_ await base.GroupJoin_on_a_subquery_containing_another_GroupJoin_projecting_outer(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t2].[Level2_Name] FROM ( @@ -2426,7 +2569,8 @@ FROM [Level1] AS [l3] END WHERE ([t3].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t3].[Level1_Required_Id] IS NOT NULL) AND ([t3].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t1].[Id] = [t2].[Level1_Optional_Id] -ORDER BY [t1].[Id]"); +ORDER BY [t1].[Id] +"""); } public override async Task Where_multiple_nav_prop_optional_required(bool async) @@ -2434,7 +2578,8 @@ public override async Task Where_multiple_nav_prop_optional_required(bool async) await base.Where_multiple_nav_prop_optional_required(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -2448,7 +2593,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[Level2_Required_Id] -WHERE [t0].[Level3_Name] <> N'L3 05' OR ([t0].[Level3_Name] IS NULL)"); +WHERE [t0].[Level3_Name] <> N'L3 05' OR ([t0].[Level3_Name] IS NULL) +"""); } public override async Task Join_navigation_non_key_join(bool async) @@ -2456,7 +2602,8 @@ public override async Task Join_navigation_non_key_join(bool async) await base.Join_navigation_non_key_join(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END AS [Id2], [t].[Level2_Name] AS [Name2], [t0].[Id] AS [Id1], [t0].[Name] AS [Name1] FROM [Level1] AS [l] @@ -2476,7 +2623,8 @@ FROM [Level1] AS [l2] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l1].[Id] = [t1].[Level1_Optional_Id] ) AS [t0] ON [t].[Level2_Name] = [t0].[Level2_Name] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Select_nav_prop_reference_optional3(bool async) @@ -2484,7 +2632,8 @@ public override async Task Select_nav_prop_reference_optional3(bool async) await base.Select_nav_prop_reference_optional3(async); AssertSql( - @"SELECT [l1].[Name] +""" +SELECT [l1].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -2494,7 +2643,8 @@ FROM [Level1] AS [l0] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END LEFT JOIN [Level1] AS [l1] ON [t].[Level1_Optional_Id] = [l1].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Include11(bool async) @@ -2502,7 +2652,8 @@ public override async Task Include11(bool async) await base.Include11(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t4].[Id], [t4].[Level3_Optional_Id], [t4].[Level3_Required_Id], [t4].[Level4_Name], [t4].[OneToMany_Optional_Inverse4Id], [t4].[OneToMany_Required_Inverse4Id], [t4].[OneToOne_Optional_PK_Inverse4Id], [t5].[Id], [t5].[Level3_Optional_Id], [t5].[Level3_Required_Id], [t5].[Level4_Name], [t5].[OneToMany_Optional_Inverse4Id], [t5].[OneToMany_Required_Inverse4Id], [t5].[OneToOne_Optional_PK_Inverse4Id], [t6].[Id], [t6].[Level2_Optional_Id], [t6].[Level2_Required_Id], [t6].[Level3_Name], [t6].[OneToMany_Optional_Inverse3Id], [t6].[OneToMany_Required_Inverse3Id], [t6].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t3].[Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t4].[Id], [t4].[Level3_Optional_Id], [t4].[Level3_Required_Id], [t4].[Level4_Name], [t4].[OneToMany_Optional_Inverse4Id], [t4].[OneToMany_Required_Inverse4Id], [t4].[OneToOne_Optional_PK_Inverse4Id], [t5].[Id], [t5].[Level3_Optional_Id], [t5].[Level3_Required_Id], [t5].[Level4_Name], [t5].[OneToMany_Optional_Inverse4Id], [t5].[OneToMany_Required_Inverse4Id], [t5].[OneToOne_Optional_PK_Inverse4Id], [t6].[Id], [t6].[Level2_Optional_Id], [t6].[Level2_Required_Id], [t6].[Level3_Name], [t6].[OneToMany_Optional_Inverse3Id], [t6].[OneToMany_Required_Inverse3Id], [t6].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2555,7 +2706,8 @@ FROM [Level1] AS [l7] WHERE ([l7].[Level2_Required_Id] IS NOT NULL) AND ([l7].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t6] ON CASE WHEN ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t2].[Id] -END = [t6].[OneToOne_Optional_PK_Inverse3Id]"); +END = [t6].[OneToOne_Optional_PK_Inverse3Id] +"""); } public override async Task Include18_3_3(bool async) @@ -2563,7 +2715,8 @@ public override async Task Include18_3_3(bool async) await base.Include18_3_3(async); AssertSql( - @"SELECT [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id] FROM ( SELECT DISTINCT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] @@ -2579,7 +2732,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t1] ON CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] -END = [t1].[Level2_Optional_Id]"); +END = [t1].[Level2_Optional_Id] +"""); } public override async Task @@ -2591,7 +2745,8 @@ await base async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [t].[Id], [t].[DifferentTypeReference_InheritanceDerived2Id], [t].[InheritanceDerived2Id], [t].[Name], [t].[Id0], [t].[InheritanceLeaf2Id], [t].[Name0] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [t].[Id], [t].[DifferentTypeReference_InheritanceDerived2Id], [t].[InheritanceDerived2Id], [t].[Name], [t].[Id0], [t].[InheritanceLeaf2Id], [t].[Name0] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[DifferentTypeCollection_InheritanceDerived1Id] LEFT JOIN ( @@ -2599,7 +2754,8 @@ LEFT JOIN ( FROM [InheritanceLeafTwo] AS [i1] LEFT JOIN [InheritanceTwo] AS [i2] ON [i1].[Id] = [i2].[InheritanceLeaf2Id] ) AS [t] ON [i].[Id] = [t].[InheritanceDerived2Id] -ORDER BY [i].[Id], [i0].[Id], [t].[Id]"); +ORDER BY [i].[Id], [i0].[Id], [t].[Id] +"""); } public override async Task Join_navigation_nested(bool async) @@ -2607,7 +2763,8 @@ public override async Task Join_navigation_nested(bool async) await base.Join_navigation_nested(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END AS [Id3], [t1].[Id] AS [Id1] FROM [Level1] AS [l] @@ -2647,7 +2804,8 @@ FROM [Level1] AS [l4] END = CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id1] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Projection_select_correct_table_from_subquery_when_materialization_is_not_required(bool async) @@ -2655,7 +2813,8 @@ public override async Task Projection_select_correct_table_from_subquery_when_ma await base.Projection_select_correct_table_from_subquery_when_materialization_is_not_required(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT TOP(@__p_0) [t].[Level2_Name] FROM [Level1] AS [l] @@ -2670,7 +2829,8 @@ FROM [Level1] AS [l0] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Name] = N'L1 03' ORDER BY CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END"); +END +"""); } public override async Task Projection_select_correct_table_with_anonymous_projection_in_subquery(bool async) @@ -2678,7 +2838,8 @@ public override async Task Projection_select_correct_table_with_anonymous_projec await base.Projection_select_correct_table_with_anonymous_projection_in_subquery(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT TOP(@__p_0) [t].[Level2_Name] FROM [Level1] AS [l] @@ -2712,7 +2873,8 @@ FROM [Level1] AS [l4] WHERE ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t2].[Level2_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t1] ON [l1].[Id] = [t1].[Level2_Required_Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Name] = N'L1 03' AND [t1].[Level3_Name] = N'L3 08' -ORDER BY [l1].[Id]"); +ORDER BY [l1].[Id] +"""); } public override async Task Include14(bool async) @@ -2720,7 +2882,8 @@ public override async Task Include14(bool async) await base.Include14(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2738,7 +2901,8 @@ FROM [Level1] AS [l2] WHERE ([l2].[Level2_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t1] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t1].[Level2_Optional_Id]"); +END = [t1].[Level2_Optional_Id] +"""); } public override async Task Key_equality_using_property_method_nested2(bool async) @@ -2746,7 +2910,8 @@ public override async Task Key_equality_using_property_method_nested2(bool async await base.Key_equality_using_property_method_nested2(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2756,7 +2921,8 @@ FROM [Level1] AS [l0] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END LEFT JOIN [Level1] AS [l1] ON [t].[Level1_Required_Id] = [l1].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] = 7"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] = 7 +"""); } public override async Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access_subquery(bool async) @@ -2764,7 +2930,8 @@ public override async Task Order_by_key_of_projected_navigation_doesnt_get_optim await base.Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access_subquery(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [l3].[Name] FROM ( @@ -2801,7 +2968,8 @@ ORDER BY CASE END ) AS [t2] LEFT JOIN [Level1] AS [l3] ON [t2].[Level1_Required_Id0] = [l3].[Id] -ORDER BY [t2].[c]"); +ORDER BY [t2].[c] +"""); } public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse1(bool async) @@ -2809,7 +2977,8 @@ public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse await base.Where_complex_predicate_with_with_nav_prop_and_OrElse1(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], CASE +""" +SELECT [l].[Id] AS [Id1], CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END AS [Id2] FROM [Level1] AS [l] @@ -2831,7 +3000,8 @@ FROM [Level1] AS [l2] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[Level1_Optional_Id] LEFT JOIN [Level1] AS [l3] ON [t0].[Level1_Required_Id] = [l3].[Id] -WHERE [t1].[Level2_Name] = N'L2 01' OR [l3].[Name] <> N'Bar' OR ([l3].[Name] IS NULL)"); +WHERE [t1].[Level2_Name] = N'L2 01' OR [l3].[Name] <> N'Bar' OR ([l3].[Name] IS NULL) +"""); } public override async Task OrderBy_nav_prop_reference_optional(bool async) @@ -2839,14 +3009,16 @@ public override async Task OrderBy_nav_prop_reference_optional(bool async) await base.OrderBy_nav_prop_reference_optional(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -ORDER BY [t].[Level2_Name], [l].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id] +"""); } public override async Task Include18(bool async) @@ -2854,7 +3026,8 @@ public override async Task Include18(bool async) await base.Include18(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM ( @@ -2872,7 +3045,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [t].[Id] = [t1].[Level1_Optional_Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task String_include_multiple_derived_navigation_with_same_name_and_different_type(bool async) @@ -2880,10 +3054,12 @@ public override async Task String_include_multiple_derived_navigation_with_same_ await base.String_include_multiple_derived_navigation_with_same_name_and_different_type(async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[DifferentTypeReference_InheritanceDerived1Id] -LEFT JOIN [InheritanceLeafTwo] AS [i1] ON [i].[Id] = [i1].[DifferentTypeReference_InheritanceDerived2Id]"); +LEFT JOIN [InheritanceLeafTwo] AS [i1] ON [i].[Id] = [i1].[DifferentTypeReference_InheritanceDerived2Id] +"""); } public override async Task Include3(bool async) @@ -2891,7 +3067,8 @@ public override async Task Include3(bool async) await base.Include3(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -2902,7 +3079,8 @@ LEFT JOIN ( SELECT [l1].[Id], [l1].[OneToOne_Required_PK_Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Level2_Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[OneToOne_Optional_PK_Inverse2Id]"); +) AS [t0] ON [l].[Id] = [t0].[OneToOne_Optional_PK_Inverse2Id] +"""); } public override async Task Join_navigation_key_access_optional(bool async) @@ -2910,7 +3088,8 @@ public override async Task Join_navigation_key_access_optional(bool async) await base.Join_navigation_key_access_optional(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], CASE +""" +SELECT [l].[Id] AS [Id1], CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END AS [Id2] FROM [Level1] AS [l] @@ -2926,7 +3105,8 @@ FROM [Level1] AS [l2] END LEFT JOIN [Level1] AS [l1] ON [t].[Level1_Optional_Id] = [l1].[Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[Id1]"); +) AS [t0] ON [l].[Id] = [t0].[Id1] +"""); } public override async Task Optional_navigation_inside_method_call_translated_to_join(bool async) @@ -2934,14 +3114,16 @@ public override async Task Optional_navigation_inside_method_call_translated_to_ await base.Optional_navigation_inside_method_call_translated_to_join(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE ([t].[Level2_Name] IS NOT NULL) AND ([t].[Level2_Name] LIKE N'L%')"); +WHERE ([t].[Level2_Name] IS NOT NULL) AND ([t].[Level2_Name] LIKE N'L%') +"""); } public override async Task Multi_level_navigation_with_same_navigation_compared_to_null(bool async) @@ -2949,7 +3131,8 @@ public override async Task Multi_level_navigation_with_same_navigation_compared_ await base.Multi_level_navigation_with_same_navigation_compared_to_null(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END FROM [Level1] AS [l] @@ -2977,7 +3160,8 @@ FROM [Level1] AS [l2] WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] END LEFT JOIN [Level1] AS [l3] ON [t1].[Level1_Required_Id] = [l3].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([l3].[Name] <> N'L1 07' OR ([l3].[Name] IS NULL)) AND ([l3].[Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([l3].[Name] <> N'L1 07' OR ([l3].[Name] IS NULL)) AND ([l3].[Id] IS NOT NULL) +"""); } public override async Task Multi_level_navigation_compared_to_null(bool async) @@ -2985,7 +3169,8 @@ public override async Task Multi_level_navigation_compared_to_null(bool async) await base.Multi_level_navigation_compared_to_null(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END FROM [Level1] AS [l] @@ -3013,7 +3198,8 @@ FROM [Level1] AS [l2] WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] END LEFT JOIN [Level1] AS [l3] ON [t1].[Level1_Required_Id] = [l3].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([l3].[Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([l3].[Id] IS NOT NULL) +"""); } public override async Task Where_multiple_nav_prop_reference_optional_compared_to_null1(bool async) @@ -3021,7 +3207,8 @@ public override async Task Where_multiple_nav_prop_reference_optional_compared_t await base.Where_multiple_nav_prop_reference_optional_compared_to_null1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -3035,7 +3222,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[Level2_Optional_Id] -WHERE ([t0].[Level2_Required_Id] IS NULL) OR ([t0].[OneToMany_Required_Inverse3Id] IS NULL)"); +WHERE ([t0].[Level2_Required_Id] IS NULL) OR ([t0].[OneToMany_Required_Inverse3Id] IS NULL) +"""); } public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse3(bool async) @@ -3043,7 +3231,8 @@ public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse await base.Where_complex_predicate_with_with_nav_prop_and_OrElse3(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] @@ -3062,7 +3251,8 @@ FROM [Level1] AS [l2] ) AS [t1] ON CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[Level2_Optional_Id] -WHERE [t].[Level2_Name] <> N'L2 05' OR ([t].[Level2_Name] IS NULL) OR [t1].[Level3_Name] = N'L3 05'"); +WHERE [t].[Level2_Name] <> N'L2 05' OR ([t].[Level2_Name] IS NULL) OR [t1].[Level3_Name] = N'L3 05' +"""); } public override async Task Include2(bool async) @@ -3070,13 +3260,15 @@ public override async Task Include2(bool async) await base.Include2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Join_navigation_in_inner_selector(bool async) @@ -3084,7 +3276,8 @@ public override async Task Join_navigation_in_inner_selector(bool async) await base.Join_navigation_in_inner_selector(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END AS [Id2], [t0].[Id] AS [Id1] FROM [Level1] AS [l] @@ -3108,7 +3301,8 @@ FROM [Level1] AS [l2] END = CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Select_nav_prop_reference_optional1(bool async) @@ -3116,13 +3310,15 @@ public override async Task Select_nav_prop_reference_optional1(bool async) await base.Select_nav_prop_reference_optional1(async); AssertSql( - @"SELECT [t].[Level2_Name] +""" +SELECT [t].[Level2_Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task SelectMany_navigation_comparison3(bool async) @@ -3130,7 +3326,8 @@ public override async Task SelectMany_navigation_comparison3(bool async) await base.SelectMany_navigation_comparison3(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], CASE +""" +SELECT [l].[Id] AS [Id1], CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END AS [Id2] FROM [Level1] AS [l] @@ -3159,7 +3356,8 @@ END OR ((CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] END IS NULL) AND (CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] -END IS NULL))"); +END IS NULL)) +"""); } public override async Task Select_multiple_nav_prop_reference_required2(bool async) @@ -3167,7 +3365,8 @@ public override async Task Select_multiple_nav_prop_reference_required2(bool asy await base.Select_multiple_nav_prop_reference_required2(async); AssertSql( - @"SELECT [l3].[Id] +""" +SELECT [l3].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -3193,7 +3392,8 @@ FROM [Level1] AS [l2] WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] END LEFT JOIN [Level1] AS [l3] ON [t1].[Level1_Required_Id] = [l3].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Include12(bool async) @@ -3201,7 +3401,8 @@ public override async Task Include12(bool async) await base.Include12(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3214,7 +3415,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[Level2_Optional_Id]"); +END = [t0].[Level2_Optional_Id] +"""); } public override async Task Join_navigation_in_outer_selector_translated_to_extra_join(bool async) @@ -3222,7 +3424,8 @@ public override async Task Join_navigation_in_outer_selector_translated_to_extra await base.Join_navigation_in_outer_selector_translated_to_extra_join(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], CASE +""" +SELECT [l].[Id] AS [Id1], CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END AS [Id2] FROM [Level1] AS [l] @@ -3246,7 +3449,8 @@ FROM [Level1] AS [l2] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] -END"); +END +"""); } public override async Task Where_multiple_nav_prop_reference_optional_member_compared_to_value(bool async) @@ -3254,7 +3458,8 @@ public override async Task Where_multiple_nav_prop_reference_optional_member_com await base.Where_multiple_nav_prop_reference_optional_member_compared_to_value(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -3268,7 +3473,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[Level2_Optional_Id] -WHERE [t0].[Level3_Name] <> N'L3 05' OR ([t0].[Level3_Name] IS NULL)"); +WHERE [t0].[Level3_Name] <> N'L3 05' OR ([t0].[Level3_Name] IS NULL) +"""); } public override async Task Result_operator_nav_prop_reference_optional_Sum(bool async) @@ -3276,13 +3482,15 @@ public override async Task Result_operator_nav_prop_reference_optional_Sum(bool await base.Result_operator_nav_prop_reference_optional_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([t].[Level1_Required_Id]), 0) +""" +SELECT COALESCE(SUM([t].[Level1_Required_Id]), 0) FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Key_equality_using_property_method_nested(bool async) @@ -3290,7 +3498,8 @@ public override async Task Key_equality_using_property_method_nested(bool async) await base.Key_equality_using_property_method_nested(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -3299,7 +3508,8 @@ FROM [Level1] AS [l0] ) AS [t] ON [l].[Id] = [t].[Level1_Required_Id] WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = 7"); +END = 7 +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_projection4(bool async) @@ -3307,7 +3517,8 @@ public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_project await base.Explicit_GroupJoin_in_subquery_with_unrelated_projection4(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' SELECT TOP(@__p_0) [t1].[Id] FROM ( @@ -3327,7 +3538,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] WHERE [t0].[Level2_Name] <> N'Foo' OR ([t0].[Level2_Name] IS NULL) ) AS [t1] -ORDER BY [t1].[Id]"); +ORDER BY [t1].[Id] +"""); } public override async Task SelectMany_with_string_based_Include1(bool async) @@ -3335,7 +3547,8 @@ public override async Task SelectMany_with_string_based_Include1(bool async) await base.SelectMany_with_string_based_Include1(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3348,7 +3561,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[Level2_Required_Id]"); +END = [t0].[Level2_Required_Id] +"""); } public override async Task SelectMany_nested_navigation_property_required(bool async) @@ -3356,7 +3570,8 @@ public override async Task SelectMany_nested_navigation_property_required(bool a await base.SelectMany_nested_navigation_property_required(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -3369,7 +3584,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[OneToMany_Optional_Inverse3Id]"); +END = [t0].[OneToMany_Optional_Inverse3Id] +"""); } public override async Task Key_equality_using_property_method_required(bool async) @@ -3377,7 +3593,8 @@ public override async Task Key_equality_using_property_method_required(bool asyn await base.Key_equality_using_property_method_required(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -3386,7 +3603,8 @@ FROM [Level1] AS [l0] ) AS [t] ON [l].[Id] = [t].[Level1_Required_Id] WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END > 7"); +END > 7 +"""); } public override async Task Optional_navigation_inside_method_call_translated_to_join_keeps_original_nullability(bool async) @@ -3394,14 +3612,16 @@ public override async Task Optional_navigation_inside_method_call_translated_to_ await base.Optional_navigation_inside_method_call_translated_to_join_keeps_original_nullability(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE DATEADD(day, CAST(10.0E0 AS int), [t].[OneToOne_Required_PK_Date]) > '2000-02-01T00:00:00.0000000'"); +WHERE DATEADD(day, CAST(10.0E0 AS int), [t].[OneToOne_Required_PK_Date]) > '2000-02-01T00:00:00.0000000' +"""); } public override async Task Include4(bool async) @@ -3409,7 +3629,8 @@ public override async Task Include4(bool async) await base.Include4(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3422,7 +3643,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[OneToOne_Optional_PK_Inverse3Id]"); +END = [t0].[OneToOne_Optional_PK_Inverse3Id] +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_projection3(bool async) @@ -3430,7 +3652,8 @@ public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_project await base.Explicit_GroupJoin_in_subquery_with_unrelated_projection3(async); AssertSql( - @"SELECT DISTINCT [l].[Id] +""" +SELECT DISTINCT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Level1_Optional_Id], [t].[Level2_Name] @@ -3444,7 +3667,8 @@ FROM [Level1] AS [l1] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] -WHERE [t0].[Level2_Name] <> N'Foo' OR ([t0].[Level2_Name] IS NULL)"); +WHERE [t0].[Level2_Name] <> N'Foo' OR ([t0].[Level2_Name] IS NULL) +"""); } public override async Task Include18_1_1(bool async) @@ -3452,7 +3676,8 @@ public override async Task Include18_1_1(bool async) await base.Include18_1_1(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM ( @@ -3470,7 +3695,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [t0].[Id] = [t1].[Level1_Optional_Id] -ORDER BY [t0].[Level2_Name]"); +ORDER BY [t0].[Level2_Name] +"""); } public override async Task Optional_navigation_projected_into_DTO(bool async) @@ -3478,7 +3704,8 @@ public override async Task Optional_navigation_projected_into_DTO(bool async) await base.Optional_navigation_projected_into_DTO(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], CASE +""" +SELECT [l].[Id], [l].[Name], CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, CASE @@ -3489,7 +3716,8 @@ LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Required_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Join_navigation_nested2(bool async) @@ -3497,7 +3725,8 @@ public override async Task Join_navigation_nested2(bool async) await base.Join_navigation_nested2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END AS [Id3], [t1].[Id] AS [Id1] FROM [Level1] AS [l] @@ -3537,7 +3766,8 @@ FROM [Level1] AS [l4] END = CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id1] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Key_equality_using_property_method_and_member_expression1(bool async) @@ -3545,7 +3775,8 @@ public override async Task Key_equality_using_property_method_and_member_express await base.Key_equality_using_property_method_and_member_expression1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -3554,7 +3785,8 @@ FROM [Level1] AS [l0] ) AS [t] ON [l].[Id] = [t].[Level1_Required_Id] WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = 7"); +END = 7 +"""); } public override async Task Navigation_key_access_optional_comparison(bool async) @@ -3562,7 +3794,8 @@ public override async Task Navigation_key_access_optional_comparison(bool async) await base.Navigation_key_access_optional_comparison(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END FROM [Level1] AS [l] @@ -3574,7 +3807,8 @@ FROM [Level1] AS [l0] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END LEFT JOIN [Level1] AS [l1] ON [t].[OneToOne_Optional_PK_Inverse2Id] = [l1].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] > 5"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] > 5 +"""); } public override async Task SelectMany_navigation_property(bool async) @@ -3582,13 +3816,15 @@ public override async Task SelectMany_navigation_property(bool async) await base.SelectMany_navigation_property(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id]"); +) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] +"""); } public override async Task Join_with_orderby_on_inner_sequence_navigation_non_key_join(bool async) @@ -3596,7 +3832,8 @@ public override async Task Join_with_orderby_on_inner_sequence_navigation_non_ke await base.Join_with_orderby_on_inner_sequence_navigation_non_key_join(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END AS [Id2], [t].[Level2_Name] AS [Name2], [t0].[Id] AS [Id1], [t0].[Name] AS [Name1] FROM [Level1] AS [l] @@ -3616,7 +3853,8 @@ FROM [Level1] AS [l2] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l1].[Id] = [t1].[Level1_Optional_Id] ) AS [t0] ON [t].[Level2_Name] = [t0].[Level2_Name] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Correlated_subquery_doesnt_project_unnecessary_columns_in_top_level_join(bool async) @@ -3624,7 +3862,8 @@ public override async Task Correlated_subquery_doesnt_project_unnecessary_column await base.Correlated_subquery_doesnt_project_unnecessary_columns_in_top_level_join(async); AssertSql( - @"SELECT [l].[Name] AS [Name1], CASE +""" +SELECT [l].[Name] AS [Name1], CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END AS [Id2] FROM [Level1] AS [l] @@ -3651,7 +3890,8 @@ FROM [Level1] AS [l4] ) AS [t1] ON [l3].[Id] = CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] END - WHERE ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [t1].[Level1_Required_Id] = [l].[Id])"); + WHERE ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [t1].[Level1_Required_Id] = [l].[Id]) +"""); } public override async Task SelectMany_navigation_property_and_projection(bool async) @@ -3659,13 +3899,15 @@ public override async Task SelectMany_navigation_property_and_projection(bool as await base.SelectMany_navigation_property_and_projection(async); AssertSql( - @"SELECT [t].[Level2_Name] +""" +SELECT [t].[Level2_Name] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id]"); +) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] +"""); } public override async Task Order_by_key_of_navigation_similar_to_projected_gets_optimized_into_FK_access(bool async) @@ -3673,7 +3915,8 @@ public override async Task Order_by_key_of_navigation_similar_to_projected_gets_ await base.Order_by_key_of_navigation_similar_to_projected_gets_optimized_into_FK_access(async); AssertSql( - @"SELECT [l3].[Id], [l3].[Date], [l3].[Name] +""" +SELECT [l3].[Id], [l3].[Date], [l3].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -3702,7 +3945,8 @@ FROM [Level1] AS [l2] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) ORDER BY CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] -END"); +END +"""); } public override async Task Navigations_compared_to_each_other2(bool async) @@ -3710,7 +3954,8 @@ public override async Task Navigations_compared_to_each_other2(bool async) await base.Navigations_compared_to_each_other2(async); AssertSql( - @"SELECT [t].[Level2_Name] +""" +SELECT [t].[Level2_Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3721,7 +3966,8 @@ FROM [Level1] AS [l0] END LEFT JOIN [Level1] AS [l1] ON [t].[OneToMany_Required_Inverse2Id] = [l1].[Id] LEFT JOIN [Level1] AS [l2] ON [t].[OneToOne_Optional_PK_Inverse2Id] = [l2].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l1].[Id] = [l2].[Id] OR (([l1].[Id] IS NULL) AND ([l2].[Id] IS NULL)))"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l1].[Id] = [l2].[Id] OR (([l1].[Id] IS NULL) AND ([l2].[Id] IS NULL))) +"""); } public override async Task SelectMany_with_navigation_and_explicit_DefaultIfEmpty(bool async) @@ -3729,14 +3975,16 @@ public override async Task SelectMany_with_navigation_and_explicit_DefaultIfEmpt await base.SelectMany_with_navigation_and_explicit_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_multiple_result_operator_distinct_count_materializes_main_clause( @@ -3745,7 +3993,8 @@ public override async Task Explicit_GroupJoin_in_subquery_with_multiple_result_o await base.Explicit_GroupJoin_in_subquery_with_multiple_result_operator_distinct_count_materializes_main_clause(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] WHERE ( SELECT COUNT(*) @@ -3764,7 +4013,8 @@ FROM [Level1] AS [l2] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l0].[Id] = [t0].[Level1_Optional_Id] - ) AS [t1]) > 4"); + ) AS [t1]) > 4 +"""); } public override async Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access2(bool async) @@ -3772,7 +4022,8 @@ public override async Task Order_by_key_of_projected_navigation_doesnt_get_optim await base.Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access2(async); AssertSql( - @"SELECT [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -3800,7 +4051,8 @@ FROM [Level1] AS [l2] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) ORDER BY CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] -END"); +END +"""); } public override async Task SelectMany_with_string_based_Include2(bool async) @@ -3808,7 +4060,8 @@ public override async Task SelectMany_with_string_based_Include2(bool async) await base.SelectMany_with_string_based_Include2(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3828,7 +4081,8 @@ FROM [Level1] AS [l2] WHERE ([l2].[Level3_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse4Id] IS NOT NULL) ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] -END = [t1].[Level3_Required_Id]"); +END = [t1].[Level3_Required_Id] +"""); } public override async Task Method_call_on_optional_navigation_translates_to_null_conditional_properly_for_arguments(bool async) @@ -3836,14 +4090,16 @@ public override async Task Method_call_on_optional_navigation_translates_to_null await base.Method_call_on_optional_navigation_translates_to_null_conditional_properly_for_arguments(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE [t].[Level2_Name] = N'' OR (([t].[Level2_Name] IS NOT NULL) AND LEFT([t].[Level2_Name], LEN([t].[Level2_Name])) = [t].[Level2_Name])"); +WHERE [t].[Level2_Name] = N'' OR (([t].[Level2_Name] IS NOT NULL) AND LEFT([t].[Level2_Name], LEN([t].[Level2_Name])) = [t].[Level2_Name]) +"""); } public override async Task SelectMany_subquery_with_custom_projection(bool async) @@ -3851,7 +4107,8 @@ public override async Task SelectMany_subquery_with_custom_projection(bool async await base.SelectMany_subquery_with_custom_projection(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(@__p_0) [t].[Name] FROM [Level1] AS [l] @@ -3860,7 +4117,8 @@ INNER JOIN ( FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Join_with_navigations_in_the_result_selector1(bool async) @@ -3868,7 +4126,8 @@ public override async Task Join_with_navigations_in_the_result_selector1(bool as await base.Join_with_navigations_in_the_result_selector1(async); AssertSql( - @"SELECT [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id0], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [t].[Id] AS [Id0], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -3886,7 +4145,8 @@ LEFT JOIN ( SELECT [l2].[Id], [l2].[OneToOne_Required_PK_Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Level2_Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l2] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t1] ON [l].[Id] = [t1].[Level1_Optional_Id]"); +) AS [t1] ON [l].[Id] = [t1].[Level1_Optional_Id] +"""); } public override async Task @@ -3898,12 +4158,14 @@ await base async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name], [i2].[Id], [i2].[InheritanceLeaf2Id], [i2].[Name] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name], [i2].[Id], [i2].[InheritanceLeaf2Id], [i2].[Name] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[DifferentTypeReference_InheritanceDerived1Id] LEFT JOIN [InheritanceLeafTwo] AS [i1] ON [i].[Id] = [i1].[DifferentTypeReference_InheritanceDerived2Id] LEFT JOIN [InheritanceTwo] AS [i2] ON [i1].[Id] = [i2].[InheritanceLeaf2Id] -ORDER BY [i].[Id], [i0].[Id], [i1].[Id]"); +ORDER BY [i].[Id], [i0].[Id], [i1].[Id] +"""); } public override async Task Key_equality_navigation_converted_to_FK(bool async) @@ -3911,7 +4173,8 @@ public override async Task Key_equality_navigation_converted_to_FK(bool async) await base.Key_equality_navigation_converted_to_FK(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3921,7 +4184,8 @@ FROM [Level1] AS [l0] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END LEFT JOIN [Level1] AS [l1] ON [t].[Level1_Required_Id] = [l1].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] = 1"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] = 1 +"""); } public override async Task Include10(bool async) @@ -3929,7 +4193,8 @@ public override async Task Include10(bool async) await base.Include10(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t2].[Id], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t3].[Id], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3961,7 +4226,8 @@ FROM [Level1] AS [l4] WHERE ([l4].[Level3_Required_Id] IS NOT NULL) AND ([l4].[OneToMany_Required_Inverse4Id] IS NOT NULL) ) AS [t3] ON CASE WHEN ([t2].[Level2_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t2].[Id] -END = [t3].[OneToOne_Optional_PK_Inverse4Id]"); +END = [t3].[OneToOne_Optional_PK_Inverse4Id] +"""); } public override async Task Where_navigation_property_to_collection_of_original_entity_type(bool async) @@ -3969,7 +4235,8 @@ public override async Task Where_navigation_property_to_collection_of_original_e await base.Where_navigation_property_to_collection_of_original_entity_type(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -3982,7 +4249,8 @@ FROM [Level1] AS [l0] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ( SELECT COUNT(*) FROM [Level1] AS [l2] - WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l1].[Id] IS NOT NULL) AND [l1].[Id] = [l2].[OneToMany_Optional_Inverse2Id]) > 0"); + WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l1].[Id] IS NOT NULL) AND [l1].[Id] = [l2].[OneToMany_Optional_Inverse2Id]) > 0 +"""); } public override async Task Where_multiple_nav_prop_reference_optional_compared_to_null2(bool async) @@ -3990,7 +4258,8 @@ public override async Task Where_multiple_nav_prop_reference_optional_compared_t await base.Where_multiple_nav_prop_reference_optional_compared_to_null2(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -4016,7 +4285,8 @@ FROM [Level1] AS [l2] WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] END LEFT JOIN [Level1] AS [l3] ON [t1].[Level1_Optional_Id] = [l3].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([l3].[Id] IS NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([l3].[Id] IS NULL) +"""); } public override async Task SelectMany_navigation_property_and_filter_after(bool async) @@ -4024,7 +4294,8 @@ public override async Task SelectMany_navigation_property_and_filter_after(bool await base.SelectMany_navigation_property_and_filter_after(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -4035,7 +4306,8 @@ WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END <> 6 OR (CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END IS NULL)"); +END IS NULL) +"""); } public override async Task Correlated_nested_subquery_doesnt_project_unnecessary_columns_in_top_level(bool async) @@ -4043,7 +4315,8 @@ public override async Task Correlated_nested_subquery_doesnt_project_unnecessary await base.Correlated_nested_subquery_doesnt_project_unnecessary_columns_in_top_level(async); AssertSql( - @"SELECT DISTINCT [l].[Name] +""" +SELECT DISTINCT [l].[Name] FROM [Level1] AS [l] WHERE EXISTS ( SELECT 1 @@ -4074,7 +4347,8 @@ FROM [Level1] AS [l4] END = CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id] END - WHERE ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL)))"); + WHERE ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL))) +"""); } public override async Task OrderBy_nav_prop_reference_optional_via_DefaultIfEmpty(bool async) @@ -4082,7 +4356,8 @@ public override async Task OrderBy_nav_prop_reference_optional_via_DefaultIfEmpt await base.OrderBy_nav_prop_reference_optional_via_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Level1_Optional_Id], [t].[Level2_Name] @@ -4096,7 +4371,8 @@ FROM [Level1] AS [l1] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] -ORDER BY [t0].[Level2_Name], [l].[Id]"); +ORDER BY [t0].[Level2_Name], [l].[Id] +"""); } public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse2(bool async) @@ -4104,7 +4380,8 @@ public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse await base.Where_complex_predicate_with_with_nav_prop_and_OrElse2(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Required_Inverse2Id] @@ -4118,7 +4395,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[Level2_Required_Id] -WHERE [t0].[Level3_Name] = N'L3 05' OR [t].[Level2_Name] <> N'L2 05' OR ([t].[Level2_Name] IS NULL)"); +WHERE [t0].[Level3_Name] = N'L3 05' OR [t].[Level2_Name] <> N'L2 05' OR ([t].[Level2_Name] IS NULL) +"""); } public override async Task Optional_navigation_inside_nested_method_call_translated_to_join(bool async) @@ -4126,14 +4404,16 @@ public override async Task Optional_navigation_inside_nested_method_call_transla await base.Optional_navigation_inside_nested_method_call_translated_to_join(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE ([t].[Level2_Name] IS NOT NULL) AND (UPPER([t].[Level2_Name]) LIKE N'L%')"); +WHERE ([t].[Level2_Name] IS NOT NULL) AND (UPPER([t].[Level2_Name]) LIKE N'L%') +"""); } public override async Task Multiple_SelectMany_calls(bool async) @@ -4141,7 +4421,8 @@ public override async Task Multiple_SelectMany_calls(bool async) await base.Multiple_SelectMany_calls(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id] @@ -4154,7 +4435,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[OneToMany_Optional_Inverse3Id]"); +END = [t0].[OneToMany_Optional_Inverse3Id] +"""); } public override async Task Navigation_inside_method_call_translated_to_join(bool async) @@ -4162,14 +4444,16 @@ public override async Task Navigation_inside_method_call_translated_to_join(bool await base.Navigation_inside_method_call_translated_to_join(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Required_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Required_Id] -WHERE ([t].[Level2_Name] IS NOT NULL) AND ([t].[Level2_Name] LIKE N'L%')"); +WHERE ([t].[Level2_Name] IS NOT NULL) AND ([t].[Level2_Name] LIKE N'L%') +"""); } public override async Task Include5(bool async) @@ -4177,7 +4461,8 @@ public override async Task Include5(bool async) await base.Include5(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -4190,7 +4475,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[OneToOne_Optional_PK_Inverse3Id]"); +END = [t0].[OneToOne_Optional_PK_Inverse3Id] +"""); } public override async Task String_include_multiple_derived_collection_navigation_with_same_name_and_same_type(bool async) @@ -4198,11 +4484,13 @@ public override async Task String_include_multiple_derived_collection_navigation await base.String_include_multiple_derived_collection_navigation_with_same_name_and_same_type(async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeCollection_InheritanceDerived1Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeCollection_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeCollection_InheritanceDerived1Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeCollection_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[SameTypeCollection_InheritanceDerived1Id] LEFT JOIN [InheritanceLeafOne] AS [i1] ON [i].[Id] = [i1].[InheritanceDerived2Id] -ORDER BY [i].[Id], [i0].[Id]"); +ORDER BY [i].[Id], [i0].[Id] +"""); } public override async Task Navigations_compared_to_each_other4(bool async) @@ -4210,7 +4498,8 @@ public override async Task Navigations_compared_to_each_other4(bool async) await base.Navigations_compared_to_each_other4(async); AssertSql( - @"SELECT [t].[Level2_Name] +""" +SELECT [t].[Level2_Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Required_Inverse2Id] @@ -4235,7 +4524,8 @@ FROM [Level1] AS [l2] WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [l2].[OneToMany_Optional_Inverse4Id] OR ((CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] - END IS NULL) AND ([l2].[OneToMany_Optional_Inverse4Id] IS NULL))))"); + END IS NULL) AND ([l2].[OneToMany_Optional_Inverse4Id] IS NULL)))) +"""); } public override async Task Null_check_removal_applied_recursively(bool async) @@ -4243,7 +4533,8 @@ public override async Task Null_check_removal_applied_recursively(bool async) await base.Null_check_removal_applied_recursively(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -4264,7 +4555,8 @@ FROM [Level1] AS [l2] ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[Level3_Optional_Id] -WHERE [t1].[Level4_Name] = N'L4 01'"); +WHERE [t1].[Level4_Name] = N'L4 01' +"""); } public override async Task SelectMany_where_with_subquery(bool async) @@ -4272,7 +4564,8 @@ public override async Task SelectMany_where_with_subquery(bool async) await base.SelectMany_where_with_subquery(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -4286,7 +4579,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END IS NOT NULL) AND CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] - END = [l1].[OneToMany_Required_Inverse3Id])"); + END = [l1].[OneToMany_Required_Inverse3Id]) +"""); } public override async Task Result_operator_nav_prop_reference_optional_Max(bool async) @@ -4294,13 +4588,15 @@ public override async Task Result_operator_nav_prop_reference_optional_Max(bool await base.Result_operator_nav_prop_reference_optional_Max(async); AssertSql( - @"SELECT MAX([t].[Level1_Required_Id]) +""" +SELECT MAX([t].[Level1_Required_Id]) FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Complex_navigations_with_predicate_projected_into_anonymous_type(bool async) @@ -4308,7 +4604,8 @@ public override async Task Complex_navigations_with_predicate_projected_into_ano await base.Complex_navigations_with_predicate_projected_into_anonymous_type(async); AssertSql( - @"SELECT [l].[Name], CASE +""" +SELECT [l].[Name], CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id] END AS [Id] FROM [Level1] AS [l] @@ -4343,7 +4640,8 @@ END OR ((CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id] END <> 7 OR (CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id] -END IS NULL))"); +END IS NULL)) +"""); } public override async Task GroupJoin_without_DefaultIfEmpty(bool async) @@ -4351,7 +4649,8 @@ public override async Task GroupJoin_without_DefaultIfEmpty(bool async) await base.GroupJoin_without_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Name], [t].[Id] AS [Id0], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -4364,7 +4663,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id]"); +) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] +"""); } public override async Task Key_equality_two_conditions_on_same_navigation(bool async) @@ -4372,7 +4672,8 @@ public override async Task Key_equality_two_conditions_on_same_navigation(bool a await base.Key_equality_two_conditions_on_same_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -4383,7 +4684,8 @@ WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = 1 OR CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = 2"); +END = 2 +"""); } public override async Task Select_multiple_nav_prop_reference_required(bool async) @@ -4391,7 +4693,8 @@ public override async Task Select_multiple_nav_prop_reference_required(bool asyn await base.Select_multiple_nav_prop_reference_required(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END FROM [Level1] AS [l] @@ -4406,7 +4709,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[Level2_Required_Id]"); +END = [t0].[Level2_Required_Id] +"""); } public override async Task Project_collection_navigation_count(bool async) @@ -4414,7 +4718,8 @@ public override async Task Project_collection_navigation_count(bool async) await base.Project_collection_navigation_count(async); AssertSql( - @"SELECT [l].[Id], ( +""" +SELECT [l].[Id], ( SELECT COUNT(*) FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND (CASE @@ -4429,7 +4734,8 @@ LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Include18_2(bool async) @@ -4437,7 +4743,8 @@ public override async Task Include18_2(bool async) await base.Include18_2(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM ( SELECT DISTINCT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] @@ -4452,7 +4759,8 @@ LEFT JOIN ( SELECT [l1].[Id], [l1].[OneToOne_Required_PK_Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Level2_Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t1] ON [t0].[Id] = [t1].[Level1_Optional_Id]"); +) AS [t1] ON [t0].[Id] = [t1].[Level1_Optional_Id] +"""); } public override async Task Include13(bool async) @@ -4460,13 +4768,15 @@ public override async Task Include13(bool async) await base.Include13(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Include_with_optional_navigation(bool async) @@ -4474,14 +4784,16 @@ public override async Task Include_with_optional_navigation(bool async) await base.Include_with_optional_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE [t].[Level2_Name] <> N'L2 05' OR ([t].[Level2_Name] IS NULL)"); +WHERE [t].[Level2_Name] <> N'L2 05' OR ([t].[Level2_Name] IS NULL) +"""); } public override async Task GroupJoin_on_right_side_being_a_subquery(bool async) @@ -4489,7 +4801,8 @@ public override async Task GroupJoin_on_right_side_being_a_subquery(bool async) await base.GroupJoin_on_right_side_being_a_subquery(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] @@ -4512,7 +4825,8 @@ FROM [Level1] AS [l2] ) AS [t1] ON [l1].[Id] = [t1].[Level1_Optional_Id] ORDER BY [t1].[Level2_Name] ) AS [t0] ON [t].[Level1_Optional_Id] = [t0].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Multiple_SelectMany_with_string_based_Include(bool async) @@ -4520,7 +4834,8 @@ public override async Task Multiple_SelectMany_with_string_based_Include(bool as await base.Multiple_SelectMany_with_string_based_Include(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id] @@ -4540,7 +4855,8 @@ FROM [Level1] AS [l2] WHERE ([l2].[Level3_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse4Id] IS NOT NULL) ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] -END = [t1].[Level3_Required_Id]"); +END = [t1].[Level3_Required_Id] +"""); } public override async Task Where_navigation_property_to_collection2(bool async) @@ -4548,7 +4864,8 @@ public override async Task Where_navigation_property_to_collection2(bool async) await base.Where_navigation_property_to_collection2(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -4582,7 +4899,8 @@ FROM [Level1] AS [l3] WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] END = [l3].[OneToMany_Optional_Inverse3Id] OR ((CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] - END IS NULL) AND ([l3].[OneToMany_Optional_Inverse3Id] IS NULL)))) > 0"); + END IS NULL) AND ([l3].[OneToMany_Optional_Inverse3Id] IS NULL)))) > 0 +"""); } public override async Task GroupJoin_in_subquery_with_client_projection(bool async) @@ -4590,7 +4908,8 @@ public override async Task GroupJoin_in_subquery_with_client_projection(bool asy await base.GroupJoin_in_subquery_with_client_projection(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [Level1] AS [l] WHERE ( SELECT COUNT(*) @@ -4606,7 +4925,8 @@ FROM [Level1] AS [l2] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) - ) AS [t0] ON [l0].[Id] = [t0].[Level1_Optional_Id]) > 7 AND [l].[Id] < 3"); + ) AS [t0] ON [l0].[Id] = [t0].[Level1_Optional_Id]) > 7 AND [l].[Id] < 3 +"""); } public override async Task Query_source_materialization_bug_4547(bool async) @@ -4614,7 +4934,8 @@ public override async Task Query_source_materialization_bug_4547(bool async) await base.Query_source_materialization_bug_4547(async); AssertSql( - @"SELECT [l2].[Id] +""" +SELECT [l2].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -4673,7 +4994,8 @@ FROM [Level1] AS [l7] ORDER BY CASE WHEN ([t2].[Level2_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t2].[Id1] END) -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Join_navigation_deeply_nested_required(bool async) @@ -4681,7 +5003,8 @@ public override async Task Join_navigation_deeply_nested_required(bool async) await base.Join_navigation_deeply_nested_required(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t4].[Level3_Required_Id] IS NOT NULL) AND ([t4].[OneToMany_Required_Inverse4Id] IS NOT NULL) THEN [t4].[Id2] END AS [Id4], [t4].[Level4_Name] AS [Name4], [l].[Id] AS [Id1], [l].[Name] AS [Name1] FROM [Level1] AS [l] @@ -4731,7 +5054,8 @@ LEFT JOIN [Level1] AS [l5] ON CASE WHEN ([t3].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t3].[Level1_Required_Id] IS NOT NULL) AND ([t3].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t3].[Id] END = [l5].[Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t1].[Level3_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse4Id] IS NOT NULL) -) AS [t4] ON [l].[Name] = [t4].[Name0]"); +) AS [t4] ON [l].[Name] = [t4].[Name0] +"""); } public override async Task Where_predicate_on_optional_reference_navigation(bool async) @@ -4739,7 +5063,8 @@ public override async Task Where_predicate_on_optional_reference_navigation(bool await base.Where_predicate_on_optional_reference_navigation(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT TOP(@__p_0) [l].[Name] FROM [Level1] AS [l] @@ -4749,7 +5074,8 @@ FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Required_Id] WHERE [t].[Level2_Name] = N'L2 03' -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Navigations_compared_to_each_other3(bool async) @@ -4757,7 +5083,8 @@ public override async Task Navigations_compared_to_each_other3(bool async) await base.Navigations_compared_to_each_other3(async); AssertSql( - @"SELECT [t].[Level2_Name] +""" +SELECT [t].[Level2_Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Required_Inverse2Id] @@ -4775,7 +5102,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [l1].[OneToMany_Optional_Inverse3Id] OR ((CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] - END IS NULL) AND ([l1].[OneToMany_Optional_Inverse3Id] IS NULL))))"); + END IS NULL) AND ([l1].[OneToMany_Optional_Inverse3Id] IS NULL)))) +"""); } public override async Task Where_multiple_nav_prop_reference_optional_compared_to_null5(bool async) @@ -4783,7 +5111,8 @@ public override async Task Where_multiple_nav_prop_reference_optional_compared_t await base.Where_multiple_nav_prop_reference_optional_compared_to_null5(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -4804,7 +5133,8 @@ FROM [Level1] AS [l2] ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[Level3_Required_Id] -WHERE ([t1].[Level3_Required_Id] IS NULL) OR ([t1].[OneToMany_Required_Inverse4Id] IS NULL)"); +WHERE ([t1].[Level3_Required_Id] IS NULL) OR ([t1].[OneToMany_Required_Inverse4Id] IS NULL) +"""); } public override async Task Where_on_multilevel_reference_in_subquery_with_outer_projection(bool async) @@ -4812,7 +5142,8 @@ public override async Task Where_on_multilevel_reference_in_subquery_with_outer_ await base.Where_on_multilevel_reference_in_subquery_with_outer_projection(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t0].[Level3_Name] @@ -4843,7 +5174,8 @@ FROM [Level1] AS [l2] LEFT JOIN [Level1] AS [l3] ON [t1].[Level1_Required_Id] = [l3].[Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND [l3].[Name] = N'L1 03' ORDER BY [t0].[Level2_Required_Id] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task Projection_select_correct_table_in_subquery_when_materialization_is_not_required_in_multiple_joins( @@ -4852,7 +5184,8 @@ public override async Task Projection_select_correct_table_in_subquery_when_mate await base.Projection_select_correct_table_in_subquery_when_materialization_is_not_required_in_multiple_joins(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT TOP(@__p_0) [l1].[Name] FROM [Level1] AS [l] @@ -4886,7 +5219,8 @@ FROM [Level1] AS [l4] WHERE ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t2].[Level2_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t1] ON [l1].[Id] = [t1].[Level2_Required_Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Name] = N'L1 03' AND [t1].[Level3_Name] = N'L3 08' -ORDER BY [l1].[Id]"); +ORDER BY [l1].[Id] +"""); } public override async Task Include6(bool async) @@ -4894,7 +5228,8 @@ public override async Task Include6(bool async) await base.Include6(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -4907,7 +5242,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[OneToOne_Optional_PK_Inverse3Id]"); +END = [t0].[OneToOne_Optional_PK_Inverse3Id] +"""); } public override async Task Include7(bool async) @@ -4915,13 +5251,15 @@ public override async Task Include7(bool async) await base.Include7(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[OneToOne_Optional_PK_Inverse2Id]"); +) AS [t] ON [l].[Id] = [t].[OneToOne_Optional_PK_Inverse2Id] +"""); } public override async Task Member_doesnt_get_pushed_down_into_subquery_with_result_operator(bool async) @@ -4929,7 +5267,8 @@ public override async Task Member_doesnt_get_pushed_down_into_subquery_with_resu await base.Member_doesnt_get_pushed_down_into_subquery_with_result_operator(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT [t1].[Level3_Name] FROM ( SELECT DISTINCT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] @@ -4957,7 +5296,8 @@ ORDER BY CASE END OFFSET 1 ROWS FETCH NEXT 1 ROWS ONLY) FROM [Level1] AS [l] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task Correlated_nested_two_levels_up_subquery_doesnt_project_unnecessary_columns_in_top_level(bool async) @@ -4965,7 +5305,8 @@ public override async Task Correlated_nested_two_levels_up_subquery_doesnt_proje await base.Correlated_nested_two_levels_up_subquery_doesnt_project_unnecessary_columns_in_top_level(async); AssertSql( - @"SELECT DISTINCT [l].[Name] +""" +SELECT DISTINCT [l].[Name] FROM [Level1] AS [l] WHERE EXISTS ( SELECT 1 @@ -4996,7 +5337,8 @@ FROM [Level1] AS [l4] END = CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id] END - WHERE ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL)))"); + WHERE ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL))) +"""); } public override async Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access3(bool async) @@ -5004,7 +5346,8 @@ public override async Task Order_by_key_of_projected_navigation_doesnt_get_optim await base.Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access3(async); AssertSql( - @"SELECT [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -5032,7 +5375,8 @@ FROM [Level1] AS [l2] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) ORDER BY CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] -END"); +END +"""); } public override async Task Select_nav_prop_reference_optional2(bool async) @@ -5040,7 +5384,8 @@ public override async Task Select_nav_prop_reference_optional2(bool async) await base.Select_nav_prop_reference_optional2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END FROM [Level1] AS [l] @@ -5048,7 +5393,8 @@ LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Accessing_optional_property_inside_result_operator_subquery(bool async) @@ -5056,14 +5402,16 @@ public override async Task Accessing_optional_property_inside_result_operator_su await base.Accessing_optional_property_inside_result_operator_subquery(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE [t].[Level2_Name] NOT IN (N'Name1', N'Name2') OR ([t].[Level2_Name] IS NULL)"); +WHERE [t].[Level2_Name] NOT IN (N'Name1', N'Name2') OR ([t].[Level2_Name] IS NULL) +"""); } public override async Task Where_multiple_nav_prop_reference_optional_compared_to_null4(bool async) @@ -5071,7 +5419,8 @@ public override async Task Where_multiple_nav_prop_reference_optional_compared_t await base.Where_multiple_nav_prop_reference_optional_compared_to_null4(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -5097,7 +5446,8 @@ FROM [Level1] AS [l2] WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] END LEFT JOIN [Level1] AS [l3] ON [t1].[Level1_Optional_Id] = [l3].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([l3].[Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([l3].[Id] IS NOT NULL) +"""); } public override async Task Multi_include_with_groupby_in_subquery(bool async) @@ -5105,7 +5455,8 @@ public override async Task Multi_include_with_groupby_in_subquery(bool async) await base.Multi_include_with_groupby_in_subquery(async); AssertSql( - @"SELECT [t1].[Id], [t1].[Date], [t1].[Name], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t].[Name], [t3].[Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t1].[Id], [t1].[Date], [t1].[Name], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t].[Name], [t3].[Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id] FROM ( SELECT [l].[Name] FROM [Level1] AS [l] @@ -5131,7 +5482,8 @@ FROM [Level1] AS [l2] ) AS [t3] ON CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id0] END = [t3].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Name], [t1].[Id], [t1].[Id0]"); +ORDER BY [t].[Name], [t1].[Id], [t1].[Id0] +"""); } public override async Task Join_navigation_deeply_nested_non_key_join(bool async) @@ -5139,7 +5491,8 @@ public override async Task Join_navigation_deeply_nested_non_key_join(bool async await base.Join_navigation_deeply_nested_non_key_join(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t1].[Level3_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse4Id] IS NOT NULL) THEN [t1].[Id] END AS [Id4], [t1].[Level4_Name] AS [Name4], [t2].[Id] AS [Id1], [t2].[Name] AS [Name1] FROM [Level1] AS [l] @@ -5193,7 +5546,8 @@ FROM [Level1] AS [l6] WHEN ([t5].[Level3_Required_Id] IS NOT NULL) AND ([t5].[OneToMany_Required_Inverse4Id] IS NOT NULL) THEN [t5].[Id] END ) AS [t2] ON [t1].[Level4_Name] = [t2].[Level4_Name] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t1].[Level3_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse4Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t1].[Level3_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse4Id] IS NOT NULL) +"""); } public override async Task Join_navigation_in_outer_selector_translated_to_extra_join_nested(bool async) @@ -5201,7 +5555,8 @@ public override async Task Join_navigation_in_outer_selector_translated_to_extra await base.Join_navigation_in_outer_selector_translated_to_extra_join_nested(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], CASE +""" +SELECT [l].[Id] AS [Id1], CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id1] END AS [Id3] FROM [Level1] AS [l] @@ -5241,7 +5596,8 @@ FROM [Level1] AS [l4] WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t1].[Id1] -END"); +END +"""); } public override async Task Where_nav_prop_reference_optional2(bool async) @@ -5249,14 +5605,16 @@ public override async Task Where_nav_prop_reference_optional2(bool async) await base.Where_nav_prop_reference_optional2(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE [t].[Level2_Name] = N'L2 05' OR [t].[Level2_Name] <> N'L2 42' OR ([t].[Level2_Name] IS NULL)"); +WHERE [t].[Level2_Name] = N'L2 05' OR [t].[Level2_Name] <> N'L2 42' OR ([t].[Level2_Name] IS NULL) +"""); } public override async Task GroupJoin_client_method_on_outer(bool async) @@ -5264,7 +5622,8 @@ public override async Task GroupJoin_client_method_on_outer(bool async) await base.GroupJoin_client_method_on_outer(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Name], [t].[Id] AS [Id0], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -5277,7 +5636,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id]"); +) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] +"""); } public override async Task Navigations_compared_to_each_other5(bool async) @@ -5285,7 +5645,8 @@ public override async Task Navigations_compared_to_each_other5(bool async) await base.Navigations_compared_to_each_other5(async); AssertSql( - @"SELECT [t].[Level2_Name] +""" +SELECT [t].[Level2_Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Required_Inverse2Id] @@ -5317,7 +5678,8 @@ FROM [Level1] AS [l3] WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [l3].[OneToMany_Optional_Inverse4Id] OR ((CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] - END IS NULL) AND ([l3].[OneToMany_Optional_Inverse4Id] IS NULL))))"); + END IS NULL) AND ([l3].[OneToMany_Optional_Inverse4Id] IS NULL)))) +"""); } public override async Task Include_multiple_collections_on_same_level(bool async) @@ -5325,7 +5687,8 @@ public override async Task Include_multiple_collections_on_same_level(bool async await base.Include_multiple_collections_on_same_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -5337,7 +5700,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Key_equality_using_property_method_required2(bool async) @@ -5345,7 +5709,8 @@ public override async Task Key_equality_using_property_method_required2(bool asy await base.Key_equality_using_property_method_required2(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -5355,7 +5720,8 @@ FROM [Level1] AS [l0] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END LEFT JOIN [Level1] AS [l1] ON [t].[Level1_Required_Id] = [l1].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] > 7"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] > 7 +"""); } public override async Task Select_optional_navigation_property_string_concat(bool async) @@ -5363,7 +5729,8 @@ public override async Task Select_optional_navigation_property_string_concat(boo await base.Select_optional_navigation_property_string_concat(async); AssertSql( - @"SELECT (COALESCE([l].[Name], N'') + N' ') + COALESCE(CASE +""" +SELECT (COALESCE([l].[Name], N'') + N' ') + COALESCE(CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Level2_Name] ELSE N'NULL' END, N'') @@ -5372,7 +5739,8 @@ LEFT JOIN ( SELECT [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l0].[Id] > 5 -) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id]"); +) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] +"""); } public override async Task Join_navigation_in_outer_selector_translated_to_extra_join_nested2(bool async) @@ -5380,7 +5748,8 @@ public override async Task Join_navigation_in_outer_selector_translated_to_extra await base.Join_navigation_in_outer_selector_translated_to_extra_join_nested2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END AS [Id3], [l4].[Id] AS [Id1] FROM [Level1] AS [l] @@ -5409,7 +5778,8 @@ FROM [Level1] AS [l2] END LEFT JOIN [Level1] AS [l3] ON [t1].[Level1_Optional_Id] = [l3].[Id] INNER JOIN [Level1] AS [l4] ON [l3].[Id] = [l4].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Include19(bool async) @@ -5417,7 +5787,8 @@ public override async Task Include19(bool async) await base.Include19(async); AssertSql( - @"SELECT [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[OneToOne_Required_PK_Date0], [t1].[Level1_Optional_Id0], [t1].[Level1_Required_Id0], [t1].[Level2_Name0], [t1].[OneToMany_Optional_Inverse2Id0], [t1].[OneToMany_Required_Inverse2Id0], [t1].[OneToOne_Optional_PK_Inverse2Id0] +""" +SELECT [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id0], [t1].[OneToOne_Required_PK_Date0], [t1].[Level1_Optional_Id0], [t1].[Level1_Required_Id0], [t1].[Level2_Name0], [t1].[OneToMany_Optional_Inverse2Id0], [t1].[OneToMany_Required_Inverse2Id0], [t1].[OneToOne_Optional_PK_Inverse2Id0] FROM ( SELECT DISTINCT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id] AS [Id0], [t0].[OneToOne_Required_PK_Date] AS [OneToOne_Required_PK_Date0], [t0].[Level1_Optional_Id] AS [Level1_Optional_Id0], [t0].[Level1_Required_Id] AS [Level1_Required_Id0], [t0].[Level2_Name] AS [Level2_Name0], [t0].[OneToMany_Optional_Inverse2Id] AS [OneToMany_Optional_Inverse2Id0], [t0].[OneToMany_Required_Inverse2Id] AS [OneToMany_Required_Inverse2Id0], [t0].[OneToOne_Optional_PK_Inverse2Id] AS [OneToOne_Optional_PK_Inverse2Id0] FROM [Level1] AS [l] @@ -5431,7 +5802,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToOne_Optional_PK_Inverse2Id] -) AS [t1]"); +) AS [t1] +"""); } public override async Task SelectMany_navigation_property_and_filter_before(bool async) @@ -5439,14 +5811,16 @@ public override async Task SelectMany_navigation_property_and_filter_before(bool await base.SelectMany_navigation_property_and_filter_before(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -WHERE [l].[Id] = 1"); +WHERE [l].[Id] = 1 +"""); } public override async Task Subquery_with_Distinct_Skip_FirstOrDefault_without_OrderBy(bool async) @@ -5454,7 +5828,8 @@ public override async Task Subquery_with_Distinct_Skip_FirstOrDefault_without_Or await base.Subquery_with_Distinct_Skip_FirstOrDefault_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id] AS [Key], ( +""" +SELECT [l].[Id] AS [Key], ( SELECT [t1].[Level3_Name] FROM ( SELECT DISTINCT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] @@ -5480,7 +5855,8 @@ FROM [Level1] AS [l2] ORDER BY (SELECT 1) OFFSET 1 ROWS FETCH NEXT 1 ROWS ONLY) AS [Subquery] FROM [Level1] AS [l] -WHERE [l].[Id] < 3"); +WHERE [l].[Id] < 3 +"""); } public override async Task Include1(bool async) @@ -5488,13 +5864,15 @@ public override async Task Include1(bool async) await base.Include1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Comparing_collection_navigation_on_optional_reference_to_null(bool async) @@ -5502,14 +5880,16 @@ public override async Task Comparing_collection_navigation_on_optional_reference await base.Comparing_collection_navigation_on_optional_reference_to_null(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NULL) OR ([t].[Level1_Required_Id] IS NULL) OR ([t].[OneToMany_Required_Inverse2Id] IS NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NULL) OR ([t].[Level1_Required_Id] IS NULL) OR ([t].[OneToMany_Required_Inverse2Id] IS NULL) +"""); } public override async Task Where_nav_prop_reference_optional2_via_DefaultIfEmpty(bool async) @@ -5517,7 +5897,8 @@ public override async Task Where_nav_prop_reference_optional2_via_DefaultIfEmpty await base.Where_nav_prop_reference_optional2_via_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Level1_Optional_Id], [t].[Level2_Name] @@ -5543,7 +5924,8 @@ FROM [Level1] AS [l3] END WHERE ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[Level1_Optional_Id] -WHERE [t0].[Level2_Name] = N'L2 05' OR [t1].[Level2_Name] <> N'L2 42' OR ([t1].[Level2_Name] IS NULL)"); +WHERE [t0].[Level2_Name] = N'L2 05' OR [t1].[Level2_Name] <> N'L2 42' OR ([t1].[Level2_Name] IS NULL) +"""); } public override async Task Result_operator_nav_prop_reference_optional_Average_with_identity_selector(bool async) @@ -5551,13 +5933,15 @@ public override async Task Result_operator_nav_prop_reference_optional_Average_w await base.Result_operator_nav_prop_reference_optional_Average_with_identity_selector(async); AssertSql( - @"SELECT AVG(CAST([t].[Level1_Required_Id] AS float)) +""" +SELECT AVG(CAST([t].[Level1_Required_Id] AS float)) FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Optional_navigation_inside_property_method_translated_to_join(bool async) @@ -5565,14 +5949,16 @@ public override async Task Optional_navigation_inside_property_method_translated await base.Optional_navigation_inside_property_method_translated_to_join(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE [t].[Level2_Name] = N'L2 01'"); +WHERE [t].[Level2_Name] = N'L2 01' +"""); } public override async Task @@ -5582,7 +5968,8 @@ await base .Optional_navigation_inside_nested_method_call_translated_to_join_keeps_original_nullability_also_for_arguments(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -5591,7 +5978,8 @@ FROM [Level1] AS [l0] ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] WHERE DATEADD(day, CAST(CAST(CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END AS float) AS int), DATEADD(day, CAST(15.0E0 AS int), [t].[OneToOne_Required_PK_Date])) > '2002-02-01T00:00:00.0000000'"); +END AS float) AS int), DATEADD(day, CAST(15.0E0 AS int), [t].[OneToOne_Required_PK_Date])) > '2002-02-01T00:00:00.0000000' +"""); } public override async Task Key_equality_using_property_method_and_member_expression3(bool async) @@ -5599,7 +5987,8 @@ public override async Task Key_equality_using_property_method_and_member_express await base.Key_equality_using_property_method_and_member_expression3(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -5609,7 +5998,8 @@ FROM [Level1] AS [l0] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END LEFT JOIN [Level1] AS [l1] ON [t].[Level1_Required_Id] = [l1].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] = 7"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] = 7 +"""); } public override async Task Include_reference_with_groupby_in_subquery(bool async) @@ -5617,7 +6007,8 @@ public override async Task Include_reference_with_groupby_in_subquery(bool async await base.Include_reference_with_groupby_in_subquery(async); AssertSql( - @"SELECT [t1].[Id], [t1].[Date], [t1].[Name], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t1].[Id], [t1].[Date], [t1].[Name], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM ( SELECT [l].[Name] FROM [Level1] AS [l] @@ -5635,7 +6026,8 @@ FROM [Level1] AS [l1] ) AS [t2] ON [l0].[Id] = [t2].[Level1_Optional_Id] ) AS [t0] WHERE [t0].[row] <= 1 -) AS [t1] ON [t].[Name] = [t1].[Name]"); +) AS [t1] ON [t].[Name] = [t1].[Name] +"""); } public override async Task SelectMany_navigation_comparison2(bool async) @@ -5643,7 +6035,8 @@ public override async Task SelectMany_navigation_comparison2(bool async) await base.SelectMany_navigation_comparison2(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], CASE +""" +SELECT [l].[Id] AS [Id1], CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END AS [Id2] FROM [Level1] AS [l] @@ -5660,7 +6053,8 @@ FROM [Level1] AS [l1] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] LEFT JOIN [Level1] AS [l2] ON [t0].[Level1_Optional_Id] = [l2].[Id] -WHERE [l].[Id] = [l2].[Id]"); +WHERE [l].[Id] = [l2].[Id] +"""); } public override async Task Key_equality_using_property_method_and_member_expression2(bool async) @@ -5668,7 +6062,8 @@ public override async Task Key_equality_using_property_method_and_member_express await base.Key_equality_using_property_method_and_member_expression2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -5677,7 +6072,8 @@ FROM [Level1] AS [l0] ) AS [t] ON [l].[Id] = [t].[Level1_Required_Id] WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = 7"); +END = 7 +"""); } public override async Task Where_navigation_property_to_collection(bool async) @@ -5685,7 +6081,8 @@ public override async Task Where_navigation_property_to_collection(bool async) await base.Where_navigation_property_to_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -5701,7 +6098,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [l1].[OneToMany_Optional_Inverse3Id] OR ((CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] - END IS NULL) AND ([l1].[OneToMany_Optional_Inverse3Id] IS NULL)))) > 0"); + END IS NULL) AND ([l1].[OneToMany_Optional_Inverse3Id] IS NULL)))) > 0 +"""); } public override async Task Select_multiple_nav_prop_optional_required(bool async) @@ -5709,7 +6107,8 @@ public override async Task Select_multiple_nav_prop_optional_required(bool async await base.Select_multiple_nav_prop_optional_required(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END FROM [Level1] AS [l] @@ -5724,7 +6123,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[Level2_Required_Id]"); +END = [t0].[Level2_Required_Id] +"""); } public override async Task Where_nav_prop_reference_optional1(bool async) @@ -5732,14 +6132,16 @@ public override async Task Where_nav_prop_reference_optional1(bool async) await base.Where_nav_prop_reference_optional1(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level2_Name] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE [t].[Level2_Name] IN (N'L2 05', N'L2 07')"); +WHERE [t].[Level2_Name] IN (N'L2 05', N'L2 07') +"""); } public override async Task SelectMany_navigation_property_with_another_navigation_in_subquery(bool async) @@ -5747,7 +6149,8 @@ public override async Task SelectMany_navigation_property_with_another_navigatio await base.SelectMany_navigation_property_with_another_navigation_in_subquery(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToMany_Optional_Inverse2Id] @@ -5760,7 +6163,8 @@ FROM [Level1] AS [l1] WHEN ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [l0].[Id] END = [t].[Level2_Optional_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id]"); +) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] +"""); } public override async Task Join_navigations_in_inner_selector_translated_without_collision(bool async) @@ -5768,7 +6172,8 @@ public override async Task Join_navigations_in_inner_selector_translated_without await base.Join_navigations_in_inner_selector_translated_without_collision(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END AS [Id2], [t0].[Id] AS [Id1], CASE WHEN ([t2].[Level2_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t2].[Id1] @@ -5826,7 +6231,8 @@ FROM [Level1] AS [l6] END = CASE WHEN ([t2].[OneToOne_Required_PK_Date0] IS NOT NULL) AND ([t2].[Level1_Required_Id0] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id0] IS NOT NULL) THEN [t2].[Id2] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Optional_navigation_inside_nested_method_call_translated_to_join_keeps_original_nullability(bool async) @@ -5834,14 +6240,16 @@ public override async Task Optional_navigation_inside_nested_method_call_transla await base.Optional_navigation_inside_nested_method_call_translated_to_join_keeps_original_nullability(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] -WHERE DATEADD(month, CAST(2 AS int), DATEADD(day, CAST(15.0E0 AS int), DATEADD(day, CAST(10.0E0 AS int), [t].[OneToOne_Required_PK_Date]))) > '2002-02-01T00:00:00.0000000'"); +WHERE DATEADD(month, CAST(2 AS int), DATEADD(day, CAST(15.0E0 AS int), DATEADD(day, CAST(10.0E0 AS int), [t].[OneToOne_Required_PK_Date]))) > '2002-02-01T00:00:00.0000000' +"""); } public override async Task Result_operator_nav_prop_reference_optional_Average(bool async) @@ -5849,13 +6257,15 @@ public override async Task Result_operator_nav_prop_reference_optional_Average(b await base.Result_operator_nav_prop_reference_optional_Average(async); AssertSql( - @"SELECT AVG(CAST([t].[Level1_Required_Id] AS float)) +""" +SELECT AVG(CAST([t].[Level1_Required_Id] AS float)) FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task GroupJoin_in_subquery_with_client_projection_nested2(bool async) @@ -5863,7 +6273,8 @@ public override async Task GroupJoin_in_subquery_with_client_projection_nested2( await base.GroupJoin_in_subquery_with_client_projection_nested2(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [Level1] AS [l] WHERE ( SELECT COUNT(*) @@ -5894,7 +6305,8 @@ FROM [Level1] AS [l5] WHEN ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t2].[Id] END WHERE ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) - ) AS [t1] ON [l3].[Id] = [t1].[Level1_Optional_Id]) > 7) > 4 AND [l].[Id] < 2"); + ) AS [t1] ON [l3].[Id] = [t1].[Level1_Optional_Id]) > 7) > 4 AND [l].[Id] < 2 +"""); } public override async Task Complex_navigations_with_predicate_projected_into_anonymous_type2(bool async) @@ -5902,7 +6314,8 @@ public override async Task Complex_navigations_with_predicate_projected_into_ano await base.Complex_navigations_with_predicate_projected_into_anonymous_type2(async); AssertSql( - @"SELECT [t0].[Level3_Name] AS [Name], [l4].[Id] +""" +SELECT [t0].[Level3_Name] AS [Name], [l4].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -5929,7 +6342,8 @@ FROM [Level1] AS [l2] END LEFT JOIN [Level1] AS [l3] ON [t1].[Level1_Required_Id] = [l3].[Id] LEFT JOIN [Level1] AS [l4] ON [t1].[Level1_Optional_Id] = [l4].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([l3].[Id] = [l4].[Id] OR (([l3].[Id] IS NULL) AND ([l4].[Id] IS NULL))) AND ([l4].[Id] <> 7 OR ([l4].[Id] IS NULL))"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([l3].[Id] = [l4].[Id] OR (([l3].[Id] IS NULL) AND ([l4].[Id] IS NULL))) AND ([l4].[Id] <> 7 OR ([l4].[Id] IS NULL)) +"""); } public override async Task Select_subquery_with_client_eval_and_navigation1(bool async) @@ -5937,7 +6351,8 @@ public override async Task Select_subquery_with_client_eval_and_navigation1(bool await base.Select_subquery_with_client_eval_and_navigation1(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [l2].[Name] FROM [Level1] AS [l1] LEFT JOIN ( @@ -5960,7 +6375,8 @@ FROM [Level1] AS [l0] ) AS [t] ON [l].[Id] = CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task String_include_multiple_derived_collection_navigation_with_same_name_and_different_type(bool async) @@ -5968,11 +6384,13 @@ public override async Task String_include_multiple_derived_collection_navigation await base.String_include_multiple_derived_collection_navigation_with_same_name_and_different_type(async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeReference_InheritanceDerived2Id], [i1].[InheritanceDerived2Id], [i1].[Name] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[DifferentTypeCollection_InheritanceDerived1Id] LEFT JOIN [InheritanceLeafTwo] AS [i1] ON [i].[Id] = [i1].[InheritanceDerived2Id] -ORDER BY [i].[Id], [i0].[Id]"); +ORDER BY [i].[Id], [i0].[Id] +"""); } public override async Task Include_reference_and_project_into_anonymous_type(bool async) @@ -5980,13 +6398,15 @@ public override async Task Include_reference_and_project_into_anonymous_type(boo await base.Include_reference_and_project_into_anonymous_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_scalar_result_operator(bool async) @@ -5994,7 +6414,8 @@ public override async Task Explicit_GroupJoin_in_subquery_with_scalar_result_ope await base.Explicit_GroupJoin_in_subquery_with_scalar_result_operator(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] WHERE ( SELECT COUNT(*) @@ -6010,7 +6431,8 @@ FROM [Level1] AS [l2] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) - ) AS [t0] ON [l0].[Id] = [t0].[Level1_Optional_Id]) > 4"); + ) AS [t0] ON [l0].[Id] = [t0].[Level1_Optional_Id]) > 4 +"""); } public override async Task Nav_rewrite_doesnt_apply_null_protection_for_function_arguments(bool async) @@ -6018,14 +6440,16 @@ public override async Task Nav_rewrite_doesnt_apply_null_protection_for_function await base.Nav_rewrite_doesnt_apply_null_protection_for_function_arguments(async); AssertSql( - @"SELECT [t].[Level1_Required_Id] +""" +SELECT [t].[Level1_Required_Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToOne_Optional_PK_Inverse2Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Result_operator_nav_prop_reference_optional_Min(bool async) @@ -6033,13 +6457,15 @@ public override async Task Result_operator_nav_prop_reference_optional_Min(bool await base.Result_operator_nav_prop_reference_optional_Min(async); AssertSql( - @"SELECT MIN([t].[Level1_Required_Id]) +""" +SELECT MIN([t].[Level1_Required_Id]) FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Entries_for_detached_entities_are_removed(bool async) @@ -6047,7 +6473,8 @@ public override async Task Entries_for_detached_entities_are_removed(bool async) await base.Entries_for_detached_entities_are_removed(async); AssertSql( - @"SELECT TOP(1) [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT TOP(1) [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -6059,7 +6486,8 @@ FROM [Level1] AS [l0] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) ORDER BY CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END"); +END +"""); } public override async Task Navigation_inside_method_call_translated_to_join2(bool async) @@ -6067,7 +6495,8 @@ public override async Task Navigation_inside_method_call_translated_to_join2(boo await base.Navigation_inside_method_call_translated_to_join2(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -6092,7 +6521,8 @@ FROM [Level1] AS [l2] ) AS [t1] ON [t0].[Level2_Required_Id] = CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t1].[Level2_Name] IS NOT NULL) AND ([t1].[Level2_Name] LIKE N'L%')"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t1].[Level2_Name] IS NOT NULL) AND ([t1].[Level2_Name] LIKE N'L%') +"""); } public override async Task Select_nav_prop_reference_optional1_via_DefaultIfEmpty(bool async) @@ -6100,7 +6530,8 @@ public override async Task Select_nav_prop_reference_optional1_via_DefaultIfEmpt await base.Select_nav_prop_reference_optional1_via_DefaultIfEmpty(async); AssertSql( - @"SELECT [t0].[Level2_Name] +""" +SELECT [t0].[Level2_Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Level1_Optional_Id], [t].[Level2_Name] @@ -6113,7 +6544,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id]"); +) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] +"""); } public override async Task Where_multiple_nav_prop_reference_optional_compared_to_null3(bool async) @@ -6121,7 +6553,8 @@ public override async Task Where_multiple_nav_prop_reference_optional_compared_t await base.Where_multiple_nav_prop_reference_optional_compared_to_null3(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -6135,7 +6568,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[Level2_Optional_Id] -WHERE ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Navigations_compared_to_each_other1(bool async) @@ -6143,7 +6577,8 @@ public override async Task Navigations_compared_to_each_other1(bool async) await base.Navigations_compared_to_each_other1(async); AssertSql( - @"SELECT [t].[Level2_Name] +""" +SELECT [t].[Level2_Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Required_Inverse2Id] @@ -6153,7 +6588,8 @@ FROM [Level1] AS [l0] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END LEFT JOIN [Level1] AS [l1] ON [t].[OneToMany_Required_Inverse2Id] = [l1].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l1].[Id] = [l1].[Id] OR ([l1].[Id] IS NULL))"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l1].[Id] = [l1].[Id] OR ([l1].[Id] IS NULL)) +"""); } public override async Task Optional_navigation_in_subquery_with_unrelated_projection(bool async) @@ -6161,7 +6597,8 @@ public override async Task Optional_navigation_in_subquery_with_unrelated_projec await base.Optional_navigation_in_subquery_with_unrelated_projection(async); AssertSql( - @"@__p_0='15' +""" +@__p_0='15' SELECT TOP(@__p_0) [l].[Id] FROM [Level1] AS [l] @@ -6171,7 +6608,8 @@ FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] WHERE [t].[Level2_Name] <> N'Foo' OR ([t].[Level2_Name] IS NULL) -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Correlated_subquery_doesnt_project_unnecessary_columns_in_top_level(bool async) @@ -6179,7 +6617,8 @@ public override async Task Correlated_subquery_doesnt_project_unnecessary_column await base.Correlated_subquery_doesnt_project_unnecessary_columns_in_top_level(async); AssertSql( - @"SELECT DISTINCT [l].[Name] +""" +SELECT DISTINCT [l].[Name] FROM [Level1] AS [l] WHERE EXISTS ( SELECT 1 @@ -6191,7 +6630,8 @@ FROM [Level1] AS [l1] ) AS [t] ON [l0].[Id] = CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END - WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [t].[Level1_Required_Id] = [l].[Id])"); + WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [t].[Level1_Required_Id] = [l].[Id]) +"""); } public override async Task Select_subquery_with_client_eval_and_navigation2(bool async) @@ -6199,7 +6639,8 @@ public override async Task Select_subquery_with_client_eval_and_navigation2(bool await base.Select_subquery_with_client_eval_and_navigation2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ( SELECT TOP(1) [l2].[Name] FROM [Level1] AS [l1] @@ -6239,7 +6680,8 @@ FROM [Level1] AS [l0] ) AS [t] ON [l].[Id] = CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) +"""); } public override async Task Include18_1(bool async) @@ -6247,7 +6689,8 @@ public override async Task Include18_1(bool async) await base.Include18_1(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id] FROM ( SELECT DISTINCT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] @@ -6256,7 +6699,8 @@ LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [t].[Id] = [t0].[Level1_Optional_Id]"); +) AS [t0] ON [t].[Id] = [t0].[Level1_Optional_Id] +"""); } public override async Task Include18_4(bool async) @@ -6264,7 +6708,8 @@ public override async Task Include18_4(bool async) await base.Include18_4(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM ( SELECT DISTINCT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] @@ -6278,7 +6723,8 @@ LEFT JOIN ( SELECT [l1].[Id], [l1].[OneToOne_Required_PK_Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Level2_Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t1] ON [t].[Id] = [t1].[Level1_Optional_Id]"); +) AS [t1] ON [t].[Id] = [t1].[Level1_Optional_Id] +"""); } public override async Task Result_operator_nav_prop_reference_optional_Average_without_selector(bool async) @@ -6286,13 +6732,15 @@ public override async Task Result_operator_nav_prop_reference_optional_Average_w await base.Result_operator_nav_prop_reference_optional_Average_without_selector(async); AssertSql( - @"SELECT AVG(CAST([t].[Level1_Required_Id] AS float)) +""" +SELECT AVG(CAST([t].[Level1_Required_Id] AS float)) FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id] FROM [Level1] AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id]"); +) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] +"""); } public override async Task Order_by_key_of_anonymous_type_projected_navigation_doesnt_get_optimized_into_FK_access_subquery( @@ -6301,7 +6749,8 @@ public override async Task Order_by_key_of_anonymous_type_projected_navigation_d await base.Order_by_key_of_anonymous_type_projected_navigation_doesnt_get_optimized_into_FK_access_subquery(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [t1].[Level2_Name] FROM [Level1] AS [l] @@ -6331,7 +6780,8 @@ FROM [Level1] AS [l2] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) ORDER BY CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] -END"); +END +"""); } public override async Task Where_nav_prop_reference_optional1_via_DefaultIfEmpty(bool async) @@ -6339,7 +6789,8 @@ public override async Task Where_nav_prop_reference_optional1_via_DefaultIfEmpty await base.Where_nav_prop_reference_optional1_via_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Level1_Optional_Id], [t].[Level2_Name] @@ -6365,7 +6816,8 @@ FROM [Level1] AS [l3] END WHERE ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[Level1_Optional_Id] -WHERE [t0].[Level2_Name] = N'L2 05' OR [t1].[Level2_Name] = N'L2 07'"); +WHERE [t0].[Level2_Name] = N'L2 05' OR [t1].[Level2_Name] = N'L2 07' +"""); } public override async Task Join_navigation_key_access_required(bool async) @@ -6373,7 +6825,8 @@ public override async Task Join_navigation_key_access_required(bool async) await base.Join_navigation_key_access_required(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], CASE +""" +SELECT [l].[Id] AS [Id1], CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END AS [Id2] FROM [Level1] AS [l] @@ -6389,7 +6842,8 @@ FROM [Level1] AS [l2] END LEFT JOIN [Level1] AS [l1] ON [t].[Level1_Required_Id] = [l1].[Id] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[Id1]"); +) AS [t0] ON [l].[Id] = [t0].[Id1] +"""); } public override async Task Include_with_all_method_include_gets_ignored(bool async) @@ -6397,13 +6851,15 @@ public override async Task Include_with_all_method_include_gets_ignored(bool asy await base.Include_with_all_method_include_gets_ignored(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Level1] AS [l] WHERE [l].[Name] = N'Foo' AND ([l].[Name] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Include18_3_2(bool async) @@ -6411,7 +6867,8 @@ public override async Task Include18_3_2(bool async) await base.Include18_3_2(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM ( @@ -6429,7 +6886,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [t0].[Id] = [t1].[Level1_Optional_Id] -ORDER BY [t0].[Level2_Name]"); +ORDER BY [t0].[Level2_Name] +"""); } public override async Task Select_nav_prop_reference_optional2_via_DefaultIfEmpty(bool async) @@ -6437,7 +6895,8 @@ public override async Task Select_nav_prop_reference_optional2_via_DefaultIfEmpt await base.Select_nav_prop_reference_optional2_via_DefaultIfEmpty(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END FROM [Level1] AS [l] @@ -6452,7 +6911,8 @@ FROM [Level1] AS [l1] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) -) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id]"); +) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] +"""); } public override async Task Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access1(bool async) @@ -6460,7 +6920,8 @@ public override async Task Order_by_key_of_projected_navigation_doesnt_get_optim await base.Order_by_key_of_projected_navigation_doesnt_get_optimized_into_FK_access1(async); AssertSql( - @"SELECT [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -6488,7 +6949,8 @@ FROM [Level1] AS [l2] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) ORDER BY CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t1].[Id] -END"); +END +"""); } public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse4(bool async) @@ -6496,7 +6958,8 @@ public override async Task Where_complex_predicate_with_with_nav_prop_and_OrElse await base.Where_complex_predicate_with_with_nav_prop_and_OrElse4(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END FROM [Level1] AS [l] @@ -6531,7 +6994,8 @@ FROM [Level1] AS [l3] WHEN ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t2].[Id] END LEFT JOIN [Level1] AS [l4] ON [t2].[Level1_Optional_Id] = [l4].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t1].[Level2_Name] <> N'L2 05' OR ([t1].[Level2_Name] IS NULL) OR [l4].[Name] = N'L1 05')"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t1].[Level2_Name] <> N'L2 05' OR ([t1].[Level2_Name] IS NULL) OR [l4].[Name] = N'L1 05') +"""); } public override async Task String_include_multiple_derived_navigation_with_same_name_and_same_type(bool async) @@ -6539,10 +7003,12 @@ public override async Task String_include_multiple_derived_navigation_with_same_ await base.String_include_multiple_derived_navigation_with_same_name_and_same_type(async); AssertSql( - @"SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeCollection_InheritanceDerived1Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeCollection_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id] +""" +SELECT [i].[Id], [i].[Discriminator], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1], [i].[Name], [i0].[Id], [i0].[DifferentTypeCollection_InheritanceDerived1Id], [i0].[DifferentTypeReference_InheritanceDerived1Id], [i0].[InheritanceDerived2Id], [i0].[Name], [i0].[SameTypeCollection_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived1Id], [i0].[SameTypeReference_InheritanceDerived2Id], [i1].[Id], [i1].[DifferentTypeCollection_InheritanceDerived1Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeCollection_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id] FROM [InheritanceOne] AS [i] LEFT JOIN [InheritanceLeafOne] AS [i0] ON [i].[Id] = [i0].[SameTypeReference_InheritanceDerived1Id] -LEFT JOIN [InheritanceLeafOne] AS [i1] ON [i].[Id] = [i1].[SameTypeReference_InheritanceDerived2Id]"); +LEFT JOIN [InheritanceLeafOne] AS [i1] ON [i].[Id] = [i1].[SameTypeReference_InheritanceDerived2Id] +"""); } public override async Task Select_subquery_with_client_eval_and_multi_level_navigation(bool async) @@ -6550,7 +7016,8 @@ public override async Task Select_subquery_with_client_eval_and_multi_level_navi await base.Select_subquery_with_client_eval_and_multi_level_navigation(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [l3].[Name] FROM [Level1] AS [l2] LEFT JOIN ( @@ -6598,7 +7065,8 @@ FROM [Level1] AS [l1] END = CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) +"""); } public override async Task Optional_navigation_take_optional_navigation(bool async) @@ -6606,7 +7074,8 @@ public override async Task Optional_navigation_take_optional_navigation(bool asy await base.Optional_navigation_take_optional_navigation(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t1].[Level3_Name] FROM ( @@ -6630,7 +7099,8 @@ FROM [Level1] AS [l1] ) AS [t1] ON CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id0] END = [t1].[Level2_Optional_Id] -ORDER BY [t0].[c]"); +ORDER BY [t0].[c] +"""); } public override async Task SelectMany_nested_navigation_property_optional_and_projection(bool async) @@ -6638,7 +7108,8 @@ public override async Task SelectMany_nested_navigation_property_optional_and_pr await base.SelectMany_nested_navigation_property_optional_and_projection(async); AssertSql( - @"SELECT [t0].[Level3_Name] +""" +SELECT [t0].[Level3_Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -6651,7 +7122,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[OneToMany_Optional_Inverse3Id]"); +END = [t0].[OneToMany_Optional_Inverse3Id] +"""); } public override async Task Include18_3(bool async) @@ -6659,7 +7131,8 @@ public override async Task Include18_3(bool async) await base.Include18_3(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM ( @@ -6677,7 +7150,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [t0].[Id] = [t1].[Level1_Optional_Id] -ORDER BY [t0].[Level2_Name]"); +ORDER BY [t0].[Level2_Name] +"""); } public override async Task Navigation_with_same_navigation_compared_to_null(bool async) @@ -6685,7 +7159,8 @@ public override async Task Navigation_with_same_navigation_compared_to_null(bool await base.Navigation_with_same_navigation_compared_to_null(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END FROM [Level1] AS [l] @@ -6697,7 +7172,8 @@ FROM [Level1] AS [l0] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END LEFT JOIN [Level1] AS [l1] ON [t].[OneToMany_Required_Inverse2Id] = [l1].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l1].[Name] <> N'L1 07' OR ([l1].[Name] IS NULL)) AND ([l1].[Id] IS NOT NULL)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l1].[Name] <> N'L1 07' OR ([l1].[Name] IS NULL)) AND ([l1].[Id] IS NOT NULL) +"""); } public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_projection(bool async) @@ -6705,7 +7181,8 @@ public override async Task Explicit_GroupJoin_in_subquery_with_unrelated_project await base.Explicit_GroupJoin_in_subquery_with_unrelated_projection(async); AssertSql( - @"@__p_0='15' +""" +@__p_0='15' SELECT TOP(@__p_0) [l].[Id] FROM [Level1] AS [l] @@ -6722,7 +7199,8 @@ FROM [Level1] AS [l1] WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[Level1_Optional_Id] WHERE [t0].[Level2_Name] <> N'Foo' OR ([t0].[Level2_Name] IS NULL) -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Navigation_key_access_required_comparison(bool async) @@ -6730,7 +7208,8 @@ public override async Task Navigation_key_access_required_comparison(bool async) await base.Navigation_key_access_required_comparison(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END FROM [Level1] AS [l] @@ -6744,7 +7223,8 @@ FROM [Level1] AS [l0] LEFT JOIN [Level1] AS [l1] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [l1].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] > 5"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] > 5 +"""); } public override async Task SelectMany_navigation_comparison1(bool async) @@ -6752,10 +7232,12 @@ public override async Task SelectMany_navigation_comparison1(bool async) await base.SelectMany_navigation_comparison1(async); AssertSql( - @"SELECT [l].[Id] AS [Id1], [l0].[Id] AS [Id2] +""" +SELECT [l].[Id] AS [Id1], [l0].[Id] AS [Id2] FROM [Level1] AS [l] CROSS JOIN [Level1] AS [l0] -WHERE [l].[Id] = [l0].[Id]"); +WHERE [l].[Id] = [l0].[Id] +"""); } public override async Task GroupJoin_in_subquery_with_client_result_operator(bool async) @@ -6763,7 +7245,8 @@ public override async Task GroupJoin_in_subquery_with_client_result_operator(boo await base.GroupJoin_in_subquery_with_client_result_operator(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [Level1] AS [l] WHERE ( SELECT COUNT(*) @@ -6782,7 +7265,8 @@ FROM [Level1] AS [l2] END WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l0].[Id] = [t0].[Level1_Optional_Id] - ) AS [t1]) > 7 AND [l].[Id] < 3"); + ) AS [t1]) > 7 AND [l].[Id] < 3 +"""); } public override async Task Include18_3_1(bool async) @@ -6790,7 +7274,8 @@ public override async Task Include18_3_1(bool async) await base.Include18_3_1(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id] FROM ( @@ -6808,7 +7293,8 @@ LEFT JOIN ( FROM [Level1] AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [t0].[Id] = [t1].[Level1_Optional_Id] -ORDER BY [t0].[Level2_Name]"); +ORDER BY [t0].[Level2_Name] +"""); } public override async Task Key_equality_two_conditions_on_same_navigation2(bool async) @@ -6816,7 +7302,8 @@ public override async Task Key_equality_two_conditions_on_same_navigation2(bool await base.Key_equality_two_conditions_on_same_navigation2(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -6826,7 +7313,8 @@ FROM [Level1] AS [l0] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END LEFT JOIN [Level1] AS [l1] ON [t].[Level1_Required_Id] = [l1].[Id] -WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] IN (1, 2)"); +WHERE ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l1].[Id] IN (1, 2) +"""); } public override async Task Entity_equality_empty(bool async) @@ -6834,7 +7322,8 @@ public override async Task Entity_equality_empty(bool async) await base.Entity_equality_empty(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -6843,7 +7332,8 @@ FROM [Level1] AS [l0] ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = 0"); +END = 0 +"""); } public override async Task Member_pushdown_with_multiple_collections(bool async) @@ -6851,7 +7341,8 @@ public override async Task Member_pushdown_with_multiple_collections(bool async) await base.Member_pushdown_with_multiple_collections(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [l0].[Level3_Name] FROM [Level1] AS [l0] WHERE ([l0].[Level2_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND (( @@ -6882,7 +7373,8 @@ ORDER BY CASE ORDER BY CASE WHEN ([l0].[Level2_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [l0].[Id] END) -FROM [Level1] AS [l]"); +FROM [Level1] AS [l] +"""); } public override async Task Join_flattening_bug_4539(bool async) @@ -6890,7 +7382,8 @@ public override async Task Join_flattening_bug_4539(bool async) await base.Join_flattening_bug_4539(async); AssertSql( - @"SELECT [t0].[Id0], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [l4].[Id], [l4].[Date], [l4].[Name] +""" +SELECT [t0].[Id0], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [l4].[Id], [l4].[Date], [l4].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [t].[Id] AS [Id0], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id] @@ -6916,7 +7409,8 @@ FROM [Level1] AS [l3] END WHERE ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] -INNER JOIN [Level1] AS [l4] ON [t1].[Level1_Required_Id] = [l4].[Id]"); +INNER JOIN [Level1] AS [l4] ON [t1].[Level1_Required_Id] = [l4].[Id] +"""); } public override async Task Multi_level_include_with_short_circuiting(bool async) @@ -6924,7 +7418,8 @@ public override async Task Multi_level_include_with_short_circuiting(bool async) await base.Multi_level_include_with_short_circuiting(async); AssertSql( - @"SELECT [f].[Name], [f].[LabelDefaultText], [f].[PlaceholderDefaultText], [m].[DefaultText], [m0].[DefaultText], [t].[Text], [t].[ComplexNavigationStringDefaultText], [t].[LanguageName], [t].[Name], [t].[CultureString], [t0].[Text], [t0].[ComplexNavigationStringDefaultText], [t0].[LanguageName], [t0].[Name], [t0].[CultureString] +""" +SELECT [f].[Name], [f].[LabelDefaultText], [f].[PlaceholderDefaultText], [m].[DefaultText], [m0].[DefaultText], [t].[Text], [t].[ComplexNavigationStringDefaultText], [t].[LanguageName], [t].[Name], [t].[CultureString], [t0].[Text], [t0].[ComplexNavigationStringDefaultText], [t0].[LanguageName], [t0].[Name], [t0].[CultureString] FROM [Fields] AS [f] LEFT JOIN [MultilingualStrings] AS [m] ON [f].[LabelDefaultText] = [m].[DefaultText] LEFT JOIN [MultilingualStrings] AS [m0] ON [f].[PlaceholderDefaultText] = [m0].[DefaultText] @@ -6938,7 +7433,8 @@ LEFT JOIN ( FROM [Globalizations] AS [g0] LEFT JOIN [Languages] AS [l0] ON [g0].[LanguageName] = [l0].[Name] ) AS [t0] ON [m0].[DefaultText] = [t0].[ComplexNavigationStringDefaultText] -ORDER BY [f].[Name], [m].[DefaultText], [m0].[DefaultText], [t].[Text], [t].[Name], [t0].[Text]"); +ORDER BY [f].[Name], [m].[DefaultText], [m0].[DefaultText], [t].[Text], [t].[Name], [t0].[Text] +"""); } public override async Task Select_multiple_nav_prop_reference_optional(bool async) @@ -6946,7 +7442,8 @@ public override async Task Select_multiple_nav_prop_reference_optional(bool asyn await base.Select_multiple_nav_prop_reference_optional(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END FROM [Level1] AS [l] @@ -6961,7 +7458,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[Level2_Optional_Id]"); +END = [t0].[Level2_Optional_Id] +"""); } public override async Task Where_multiple_nav_prop_reference_optional_member_compared_to_null(bool async) @@ -6969,7 +7467,8 @@ public override async Task Where_multiple_nav_prop_reference_optional_member_com await base.Where_multiple_nav_prop_reference_optional_member_compared_to_null(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -6983,7 +7482,8 @@ FROM [Level1] AS [l1] ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[Level2_Optional_Id] -WHERE [t0].[Level3_Name] IS NOT NULL"); +WHERE [t0].[Level3_Name] IS NOT NULL +"""); } public override async Task GroupJoin_in_subquery_with_client_projection_nested1(bool async) @@ -6991,7 +7491,8 @@ public override async Task GroupJoin_in_subquery_with_client_projection_nested1( await base.GroupJoin_in_subquery_with_client_projection_nested1(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [Level1] AS [l] WHERE ( SELECT COUNT(*) @@ -7026,7 +7527,8 @@ FROM [Level1] AS [l5] WHERE ([t2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t2].[Level1_Required_Id] IS NOT NULL) AND ([t2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l3].[Id] = [t1].[Level1_Optional_Id]) > 7 ORDER BY [l0].[Id] - ) AS [t3]) > 4 AND [l].[Id] < 2"); + ) AS [t3]) > 4 AND [l].[Id] < 2 +"""); } public override async Task Key_equality_when_sentinel_ef_property(bool async) @@ -7034,7 +7536,8 @@ public override async Task Key_equality_when_sentinel_ef_property(bool async) await base.Key_equality_when_sentinel_ef_property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name] +""" +SELECT [l].[Id], [l].[Date], [l].[Name] FROM [Level1] AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id] @@ -7043,7 +7546,8 @@ FROM [Level1] AS [l0] ) AS [t] ON [l].[Id] = [t].[Level1_Optional_Id] WHERE CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = 0"); +END = 0 +"""); } public override async Task Project_shadow_properties1(bool async) @@ -7104,7 +7608,8 @@ public override async Task GroupJoin_with_subquery_on_inner(bool async) await base.GroupJoin_with_subquery_on_inner(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] OUTER APPLY ( SELECT TOP(10) [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l0].[Id] AS [Id0], CASE @@ -7124,7 +7629,8 @@ FROM [Level1] AS [l1] ORDER BY CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END -) AS [t0]"); +) AS [t0] +"""); } public override async Task GroupJoin_with_subquery_on_inner_and_no_DefaultIfEmpty(bool async) @@ -7132,7 +7638,8 @@ public override async Task GroupJoin_with_subquery_on_inner_and_no_DefaultIfEmpt await base.GroupJoin_with_subquery_on_inner_and_no_DefaultIfEmpty(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [Level1] AS [l] CROSS APPLY ( SELECT TOP(10) [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [l0].[Id] AS [Id0], CASE @@ -7152,7 +7659,8 @@ FROM [Level1] AS [l1] ORDER BY CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END -) AS [t0]"); +) AS [t0] +"""); } public override async Task Level4_Include(bool async) @@ -7209,8 +7717,10 @@ public override async Task Project_shadow_properties8(bool async) await base.Project_shadow_properties8(async); AssertSql( - @"SELECT [i].[Id], [i].[InheritanceLeaf2Id] -FROM [InheritanceTwo] AS [i]"); +""" +SELECT [i].[Id], [i].[InheritanceLeaf2Id] +FROM [InheritanceTwo] AS [i] +"""); } public override async Task Project_shadow_properties10(bool async) @@ -7218,8 +7728,10 @@ public override async Task Project_shadow_properties10(bool async) await base.Project_shadow_properties10(async); AssertSql( - @"SELECT [i].[Id], [i].[DifferentTypeReference_InheritanceDerived2Id], [i].[InheritanceDerived2Id] -FROM [InheritanceLeafTwo] AS [i]"); +""" +SELECT [i].[Id], [i].[DifferentTypeReference_InheritanceDerived2Id], [i].[InheritanceDerived2Id] +FROM [InheritanceLeafTwo] AS [i] +"""); } public override async Task Project_shadow_properties7(bool async) @@ -7227,9 +7739,11 @@ public override async Task Project_shadow_properties7(bool async) await base.Project_shadow_properties7(async); AssertSql( - @"SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] +""" +SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] FROM [InheritanceOne] AS [i] -WHERE [i].[Discriminator] = N'InheritanceDerived2'"); +WHERE [i].[Discriminator] = N'InheritanceDerived2' +"""); } public override async Task Project_shadow_properties6(bool async) @@ -7237,9 +7751,11 @@ public override async Task Project_shadow_properties6(bool async) await base.Project_shadow_properties6(async); AssertSql( - @"SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] +""" +SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] FROM [InheritanceOne] AS [i] -WHERE [i].[Discriminator] = N'InheritanceDerived1'"); +WHERE [i].[Discriminator] = N'InheritanceDerived1' +"""); } public override async Task String_include_multiple_derived_navigations_complex(bool async) @@ -7247,7 +7763,8 @@ public override async Task String_include_multiple_derived_navigations_complex(b await base.String_include_multiple_derived_navigations_complex(async); AssertSql( - @"SELECT [i].[Id], [i].[InheritanceLeaf2Id], [i].[Name], [i0].[Id], [i0].[Discriminator], [i0].[InheritanceBase2Id], [i0].[InheritanceBase2Id1], [i0].[Name], [i1].[Id], [i1].[DifferentTypeCollection_InheritanceDerived1Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeCollection_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id], [i2].[Id], [i2].[DifferentTypeReference_InheritanceDerived2Id], [i2].[InheritanceDerived2Id], [i2].[Name], [t].[Id], [t].[Discriminator], [t].[InheritanceBase2Id], [t].[InheritanceBase2Id1], [t].[Name], [t].[Id0], [t].[DifferentTypeCollection_InheritanceDerived1Id], [t].[DifferentTypeReference_InheritanceDerived1Id], [t].[InheritanceDerived2Id], [t].[Name0], [t].[SameTypeCollection_InheritanceDerived1Id], [t].[SameTypeReference_InheritanceDerived1Id], [t].[SameTypeReference_InheritanceDerived2Id], [t].[Id1], [t].[DifferentTypeCollection_InheritanceDerived1Id0], [t].[DifferentTypeReference_InheritanceDerived1Id0], [t].[InheritanceDerived2Id0], [t].[Name1], [t].[SameTypeCollection_InheritanceDerived1Id0], [t].[SameTypeReference_InheritanceDerived1Id0], [t].[SameTypeReference_InheritanceDerived2Id0] +""" +SELECT [i].[Id], [i].[InheritanceLeaf2Id], [i].[Name], [i0].[Id], [i0].[Discriminator], [i0].[InheritanceBase2Id], [i0].[InheritanceBase2Id1], [i0].[Name], [i1].[Id], [i1].[DifferentTypeCollection_InheritanceDerived1Id], [i1].[DifferentTypeReference_InheritanceDerived1Id], [i1].[InheritanceDerived2Id], [i1].[Name], [i1].[SameTypeCollection_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived1Id], [i1].[SameTypeReference_InheritanceDerived2Id], [i2].[Id], [i2].[DifferentTypeReference_InheritanceDerived2Id], [i2].[InheritanceDerived2Id], [i2].[Name], [t].[Id], [t].[Discriminator], [t].[InheritanceBase2Id], [t].[InheritanceBase2Id1], [t].[Name], [t].[Id0], [t].[DifferentTypeCollection_InheritanceDerived1Id], [t].[DifferentTypeReference_InheritanceDerived1Id], [t].[InheritanceDerived2Id], [t].[Name0], [t].[SameTypeCollection_InheritanceDerived1Id], [t].[SameTypeReference_InheritanceDerived1Id], [t].[SameTypeReference_InheritanceDerived2Id], [t].[Id1], [t].[DifferentTypeCollection_InheritanceDerived1Id0], [t].[DifferentTypeReference_InheritanceDerived1Id0], [t].[InheritanceDerived2Id0], [t].[Name1], [t].[SameTypeCollection_InheritanceDerived1Id0], [t].[SameTypeReference_InheritanceDerived1Id0], [t].[SameTypeReference_InheritanceDerived2Id0] FROM [InheritanceTwo] AS [i] LEFT JOIN [InheritanceOne] AS [i0] ON [i].[Id] = [i0].[InheritanceBase2Id] LEFT JOIN [InheritanceLeafOne] AS [i1] ON [i0].[Id] = [i1].[DifferentTypeCollection_InheritanceDerived1Id] @@ -7258,7 +7775,8 @@ FROM [InheritanceOne] AS [i3] LEFT JOIN [InheritanceLeafOne] AS [i4] ON [i3].[Id] = [i4].[SameTypeReference_InheritanceDerived1Id] LEFT JOIN [InheritanceLeafOne] AS [i5] ON [i3].[Id] = [i5].[SameTypeReference_InheritanceDerived2Id] ) AS [t] ON [i].[Id] = [t].[InheritanceBase2Id1] -ORDER BY [i].[Id], [i0].[Id], [i1].[Id], [i2].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [i].[Id], [i0].[Id], [i1].[Id], [i2].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Project_shadow_properties5(bool async) @@ -7266,8 +7784,10 @@ public override async Task Project_shadow_properties5(bool async) await base.Project_shadow_properties5(async); AssertSql( - @"SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] -FROM [InheritanceOne] AS [i]"); +""" +SELECT [i].[Id], [i].[InheritanceBase2Id], [i].[InheritanceBase2Id1] +FROM [InheritanceOne] AS [i] +"""); } public override async Task Multiple_required_navigation_using_multiple_selects_with_EF_Property_Include(bool async) @@ -7282,7 +7802,8 @@ public override async Task SelectMany_with_EF_Property_Include1(bool async) await base.SelectMany_with_EF_Property_Include1(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id] @@ -7295,7 +7816,8 @@ FROM [Level1] AS [l1] WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[Level2_Required_Id]"); +END = [t0].[Level2_Required_Id] +"""); } public override async Task Multiple_SelectMany_with_EF_Property_Include(bool async) @@ -7303,7 +7825,8 @@ public override async Task Multiple_SelectMany_with_EF_Property_Include(bool asy await base.Multiple_SelectMany_with_EF_Property_Include(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id] FROM [Level1] AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id] @@ -7323,7 +7846,8 @@ FROM [Level1] AS [l2] WHERE ([l2].[Level3_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse4Id] IS NOT NULL) ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] -END = [t1].[Level3_Required_Id]"); +END = [t1].[Level3_Required_Id] +"""); } public override async Task Multiple_required_navigation_with_EF_Property_Include(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/CompositeKeysQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/CompositeKeysQuerySqlServerTest.cs index a746f6c35d8..93ef608ed80 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/CompositeKeysQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/CompositeKeysQuerySqlServerTest.cs @@ -22,11 +22,13 @@ public override async Task Projecting_multiple_collections_same_level_top_level_ await base.Projecting_multiple_collections_same_level_top_level_ordering(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c1].[Id1], [c1].[Id2], [c1].[Date], [c1].[Level1_Optional_Id1], [c1].[Level1_Optional_Id2], [c1].[Level1_Required_Id1], [c1].[Level1_Required_Id2], [c1].[Name], [c1].[OneToMany_Optional_Inverse2Id1], [c1].[OneToMany_Optional_Inverse2Id2], [c1].[OneToMany_Optional_Self_Inverse2Id1], [c1].[OneToMany_Optional_Self_Inverse2Id2], [c1].[OneToMany_Required_Inverse2Id1], [c1].[OneToMany_Required_Inverse2Id2], [c1].[OneToMany_Required_Self_Inverse2Id1], [c1].[OneToMany_Required_Self_Inverse2Id2], [c1].[OneToOne_Optional_PK_Inverse2Id1], [c1].[OneToOne_Optional_PK_Inverse2Id2], [c1].[OneToOne_Optional_Self2Id1], [c1].[OneToOne_Optional_Self2Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c1].[Id1], [c1].[Id2], [c1].[Date], [c1].[Level1_Optional_Id1], [c1].[Level1_Optional_Id2], [c1].[Level1_Required_Id1], [c1].[Level1_Required_Id2], [c1].[Name], [c1].[OneToMany_Optional_Inverse2Id1], [c1].[OneToMany_Optional_Inverse2Id2], [c1].[OneToMany_Optional_Self_Inverse2Id1], [c1].[OneToMany_Optional_Self_Inverse2Id2], [c1].[OneToMany_Required_Inverse2Id1], [c1].[OneToMany_Required_Inverse2Id2], [c1].[OneToMany_Required_Self_Inverse2Id1], [c1].[OneToMany_Required_Self_Inverse2Id2], [c1].[OneToOne_Optional_PK_Inverse2Id1], [c1].[OneToOne_Optional_PK_Inverse2Id2], [c1].[OneToOne_Optional_Self2Id1], [c1].[OneToOne_Optional_Self2Id2] FROM [CompositeOnes] AS [c] LEFT JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] LEFT JOIN [CompositeTwos] AS [c1] ON [c].[Id1] = [c1].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c1].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1], [c0].[Id1], [c0].[Id2], [c1].[Id1]"); +ORDER BY [c].[Id2], [c].[Id1], [c0].[Id1], [c0].[Id2], [c1].[Id1] +"""); } public override async Task Projecting_multiple_collections_same_level_top_level_ordering_using_entire_composite_key(bool async) @@ -34,11 +36,13 @@ public override async Task Projecting_multiple_collections_same_level_top_level_ await base.Projecting_multiple_collections_same_level_top_level_ordering_using_entire_composite_key(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c1].[Id1], [c1].[Id2], [c1].[Date], [c1].[Level1_Optional_Id1], [c1].[Level1_Optional_Id2], [c1].[Level1_Required_Id1], [c1].[Level1_Required_Id2], [c1].[Name], [c1].[OneToMany_Optional_Inverse2Id1], [c1].[OneToMany_Optional_Inverse2Id2], [c1].[OneToMany_Optional_Self_Inverse2Id1], [c1].[OneToMany_Optional_Self_Inverse2Id2], [c1].[OneToMany_Required_Inverse2Id1], [c1].[OneToMany_Required_Inverse2Id2], [c1].[OneToMany_Required_Self_Inverse2Id1], [c1].[OneToMany_Required_Self_Inverse2Id2], [c1].[OneToOne_Optional_PK_Inverse2Id1], [c1].[OneToOne_Optional_PK_Inverse2Id2], [c1].[OneToOne_Optional_Self2Id1], [c1].[OneToOne_Optional_Self2Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c1].[Id1], [c1].[Id2], [c1].[Date], [c1].[Level1_Optional_Id1], [c1].[Level1_Optional_Id2], [c1].[Level1_Required_Id1], [c1].[Level1_Required_Id2], [c1].[Name], [c1].[OneToMany_Optional_Inverse2Id1], [c1].[OneToMany_Optional_Inverse2Id2], [c1].[OneToMany_Optional_Self_Inverse2Id1], [c1].[OneToMany_Optional_Self_Inverse2Id2], [c1].[OneToMany_Required_Inverse2Id1], [c1].[OneToMany_Required_Inverse2Id2], [c1].[OneToMany_Required_Self_Inverse2Id1], [c1].[OneToMany_Required_Self_Inverse2Id2], [c1].[OneToOne_Optional_PK_Inverse2Id1], [c1].[OneToOne_Optional_PK_Inverse2Id2], [c1].[OneToOne_Optional_Self2Id1], [c1].[OneToOne_Optional_Self2Id2] FROM [CompositeOnes] AS [c] LEFT JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] LEFT JOIN [CompositeTwos] AS [c1] ON [c].[Id1] = [c1].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c1].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1] DESC, [c0].[Id1], [c0].[Id2], [c1].[Id1]"); +ORDER BY [c].[Id2], [c].[Id1] DESC, [c0].[Id1], [c0].[Id2], [c1].[Id1] +"""); } public override async Task Projecting_multiple_collections_with_ordering_same_level(bool async) @@ -46,11 +50,13 @@ public override async Task Projecting_multiple_collections_with_ordering_same_le await base.Projecting_multiple_collections_with_ordering_same_level(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c1].[Id1], [c1].[Id2], [c1].[Date], [c1].[Level1_Optional_Id1], [c1].[Level1_Optional_Id2], [c1].[Level1_Required_Id1], [c1].[Level1_Required_Id2], [c1].[Name], [c1].[OneToMany_Optional_Inverse2Id1], [c1].[OneToMany_Optional_Inverse2Id2], [c1].[OneToMany_Optional_Self_Inverse2Id1], [c1].[OneToMany_Optional_Self_Inverse2Id2], [c1].[OneToMany_Required_Inverse2Id1], [c1].[OneToMany_Required_Inverse2Id2], [c1].[OneToMany_Required_Self_Inverse2Id1], [c1].[OneToMany_Required_Self_Inverse2Id2], [c1].[OneToOne_Optional_PK_Inverse2Id1], [c1].[OneToOne_Optional_PK_Inverse2Id2], [c1].[OneToOne_Optional_Self2Id1], [c1].[OneToOne_Optional_Self2Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c1].[Id1], [c1].[Id2], [c1].[Date], [c1].[Level1_Optional_Id1], [c1].[Level1_Optional_Id2], [c1].[Level1_Required_Id1], [c1].[Level1_Required_Id2], [c1].[Name], [c1].[OneToMany_Optional_Inverse2Id1], [c1].[OneToMany_Optional_Inverse2Id2], [c1].[OneToMany_Optional_Self_Inverse2Id1], [c1].[OneToMany_Optional_Self_Inverse2Id2], [c1].[OneToMany_Required_Inverse2Id1], [c1].[OneToMany_Required_Inverse2Id2], [c1].[OneToMany_Required_Self_Inverse2Id1], [c1].[OneToMany_Required_Self_Inverse2Id2], [c1].[OneToOne_Optional_PK_Inverse2Id1], [c1].[OneToOne_Optional_PK_Inverse2Id2], [c1].[OneToOne_Optional_Self2Id1], [c1].[OneToOne_Optional_Self2Id2] FROM [CompositeOnes] AS [c] LEFT JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] LEFT JOIN [CompositeTwos] AS [c1] ON [c].[Id1] = [c1].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c1].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id2], [c0].[Id1], [c1].[Name] DESC, [c1].[Id1]"); +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id2], [c0].[Id1], [c1].[Name] DESC, [c1].[Id1] +"""); } public override async Task Projecting_multiple_collections_with_ordering_same_level_top_level_ordering(bool async) @@ -58,11 +64,13 @@ public override async Task Projecting_multiple_collections_with_ordering_same_le await base.Projecting_multiple_collections_with_ordering_same_level_top_level_ordering(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c1].[Id1], [c1].[Id2], [c1].[Date], [c1].[Level1_Optional_Id1], [c1].[Level1_Optional_Id2], [c1].[Level1_Required_Id1], [c1].[Level1_Required_Id2], [c1].[Name], [c1].[OneToMany_Optional_Inverse2Id1], [c1].[OneToMany_Optional_Inverse2Id2], [c1].[OneToMany_Optional_Self_Inverse2Id1], [c1].[OneToMany_Optional_Self_Inverse2Id2], [c1].[OneToMany_Required_Inverse2Id1], [c1].[OneToMany_Required_Inverse2Id2], [c1].[OneToMany_Required_Self_Inverse2Id1], [c1].[OneToMany_Required_Self_Inverse2Id2], [c1].[OneToOne_Optional_PK_Inverse2Id1], [c1].[OneToOne_Optional_PK_Inverse2Id2], [c1].[OneToOne_Optional_Self2Id1], [c1].[OneToOne_Optional_Self2Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c1].[Id1], [c1].[Id2], [c1].[Date], [c1].[Level1_Optional_Id1], [c1].[Level1_Optional_Id2], [c1].[Level1_Required_Id1], [c1].[Level1_Required_Id2], [c1].[Name], [c1].[OneToMany_Optional_Inverse2Id1], [c1].[OneToMany_Optional_Inverse2Id2], [c1].[OneToMany_Optional_Self_Inverse2Id1], [c1].[OneToMany_Optional_Self_Inverse2Id2], [c1].[OneToMany_Required_Inverse2Id1], [c1].[OneToMany_Required_Inverse2Id2], [c1].[OneToMany_Required_Self_Inverse2Id1], [c1].[OneToMany_Required_Self_Inverse2Id2], [c1].[OneToOne_Optional_PK_Inverse2Id1], [c1].[OneToOne_Optional_PK_Inverse2Id2], [c1].[OneToOne_Optional_Self2Id1], [c1].[OneToOne_Optional_Self2Id2] FROM [CompositeOnes] AS [c] LEFT JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] LEFT JOIN [CompositeTwos] AS [c1] ON [c].[Id1] = [c1].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c1].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1], [c0].[Id2], [c0].[Id1], [c1].[Name] DESC, [c1].[Id1]"); +ORDER BY [c].[Id2], [c].[Id1], [c0].[Id2], [c0].[Id1], [c1].[Name] DESC, [c1].[Id1] +"""); } public override async Task Projecting_collections_multi_level(bool async) @@ -70,14 +78,16 @@ public override async Task Projecting_collections_multi_level(bool async) await base.Projecting_collections_multi_level(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2], [t].[Name], [t].[Id1], [t].[Id2], [t].[Id10], [t].[Id20], [t].[Level2_Optional_Id1], [t].[Level2_Optional_Id2], [t].[Level2_Required_Id1], [t].[Level2_Required_Id2], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id1], [t].[OneToMany_Optional_Inverse3Id2], [t].[OneToMany_Optional_Self_Inverse3Id1], [t].[OneToMany_Optional_Self_Inverse3Id2], [t].[OneToMany_Required_Inverse3Id1], [t].[OneToMany_Required_Inverse3Id2], [t].[OneToMany_Required_Self_Inverse3Id1], [t].[OneToMany_Required_Self_Inverse3Id2], [t].[OneToOne_Optional_PK_Inverse3Id1], [t].[OneToOne_Optional_PK_Inverse3Id2], [t].[OneToOne_Optional_Self3Id1], [t].[OneToOne_Optional_Self3Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2], [t].[Name], [t].[Id1], [t].[Id2], [t].[Id10], [t].[Id20], [t].[Level2_Optional_Id1], [t].[Level2_Optional_Id2], [t].[Level2_Required_Id1], [t].[Level2_Required_Id2], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id1], [t].[OneToMany_Optional_Inverse3Id2], [t].[OneToMany_Optional_Self_Inverse3Id1], [t].[OneToMany_Optional_Self_Inverse3Id2], [t].[OneToMany_Required_Inverse3Id1], [t].[OneToMany_Required_Inverse3Id2], [t].[OneToMany_Required_Self_Inverse3Id1], [t].[OneToMany_Required_Self_Inverse3Id2], [t].[OneToOne_Optional_PK_Inverse3Id1], [t].[OneToOne_Optional_PK_Inverse3Id2], [t].[OneToOne_Optional_Self3Id1], [t].[OneToOne_Optional_Self3Id2] FROM [CompositeOnes] AS [c] LEFT JOIN ( SELECT [c0].[Name], [c0].[Id1], [c0].[Id2], [c1].[Id1] AS [Id10], [c1].[Id2] AS [Id20], [c1].[Level2_Optional_Id1], [c1].[Level2_Optional_Id2], [c1].[Level2_Required_Id1], [c1].[Level2_Required_Id2], [c1].[Name] AS [Name0], [c1].[OneToMany_Optional_Inverse3Id1], [c1].[OneToMany_Optional_Inverse3Id2], [c1].[OneToMany_Optional_Self_Inverse3Id1], [c1].[OneToMany_Optional_Self_Inverse3Id2], [c1].[OneToMany_Required_Inverse3Id1], [c1].[OneToMany_Required_Inverse3Id2], [c1].[OneToMany_Required_Self_Inverse3Id1], [c1].[OneToMany_Required_Self_Inverse3Id2], [c1].[OneToOne_Optional_PK_Inverse3Id1], [c1].[OneToOne_Optional_PK_Inverse3Id2], [c1].[OneToOne_Optional_Self3Id1], [c1].[OneToOne_Optional_Self3Id2], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2] FROM [CompositeTwos] AS [c0] LEFT JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Required_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Required_Inverse3Id2] ) AS [t] ON [c].[Id1] = [t].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [t].[OneToMany_Optional_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1], [t].[Id2], [t].[Id1], [t].[Id20] DESC"); +ORDER BY [c].[Id2], [c].[Id1], [t].[Id2], [t].[Id1], [t].[Id20] DESC +"""); } public override async Task Projecting_multiple_collections_on_multiple_levels_no_explicit_ordering(bool async) @@ -85,7 +95,8 @@ public override async Task Projecting_multiple_collections_on_multiple_levels_no await base.Projecting_multiple_collections_on_multiple_levels_no_explicit_ordering(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2], [t1].[Name], [t1].[Id1], [t1].[Id2], [t1].[Name0], [t1].[Id10], [t1].[Id20], [t1].[Id100], [t1].[Id200], [t1].[Level3_Optional_Id1], [t1].[Level3_Optional_Id2], [t1].[Level3_Required_Id1], [t1].[Level3_Required_Id2], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id1], [t1].[OneToMany_Optional_Inverse4Id2], [t1].[OneToMany_Optional_Self_Inverse4Id1], [t1].[OneToMany_Optional_Self_Inverse4Id2], [t1].[OneToMany_Required_Inverse4Id1], [t1].[OneToMany_Required_Inverse4Id2], [t1].[OneToMany_Required_Self_Inverse4Id1], [t1].[OneToMany_Required_Self_Inverse4Id2], [t1].[OneToOne_Optional_PK_Inverse4Id1], [t1].[OneToOne_Optional_PK_Inverse4Id2], [t1].[OneToOne_Optional_Self4Id1], [t1].[OneToOne_Optional_Self4Id2], [t1].[Id11], [t1].[Id21], [t1].[Level3_Optional_Id10], [t1].[Level3_Optional_Id20], [t1].[Level3_Required_Id10], [t1].[Level3_Required_Id20], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id10], [t1].[OneToMany_Optional_Inverse4Id20], [t1].[OneToMany_Optional_Self_Inverse4Id10], [t1].[OneToMany_Optional_Self_Inverse4Id20], [t1].[OneToMany_Required_Inverse4Id10], [t1].[OneToMany_Required_Inverse4Id20], [t1].[OneToMany_Required_Self_Inverse4Id10], [t1].[OneToMany_Required_Self_Inverse4Id20], [t1].[OneToOne_Optional_PK_Inverse4Id10], [t1].[OneToOne_Optional_PK_Inverse4Id20], [t1].[OneToOne_Optional_Self4Id10], [t1].[OneToOne_Optional_Self4Id20], [t1].[Name2], [t1].[Id12], [t1].[Id22], [t1].[Id101], [t1].[Id201], [t1].[Level3_Optional_Id11], [t1].[Level3_Optional_Id21], [t1].[Level3_Required_Id11], [t1].[Level3_Required_Id21], [t1].[Name01], [t1].[OneToMany_Optional_Inverse4Id11], [t1].[OneToMany_Optional_Inverse4Id21], [t1].[OneToMany_Optional_Self_Inverse4Id11], [t1].[OneToMany_Optional_Self_Inverse4Id21], [t1].[OneToMany_Required_Inverse4Id11], [t1].[OneToMany_Required_Inverse4Id21], [t1].[OneToMany_Required_Self_Inverse4Id11], [t1].[OneToMany_Required_Self_Inverse4Id21], [t1].[OneToOne_Optional_PK_Inverse4Id11], [t1].[OneToOne_Optional_PK_Inverse4Id21], [t1].[OneToOne_Optional_Self4Id11], [t1].[OneToOne_Optional_Self4Id21], [t1].[Id110], [t1].[Id210], [t1].[Level3_Optional_Id100], [t1].[Level3_Optional_Id200], [t1].[Level3_Required_Id100], [t1].[Level3_Required_Id200], [t1].[Name10], [t1].[OneToMany_Optional_Inverse4Id100], [t1].[OneToMany_Optional_Inverse4Id200], [t1].[OneToMany_Optional_Self_Inverse4Id100], [t1].[OneToMany_Optional_Self_Inverse4Id200], [t1].[OneToMany_Required_Inverse4Id100], [t1].[OneToMany_Required_Inverse4Id200], [t1].[OneToMany_Required_Self_Inverse4Id100], [t1].[OneToMany_Required_Self_Inverse4Id200], [t1].[OneToOne_Optional_PK_Inverse4Id100], [t1].[OneToOne_Optional_PK_Inverse4Id200], [t1].[OneToOne_Optional_Self4Id100], [t1].[OneToOne_Optional_Self4Id200], [t2].[Name], [t2].[Id1], [t2].[Id2], [t2].[Name0], [t2].[Id10], [t2].[Id20], [t2].[Id100], [t2].[Id200], [t2].[Level3_Optional_Id1], [t2].[Level3_Optional_Id2], [t2].[Level3_Required_Id1], [t2].[Level3_Required_Id2], [t2].[Name00], [t2].[OneToMany_Optional_Inverse4Id1], [t2].[OneToMany_Optional_Inverse4Id2], [t2].[OneToMany_Optional_Self_Inverse4Id1], [t2].[OneToMany_Optional_Self_Inverse4Id2], [t2].[OneToMany_Required_Inverse4Id1], [t2].[OneToMany_Required_Inverse4Id2], [t2].[OneToMany_Required_Self_Inverse4Id1], [t2].[OneToMany_Required_Self_Inverse4Id2], [t2].[OneToOne_Optional_PK_Inverse4Id1], [t2].[OneToOne_Optional_PK_Inverse4Id2], [t2].[OneToOne_Optional_Self4Id1], [t2].[OneToOne_Optional_Self4Id2], [t2].[Id11], [t2].[Id21], [t2].[Level3_Optional_Id10], [t2].[Level3_Optional_Id20], [t2].[Level3_Required_Id10], [t2].[Level3_Required_Id20], [t2].[Name1], [t2].[OneToMany_Optional_Inverse4Id10], [t2].[OneToMany_Optional_Inverse4Id20], [t2].[OneToMany_Optional_Self_Inverse4Id10], [t2].[OneToMany_Optional_Self_Inverse4Id20], [t2].[OneToMany_Required_Inverse4Id10], [t2].[OneToMany_Required_Inverse4Id20], [t2].[OneToMany_Required_Self_Inverse4Id10], [t2].[OneToMany_Required_Self_Inverse4Id20], [t2].[OneToOne_Optional_PK_Inverse4Id10], [t2].[OneToOne_Optional_PK_Inverse4Id20], [t2].[OneToOne_Optional_Self4Id10], [t2].[OneToOne_Optional_Self4Id20], [t2].[Name2], [t2].[Id12], [t2].[Id22], [t2].[Id101], [t2].[Id201], [t2].[Level3_Optional_Id11], [t2].[Level3_Optional_Id21], [t2].[Level3_Required_Id11], [t2].[Level3_Required_Id21], [t2].[Name01], [t2].[OneToMany_Optional_Inverse4Id11], [t2].[OneToMany_Optional_Inverse4Id21], [t2].[OneToMany_Optional_Self_Inverse4Id11], [t2].[OneToMany_Optional_Self_Inverse4Id21], [t2].[OneToMany_Required_Inverse4Id11], [t2].[OneToMany_Required_Inverse4Id21], [t2].[OneToMany_Required_Self_Inverse4Id11], [t2].[OneToMany_Required_Self_Inverse4Id21], [t2].[OneToOne_Optional_PK_Inverse4Id11], [t2].[OneToOne_Optional_PK_Inverse4Id21], [t2].[OneToOne_Optional_Self4Id11], [t2].[OneToOne_Optional_Self4Id21], [t2].[Id110], [t2].[Id210], [t2].[Level3_Optional_Id100], [t2].[Level3_Optional_Id200], [t2].[Level3_Required_Id100], [t2].[Level3_Required_Id200], [t2].[Name10], [t2].[OneToMany_Optional_Inverse4Id100], [t2].[OneToMany_Optional_Inverse4Id200], [t2].[OneToMany_Optional_Self_Inverse4Id100], [t2].[OneToMany_Optional_Self_Inverse4Id200], [t2].[OneToMany_Required_Inverse4Id100], [t2].[OneToMany_Required_Inverse4Id200], [t2].[OneToMany_Required_Self_Inverse4Id100], [t2].[OneToMany_Required_Self_Inverse4Id200], [t2].[OneToOne_Optional_PK_Inverse4Id100], [t2].[OneToOne_Optional_PK_Inverse4Id200], [t2].[OneToOne_Optional_Self4Id100], [t2].[OneToOne_Optional_Self4Id200] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2], [t1].[Name], [t1].[Id1], [t1].[Id2], [t1].[Name0], [t1].[Id10], [t1].[Id20], [t1].[Id100], [t1].[Id200], [t1].[Level3_Optional_Id1], [t1].[Level3_Optional_Id2], [t1].[Level3_Required_Id1], [t1].[Level3_Required_Id2], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id1], [t1].[OneToMany_Optional_Inverse4Id2], [t1].[OneToMany_Optional_Self_Inverse4Id1], [t1].[OneToMany_Optional_Self_Inverse4Id2], [t1].[OneToMany_Required_Inverse4Id1], [t1].[OneToMany_Required_Inverse4Id2], [t1].[OneToMany_Required_Self_Inverse4Id1], [t1].[OneToMany_Required_Self_Inverse4Id2], [t1].[OneToOne_Optional_PK_Inverse4Id1], [t1].[OneToOne_Optional_PK_Inverse4Id2], [t1].[OneToOne_Optional_Self4Id1], [t1].[OneToOne_Optional_Self4Id2], [t1].[Id11], [t1].[Id21], [t1].[Level3_Optional_Id10], [t1].[Level3_Optional_Id20], [t1].[Level3_Required_Id10], [t1].[Level3_Required_Id20], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id10], [t1].[OneToMany_Optional_Inverse4Id20], [t1].[OneToMany_Optional_Self_Inverse4Id10], [t1].[OneToMany_Optional_Self_Inverse4Id20], [t1].[OneToMany_Required_Inverse4Id10], [t1].[OneToMany_Required_Inverse4Id20], [t1].[OneToMany_Required_Self_Inverse4Id10], [t1].[OneToMany_Required_Self_Inverse4Id20], [t1].[OneToOne_Optional_PK_Inverse4Id10], [t1].[OneToOne_Optional_PK_Inverse4Id20], [t1].[OneToOne_Optional_Self4Id10], [t1].[OneToOne_Optional_Self4Id20], [t1].[Name2], [t1].[Id12], [t1].[Id22], [t1].[Id101], [t1].[Id201], [t1].[Level3_Optional_Id11], [t1].[Level3_Optional_Id21], [t1].[Level3_Required_Id11], [t1].[Level3_Required_Id21], [t1].[Name01], [t1].[OneToMany_Optional_Inverse4Id11], [t1].[OneToMany_Optional_Inverse4Id21], [t1].[OneToMany_Optional_Self_Inverse4Id11], [t1].[OneToMany_Optional_Self_Inverse4Id21], [t1].[OneToMany_Required_Inverse4Id11], [t1].[OneToMany_Required_Inverse4Id21], [t1].[OneToMany_Required_Self_Inverse4Id11], [t1].[OneToMany_Required_Self_Inverse4Id21], [t1].[OneToOne_Optional_PK_Inverse4Id11], [t1].[OneToOne_Optional_PK_Inverse4Id21], [t1].[OneToOne_Optional_Self4Id11], [t1].[OneToOne_Optional_Self4Id21], [t1].[Id110], [t1].[Id210], [t1].[Level3_Optional_Id100], [t1].[Level3_Optional_Id200], [t1].[Level3_Required_Id100], [t1].[Level3_Required_Id200], [t1].[Name10], [t1].[OneToMany_Optional_Inverse4Id100], [t1].[OneToMany_Optional_Inverse4Id200], [t1].[OneToMany_Optional_Self_Inverse4Id100], [t1].[OneToMany_Optional_Self_Inverse4Id200], [t1].[OneToMany_Required_Inverse4Id100], [t1].[OneToMany_Required_Inverse4Id200], [t1].[OneToMany_Required_Self_Inverse4Id100], [t1].[OneToMany_Required_Self_Inverse4Id200], [t1].[OneToOne_Optional_PK_Inverse4Id100], [t1].[OneToOne_Optional_PK_Inverse4Id200], [t1].[OneToOne_Optional_Self4Id100], [t1].[OneToOne_Optional_Self4Id200], [t2].[Name], [t2].[Id1], [t2].[Id2], [t2].[Name0], [t2].[Id10], [t2].[Id20], [t2].[Id100], [t2].[Id200], [t2].[Level3_Optional_Id1], [t2].[Level3_Optional_Id2], [t2].[Level3_Required_Id1], [t2].[Level3_Required_Id2], [t2].[Name00], [t2].[OneToMany_Optional_Inverse4Id1], [t2].[OneToMany_Optional_Inverse4Id2], [t2].[OneToMany_Optional_Self_Inverse4Id1], [t2].[OneToMany_Optional_Self_Inverse4Id2], [t2].[OneToMany_Required_Inverse4Id1], [t2].[OneToMany_Required_Inverse4Id2], [t2].[OneToMany_Required_Self_Inverse4Id1], [t2].[OneToMany_Required_Self_Inverse4Id2], [t2].[OneToOne_Optional_PK_Inverse4Id1], [t2].[OneToOne_Optional_PK_Inverse4Id2], [t2].[OneToOne_Optional_Self4Id1], [t2].[OneToOne_Optional_Self4Id2], [t2].[Id11], [t2].[Id21], [t2].[Level3_Optional_Id10], [t2].[Level3_Optional_Id20], [t2].[Level3_Required_Id10], [t2].[Level3_Required_Id20], [t2].[Name1], [t2].[OneToMany_Optional_Inverse4Id10], [t2].[OneToMany_Optional_Inverse4Id20], [t2].[OneToMany_Optional_Self_Inverse4Id10], [t2].[OneToMany_Optional_Self_Inverse4Id20], [t2].[OneToMany_Required_Inverse4Id10], [t2].[OneToMany_Required_Inverse4Id20], [t2].[OneToMany_Required_Self_Inverse4Id10], [t2].[OneToMany_Required_Self_Inverse4Id20], [t2].[OneToOne_Optional_PK_Inverse4Id10], [t2].[OneToOne_Optional_PK_Inverse4Id20], [t2].[OneToOne_Optional_Self4Id10], [t2].[OneToOne_Optional_Self4Id20], [t2].[Name2], [t2].[Id12], [t2].[Id22], [t2].[Id101], [t2].[Id201], [t2].[Level3_Optional_Id11], [t2].[Level3_Optional_Id21], [t2].[Level3_Required_Id11], [t2].[Level3_Required_Id21], [t2].[Name01], [t2].[OneToMany_Optional_Inverse4Id11], [t2].[OneToMany_Optional_Inverse4Id21], [t2].[OneToMany_Optional_Self_Inverse4Id11], [t2].[OneToMany_Optional_Self_Inverse4Id21], [t2].[OneToMany_Required_Inverse4Id11], [t2].[OneToMany_Required_Inverse4Id21], [t2].[OneToMany_Required_Self_Inverse4Id11], [t2].[OneToMany_Required_Self_Inverse4Id21], [t2].[OneToOne_Optional_PK_Inverse4Id11], [t2].[OneToOne_Optional_PK_Inverse4Id21], [t2].[OneToOne_Optional_Self4Id11], [t2].[OneToOne_Optional_Self4Id21], [t2].[Id110], [t2].[Id210], [t2].[Level3_Optional_Id100], [t2].[Level3_Optional_Id200], [t2].[Level3_Required_Id100], [t2].[Level3_Required_Id200], [t2].[Name10], [t2].[OneToMany_Optional_Inverse4Id100], [t2].[OneToMany_Optional_Inverse4Id200], [t2].[OneToMany_Optional_Self_Inverse4Id100], [t2].[OneToMany_Optional_Self_Inverse4Id200], [t2].[OneToMany_Required_Inverse4Id100], [t2].[OneToMany_Required_Inverse4Id200], [t2].[OneToMany_Required_Self_Inverse4Id100], [t2].[OneToMany_Required_Self_Inverse4Id200], [t2].[OneToOne_Optional_PK_Inverse4Id100], [t2].[OneToOne_Optional_PK_Inverse4Id200], [t2].[OneToOne_Optional_Self4Id100], [t2].[OneToOne_Optional_Self4Id200] FROM [CompositeOnes] AS [c] LEFT JOIN ( SELECT [c0].[Name], [c0].[Id1], [c0].[Id2], [t].[Name] AS [Name0], [t].[Id1] AS [Id10], [t].[Id2] AS [Id20], [t].[Id10] AS [Id100], [t].[Id20] AS [Id200], [t].[Level3_Optional_Id1], [t].[Level3_Optional_Id2], [t].[Level3_Required_Id1], [t].[Level3_Required_Id2], [t].[Name0] AS [Name00], [t].[OneToMany_Optional_Inverse4Id1], [t].[OneToMany_Optional_Inverse4Id2], [t].[OneToMany_Optional_Self_Inverse4Id1], [t].[OneToMany_Optional_Self_Inverse4Id2], [t].[OneToMany_Required_Inverse4Id1], [t].[OneToMany_Required_Inverse4Id2], [t].[OneToMany_Required_Self_Inverse4Id1], [t].[OneToMany_Required_Self_Inverse4Id2], [t].[OneToOne_Optional_PK_Inverse4Id1], [t].[OneToOne_Optional_PK_Inverse4Id2], [t].[OneToOne_Optional_Self4Id1], [t].[OneToOne_Optional_Self4Id2], [t].[Id11], [t].[Id21], [t].[Level3_Optional_Id10], [t].[Level3_Optional_Id20], [t].[Level3_Required_Id10], [t].[Level3_Required_Id20], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id10], [t].[OneToMany_Optional_Inverse4Id20], [t].[OneToMany_Optional_Self_Inverse4Id10], [t].[OneToMany_Optional_Self_Inverse4Id20], [t].[OneToMany_Required_Inverse4Id10], [t].[OneToMany_Required_Inverse4Id20], [t].[OneToMany_Required_Self_Inverse4Id10], [t].[OneToMany_Required_Self_Inverse4Id20], [t].[OneToOne_Optional_PK_Inverse4Id10], [t].[OneToOne_Optional_PK_Inverse4Id20], [t].[OneToOne_Optional_Self4Id10], [t].[OneToOne_Optional_Self4Id20], [t0].[Name] AS [Name2], [t0].[Id1] AS [Id12], [t0].[Id2] AS [Id22], [t0].[Id10] AS [Id101], [t0].[Id20] AS [Id201], [t0].[Level3_Optional_Id1] AS [Level3_Optional_Id11], [t0].[Level3_Optional_Id2] AS [Level3_Optional_Id21], [t0].[Level3_Required_Id1] AS [Level3_Required_Id11], [t0].[Level3_Required_Id2] AS [Level3_Required_Id21], [t0].[Name0] AS [Name01], [t0].[OneToMany_Optional_Inverse4Id1] AS [OneToMany_Optional_Inverse4Id11], [t0].[OneToMany_Optional_Inverse4Id2] AS [OneToMany_Optional_Inverse4Id21], [t0].[OneToMany_Optional_Self_Inverse4Id1] AS [OneToMany_Optional_Self_Inverse4Id11], [t0].[OneToMany_Optional_Self_Inverse4Id2] AS [OneToMany_Optional_Self_Inverse4Id21], [t0].[OneToMany_Required_Inverse4Id1] AS [OneToMany_Required_Inverse4Id11], [t0].[OneToMany_Required_Inverse4Id2] AS [OneToMany_Required_Inverse4Id21], [t0].[OneToMany_Required_Self_Inverse4Id1] AS [OneToMany_Required_Self_Inverse4Id11], [t0].[OneToMany_Required_Self_Inverse4Id2] AS [OneToMany_Required_Self_Inverse4Id21], [t0].[OneToOne_Optional_PK_Inverse4Id1] AS [OneToOne_Optional_PK_Inverse4Id11], [t0].[OneToOne_Optional_PK_Inverse4Id2] AS [OneToOne_Optional_PK_Inverse4Id21], [t0].[OneToOne_Optional_Self4Id1] AS [OneToOne_Optional_Self4Id11], [t0].[OneToOne_Optional_Self4Id2] AS [OneToOne_Optional_Self4Id21], [t0].[Id11] AS [Id110], [t0].[Id21] AS [Id210], [t0].[Level3_Optional_Id10] AS [Level3_Optional_Id100], [t0].[Level3_Optional_Id20] AS [Level3_Optional_Id200], [t0].[Level3_Required_Id10] AS [Level3_Required_Id100], [t0].[Level3_Required_Id20] AS [Level3_Required_Id200], [t0].[Name1] AS [Name10], [t0].[OneToMany_Optional_Inverse4Id10] AS [OneToMany_Optional_Inverse4Id100], [t0].[OneToMany_Optional_Inverse4Id20] AS [OneToMany_Optional_Inverse4Id200], [t0].[OneToMany_Optional_Self_Inverse4Id10] AS [OneToMany_Optional_Self_Inverse4Id100], [t0].[OneToMany_Optional_Self_Inverse4Id20] AS [OneToMany_Optional_Self_Inverse4Id200], [t0].[OneToMany_Required_Inverse4Id10] AS [OneToMany_Required_Inverse4Id100], [t0].[OneToMany_Required_Inverse4Id20] AS [OneToMany_Required_Inverse4Id200], [t0].[OneToMany_Required_Self_Inverse4Id10] AS [OneToMany_Required_Self_Inverse4Id100], [t0].[OneToMany_Required_Self_Inverse4Id20] AS [OneToMany_Required_Self_Inverse4Id200], [t0].[OneToOne_Optional_PK_Inverse4Id10] AS [OneToOne_Optional_PK_Inverse4Id100], [t0].[OneToOne_Optional_PK_Inverse4Id20] AS [OneToOne_Optional_PK_Inverse4Id200], [t0].[OneToOne_Optional_Self4Id10] AS [OneToOne_Optional_Self4Id100], [t0].[OneToOne_Optional_Self4Id20] AS [OneToOne_Optional_Self4Id200], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2] @@ -119,7 +130,8 @@ FROM [CompositeThrees] AS [c11] LEFT JOIN [CompositeFours] AS [c13] ON [c11].[Id1] = [c13].[OneToMany_Required_Inverse4Id1] AND [c11].[Id2] = [c13].[OneToMany_Required_Inverse4Id2] ) AS [t4] ON [c7].[Id1] = [t4].[OneToMany_Optional_Inverse3Id1] AND [c7].[Id2] = [t4].[OneToMany_Optional_Inverse3Id2] ) AS [t2] ON [c].[Id1] = [t2].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [t2].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Id1], [c].[Id2], [t1].[Id1], [t1].[Id2], [t1].[Id10], [t1].[Id20], [t1].[Id100], [t1].[Id200], [t1].[Id11], [t1].[Id21], [t1].[Id12], [t1].[Id22], [t1].[Id101], [t1].[Id201], [t1].[Id110], [t1].[Id210], [t2].[Id1], [t2].[Id2], [t2].[Id10], [t2].[Id20], [t2].[Id100], [t2].[Id200], [t2].[Id11], [t2].[Id21], [t2].[Id12], [t2].[Id22], [t2].[Id101], [t2].[Id201], [t2].[Id110]"); +ORDER BY [c].[Id1], [c].[Id2], [t1].[Id1], [t1].[Id2], [t1].[Id10], [t1].[Id20], [t1].[Id100], [t1].[Id200], [t1].[Id11], [t1].[Id21], [t1].[Id12], [t1].[Id22], [t1].[Id101], [t1].[Id201], [t1].[Id110], [t1].[Id210], [t2].[Id1], [t2].[Id2], [t2].[Id10], [t2].[Id20], [t2].[Id100], [t2].[Id200], [t2].[Id11], [t2].[Id21], [t2].[Id12], [t2].[Id22], [t2].[Id101], [t2].[Id201], [t2].[Id110] +"""); } public override async Task Projecting_multiple_collections_on_multiple_levels_some_explicit_ordering(bool async) @@ -127,7 +139,8 @@ public override async Task Projecting_multiple_collections_on_multiple_levels_so await base.Projecting_multiple_collections_on_multiple_levels_some_explicit_ordering(async); AssertSql( - @"SELECT [c].[Id1], [c].[Id2], [t1].[Name], [t1].[Id1], [t1].[Id2], [t1].[Id10], [t1].[Id20], [t1].[Id100], [t1].[Id200], [t1].[Level3_Optional_Id1], [t1].[Level3_Optional_Id2], [t1].[Level3_Required_Id1], [t1].[Level3_Required_Id2], [t1].[Name0], [t1].[OneToMany_Optional_Inverse4Id1], [t1].[OneToMany_Optional_Inverse4Id2], [t1].[OneToMany_Optional_Self_Inverse4Id1], [t1].[OneToMany_Optional_Self_Inverse4Id2], [t1].[OneToMany_Required_Inverse4Id1], [t1].[OneToMany_Required_Inverse4Id2], [t1].[OneToMany_Required_Self_Inverse4Id1], [t1].[OneToMany_Required_Self_Inverse4Id2], [t1].[OneToOne_Optional_PK_Inverse4Id1], [t1].[OneToOne_Optional_PK_Inverse4Id2], [t1].[OneToOne_Optional_Self4Id1], [t1].[OneToOne_Optional_Self4Id2], [t1].[Id11], [t1].[Id21], [t1].[Level3_Optional_Id10], [t1].[Level3_Optional_Id20], [t1].[Level3_Required_Id10], [t1].[Level3_Required_Id20], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id10], [t1].[OneToMany_Optional_Inverse4Id20], [t1].[OneToMany_Optional_Self_Inverse4Id10], [t1].[OneToMany_Optional_Self_Inverse4Id20], [t1].[OneToMany_Required_Inverse4Id10], [t1].[OneToMany_Required_Inverse4Id20], [t1].[OneToMany_Required_Self_Inverse4Id10], [t1].[OneToMany_Required_Self_Inverse4Id20], [t1].[OneToOne_Optional_PK_Inverse4Id10], [t1].[OneToOne_Optional_PK_Inverse4Id20], [t1].[OneToOne_Optional_Self4Id10], [t1].[OneToOne_Optional_Self4Id20], [t1].[Name1], [t1].[Id12], [t1].[Id22], [t1].[Id101], [t1].[Id201], [t1].[Level3_Optional_Id11], [t1].[Level3_Optional_Id21], [t1].[Level3_Required_Id11], [t1].[Level3_Required_Id21], [t1].[Name01], [t1].[OneToMany_Optional_Inverse4Id11], [t1].[OneToMany_Optional_Inverse4Id21], [t1].[OneToMany_Optional_Self_Inverse4Id11], [t1].[OneToMany_Optional_Self_Inverse4Id21], [t1].[OneToMany_Required_Inverse4Id11], [t1].[OneToMany_Required_Inverse4Id21], [t1].[OneToMany_Required_Self_Inverse4Id11], [t1].[OneToMany_Required_Self_Inverse4Id21], [t1].[OneToOne_Optional_PK_Inverse4Id11], [t1].[OneToOne_Optional_PK_Inverse4Id21], [t1].[OneToOne_Optional_Self4Id11], [t1].[OneToOne_Optional_Self4Id21], [t1].[Id110], [t1].[Id210], [t1].[Level3_Optional_Id100], [t1].[Level3_Optional_Id200], [t1].[Level3_Required_Id100], [t1].[Level3_Required_Id200], [t1].[Name10], [t1].[OneToMany_Optional_Inverse4Id100], [t1].[OneToMany_Optional_Inverse4Id200], [t1].[OneToMany_Optional_Self_Inverse4Id100], [t1].[OneToMany_Optional_Self_Inverse4Id200], [t1].[OneToMany_Required_Inverse4Id100], [t1].[OneToMany_Required_Inverse4Id200], [t1].[OneToMany_Required_Self_Inverse4Id100], [t1].[OneToMany_Required_Self_Inverse4Id200], [t1].[OneToOne_Optional_PK_Inverse4Id100], [t1].[OneToOne_Optional_PK_Inverse4Id200], [t1].[OneToOne_Optional_Self4Id100], [t1].[OneToOne_Optional_Self4Id200], [t2].[Name], [t2].[Id1], [t2].[Id2], [t2].[Name0], [t2].[Id10], [t2].[Id20], [t2].[Id100], [t2].[Id200], [t2].[Level3_Optional_Id1], [t2].[Level3_Optional_Id2], [t2].[Level3_Required_Id1], [t2].[Level3_Required_Id2], [t2].[Name00], [t2].[OneToMany_Optional_Inverse4Id1], [t2].[OneToMany_Optional_Inverse4Id2], [t2].[OneToMany_Optional_Self_Inverse4Id1], [t2].[OneToMany_Optional_Self_Inverse4Id2], [t2].[OneToMany_Required_Inverse4Id1], [t2].[OneToMany_Required_Inverse4Id2], [t2].[OneToMany_Required_Self_Inverse4Id1], [t2].[OneToMany_Required_Self_Inverse4Id2], [t2].[OneToOne_Optional_PK_Inverse4Id1], [t2].[OneToOne_Optional_PK_Inverse4Id2], [t2].[OneToOne_Optional_Self4Id1], [t2].[OneToOne_Optional_Self4Id2], [t2].[Id11], [t2].[Id21], [t2].[Level3_Optional_Id10], [t2].[Level3_Optional_Id20], [t2].[Level3_Required_Id10], [t2].[Level3_Required_Id20], [t2].[Name1], [t2].[OneToMany_Optional_Inverse4Id10], [t2].[OneToMany_Optional_Inverse4Id20], [t2].[OneToMany_Optional_Self_Inverse4Id10], [t2].[OneToMany_Optional_Self_Inverse4Id20], [t2].[OneToMany_Required_Inverse4Id10], [t2].[OneToMany_Required_Inverse4Id20], [t2].[OneToMany_Required_Self_Inverse4Id10], [t2].[OneToMany_Required_Self_Inverse4Id20], [t2].[OneToOne_Optional_PK_Inverse4Id10], [t2].[OneToOne_Optional_PK_Inverse4Id20], [t2].[OneToOne_Optional_Self4Id10], [t2].[OneToOne_Optional_Self4Id20], [t2].[Name2], [t2].[Id12], [t2].[Id22], [t2].[Id101], [t2].[Id201], [t2].[Level3_Optional_Id11], [t2].[Level3_Optional_Id21], [t2].[Level3_Required_Id11], [t2].[Level3_Required_Id21], [t2].[Name01], [t2].[OneToMany_Optional_Inverse4Id11], [t2].[OneToMany_Optional_Inverse4Id21], [t2].[OneToMany_Optional_Self_Inverse4Id11], [t2].[OneToMany_Optional_Self_Inverse4Id21], [t2].[OneToMany_Required_Inverse4Id11], [t2].[OneToMany_Required_Inverse4Id21], [t2].[OneToMany_Required_Self_Inverse4Id11], [t2].[OneToMany_Required_Self_Inverse4Id21], [t2].[OneToOne_Optional_PK_Inverse4Id11], [t2].[OneToOne_Optional_PK_Inverse4Id21], [t2].[OneToOne_Optional_Self4Id11], [t2].[OneToOne_Optional_Self4Id21], [t2].[Id110], [t2].[Id210], [t2].[Level3_Optional_Id100], [t2].[Level3_Optional_Id200], [t2].[Level3_Required_Id100], [t2].[Level3_Required_Id200], [t2].[Name10], [t2].[OneToMany_Optional_Inverse4Id100], [t2].[OneToMany_Optional_Inverse4Id200], [t2].[OneToMany_Optional_Self_Inverse4Id100], [t2].[OneToMany_Optional_Self_Inverse4Id200], [t2].[OneToMany_Required_Inverse4Id100], [t2].[OneToMany_Required_Inverse4Id200], [t2].[OneToMany_Required_Self_Inverse4Id100], [t2].[OneToMany_Required_Self_Inverse4Id200], [t2].[OneToOne_Optional_PK_Inverse4Id100], [t2].[OneToOne_Optional_PK_Inverse4Id200], [t2].[OneToOne_Optional_Self4Id100], [t2].[OneToOne_Optional_Self4Id200] +""" +SELECT [c].[Id1], [c].[Id2], [t1].[Name], [t1].[Id1], [t1].[Id2], [t1].[Id10], [t1].[Id20], [t1].[Id100], [t1].[Id200], [t1].[Level3_Optional_Id1], [t1].[Level3_Optional_Id2], [t1].[Level3_Required_Id1], [t1].[Level3_Required_Id2], [t1].[Name0], [t1].[OneToMany_Optional_Inverse4Id1], [t1].[OneToMany_Optional_Inverse4Id2], [t1].[OneToMany_Optional_Self_Inverse4Id1], [t1].[OneToMany_Optional_Self_Inverse4Id2], [t1].[OneToMany_Required_Inverse4Id1], [t1].[OneToMany_Required_Inverse4Id2], [t1].[OneToMany_Required_Self_Inverse4Id1], [t1].[OneToMany_Required_Self_Inverse4Id2], [t1].[OneToOne_Optional_PK_Inverse4Id1], [t1].[OneToOne_Optional_PK_Inverse4Id2], [t1].[OneToOne_Optional_Self4Id1], [t1].[OneToOne_Optional_Self4Id2], [t1].[Id11], [t1].[Id21], [t1].[Level3_Optional_Id10], [t1].[Level3_Optional_Id20], [t1].[Level3_Required_Id10], [t1].[Level3_Required_Id20], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id10], [t1].[OneToMany_Optional_Inverse4Id20], [t1].[OneToMany_Optional_Self_Inverse4Id10], [t1].[OneToMany_Optional_Self_Inverse4Id20], [t1].[OneToMany_Required_Inverse4Id10], [t1].[OneToMany_Required_Inverse4Id20], [t1].[OneToMany_Required_Self_Inverse4Id10], [t1].[OneToMany_Required_Self_Inverse4Id20], [t1].[OneToOne_Optional_PK_Inverse4Id10], [t1].[OneToOne_Optional_PK_Inverse4Id20], [t1].[OneToOne_Optional_Self4Id10], [t1].[OneToOne_Optional_Self4Id20], [t1].[Name1], [t1].[Id12], [t1].[Id22], [t1].[Id101], [t1].[Id201], [t1].[Level3_Optional_Id11], [t1].[Level3_Optional_Id21], [t1].[Level3_Required_Id11], [t1].[Level3_Required_Id21], [t1].[Name01], [t1].[OneToMany_Optional_Inverse4Id11], [t1].[OneToMany_Optional_Inverse4Id21], [t1].[OneToMany_Optional_Self_Inverse4Id11], [t1].[OneToMany_Optional_Self_Inverse4Id21], [t1].[OneToMany_Required_Inverse4Id11], [t1].[OneToMany_Required_Inverse4Id21], [t1].[OneToMany_Required_Self_Inverse4Id11], [t1].[OneToMany_Required_Self_Inverse4Id21], [t1].[OneToOne_Optional_PK_Inverse4Id11], [t1].[OneToOne_Optional_PK_Inverse4Id21], [t1].[OneToOne_Optional_Self4Id11], [t1].[OneToOne_Optional_Self4Id21], [t1].[Id110], [t1].[Id210], [t1].[Level3_Optional_Id100], [t1].[Level3_Optional_Id200], [t1].[Level3_Required_Id100], [t1].[Level3_Required_Id200], [t1].[Name10], [t1].[OneToMany_Optional_Inverse4Id100], [t1].[OneToMany_Optional_Inverse4Id200], [t1].[OneToMany_Optional_Self_Inverse4Id100], [t1].[OneToMany_Optional_Self_Inverse4Id200], [t1].[OneToMany_Required_Inverse4Id100], [t1].[OneToMany_Required_Inverse4Id200], [t1].[OneToMany_Required_Self_Inverse4Id100], [t1].[OneToMany_Required_Self_Inverse4Id200], [t1].[OneToOne_Optional_PK_Inverse4Id100], [t1].[OneToOne_Optional_PK_Inverse4Id200], [t1].[OneToOne_Optional_Self4Id100], [t1].[OneToOne_Optional_Self4Id200], [t2].[Name], [t2].[Id1], [t2].[Id2], [t2].[Name0], [t2].[Id10], [t2].[Id20], [t2].[Id100], [t2].[Id200], [t2].[Level3_Optional_Id1], [t2].[Level3_Optional_Id2], [t2].[Level3_Required_Id1], [t2].[Level3_Required_Id2], [t2].[Name00], [t2].[OneToMany_Optional_Inverse4Id1], [t2].[OneToMany_Optional_Inverse4Id2], [t2].[OneToMany_Optional_Self_Inverse4Id1], [t2].[OneToMany_Optional_Self_Inverse4Id2], [t2].[OneToMany_Required_Inverse4Id1], [t2].[OneToMany_Required_Inverse4Id2], [t2].[OneToMany_Required_Self_Inverse4Id1], [t2].[OneToMany_Required_Self_Inverse4Id2], [t2].[OneToOne_Optional_PK_Inverse4Id1], [t2].[OneToOne_Optional_PK_Inverse4Id2], [t2].[OneToOne_Optional_Self4Id1], [t2].[OneToOne_Optional_Self4Id2], [t2].[Id11], [t2].[Id21], [t2].[Level3_Optional_Id10], [t2].[Level3_Optional_Id20], [t2].[Level3_Required_Id10], [t2].[Level3_Required_Id20], [t2].[Name1], [t2].[OneToMany_Optional_Inverse4Id10], [t2].[OneToMany_Optional_Inverse4Id20], [t2].[OneToMany_Optional_Self_Inverse4Id10], [t2].[OneToMany_Optional_Self_Inverse4Id20], [t2].[OneToMany_Required_Inverse4Id10], [t2].[OneToMany_Required_Inverse4Id20], [t2].[OneToMany_Required_Self_Inverse4Id10], [t2].[OneToMany_Required_Self_Inverse4Id20], [t2].[OneToOne_Optional_PK_Inverse4Id10], [t2].[OneToOne_Optional_PK_Inverse4Id20], [t2].[OneToOne_Optional_Self4Id10], [t2].[OneToOne_Optional_Self4Id20], [t2].[Name2], [t2].[Id12], [t2].[Id22], [t2].[Id101], [t2].[Id201], [t2].[Level3_Optional_Id11], [t2].[Level3_Optional_Id21], [t2].[Level3_Required_Id11], [t2].[Level3_Required_Id21], [t2].[Name01], [t2].[OneToMany_Optional_Inverse4Id11], [t2].[OneToMany_Optional_Inverse4Id21], [t2].[OneToMany_Optional_Self_Inverse4Id11], [t2].[OneToMany_Optional_Self_Inverse4Id21], [t2].[OneToMany_Required_Inverse4Id11], [t2].[OneToMany_Required_Inverse4Id21], [t2].[OneToMany_Required_Self_Inverse4Id11], [t2].[OneToMany_Required_Self_Inverse4Id21], [t2].[OneToOne_Optional_PK_Inverse4Id11], [t2].[OneToOne_Optional_PK_Inverse4Id21], [t2].[OneToOne_Optional_Self4Id11], [t2].[OneToOne_Optional_Self4Id21], [t2].[Id110], [t2].[Id210], [t2].[Level3_Optional_Id100], [t2].[Level3_Optional_Id200], [t2].[Level3_Required_Id100], [t2].[Level3_Required_Id200], [t2].[Name10], [t2].[OneToMany_Optional_Inverse4Id100], [t2].[OneToMany_Optional_Inverse4Id200], [t2].[OneToMany_Optional_Self_Inverse4Id100], [t2].[OneToMany_Optional_Self_Inverse4Id200], [t2].[OneToMany_Required_Inverse4Id100], [t2].[OneToMany_Required_Inverse4Id200], [t2].[OneToMany_Required_Self_Inverse4Id100], [t2].[OneToMany_Required_Self_Inverse4Id200], [t2].[OneToOne_Optional_PK_Inverse4Id100], [t2].[OneToOne_Optional_PK_Inverse4Id200], [t2].[OneToOne_Optional_Self4Id100], [t2].[OneToOne_Optional_Self4Id200] FROM [CompositeOnes] AS [c] LEFT JOIN ( SELECT [c0].[Name], [c0].[Id1], [c0].[Id2], [t].[Id1] AS [Id10], [t].[Id2] AS [Id20], [t].[Id10] AS [Id100], [t].[Id20] AS [Id200], [t].[Level3_Optional_Id1], [t].[Level3_Optional_Id2], [t].[Level3_Required_Id1], [t].[Level3_Required_Id2], [t].[Name] AS [Name0], [t].[OneToMany_Optional_Inverse4Id1], [t].[OneToMany_Optional_Inverse4Id2], [t].[OneToMany_Optional_Self_Inverse4Id1], [t].[OneToMany_Optional_Self_Inverse4Id2], [t].[OneToMany_Required_Inverse4Id1], [t].[OneToMany_Required_Inverse4Id2], [t].[OneToMany_Required_Self_Inverse4Id1], [t].[OneToMany_Required_Self_Inverse4Id2], [t].[OneToOne_Optional_PK_Inverse4Id1], [t].[OneToOne_Optional_PK_Inverse4Id2], [t].[OneToOne_Optional_Self4Id1], [t].[OneToOne_Optional_Self4Id2], [t].[Id11], [t].[Id21], [t].[Level3_Optional_Id10], [t].[Level3_Optional_Id20], [t].[Level3_Required_Id10], [t].[Level3_Required_Id20], [t].[Name0] AS [Name00], [t].[OneToMany_Optional_Inverse4Id10], [t].[OneToMany_Optional_Inverse4Id20], [t].[OneToMany_Optional_Self_Inverse4Id10], [t].[OneToMany_Optional_Self_Inverse4Id20], [t].[OneToMany_Required_Inverse4Id10], [t].[OneToMany_Required_Inverse4Id20], [t].[OneToMany_Required_Self_Inverse4Id10], [t].[OneToMany_Required_Self_Inverse4Id20], [t].[OneToOne_Optional_PK_Inverse4Id10], [t].[OneToOne_Optional_PK_Inverse4Id20], [t].[OneToOne_Optional_Self4Id10], [t].[OneToOne_Optional_Self4Id20], [t0].[Name] AS [Name1], [t0].[Id1] AS [Id12], [t0].[Id2] AS [Id22], [t0].[Id10] AS [Id101], [t0].[Id20] AS [Id201], [t0].[Level3_Optional_Id1] AS [Level3_Optional_Id11], [t0].[Level3_Optional_Id2] AS [Level3_Optional_Id21], [t0].[Level3_Required_Id1] AS [Level3_Required_Id11], [t0].[Level3_Required_Id2] AS [Level3_Required_Id21], [t0].[Name0] AS [Name01], [t0].[OneToMany_Optional_Inverse4Id1] AS [OneToMany_Optional_Inverse4Id11], [t0].[OneToMany_Optional_Inverse4Id2] AS [OneToMany_Optional_Inverse4Id21], [t0].[OneToMany_Optional_Self_Inverse4Id1] AS [OneToMany_Optional_Self_Inverse4Id11], [t0].[OneToMany_Optional_Self_Inverse4Id2] AS [OneToMany_Optional_Self_Inverse4Id21], [t0].[OneToMany_Required_Inverse4Id1] AS [OneToMany_Required_Inverse4Id11], [t0].[OneToMany_Required_Inverse4Id2] AS [OneToMany_Required_Inverse4Id21], [t0].[OneToMany_Required_Self_Inverse4Id1] AS [OneToMany_Required_Self_Inverse4Id11], [t0].[OneToMany_Required_Self_Inverse4Id2] AS [OneToMany_Required_Self_Inverse4Id21], [t0].[OneToOne_Optional_PK_Inverse4Id1] AS [OneToOne_Optional_PK_Inverse4Id11], [t0].[OneToOne_Optional_PK_Inverse4Id2] AS [OneToOne_Optional_PK_Inverse4Id21], [t0].[OneToOne_Optional_Self4Id1] AS [OneToOne_Optional_Self4Id11], [t0].[OneToOne_Optional_Self4Id2] AS [OneToOne_Optional_Self4Id21], [t0].[Id11] AS [Id110], [t0].[Id21] AS [Id210], [t0].[Level3_Optional_Id10] AS [Level3_Optional_Id100], [t0].[Level3_Optional_Id20] AS [Level3_Optional_Id200], [t0].[Level3_Required_Id10] AS [Level3_Required_Id100], [t0].[Level3_Required_Id20] AS [Level3_Required_Id200], [t0].[Name1] AS [Name10], [t0].[OneToMany_Optional_Inverse4Id10] AS [OneToMany_Optional_Inverse4Id100], [t0].[OneToMany_Optional_Inverse4Id20] AS [OneToMany_Optional_Inverse4Id200], [t0].[OneToMany_Optional_Self_Inverse4Id10] AS [OneToMany_Optional_Self_Inverse4Id100], [t0].[OneToMany_Optional_Self_Inverse4Id20] AS [OneToMany_Optional_Self_Inverse4Id200], [t0].[OneToMany_Required_Inverse4Id10] AS [OneToMany_Required_Inverse4Id100], [t0].[OneToMany_Required_Inverse4Id20] AS [OneToMany_Required_Inverse4Id200], [t0].[OneToMany_Required_Self_Inverse4Id10] AS [OneToMany_Required_Self_Inverse4Id100], [t0].[OneToMany_Required_Self_Inverse4Id20] AS [OneToMany_Required_Self_Inverse4Id200], [t0].[OneToOne_Optional_PK_Inverse4Id10] AS [OneToOne_Optional_PK_Inverse4Id100], [t0].[OneToOne_Optional_PK_Inverse4Id20] AS [OneToOne_Optional_PK_Inverse4Id200], [t0].[OneToOne_Optional_Self4Id10] AS [OneToOne_Optional_Self4Id100], [t0].[OneToOne_Optional_Self4Id20] AS [OneToOne_Optional_Self4Id200], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2] @@ -161,7 +174,8 @@ FROM [CompositeThrees] AS [c11] LEFT JOIN [CompositeFours] AS [c13] ON [c11].[Id1] = [c13].[OneToMany_Required_Inverse4Id1] AND [c11].[Id2] = [c13].[OneToMany_Required_Inverse4Id2] ) AS [t4] ON [c7].[Id1] = [t4].[OneToMany_Optional_Inverse3Id1] AND [c7].[Id2] = [t4].[OneToMany_Optional_Inverse3Id2] ) AS [t2] ON [c].[Id1] = [t2].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [t2].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [t1].[Id1], [t1].[Id2], [t1].[Id20] DESC, [t1].[Id10] DESC, [t1].[Id100], [t1].[Id200], [t1].[Id11], [t1].[Id21], [t1].[Id12], [t1].[Id22], [t1].[Id101], [t1].[Id201], [t1].[Id110], [t1].[Id210], [t2].[c], [t2].[Id1], [t2].[Id2], [t2].[Id10], [t2].[Id20], [t2].[Id100], [t2].[Id200], [t2].[Id11], [t2].[Id21], [t2].[Id12], [t2].[Id22], [t2].[Id101], [t2].[Id201], [t2].[c0] DESC, [t2].[Id110]"); +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [t1].[Id1], [t1].[Id2], [t1].[Id20] DESC, [t1].[Id10] DESC, [t1].[Id100], [t1].[Id200], [t1].[Id11], [t1].[Id21], [t1].[Id12], [t1].[Id22], [t1].[Id101], [t1].[Id201], [t1].[Id110], [t1].[Id210], [t2].[c], [t2].[Id1], [t2].[Id2], [t2].[Id10], [t2].[Id20], [t2].[Id100], [t2].[Id200], [t2].[Id11], [t2].[Id21], [t2].[Id12], [t2].[Id22], [t2].[Id101], [t2].[Id201], [t2].[c0] DESC, [t2].[Id110] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/CompositeKeysSplitQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/CompositeKeysSplitQuerySqlServerTest.cs index e904f593133..b9436997f58 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/CompositeKeysSplitQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/CompositeKeysSplitQuerySqlServerTest.cs @@ -22,20 +22,26 @@ public override async Task Projecting_collections_multi_level(bool async) await base.Projecting_collections_multi_level(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] -ORDER BY [c].[Id2], [c].[Id1]", +ORDER BY [c].[Id2], [c].[Id1] +""", // - @"SELECT [c0].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] +""" +SELECT [c0].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1], [c0].[Id2], [c0].[Id1]", +ORDER BY [c].[Id2], [c].[Id1], [c0].[Id2], [c0].[Id1] +""", // - @"SELECT [c1].[Id1], [c1].[Id2], [c1].[Level2_Optional_Id1], [c1].[Level2_Optional_Id2], [c1].[Level2_Required_Id1], [c1].[Level2_Required_Id2], [c1].[Name], [c1].[OneToMany_Optional_Inverse3Id1], [c1].[OneToMany_Optional_Inverse3Id2], [c1].[OneToMany_Optional_Self_Inverse3Id1], [c1].[OneToMany_Optional_Self_Inverse3Id2], [c1].[OneToMany_Required_Inverse3Id1], [c1].[OneToMany_Required_Inverse3Id2], [c1].[OneToMany_Required_Self_Inverse3Id1], [c1].[OneToMany_Required_Self_Inverse3Id2], [c1].[OneToOne_Optional_PK_Inverse3Id1], [c1].[OneToOne_Optional_PK_Inverse3Id2], [c1].[OneToOne_Optional_Self3Id1], [c1].[OneToOne_Optional_Self3Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] +""" +SELECT [c1].[Id1], [c1].[Id2], [c1].[Level2_Optional_Id1], [c1].[Level2_Optional_Id2], [c1].[Level2_Required_Id1], [c1].[Level2_Required_Id2], [c1].[Name], [c1].[OneToMany_Optional_Inverse3Id1], [c1].[OneToMany_Optional_Inverse3Id2], [c1].[OneToMany_Optional_Self_Inverse3Id1], [c1].[OneToMany_Optional_Self_Inverse3Id2], [c1].[OneToMany_Required_Inverse3Id1], [c1].[OneToMany_Required_Inverse3Id2], [c1].[OneToMany_Required_Self_Inverse3Id1], [c1].[OneToMany_Required_Self_Inverse3Id2], [c1].[OneToOne_Optional_PK_Inverse3Id1], [c1].[OneToOne_Optional_PK_Inverse3Id2], [c1].[OneToOne_Optional_Self3Id1], [c1].[OneToOne_Optional_Self3Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Required_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Required_Inverse3Id2] -ORDER BY [c].[Id2], [c].[Id1], [c0].[Id2], [c0].[Id1], [c1].[Id2] DESC"); +ORDER BY [c].[Id2], [c].[Id1], [c0].[Id2], [c0].[Id1], [c1].[Id2] DESC +"""); } public override async Task Projecting_multiple_collections_on_multiple_levels_no_explicit_ordering(bool async) @@ -43,85 +49,111 @@ public override async Task Projecting_multiple_collections_on_multiple_levels_no await base.Projecting_multiple_collections_on_multiple_levels_no_explicit_ordering(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] -ORDER BY [c].[Id1], [c].[Id2]", +ORDER BY [c].[Id1], [c].[Id2] +""", // - @"SELECT [c0].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] +""" +SELECT [c0].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] +""", // - @"SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Required_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Required_Inverse3Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Required_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Required_Inverse4Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Optional_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Optional_Inverse4Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c0].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] +""" +SELECT [c0].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] +""", // - @"SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Required_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Required_Inverse4Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Optional_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Optional_Inverse4Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Optional_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Optional_Inverse4Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Required_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Required_Inverse4Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]"); +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +"""); } public override async Task Projecting_multiple_collections_on_multiple_levels_some_explicit_ordering(bool async) @@ -129,85 +161,111 @@ public override async Task Projecting_multiple_collections_on_multiple_levels_so await base.Projecting_multiple_collections_on_multiple_levels_some_explicit_ordering(async); AssertSql( - @"SELECT [c].[Id1], [c].[Id2] +""" +SELECT [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2] +""", // - @"SELECT [c0].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] +""" +SELECT [c0].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] +""", // - @"SELECT [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Required_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Required_Inverse3Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id2] DESC, [c1].[Id1] DESC", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id2] DESC, [c1].[Id1] DESC +""", // - @"SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Required_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Required_Inverse4Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Optional_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Optional_Inverse4Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c0].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] +""" +SELECT [c0].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2] +""", // - @"SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Required_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Required_Inverse4Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Optional_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Optional_Inverse4Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c1].[Name], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Optional_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Optional_Inverse4Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2]", +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""", // - @"SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] +""" +SELECT [c2].[Id1], [c2].[Id2], [c2].[Level3_Optional_Id1], [c2].[Level3_Optional_Id2], [c2].[Level3_Required_Id1], [c2].[Level3_Required_Id2], [c2].[Name], [c2].[OneToMany_Optional_Inverse4Id1], [c2].[OneToMany_Optional_Inverse4Id2], [c2].[OneToMany_Optional_Self_Inverse4Id1], [c2].[OneToMany_Optional_Self_Inverse4Id2], [c2].[OneToMany_Required_Inverse4Id1], [c2].[OneToMany_Required_Inverse4Id2], [c2].[OneToMany_Required_Self_Inverse4Id1], [c2].[OneToMany_Required_Self_Inverse4Id2], [c2].[OneToOne_Optional_PK_Inverse4Id1], [c2].[OneToOne_Optional_PK_Inverse4Id2], [c2].[OneToOne_Optional_Self4Id1], [c2].[OneToOne_Optional_Self4Id2], [c].[Id1], [c].[Id2], [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] INNER JOIN [CompositeThrees] AS [c1] ON [c0].[Id1] = [c1].[OneToMany_Optional_Inverse3Id1] AND [c0].[Id2] = [c1].[OneToMany_Optional_Inverse3Id2] INNER JOIN [CompositeFours] AS [c2] ON [c1].[Id1] = [c2].[OneToMany_Required_Inverse4Id1] AND [c1].[Id2] = [c2].[OneToMany_Required_Inverse4Id2] -ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2], [c2].[Id1] + CAST([c2].[Id2] AS nvarchar(450)) DESC"); +ORDER BY [c].[Name], [c].[Id1], [c].[Id2], CAST(LEN([c0].[Name]) AS int), [c0].[Id1], [c0].[Id2], [c1].[Id1], [c1].[Id2], [c2].[Id1] + CAST([c2].[Id2] AS nvarchar(450)) DESC +"""); } public override async Task Projecting_multiple_collections_same_level_top_level_ordering(bool async) @@ -215,19 +273,25 @@ public override async Task Projecting_multiple_collections_same_level_top_level_ await base.Projecting_multiple_collections_same_level_top_level_ordering(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] -ORDER BY [c].[Id2], [c].[Id1]", +ORDER BY [c].[Id2], [c].[Id1] +""", // - @"SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] +""" +SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1]", +ORDER BY [c].[Id2], [c].[Id1] +""", // - @"SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] +""" +SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1]"); +ORDER BY [c].[Id2], [c].[Id1] +"""); } public override async Task Projecting_multiple_collections_same_level_top_level_ordering_using_entire_composite_key(bool async) @@ -235,19 +299,25 @@ public override async Task Projecting_multiple_collections_same_level_top_level_ await base.Projecting_multiple_collections_same_level_top_level_ordering_using_entire_composite_key(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] -ORDER BY [c].[Id2], [c].[Id1] DESC", +ORDER BY [c].[Id2], [c].[Id1] DESC +""", // - @"SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] +""" +SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1] DESC", +ORDER BY [c].[Id2], [c].[Id1] DESC +""", // - @"SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] +""" +SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1] DESC"); +ORDER BY [c].[Id2], [c].[Id1] DESC +"""); } public override async Task Projecting_multiple_collections_with_ordering_same_level(bool async) @@ -255,19 +325,25 @@ public override async Task Projecting_multiple_collections_with_ordering_same_le await base.Projecting_multiple_collections_with_ordering_same_level(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] -ORDER BY [c].[Id1], [c].[Id2]", +ORDER BY [c].[Id1], [c].[Id2] +""", // - @"SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] +""" +SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Id2]", +ORDER BY [c].[Id1], [c].[Id2], [c0].[Id2] +""", // - @"SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] +""" +SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Id1], [c].[Id2], [c0].[Name] DESC"); +ORDER BY [c].[Id1], [c].[Id2], [c0].[Name] DESC +"""); } public override async Task Projecting_multiple_collections_with_ordering_same_level_top_level_ordering(bool async) @@ -275,19 +351,25 @@ public override async Task Projecting_multiple_collections_with_ordering_same_le await base.Projecting_multiple_collections_with_ordering_same_level_top_level_ordering(async); AssertSql( - @"SELECT [c].[Name], [c].[Id1], [c].[Id2] +""" +SELECT [c].[Name], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] -ORDER BY [c].[Id2], [c].[Id1]", +ORDER BY [c].[Id2], [c].[Id1] +""", // - @"SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] +""" +SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Optional_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Optional_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1], [c0].[Id2]", +ORDER BY [c].[Id2], [c].[Id1], [c0].[Id2] +""", // - @"SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] +""" +SELECT [c0].[Id1], [c0].[Id2], [c0].[Date], [c0].[Level1_Optional_Id1], [c0].[Level1_Optional_Id2], [c0].[Level1_Required_Id1], [c0].[Level1_Required_Id2], [c0].[Name], [c0].[OneToMany_Optional_Inverse2Id1], [c0].[OneToMany_Optional_Inverse2Id2], [c0].[OneToMany_Optional_Self_Inverse2Id1], [c0].[OneToMany_Optional_Self_Inverse2Id2], [c0].[OneToMany_Required_Inverse2Id1], [c0].[OneToMany_Required_Inverse2Id2], [c0].[OneToMany_Required_Self_Inverse2Id1], [c0].[OneToMany_Required_Self_Inverse2Id2], [c0].[OneToOne_Optional_PK_Inverse2Id1], [c0].[OneToOne_Optional_PK_Inverse2Id2], [c0].[OneToOne_Optional_Self2Id1], [c0].[OneToOne_Optional_Self2Id2], [c].[Id1], [c].[Id2] FROM [CompositeOnes] AS [c] INNER JOIN [CompositeTwos] AS [c0] ON [c].[Id1] = [c0].[OneToMany_Required_Inverse2Id1] AND [c].[Id2] = [c0].[OneToMany_Required_Inverse2Id2] -ORDER BY [c].[Id2], [c].[Id1], [c0].[Name] DESC"); +ORDER BY [c].[Id2], [c].[Id1], [c0].[Name] DESC +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/Ef6GroupBySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/Ef6GroupBySqlServerTest.cs index c45363c8975..6485842381d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/Ef6GroupBySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/Ef6GroupBySqlServerTest.cs @@ -21,9 +21,11 @@ public override async Task GroupBy_is_optimized_when_projecting_group_key(bool a await base.GroupBy_is_optimized_when_projecting_group_key(async); AssertSql( - @"SELECT [a].[FirstName] +""" +SELECT [a].[FirstName] FROM [ArubaOwner] AS [a] -GROUP BY [a].[FirstName]"); +GROUP BY [a].[FirstName] +"""); // EF6 SQL: // @"SELECT @@ -39,9 +41,11 @@ public override async Task GroupBy_is_optimized_when_projecting_group_count(bool await base.GroupBy_is_optimized_when_projecting_group_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [ArubaOwner] AS [a] -GROUP BY [a].[FirstName]"); +GROUP BY [a].[FirstName] +"""); // EF6 SQL: // @"SELECT @@ -59,9 +63,11 @@ public override async Task GroupBy_is_optimized_when_projecting_expression_conta await base.GroupBy_is_optimized_when_projecting_expression_containing_group_key(async); AssertSql( - @"SELECT [a].[Id] * 2 +""" +SELECT [a].[Id] * 2 FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id]"); +GROUP BY [a].[Id] +"""); // EF6 SQL: // @"SELECT @@ -74,9 +80,11 @@ public override async Task GroupBy_is_optimized_when_projecting_aggregate_on_the await base.GroupBy_is_optimized_when_projecting_aggregate_on_the_group(async); AssertSql( - @"SELECT MAX([a].[Id]) +""" +SELECT MAX([a].[Id]) FROM [ArubaOwner] AS [a] -GROUP BY [a].[FirstName]"); +GROUP BY [a].[FirstName] +"""); // EF6 SQL: // @"SELECT @@ -94,9 +102,11 @@ public override async Task GroupBy_is_optimized_when_projecting_anonymous_type_c await base.GroupBy_is_optimized_when_projecting_anonymous_type_containing_group_key_and_group_aggregate(async); AssertSql( - @"SELECT [a].[FirstName] AS [Key], MAX([a].[Id]) AS [Aggregate] +""" +SELECT [a].[FirstName] AS [Key], MAX([a].[Id]) AS [Aggregate] FROM [ArubaOwner] AS [a] -GROUP BY [a].[FirstName]"); +GROUP BY [a].[FirstName] +"""); // EF6 SQL: // @"SELECT @@ -117,9 +127,11 @@ public override async Task GroupBy_is_optimized_when_projecting_anonymous_type_c await base.GroupBy_is_optimized_when_projecting_anonymous_type_containing_group_key_and_multiple_group_aggregates(async); AssertSql( - @"SELECT [a].[FirstName] AS [key1], MAX([a].[Id]) AS [max], MIN([a].[Id] + 2) AS [min] +""" +SELECT [a].[FirstName] AS [key1], MAX([a].[Id]) AS [max], MIN([a].[Id] + 2) AS [min] FROM [ArubaOwner] AS [a] -GROUP BY [a].[FirstName]"); +GROUP BY [a].[FirstName] +"""); // EF6 SQL: // @"SELECT @@ -146,14 +158,16 @@ public override async Task GroupBy_is_optimized_when_projecting_conditional_expr await base.GroupBy_is_optimized_when_projecting_conditional_expression_containing_group_key(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT CASE WHEN [a].[FirstName] IS NULL THEN N'is null' ELSE N'not null' END AS [keyIsNull], @__p_0 AS [logicExpression] FROM [ArubaOwner] AS [a] -GROUP BY [a].[FirstName]"); +GROUP BY [a].[FirstName] +"""); // EF6 SQL: // @"SELECT @@ -172,10 +186,12 @@ public override async Task GroupBy_is_optimized_when_filerting_and_projecting_an await base.GroupBy_is_optimized_when_filerting_and_projecting_anonymous_type_with_group_key_and_function_aggregate(async); AssertSql( - @"SELECT [a].[FirstName], AVG(CAST([a].[Id] AS float)) AS [AverageId] +""" +SELECT [a].[FirstName], AVG(CAST([a].[Id] AS float)) AS [AverageId] FROM [ArubaOwner] AS [a] WHERE [a].[Id] > 5 -GROUP BY [a].[FirstName]"); +GROUP BY [a].[FirstName] +"""); // EF6 SQL: // @"SELECT @@ -196,9 +212,11 @@ public override async Task GroupBy_is_optimized_when_projecting_function_aggrega await base.GroupBy_is_optimized_when_projecting_function_aggregate_with_expression(async); AssertSql( - @"SELECT MAX([a].[Id] * 2) +""" +SELECT MAX([a].[Id] * 2) FROM [ArubaOwner] AS [a] -GROUP BY [a].[FirstName]"); +GROUP BY [a].[FirstName] +"""); // EF6 SQL: // @"SELECT @@ -220,9 +238,11 @@ public override async Task GroupBy_is_optimized_when_projecting_expression_with_ await base.GroupBy_is_optimized_when_projecting_expression_with_multiple_function_aggregates(async); AssertSql( - @"SELECT MAX([a].[Id]) - MIN([a].[Id]) AS [maxMinusMin] +""" +SELECT MAX([a].[Id]) - MIN([a].[Id]) AS [maxMinusMin] FROM [ArubaOwner] AS [a] -GROUP BY [a].[FirstName]"); +GROUP BY [a].[FirstName] +"""); // EF6 SQL: // @"SELECT @@ -242,10 +262,12 @@ public override async Task GroupBy_is_optimized_when_grouping_by_row_and_project await base.GroupBy_is_optimized_when_grouping_by_row_and_projecting_column_of_the_key_row(async); AssertSql( - @"SELECT [a].[FirstName] +""" +SELECT [a].[FirstName] FROM [ArubaOwner] AS [a] WHERE [a].[Id] < 4 -GROUP BY [a].[FirstName]"); +GROUP BY [a].[FirstName] +"""); // EF6 SQL: // @"SELECT @@ -262,9 +284,11 @@ public override async Task Grouping_by_all_columns_doesnt_produce_a_groupby_stat await base.Grouping_by_all_columns_doesnt_produce_a_groupby_statement(async); AssertSql( - @"SELECT [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +""" +SELECT [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName]"); +GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +"""); } public override async Task Grouping_by_all_columns_with_aggregate_function_works_1(bool async) @@ -272,9 +296,11 @@ public override async Task Grouping_by_all_columns_with_aggregate_function_works await base.Grouping_by_all_columns_with_aggregate_function_works_1(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[FirstName], [a].[LastName], [a].[Alias]"); +GROUP BY [a].[Id], [a].[FirstName], [a].[LastName], [a].[Alias] +"""); // EF6 SQL: // @"SELECT @@ -290,9 +316,11 @@ public override async Task Grouping_by_all_columns_with_aggregate_function_works await base.Grouping_by_all_columns_with_aggregate_function_works_2(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName]"); +GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +"""); } public override async Task Grouping_by_all_columns_with_aggregate_function_works_3(bool async) @@ -300,9 +328,11 @@ public override async Task Grouping_by_all_columns_with_aggregate_function_works await base.Grouping_by_all_columns_with_aggregate_function_works_3(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName]"); +GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +"""); } public override async Task Grouping_by_all_columns_with_aggregate_function_works_4(bool async) @@ -310,9 +340,11 @@ public override async Task Grouping_by_all_columns_with_aggregate_function_works await base.Grouping_by_all_columns_with_aggregate_function_works_4(async); AssertSql( - @"SELECT COUNT(*) AS [Count] +""" +SELECT COUNT(*) AS [Count] FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName]"); +GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +"""); } public override async Task Grouping_by_all_columns_with_aggregate_function_works_5(bool async) @@ -320,9 +352,11 @@ public override async Task Grouping_by_all_columns_with_aggregate_function_works await base.Grouping_by_all_columns_with_aggregate_function_works_5(async); AssertSql( - @"SELECT [a].[Id], COUNT(*) AS [Count] +""" +SELECT [a].[Id], COUNT(*) AS [Count] FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName]"); +GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +"""); } public override async Task Grouping_by_all_columns_with_aggregate_function_works_6(bool async) @@ -330,9 +364,11 @@ public override async Task Grouping_by_all_columns_with_aggregate_function_works await base.Grouping_by_all_columns_with_aggregate_function_works_6(async); AssertSql( - @"SELECT [a].[Id], [a].[Alias], COUNT(*) AS [Count] +""" +SELECT [a].[Id], [a].[Alias], COUNT(*) AS [Count] FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName]"); +GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +"""); } public override async Task Grouping_by_all_columns_with_aggregate_function_works_7(bool async) @@ -340,9 +376,11 @@ public override async Task Grouping_by_all_columns_with_aggregate_function_works await base.Grouping_by_all_columns_with_aggregate_function_works_7(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName]"); +GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +"""); } public override async Task Grouping_by_all_columns_with_aggregate_function_works_8(bool async) @@ -350,9 +388,11 @@ public override async Task Grouping_by_all_columns_with_aggregate_function_works await base.Grouping_by_all_columns_with_aggregate_function_works_8(async); AssertSql( - @"SELECT [a].[Id], COUNT(*) AS [Count] +""" +SELECT [a].[Id], COUNT(*) AS [Count] FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName]"); +GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +"""); } public override async Task Grouping_by_all_columns_with_aggregate_function_works_9(bool async) @@ -360,9 +400,11 @@ public override async Task Grouping_by_all_columns_with_aggregate_function_works await base.Grouping_by_all_columns_with_aggregate_function_works_9(async); AssertSql( - @"SELECT [a].[Id], [a].[Alias], COUNT(*) AS [Count] +""" +SELECT [a].[Id], [a].[Alias], COUNT(*) AS [Count] FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName]"); +GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +"""); } public override async Task Grouping_by_all_columns_with_aggregate_function_works_10(bool async) @@ -370,9 +412,11 @@ public override async Task Grouping_by_all_columns_with_aggregate_function_works await base.Grouping_by_all_columns_with_aggregate_function_works_10(async); AssertSql( - @"SELECT [a].[Id], COALESCE(SUM([a].[Id]), 0) AS [Sum], COUNT(*) AS [Count] +""" +SELECT [a].[Id], COALESCE(SUM([a].[Id]), 0) AS [Sum], COUNT(*) AS [Count] FROM [ArubaOwner] AS [a] -GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName]"); +GROUP BY [a].[Id], [a].[Alias], [a].[FirstName], [a].[LastName] +"""); } public override async Task GroupBy_Simple_1_from_LINQ_101(bool async) @@ -436,7 +480,8 @@ public override async Task Group_Join_from_LINQ_101(bool async) await base.Group_Join_from_LINQ_101(async); AssertSql( - @"SELECT [c].[Id], [c].[CompanyName], [c].[Region], [t].[Id], [t].[CustomerId], [t].[OrderDate], [t].[Total], [t].[Id0] +""" +SELECT [c].[Id], [c].[CompanyName], [c].[Region], [t].[Id], [t].[CustomerId], [t].[OrderDate], [t].[Total], [t].[Id0] FROM [CustomerForLinq] AS [c] OUTER APPLY ( SELECT [o].[Id], [o].[CustomerId], [o].[OrderDate], [o].[Total], [c0].[Id] AS [Id0] @@ -444,7 +489,8 @@ FROM [OrderForLinq] AS [o] LEFT JOIN [CustomerForLinq] AS [c0] ON [o].[CustomerId] = [c0].[Id] WHERE [c].[Id] = [c0].[Id] ) AS [t] -ORDER BY [c].[Id], [t].[Id]"); +ORDER BY [c].[Id], [t].[Id] +"""); } public override async Task Whats_new_2021_sample_3(bool async) @@ -461,7 +507,8 @@ public override async Task Whats_new_2021_sample_3(bool async) await base.Whats_new_2021_sample_3(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [p1].[LastName] FROM [Person] AS [p1] WHERE [p1].[MiddleInitial] = N'Q' AND [p1].[Age] = 20 AND ([p].[LastName] = [p1].[LastName] OR (([p].[LastName] IS NULL) AND ([p1].[LastName] IS NULL)))) @@ -471,7 +518,8 @@ GROUP BY [p].[LastName] ORDER BY CAST(LEN(( SELECT TOP(1) [p1].[LastName] FROM [Person] AS [p1] - WHERE [p1].[MiddleInitial] = N'Q' AND [p1].[Age] = 20 AND ([p].[LastName] = [p1].[LastName] OR (([p].[LastName] IS NULL) AND ([p1].[LastName] IS NULL))))) AS int)"); + WHERE [p1].[MiddleInitial] = N'Q' AND [p1].[Age] = 20 AND ([p].[LastName] = [p1].[LastName] OR (([p].[LastName] IS NULL) AND ([p1].[LastName] IS NULL))))) AS int) +"""); #endif } @@ -489,7 +537,8 @@ public override async Task Whats_new_2021_sample_5(bool async) await base.Whats_new_2021_sample_5(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [p1].[LastName] FROM [Person] AS [p1] WHERE [p].[FirstName] = [p1].[FirstName] OR (([p].[FirstName] IS NULL) AND ([p1].[FirstName] IS NULL))) @@ -498,7 +547,8 @@ GROUP BY [p].[FirstName] ORDER BY ( SELECT TOP(1) [p1].[LastName] FROM [Person] AS [p1] - WHERE [p].[FirstName] = [p1].[FirstName] OR (([p].[FirstName] IS NULL) AND ([p1].[FirstName] IS NULL)))"); + WHERE [p].[FirstName] = [p1].[FirstName] OR (([p].[FirstName] IS NULL) AND ([p1].[FirstName] IS NULL))) +"""); #endif } @@ -516,7 +566,8 @@ public override async Task Whats_new_2021_sample_6(bool async) await base.Whats_new_2021_sample_6(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [p1].[MiddleInitial] FROM [Person] AS [p1] WHERE [p1].[Age] = 20 AND [p].[Id] = [p1].[Id]) @@ -526,7 +577,8 @@ GROUP BY [p].[Id] ORDER BY ( SELECT TOP(1) [p1].[MiddleInitial] FROM [Person] AS [p1] - WHERE [p1].[Age] = 20 AND [p].[Id] = [p1].[Id])"); + WHERE [p1].[Age] = 20 AND [p].[Id] = [p1].[Id]) +"""); #endif } @@ -542,7 +594,8 @@ public override async Task Whats_new_2021_sample_15(bool async) await base.Whats_new_2021_sample_15(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Age], [t0].[FirstName], [t0].[LastName], [t0].[MiddleInitial] +""" +SELECT [t0].[Id], [t0].[Age], [t0].[FirstName], [t0].[LastName], [t0].[MiddleInitial] FROM ( SELECT [f].[Id], [f].[Size] FROM [Person] AS [p] @@ -557,7 +610,8 @@ FROM [Person] AS [p0] LEFT JOIN [Feet] AS [f0] ON [p0].[Id] = [f0].[Id] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON ([t].[Id] = [t0].[Id0] OR (([t].[Id] IS NULL) AND ([t0].[Id0] IS NULL))) AND ([t].[Size] = [t0].[Size] OR (([t].[Size] IS NULL) AND ([t0].[Size] IS NULL)))"); +) AS [t0] ON ([t].[Id] = [t0].[Id0] OR (([t].[Id] IS NULL) AND ([t0].[Id0] IS NULL))) AND ([t].[Size] = [t0].[Size] OR (([t].[Size] IS NULL) AND ([t0].[Size] IS NULL))) +"""); } public override async Task Whats_new_2021_sample_16(bool async) @@ -572,9 +626,11 @@ public override async Task Min_Grouped_from_LINQ_101(bool async) await base.Min_Grouped_from_LINQ_101(async); AssertSql( - @"SELECT [p].[Category], MIN([p].[UnitPrice]) AS [CheapestPrice] +""" +SELECT [p].[Category], MIN([p].[UnitPrice]) AS [CheapestPrice] FROM [ProductForLinq] AS [p] -GROUP BY [p].[Category]"); +GROUP BY [p].[Category] +"""); } public override async Task Average_Grouped_from_LINQ_101(bool async) @@ -582,9 +638,11 @@ public override async Task Average_Grouped_from_LINQ_101(bool async) await base.Average_Grouped_from_LINQ_101(async); AssertSql( - @"SELECT [p].[Category], AVG([p].[UnitPrice]) AS [AveragePrice] +""" +SELECT [p].[Category], AVG([p].[UnitPrice]) AS [AveragePrice] FROM [ProductForLinq] AS [p] -GROUP BY [p].[Category]"); +GROUP BY [p].[Category] +"""); } public override async Task Whats_new_2021_sample_8(bool async) @@ -592,13 +650,15 @@ public override async Task Whats_new_2021_sample_8(bool async) await base.Whats_new_2021_sample_8(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [f].[Id], [f].[Size] FROM [Person] AS [p] LEFT JOIN [Feet] AS [f] ON [p].[Id] = [f].[Id] GROUP BY [f].[Id], [f].[Size] -) AS [t]"); +) AS [t] +"""); } public override async Task Whats_new_2021_sample_12(bool async) @@ -606,7 +666,8 @@ public override async Task Whats_new_2021_sample_12(bool async) await base.Whats_new_2021_sample_12(async); AssertSql( - @"SELECT [t].[FirstName], [t0].[Id], [t0].[Age], [t0].[FirstName], [t0].[LastName], [t0].[MiddleInitial], [t0].[Id0], [t0].[Age0], [t0].[PersonId], [t0].[Style] +""" +SELECT [t].[FirstName], [t0].[Id], [t0].[Age], [t0].[FirstName], [t0].[LastName], [t0].[MiddleInitial], [t0].[Id0], [t0].[Age0], [t0].[PersonId], [t0].[Style] FROM ( SELECT [p].[FirstName] FROM [Person] AS [p] @@ -617,7 +678,8 @@ LEFT JOIN ( FROM [Person] AS [p0] LEFT JOIN [Shoes] AS [s] ON [p0].[Id] = [s].[PersonId] ) AS [t0] ON [t].[FirstName] = [t0].[FirstName] -ORDER BY [t].[FirstName], [t0].[Id]"); +ORDER BY [t].[FirstName], [t0].[Id] +"""); } public override async Task Whats_new_2021_sample_10(bool async) @@ -625,7 +687,8 @@ public override async Task Whats_new_2021_sample_10(bool async) await base.Whats_new_2021_sample_10(async); AssertSql( - @"SELECT [t].[Id], [t].[Age], [t].[Style], [t0].[Id], [t0].[Style], [t0].[Age], [t0].[Id0] +""" +SELECT [t].[Id], [t].[Age], [t].[Style], [t0].[Id], [t0].[Style], [t0].[Age], [t0].[Id0] FROM ( SELECT [p].[Id], [s].[Age], [s].[Style] FROM [Person] AS [p] @@ -637,7 +700,8 @@ LEFT JOIN ( FROM [Person] AS [p0] INNER JOIN [Shoes] AS [s0] ON [p0].[Age] = [s0].[Age] ) AS [t0] ON [t].[Id] = [t0].[Id0] AND ([t].[Style] = [t0].[Style] OR (([t].[Style] IS NULL) AND ([t0].[Style] IS NULL))) AND [t].[Age] = [t0].[Age] -ORDER BY [t].[Id], [t].[Style], [t].[Age], [t0].[Id0]"); +ORDER BY [t].[Id], [t].[Style], [t].[Age], [t0].[Id0] +"""); } public override async Task Whats_new_2021_sample_13(bool async) @@ -645,14 +709,16 @@ public override async Task Whats_new_2021_sample_13(bool async) await base.Whats_new_2021_sample_13(async); AssertSql( - @"SELECT [t].[FirstName], [t].[MiddleInitial], [p0].[Id], [p0].[Age], [p0].[FirstName], [p0].[LastName], [p0].[MiddleInitial] +""" +SELECT [t].[FirstName], [t].[MiddleInitial], [p0].[Id], [p0].[Age], [p0].[FirstName], [p0].[LastName], [p0].[MiddleInitial] FROM ( SELECT [p].[FirstName], [p].[MiddleInitial] FROM [Person] AS [p] GROUP BY [p].[FirstName], [p].[MiddleInitial] ) AS [t] LEFT JOIN [Person] AS [p0] ON ([t].[FirstName] = [p0].[FirstName] OR (([t].[FirstName] IS NULL) AND ([p0].[FirstName] IS NULL))) AND ([t].[MiddleInitial] = [p0].[MiddleInitial] OR (([t].[MiddleInitial] IS NULL) AND ([p0].[MiddleInitial] IS NULL))) -ORDER BY [t].[FirstName], [t].[MiddleInitial], [p0].[Id]"); +ORDER BY [t].[FirstName], [t].[MiddleInitial], [p0].[Id] +"""); } public override async Task Cross_Join_with_Group_Join_from_LINQ_101(bool async) @@ -660,13 +726,15 @@ public override async Task Cross_Join_with_Group_Join_from_LINQ_101(bool async) await base.Cross_Join_with_Group_Join_from_LINQ_101(async); AssertSql( - @"SELECT [c].[Id], [c].[CompanyName], [c].[Region], [t].[Id] +""" +SELECT [c].[Id], [c].[CompanyName], [c].[Region], [t].[Id] FROM [CustomerForLinq] AS [c] INNER JOIN ( SELECT [o].[Id], [c0].[Id] AS [Id0] FROM [OrderForLinq] AS [o] LEFT JOIN [CustomerForLinq] AS [c0] ON [o].[CustomerId] = [c0].[Id] -) AS [t] ON [c].[Id] = [t].[Id0]"); +) AS [t] ON [c].[Id] = [t].[Id0] +"""); } public override async Task Whats_new_2021_sample_2(bool async) @@ -674,7 +742,8 @@ public override async Task Whats_new_2021_sample_2(bool async) await base.Whats_new_2021_sample_2(async); AssertSql( - @"SELECT [t0].[FirstName], [t0].[FullName], [t0].[c] +""" +SELECT [t0].[FirstName], [t0].[FullName], [t0].[c] FROM ( SELECT TOP(1) [p].[FirstName] FROM [Person] AS [p] @@ -689,7 +758,8 @@ FROM [Person] AS [p0] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[FirstName] = [t0].[FirstName] -ORDER BY [t].[FirstName]"); +ORDER BY [t].[FirstName] +"""); } public override async Task Whats_new_2021_sample_1(bool async) @@ -697,7 +767,8 @@ public override async Task Whats_new_2021_sample_1(bool async) await base.Whats_new_2021_sample_1(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Age], [t0].[FirstName], [t0].[LastName], [t0].[MiddleInitial], [t].[FirstName], [s].[Id], [s].[Age], [s].[PersonId], [s].[Style] +""" +SELECT [t0].[Id], [t0].[Age], [t0].[FirstName], [t0].[LastName], [t0].[MiddleInitial], [t].[FirstName], [s].[Id], [s].[Age], [s].[PersonId], [s].[Style] FROM ( SELECT [p].[FirstName] FROM [Person] AS [p] @@ -712,7 +783,8 @@ FROM [Person] AS [p0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[FirstName] = [t0].[FirstName] LEFT JOIN [Shoes] AS [s] ON [t0].[Id] = [s].[PersonId] -ORDER BY [t].[FirstName], [t0].[Id]"); +ORDER BY [t].[FirstName], [t0].[Id] +"""); } public override async Task Whats_new_2021_sample_7(bool async) @@ -720,7 +792,8 @@ public override async Task Whats_new_2021_sample_7(bool async) await base.Whats_new_2021_sample_7(async); AssertSql( - @"@__size_0='11' +""" +@__size_0='11' SELECT [p0].[LastName], [f].[Size], ( SELECT MIN([f1].[Size]) @@ -733,7 +806,8 @@ FROM [Person] AS [p] LEFT JOIN [Feet] AS [f] ON [p].[Id] = [f].[Id] LEFT JOIN [Person] AS [p0] ON [f].[Id] = [p0].[Id] WHERE [f].[Size] = @__size_0 AND ([p].[MiddleInitial] IS NOT NULL) AND ([f].[Id] <> 1 OR ([f].[Id] IS NULL)) -GROUP BY [f].[Size], [p0].[LastName]"); +GROUP BY [f].[Size], [p0].[LastName] +"""); } public override async Task Sum_Grouped_from_LINQ_101(bool async) @@ -741,9 +815,11 @@ public override async Task Sum_Grouped_from_LINQ_101(bool async) await base.Sum_Grouped_from_LINQ_101(async); AssertSql( - @"SELECT [p].[Category], COALESCE(SUM([p].[UnitsInStock]), 0) AS [TotalUnitsInStock] +""" +SELECT [p].[Category], COALESCE(SUM([p].[UnitsInStock]), 0) AS [TotalUnitsInStock] FROM [ProductForLinq] AS [p] -GROUP BY [p].[Category]"); +GROUP BY [p].[Category] +"""); } public override async Task Count_Grouped_from_LINQ_101(bool async) @@ -751,9 +827,11 @@ public override async Task Count_Grouped_from_LINQ_101(bool async) await base.Count_Grouped_from_LINQ_101(async); AssertSql( - @"SELECT [p].[Category], COUNT(*) AS [ProductCount] +""" +SELECT [p].[Category], COUNT(*) AS [ProductCount] FROM [ProductForLinq] AS [p] -GROUP BY [p].[Category]"); +GROUP BY [p].[Category] +"""); } public override async Task Whats_new_2021_sample_9(bool async) @@ -761,13 +839,15 @@ public override async Task Whats_new_2021_sample_9(bool async) await base.Whats_new_2021_sample_9(async); AssertSql( - @"SELECT [p].[FirstName] AS [Feet], ( +""" +SELECT [p].[FirstName] AS [Feet], ( SELECT COALESCE(SUM([f].[Size]), 0) FROM [Person] AS [p0] LEFT JOIN [Feet] AS [f] ON [p0].[Id] = [f].[Id] WHERE [p].[FirstName] = [p0].[FirstName] OR (([p].[FirstName] IS NULL) AND ([p0].[FirstName] IS NULL))) AS [Total] FROM [Person] AS [p] -GROUP BY [p].[FirstName]"); +GROUP BY [p].[FirstName] +"""); } public override async Task LongCount_Grouped_from_LINQ_101(bool async) @@ -775,9 +855,11 @@ public override async Task LongCount_Grouped_from_LINQ_101(bool async) await base.LongCount_Grouped_from_LINQ_101(async); AssertSql( - @"SELECT [p].[Category], COUNT_BIG(*) AS [ProductLongCount] +""" +SELECT [p].[Category], COUNT_BIG(*) AS [ProductLongCount] FROM [ProductForLinq] AS [p] -GROUP BY [p].[Category]"); +GROUP BY [p].[Category] +"""); } public override async Task Whats_new_2021_sample_4(bool async) @@ -785,14 +867,16 @@ public override async Task Whats_new_2021_sample_4(bool async) await base.Whats_new_2021_sample_4(async); AssertSql( - @"SELECT [s].[Style] AS [Key], ( +""" +SELECT [s].[Style] AS [Key], ( SELECT TOP(1) [s0].[Style] FROM [Person] AS [p0] INNER JOIN [Shoes] AS [s0] ON [p0].[Age] = [s0].[Age] WHERE [s].[Style] = [s0].[Style] OR (([s].[Style] IS NULL) AND ([s0].[Style] IS NULL))) AS [Style], COUNT(*) AS [Count] FROM [Person] AS [p] INNER JOIN [Shoes] AS [s] ON [p].[Age] = [s].[Age] -GROUP BY [s].[Style]"); +GROUP BY [s].[Style] +"""); } public override async Task Left_Outer_Join_with_Group_Join_from_LINQ_101(bool async) @@ -800,7 +884,8 @@ public override async Task Left_Outer_Join_with_Group_Join_from_LINQ_101(bool as await base.Left_Outer_Join_with_Group_Join_from_LINQ_101(async); AssertSql( - @"SELECT [c].[Id], [c].[CompanyName], [c].[Region], [t].[Id], [t].[Id0], [o0].[Id], [o0].[CustomerId], [o0].[OrderDate], [o0].[Total], CASE +""" +SELECT [c].[Id], [c].[CompanyName], [c].[Region], [t].[Id], [t].[Id0], [o0].[Id], [o0].[CustomerId], [o0].[OrderDate], [o0].[Total], CASE WHEN [t].[Id] IS NULL THEN -1 ELSE [t].[Id] END @@ -811,7 +896,8 @@ FROM [OrderForLinq] AS [o] LEFT JOIN [CustomerForLinq] AS [c0] ON [o].[CustomerId] = [c0].[Id] ) AS [t] ON [c].[Id] = [t].[Id0] LEFT JOIN [OrderForLinq] AS [o0] ON [c].[Id] = [o0].[CustomerId] -ORDER BY [c].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [c].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Max_Grouped_from_LINQ_101(bool async) @@ -819,9 +905,11 @@ public override async Task Max_Grouped_from_LINQ_101(bool async) await base.Max_Grouped_from_LINQ_101(async); AssertSql( - @"SELECT [p].[Category], MAX([p].[UnitPrice]) AS [MostExpensivePrice] +""" +SELECT [p].[Category], MAX([p].[UnitPrice]) AS [MostExpensivePrice] FROM [ProductForLinq] AS [p] -GROUP BY [p].[Category]"); +GROUP BY [p].[Category] +"""); } public override async Task Whats_new_2021_sample_11(bool async) @@ -829,7 +917,8 @@ public override async Task Whats_new_2021_sample_11(bool async) await base.Whats_new_2021_sample_11(async); AssertSql( - @"SELECT [t].[LastName], [t].[c], [t0].[Id], [t2].[Id], [t2].[Age], [t2].[FirstName], [t2].[LastName], [t2].[MiddleInitial], [t0].[Age], [t0].[FirstName], [t0].[LastName], [t0].[MiddleInitial] +""" +SELECT [t].[LastName], [t].[c], [t0].[Id], [t2].[Id], [t2].[Age], [t2].[FirstName], [t2].[LastName], [t2].[MiddleInitial], [t0].[Age], [t0].[FirstName], [t0].[LastName], [t0].[MiddleInitial] FROM ( SELECT [p].[LastName], COUNT(*) AS [c] FROM [Person] AS [p] @@ -851,7 +940,8 @@ FROM [Person] AS [p1] ) AS [t3] WHERE [t3].[row] <= 2 ) AS [t2] ON [t].[LastName] = [t2].[LastName] -ORDER BY [t].[LastName] DESC, [t0].[Id], [t2].[LastName], [t2].[Id]"); +ORDER BY [t].[LastName] DESC, [t0].[Id], [t2].[LastName], [t2].[Id] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs index 468b32416f2..6072dcb4832 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/EntitySplittingQuerySqlServerTest.cs @@ -20,9 +20,11 @@ public override async Task Can_query_entity_which_is_split_in_two(bool async) await base.Can_query_entity_which_is_split_in_two(async); AssertSql( - @"SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s].[StringValue3], [s].[StringValue4] +""" +SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s].[StringValue3], [s].[StringValue4] FROM [EntityOne] AS [e] -INNER JOIN [SplitEntityOnePart] AS [s] ON [e].[Id] = [s].[Id]"); +INNER JOIN [SplitEntityOnePart] AS [s] ON [e].[Id] = [s].[Id] +"""); } public override async Task Can_query_entity_which_is_split_selecting_only_main_properties(bool async) @@ -30,8 +32,10 @@ public override async Task Can_query_entity_which_is_split_selecting_only_main_p await base.Can_query_entity_which_is_split_selecting_only_main_properties(async); AssertSql( - @"SELECT [e].[Id], [e].[IntValue1], [e].[StringValue1] -FROM [EntityOne] AS [e]"); +""" +SELECT [e].[Id], [e].[IntValue1], [e].[StringValue1] +FROM [EntityOne] AS [e] +"""); } public override async Task Can_query_entity_which_is_split_in_three(bool async) @@ -39,10 +43,12 @@ public override async Task Can_query_entity_which_is_split_in_three(bool async) await base.Can_query_entity_which_is_split_in_three(async); AssertSql( - @"SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s0].[StringValue3], [s].[StringValue4] +""" +SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s0].[StringValue3], [s].[StringValue4] FROM [EntityOne] AS [e] INNER JOIN [SplitEntityOnePart3] AS [s] ON [e].[Id] = [s].[Id] -INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e].[Id] = [s0].[Id]"); +INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e].[Id] = [s0].[Id] +"""); } public override async Task Can_query_entity_which_is_split_selecting_only_part_2_properties(bool async) @@ -50,9 +56,11 @@ public override async Task Can_query_entity_which_is_split_selecting_only_part_2 await base.Can_query_entity_which_is_split_selecting_only_part_2_properties(async); AssertSql( - @"SELECT [e].[Id], [s0].[IntValue3], [s0].[StringValue3] +""" +SELECT [e].[Id], [s0].[IntValue3], [s0].[StringValue3] FROM [EntityOne] AS [e] -INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e].[Id] = [s0].[Id]"); +INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e].[Id] = [s0].[Id] +"""); } public override async Task Can_query_entity_which_is_split_selecting_only_part_3_properties(bool async) @@ -60,9 +68,11 @@ public override async Task Can_query_entity_which_is_split_selecting_only_part_3 await base.Can_query_entity_which_is_split_selecting_only_part_3_properties(async); AssertSql( - @"SELECT [e].[Id], [s].[IntValue4], [s].[StringValue4] +""" +SELECT [e].[Id], [s].[IntValue4], [s].[StringValue4] FROM [EntityOne] AS [e] -INNER JOIN [SplitEntityOnePart3] AS [s] ON [e].[Id] = [s].[Id]"); +INNER JOIN [SplitEntityOnePart3] AS [s] ON [e].[Id] = [s].[Id] +"""); } public override async Task Include_reference_to_split_entity(bool async) @@ -70,14 +80,16 @@ public override async Task Include_reference_to_split_entity(bool async) await base.Include_reference_to_split_entity(async); AssertSql( - @"SELECT [e].[Id], [e].[EntityOneId], [e].[Name], [t].[Id], [t].[EntityThreeId], [t].[IntValue1], [t].[IntValue2], [t].[IntValue3], [t].[IntValue4], [t].[StringValue1], [t].[StringValue2], [t].[StringValue3], [t].[StringValue4] +""" +SELECT [e].[Id], [e].[EntityOneId], [e].[Name], [t].[Id], [t].[EntityThreeId], [t].[IntValue1], [t].[IntValue2], [t].[IntValue3], [t].[IntValue4], [t].[StringValue1], [t].[StringValue2], [t].[StringValue3], [t].[StringValue4] FROM [EntityTwo] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[EntityThreeId], [e0].[IntValue1], [e0].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e0].[StringValue1], [e0].[StringValue2], [s0].[StringValue3], [s].[StringValue4] FROM [EntityOne] AS [e0] INNER JOIN [SplitEntityOnePart3] AS [s] ON [e0].[Id] = [s].[Id] INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e0].[Id] = [s0].[Id] -) AS [t] ON [e].[EntityOneId] = [t].[Id]"); +) AS [t] ON [e].[EntityOneId] = [t].[Id] +"""); } public override async Task Include_collection_to_split_entity(bool async) @@ -85,7 +97,8 @@ public override async Task Include_collection_to_split_entity(bool async) await base.Include_collection_to_split_entity(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t].[Id], [t].[EntityThreeId], [t].[IntValue1], [t].[IntValue2], [t].[IntValue3], [t].[IntValue4], [t].[StringValue1], [t].[StringValue2], [t].[StringValue3], [t].[StringValue4] +""" +SELECT [e].[Id], [e].[Name], [t].[Id], [t].[EntityThreeId], [t].[IntValue1], [t].[IntValue2], [t].[IntValue3], [t].[IntValue4], [t].[StringValue1], [t].[StringValue2], [t].[StringValue3], [t].[StringValue4] FROM [EntityThree] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[EntityThreeId], [e0].[IntValue1], [e0].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e0].[StringValue1], [e0].[StringValue2], [s0].[StringValue3], [s].[StringValue4] @@ -93,7 +106,8 @@ FROM [EntityOne] AS [e0] INNER JOIN [SplitEntityOnePart3] AS [s] ON [e0].[Id] = [s].[Id] INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e0].[Id] = [s0].[Id] ) AS [t] ON [e].[Id] = [t].[EntityThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_reference_to_split_entity_including_reference(bool async) @@ -101,7 +115,8 @@ public override async Task Include_reference_to_split_entity_including_reference await base.Include_reference_to_split_entity_including_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[EntityOneId], [e].[Name], [t].[Id], [t].[EntityThreeId], [t].[IntValue1], [t].[IntValue2], [t].[IntValue3], [t].[IntValue4], [t].[StringValue1], [t].[StringValue2], [t].[StringValue3], [t].[StringValue4], [e1].[Id], [e1].[Name] +""" +SELECT [e].[Id], [e].[EntityOneId], [e].[Name], [t].[Id], [t].[EntityThreeId], [t].[IntValue1], [t].[IntValue2], [t].[IntValue3], [t].[IntValue4], [t].[StringValue1], [t].[StringValue2], [t].[StringValue3], [t].[StringValue4], [e1].[Id], [e1].[Name] FROM [EntityTwo] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[EntityThreeId], [e0].[IntValue1], [e0].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e0].[StringValue1], [e0].[StringValue2], [s0].[StringValue3], [s].[StringValue4] @@ -109,7 +124,8 @@ FROM [EntityOne] AS [e0] INNER JOIN [SplitEntityOnePart3] AS [s] ON [e0].[Id] = [s].[Id] INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e0].[Id] = [s0].[Id] ) AS [t] ON [e].[EntityOneId] = [t].[Id] -LEFT JOIN [EntityThree] AS [e1] ON [t].[EntityThreeId] = [e1].[Id]"); +LEFT JOIN [EntityThree] AS [e1] ON [t].[EntityThreeId] = [e1].[Id] +"""); } public override async Task Include_collection_to_split_entity_including_collection(bool async) @@ -117,7 +133,8 @@ public override async Task Include_collection_to_split_entity_including_collecti await base.Include_collection_to_split_entity_including_collection(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t].[Id], [t].[EntityThreeId], [t].[IntValue1], [t].[IntValue2], [t].[IntValue3], [t].[IntValue4], [t].[StringValue1], [t].[StringValue2], [t].[StringValue3], [t].[StringValue4], [t].[Id0], [t].[EntityOneId], [t].[Name] +""" +SELECT [e].[Id], [e].[Name], [t].[Id], [t].[EntityThreeId], [t].[IntValue1], [t].[IntValue2], [t].[IntValue3], [t].[IntValue4], [t].[StringValue1], [t].[StringValue2], [t].[StringValue3], [t].[StringValue4], [t].[Id0], [t].[EntityOneId], [t].[Name] FROM [EntityThree] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[EntityThreeId], [e0].[IntValue1], [e0].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e0].[StringValue1], [e0].[StringValue2], [s0].[StringValue3], [s].[StringValue4], [e1].[Id] AS [Id0], [e1].[EntityOneId], [e1].[Name] @@ -126,7 +143,8 @@ FROM [EntityOne] AS [e0] INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e0].[Id] = [s0].[Id] LEFT JOIN [EntityTwo] AS [e1] ON [e0].[Id] = [e1].[EntityOneId] ) AS [t] ON [e].[Id] = [t].[EntityThreeId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Include_reference_on_split_entity(bool async) @@ -134,11 +152,13 @@ public override async Task Include_reference_on_split_entity(bool async) await base.Include_reference_on_split_entity(async); AssertSql( - @"SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s0].[StringValue3], [s].[StringValue4], [e0].[Id], [e0].[Name] +""" +SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s0].[StringValue3], [s].[StringValue4], [e0].[Id], [e0].[Name] FROM [EntityOne] AS [e] INNER JOIN [SplitEntityOnePart3] AS [s] ON [e].[Id] = [s].[Id] INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e].[Id] = [s0].[Id] -LEFT JOIN [EntityThree] AS [e0] ON [e].[EntityThreeId] = [e0].[Id]"); +LEFT JOIN [EntityThree] AS [e0] ON [e].[EntityThreeId] = [e0].[Id] +"""); } public override async Task Include_collection_on_split_entity(bool async) @@ -146,12 +166,14 @@ public override async Task Include_collection_on_split_entity(bool async) await base.Include_collection_on_split_entity(async); AssertSql( - @"SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s0].[StringValue3], [s].[StringValue4], [e0].[Id], [e0].[EntityOneId], [e0].[Name] +""" +SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s0].[StringValue3], [s].[StringValue4], [e0].[Id], [e0].[EntityOneId], [e0].[Name] FROM [EntityOne] AS [e] INNER JOIN [SplitEntityOnePart3] AS [s] ON [e].[Id] = [s].[Id] INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e].[Id] = [s0].[Id] LEFT JOIN [EntityTwo] AS [e0] ON [e].[Id] = [e0].[EntityOneId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Custom_projection_trim_when_multiple_tables(bool async) @@ -159,10 +181,12 @@ public override async Task Custom_projection_trim_when_multiple_tables(bool asyn await base.Custom_projection_trim_when_multiple_tables(async); AssertSql( - @"SELECT [e].[IntValue1], [s0].[IntValue3], [e0].[Id], [e0].[Name] +""" +SELECT [e].[IntValue1], [s0].[IntValue3], [e0].[Id], [e0].[Name] FROM [EntityOne] AS [e] INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e].[Id] = [s0].[Id] -LEFT JOIN [EntityThree] AS [e0] ON [e].[EntityThreeId] = [e0].[Id]"); +LEFT JOIN [EntityThree] AS [e0] ON [e].[EntityThreeId] = [e0].[Id] +"""); } public override async Task Normal_entity_owning_a_split_reference_with_main_fragment_sharing(bool async) @@ -170,10 +194,12 @@ public override async Task Normal_entity_owning_a_split_reference_with_main_frag await base.Normal_entity_owning_a_split_reference_with_main_fragment_sharing(async); AssertSql( - @"SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [e].[IntValue3], [e].[IntValue4], [e].[StringValue1], [e].[StringValue2], [e].[StringValue3], [e].[StringValue4], [e].[OwnedReference_Id], [e].[OwnedReference_OwnedIntValue1], [e].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [e].[OwnedReference_OwnedStringValue1], [e].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] +""" +SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [e].[IntValue3], [e].[IntValue4], [e].[StringValue1], [e].[StringValue2], [e].[StringValue3], [e].[StringValue4], [e].[OwnedReference_Id], [e].[OwnedReference_OwnedIntValue1], [e].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [e].[OwnedReference_OwnedStringValue1], [e].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] FROM [EntityOne] AS [e] LEFT JOIN [OwnedReferenceExtras2] AS [o] ON [e].[Id] = [o].[EntityOneId] -LEFT JOIN [OwnedReferenceExtras1] AS [o0] ON [e].[Id] = [o0].[EntityOneId]"); +LEFT JOIN [OwnedReferenceExtras1] AS [o0] ON [e].[Id] = [o0].[EntityOneId] +"""); } public override async Task Normal_entity_owning_a_split_reference_with_main_fragment_sharing_custom_projection(bool async) @@ -181,14 +207,16 @@ public override async Task Normal_entity_owning_a_split_reference_with_main_frag await base.Normal_entity_owning_a_split_reference_with_main_fragment_sharing_custom_projection(async); AssertSql( - @"SELECT [e].[Id], CASE +""" +SELECT [e].[Id], CASE WHEN ([e].[OwnedReference_Id] IS NOT NULL) AND ([e].[OwnedReference_OwnedIntValue1] IS NOT NULL) AND ([e].[OwnedReference_OwnedIntValue2] IS NOT NULL) AND ([o0].[OwnedIntValue3] IS NOT NULL) AND ([o].[OwnedIntValue4] IS NOT NULL) THEN [o].[OwnedIntValue4] END AS [OwnedIntValue4], CASE WHEN ([e].[OwnedReference_Id] IS NOT NULL) AND ([e].[OwnedReference_OwnedIntValue1] IS NOT NULL) AND ([e].[OwnedReference_OwnedIntValue2] IS NOT NULL) AND ([o0].[OwnedIntValue3] IS NOT NULL) AND ([o].[OwnedIntValue4] IS NOT NULL) THEN [o].[OwnedStringValue4] END AS [OwnedStringValue4] FROM [EntityOnes] AS [e] LEFT JOIN [OwnedReferenceExtras2] AS [o] ON [e].[Id] = [o].[EntityOneId] -LEFT JOIN [OwnedReferenceExtras1] AS [o0] ON [e].[Id] = [o0].[EntityOneId]"); +LEFT JOIN [OwnedReferenceExtras1] AS [o0] ON [e].[Id] = [o0].[EntityOneId] +"""); } [ConditionalTheory(Skip = "Issue29075")] @@ -220,12 +248,14 @@ public override async Task Normal_entity_owning_a_split_reference_with_main_frag await base.Normal_entity_owning_a_split_reference_with_main_fragment_sharing_multiple_level(async); AssertSql( - @"SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [e].[IntValue3], [e].[IntValue4], [e].[StringValue1], [e].[StringValue2], [e].[StringValue3], [e].[StringValue4], [e].[OwnedReference_Id], [e].[OwnedReference_OwnedIntValue1], [e].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [e].[OwnedReference_OwnedStringValue1], [e].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4], [e].[OwnedReference_OwnedNestedReference_Id], [e].[OwnedReference_OwnedNestedReference_OwnedNestedIntValue1], [e].[OwnedReference_OwnedNestedReference_OwnedNestedIntValue2], [o2].[OwnedNestedIntValue3], [o1].[OwnedNestedIntValue4], [e].[OwnedReference_OwnedNestedReference_OwnedNestedStringValue1], [e].[OwnedReference_OwnedNestedReference_OwnedNestedStringValue2], [o2].[OwnedNestedStringValue3], [o1].[OwnedNestedStringValue4] +""" +SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [e].[IntValue3], [e].[IntValue4], [e].[StringValue1], [e].[StringValue2], [e].[StringValue3], [e].[StringValue4], [e].[OwnedReference_Id], [e].[OwnedReference_OwnedIntValue1], [e].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [e].[OwnedReference_OwnedStringValue1], [e].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4], [e].[OwnedReference_OwnedNestedReference_Id], [e].[OwnedReference_OwnedNestedReference_OwnedNestedIntValue1], [e].[OwnedReference_OwnedNestedReference_OwnedNestedIntValue2], [o2].[OwnedNestedIntValue3], [o1].[OwnedNestedIntValue4], [e].[OwnedReference_OwnedNestedReference_OwnedNestedStringValue1], [e].[OwnedReference_OwnedNestedReference_OwnedNestedStringValue2], [o2].[OwnedNestedStringValue3], [o1].[OwnedNestedStringValue4] FROM [EntityOnes] AS [e] LEFT JOIN [OwnedReferenceExtras2] AS [o] ON [e].[Id] = [o].[EntityOneId] LEFT JOIN [OwnedReferenceExtras1] AS [o0] ON [e].[Id] = [o0].[EntityOneId] LEFT JOIN [OwnedNestedReferenceExtras2] AS [o1] ON [e].[Id] = [o1].[OwnedReferenceEntityOneId] -LEFT JOIN [OwnedNestedReferenceExtras1] AS [o2] ON [e].[Id] = [o2].[OwnedReferenceEntityOneId]"); +LEFT JOIN [OwnedNestedReferenceExtras1] AS [o2] ON [e].[Id] = [o2].[OwnedReferenceEntityOneId] +"""); } public override async Task Split_entity_owning_a_reference(bool async) @@ -233,10 +263,12 @@ public override async Task Split_entity_owning_a_reference(bool async) await base.Split_entity_owning_a_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s0].[StringValue3], [s].[StringValue4], [e].[OwnedReference_Id], [e].[OwnedReference_OwnedIntValue1], [e].[OwnedReference_OwnedIntValue2], [e].[OwnedReference_OwnedIntValue3], [e].[OwnedReference_OwnedIntValue4], [e].[OwnedReference_OwnedStringValue1], [e].[OwnedReference_OwnedStringValue2], [e].[OwnedReference_OwnedStringValue3], [e].[OwnedReference_OwnedStringValue4] +""" +SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s0].[StringValue3], [s].[StringValue4], [e].[OwnedReference_Id], [e].[OwnedReference_OwnedIntValue1], [e].[OwnedReference_OwnedIntValue2], [e].[OwnedReference_OwnedIntValue3], [e].[OwnedReference_OwnedIntValue4], [e].[OwnedReference_OwnedStringValue1], [e].[OwnedReference_OwnedStringValue2], [e].[OwnedReference_OwnedStringValue3], [e].[OwnedReference_OwnedStringValue4] FROM [EntityOne] AS [e] INNER JOIN [SplitEntityOnePart3] AS [s] ON [e].[Id] = [s].[Id] -INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e].[Id] = [s0].[Id]"); +INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e].[Id] = [s0].[Id] +"""); } public override async Task Split_entity_owning_a_collection(bool async) @@ -244,12 +276,14 @@ public override async Task Split_entity_owning_a_collection(bool async) await base.Split_entity_owning_a_collection(async); AssertSql( - @"SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s0].[StringValue3], [s].[StringValue4], [o].[EntityOneId], [o].[Id], [o].[OwnedIntValue1], [o].[OwnedIntValue2], [o].[OwnedIntValue3], [o].[OwnedIntValue4], [o].[OwnedStringValue1], [o].[OwnedStringValue2], [o].[OwnedStringValue3], [o].[OwnedStringValue4] +""" +SELECT [e].[Id], [e].[EntityThreeId], [e].[IntValue1], [e].[IntValue2], [s0].[IntValue3], [s].[IntValue4], [e].[StringValue1], [e].[StringValue2], [s0].[StringValue3], [s].[StringValue4], [o].[EntityOneId], [o].[Id], [o].[OwnedIntValue1], [o].[OwnedIntValue2], [o].[OwnedIntValue3], [o].[OwnedIntValue4], [o].[OwnedStringValue1], [o].[OwnedStringValue2], [o].[OwnedStringValue3], [o].[OwnedStringValue4] FROM [EntityOne] AS [e] INNER JOIN [SplitEntityOnePart3] AS [s] ON [e].[Id] = [s].[Id] INNER JOIN [SplitEntityOnePart2] AS [s0] ON [e].[Id] = [s0].[Id] LEFT JOIN [OwnedCollection] AS [o] ON [e].[Id] = [o].[EntityOneId] -ORDER BY [e].[Id], [o].[EntityOneId]"); +ORDER BY [e].[Id], [o].[EntityOneId] +"""); } [ConditionalTheory(Skip = "Issue29075")] @@ -273,10 +307,12 @@ public override async Task Split_entity_owning_a_split_reference_with_table_shar await base.Split_entity_owning_a_split_reference_with_table_sharing_1(async); AssertSql( - @"SELECT [s].[Id], [s].[EntityThreeId], [s].[IntValue1], [s].[IntValue2], [s1].[IntValue3], [s0].[IntValue4], [s].[StringValue1], [s].[StringValue2], [s1].[StringValue3], [s0].[StringValue4], [s].[OwnedReference_Id], [s].[OwnedReference_OwnedIntValue1], [s].[OwnedReference_OwnedIntValue2], [s1].[OwnedReference_OwnedIntValue3], [s0].[OwnedReference_OwnedIntValue4], [s].[OwnedReference_OwnedStringValue1], [s].[OwnedReference_OwnedStringValue2], [s1].[OwnedReference_OwnedStringValue3], [s0].[OwnedReference_OwnedStringValue4] +""" +SELECT [s].[Id], [s].[EntityThreeId], [s].[IntValue1], [s].[IntValue2], [s1].[IntValue3], [s0].[IntValue4], [s].[StringValue1], [s].[StringValue2], [s1].[StringValue3], [s0].[StringValue4], [s].[OwnedReference_Id], [s].[OwnedReference_OwnedIntValue1], [s].[OwnedReference_OwnedIntValue2], [s1].[OwnedReference_OwnedIntValue3], [s0].[OwnedReference_OwnedIntValue4], [s].[OwnedReference_OwnedStringValue1], [s].[OwnedReference_OwnedStringValue2], [s1].[OwnedReference_OwnedStringValue3], [s0].[OwnedReference_OwnedStringValue4] FROM [SplitEntityOnePart1] AS [s] INNER JOIN [SplitEntityOnePart3] AS [s0] ON [s].[Id] = [s0].[Id] -INNER JOIN [SplitEntityOnePart2] AS [s1] ON [s].[Id] = [s1].[Id]"); +INNER JOIN [SplitEntityOnePart2] AS [s1] ON [s].[Id] = [s1].[Id] +"""); } public override async Task Split_entity_owning_a_split_reference_with_table_sharing_4(bool async) @@ -284,11 +320,13 @@ public override async Task Split_entity_owning_a_split_reference_with_table_shar await base.Split_entity_owning_a_split_reference_with_table_sharing_4(async); AssertSql( - @"SELECT [s].[Id], [s].[EntityThreeId], [s].[IntValue1], [s].[IntValue2], [s1].[IntValue3], [s0].[IntValue4], [s].[StringValue1], [s].[StringValue2], [s1].[StringValue3], [s0].[StringValue4], [s].[OwnedReference_Id], [s].[OwnedReference_OwnedIntValue1], [s].[OwnedReference_OwnedIntValue2], [s1].[OwnedReference_OwnedIntValue3], [o].[OwnedIntValue4], [s].[OwnedReference_OwnedStringValue1], [s].[OwnedReference_OwnedStringValue2], [s1].[OwnedReference_OwnedStringValue3], [o].[OwnedStringValue4] +""" +SELECT [s].[Id], [s].[EntityThreeId], [s].[IntValue1], [s].[IntValue2], [s1].[IntValue3], [s0].[IntValue4], [s].[StringValue1], [s].[StringValue2], [s1].[StringValue3], [s0].[StringValue4], [s].[OwnedReference_Id], [s].[OwnedReference_OwnedIntValue1], [s].[OwnedReference_OwnedIntValue2], [s1].[OwnedReference_OwnedIntValue3], [o].[OwnedIntValue4], [s].[OwnedReference_OwnedStringValue1], [s].[OwnedReference_OwnedStringValue2], [s1].[OwnedReference_OwnedStringValue3], [o].[OwnedStringValue4] FROM [SplitEntityOnePart1] AS [s] INNER JOIN [SplitEntityOnePart3] AS [s0] ON [s].[Id] = [s0].[Id] INNER JOIN [SplitEntityOnePart2] AS [s1] ON [s].[Id] = [s1].[Id] -LEFT JOIN [OwnedReferencePart3] AS [o] ON [s].[Id] = [o].[EntityOneId]"); +LEFT JOIN [OwnedReferencePart3] AS [o] ON [s].[Id] = [o].[EntityOneId] +"""); } public override async Task Split_entity_owning_a_split_reference_with_table_sharing_6(bool async) @@ -296,12 +334,14 @@ public override async Task Split_entity_owning_a_split_reference_with_table_shar await base.Split_entity_owning_a_split_reference_with_table_sharing_6(async); AssertSql( - @"SELECT [s].[Id], [s].[EntityThreeId], [s].[IntValue1], [s].[IntValue2], [s1].[IntValue3], [s0].[IntValue4], [s].[StringValue1], [s].[StringValue2], [s1].[StringValue3], [s0].[StringValue4], [s1].[Id], [s1].[OwnedReference_Id], [s1].[OwnedReference_OwnedIntValue1], [s1].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [s1].[OwnedReference_OwnedStringValue1], [s1].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] +""" +SELECT [s].[Id], [s].[EntityThreeId], [s].[IntValue1], [s].[IntValue2], [s1].[IntValue3], [s0].[IntValue4], [s].[StringValue1], [s].[StringValue2], [s1].[StringValue3], [s0].[StringValue4], [s1].[Id], [s1].[OwnedReference_Id], [s1].[OwnedReference_OwnedIntValue1], [s1].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [s1].[OwnedReference_OwnedStringValue1], [s1].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] FROM [SplitEntityOnePart1] AS [s] INNER JOIN [SplitEntityOnePart3] AS [s0] ON [s].[Id] = [s0].[Id] INNER JOIN [SplitEntityOnePart2] AS [s1] ON [s].[Id] = [s1].[Id] LEFT JOIN [OwnedReferencePart3] AS [o] ON [s1].[Id] = [o].[EntityOneId] -LEFT JOIN [OwnedReferencePart2] AS [o0] ON [s1].[Id] = [o0].[EntityOneId]"); +LEFT JOIN [OwnedReferencePart2] AS [o0] ON [s1].[Id] = [o0].[EntityOneId] +"""); } public override async Task Tph_entity_owning_a_split_reference_on_base_with_table_sharing(bool async) @@ -309,10 +349,12 @@ public override async Task Tph_entity_owning_a_split_reference_on_base_with_tabl await base.Tph_entity_owning_a_split_reference_on_base_with_table_sharing(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[MiddleValue], [b].[SiblingValue], [b].[LeafValue], [b].[OwnedReference_Id], [b].[OwnedReference_OwnedIntValue1], [b].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [b].[OwnedReference_OwnedStringValue1], [b].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] +""" +SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[MiddleValue], [b].[SiblingValue], [b].[LeafValue], [b].[OwnedReference_Id], [b].[OwnedReference_OwnedIntValue1], [b].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [b].[OwnedReference_OwnedStringValue1], [b].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] FROM [BaseEntity] AS [b] LEFT JOIN [OwnedReferencePart4] AS [o] ON [b].[Id] = [o].[BaseEntityId] -LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[BaseEntityId]"); +LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[BaseEntityId] +"""); } public override async Task Tpt_entity_owning_a_split_reference_on_base_with_table_sharing(bool async) @@ -320,7 +362,8 @@ public override async Task Tpt_entity_owning_a_split_reference_on_base_with_tabl await base.Tpt_entity_owning_a_split_reference_on_base_with_table_sharing(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [m].[MiddleValue], [s].[SiblingValue], [l].[LeafValue], CASE +""" +SELECT [b].[Id], [b].[BaseValue], [m].[MiddleValue], [s].[SiblingValue], [l].[LeafValue], CASE WHEN [l].[Id] IS NOT NULL THEN N'LeafEntity' WHEN [s].[Id] IS NOT NULL THEN N'SiblingEntity' WHEN [m].[Id] IS NOT NULL THEN N'MiddleEntity' @@ -330,7 +373,8 @@ FROM [BaseEntity] AS [b] LEFT JOIN [SiblingEntity] AS [s] ON [b].[Id] = [s].[Id] LEFT JOIN [LeafEntity] AS [l] ON [b].[Id] = [l].[Id] LEFT JOIN [OwnedReferencePart4] AS [o] ON [b].[Id] = [o].[BaseEntityId] -LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[BaseEntityId]"); +LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[BaseEntityId] +"""); } public override async Task Tph_entity_owning_a_split_reference_on_middle_with_table_sharing(bool async) @@ -338,10 +382,12 @@ public override async Task Tph_entity_owning_a_split_reference_on_middle_with_ta await base.Tph_entity_owning_a_split_reference_on_middle_with_table_sharing(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[MiddleValue], [b].[SiblingValue], [b].[LeafValue], [b].[OwnedReference_Id], [b].[OwnedReference_OwnedIntValue1], [b].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [b].[OwnedReference_OwnedStringValue1], [b].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] +""" +SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[MiddleValue], [b].[SiblingValue], [b].[LeafValue], [b].[OwnedReference_Id], [b].[OwnedReference_OwnedIntValue1], [b].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [b].[OwnedReference_OwnedStringValue1], [b].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] FROM [BaseEntity] AS [b] LEFT JOIN [OwnedReferencePart4] AS [o] ON [b].[Id] = [o].[MiddleEntityId] -LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[MiddleEntityId]"); +LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[MiddleEntityId] +"""); } public override async Task Tpt_entity_owning_a_split_reference_on_middle_with_table_sharing(bool async) @@ -349,7 +395,8 @@ public override async Task Tpt_entity_owning_a_split_reference_on_middle_with_ta await base.Tpt_entity_owning_a_split_reference_on_middle_with_table_sharing(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [m].[MiddleValue], [s].[SiblingValue], [l].[LeafValue], CASE +""" +SELECT [b].[Id], [b].[BaseValue], [m].[MiddleValue], [s].[SiblingValue], [l].[LeafValue], CASE WHEN [l].[Id] IS NOT NULL THEN N'LeafEntity' WHEN [s].[Id] IS NOT NULL THEN N'SiblingEntity' WHEN [m].[Id] IS NOT NULL THEN N'MiddleEntity' @@ -359,7 +406,8 @@ FROM [BaseEntity] AS [b] LEFT JOIN [SiblingEntity] AS [s] ON [b].[Id] = [s].[Id] LEFT JOIN [LeafEntity] AS [l] ON [b].[Id] = [l].[Id] LEFT JOIN [OwnedReferencePart4] AS [o] ON [m].[Id] = [o].[MiddleEntityId] -LEFT JOIN [OwnedReferencePart3] AS [o0] ON [m].[Id] = [o0].[MiddleEntityId]"); +LEFT JOIN [OwnedReferencePart3] AS [o0] ON [m].[Id] = [o0].[MiddleEntityId] +"""); } public override async Task Tph_entity_owning_a_split_reference_on_leaf_with_table_sharing(bool async) @@ -367,10 +415,12 @@ public override async Task Tph_entity_owning_a_split_reference_on_leaf_with_tabl await base.Tph_entity_owning_a_split_reference_on_leaf_with_table_sharing(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[MiddleValue], [b].[SiblingValue], [b].[LeafValue], [b].[OwnedReference_Id], [b].[OwnedReference_OwnedIntValue1], [b].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [b].[OwnedReference_OwnedStringValue1], [b].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] +""" +SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[MiddleValue], [b].[SiblingValue], [b].[LeafValue], [b].[OwnedReference_Id], [b].[OwnedReference_OwnedIntValue1], [b].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [b].[OwnedReference_OwnedStringValue1], [b].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] FROM [BaseEntity] AS [b] LEFT JOIN [OwnedReferencePart4] AS [o] ON [b].[Id] = [o].[LeafEntityId] -LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[LeafEntityId]"); +LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[LeafEntityId] +"""); } public override async Task Tpt_entity_owning_a_split_reference_on_leaf_with_table_sharing(bool async) @@ -378,7 +428,8 @@ public override async Task Tpt_entity_owning_a_split_reference_on_leaf_with_tabl await base.Tpt_entity_owning_a_split_reference_on_leaf_with_table_sharing(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [m].[MiddleValue], [s].[SiblingValue], [l].[LeafValue], CASE +""" +SELECT [b].[Id], [b].[BaseValue], [m].[MiddleValue], [s].[SiblingValue], [l].[LeafValue], CASE WHEN [l].[Id] IS NOT NULL THEN N'LeafEntity' WHEN [s].[Id] IS NOT NULL THEN N'SiblingEntity' WHEN [m].[Id] IS NOT NULL THEN N'MiddleEntity' @@ -388,7 +439,8 @@ FROM [BaseEntity] AS [b] LEFT JOIN [SiblingEntity] AS [s] ON [b].[Id] = [s].[Id] LEFT JOIN [LeafEntity] AS [l] ON [b].[Id] = [l].[Id] LEFT JOIN [OwnedReferencePart4] AS [o] ON [l].[Id] = [o].[LeafEntityId] -LEFT JOIN [OwnedReferencePart3] AS [o0] ON [l].[Id] = [o0].[LeafEntityId]"); +LEFT JOIN [OwnedReferencePart3] AS [o0] ON [l].[Id] = [o0].[LeafEntityId] +"""); } public override async Task Tpc_entity_owning_a_split_reference_on_leaf_with_table_sharing(bool async) @@ -396,7 +448,8 @@ public override async Task Tpc_entity_owning_a_split_reference_on_leaf_with_tabl await base.Tpc_entity_owning_a_split_reference_on_leaf_with_table_sharing(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseValue], [t].[MiddleValue], [t].[SiblingValue], [t].[LeafValue], [t].[Discriminator], [l].[Id], [l].[OwnedReference_Id], [l].[OwnedReference_OwnedIntValue1], [l].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [l].[OwnedReference_OwnedStringValue1], [l].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] +""" +SELECT [t].[Id], [t].[BaseValue], [t].[MiddleValue], [t].[SiblingValue], [t].[LeafValue], [t].[Discriminator], [l].[Id], [l].[OwnedReference_Id], [l].[OwnedReference_OwnedIntValue1], [l].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [l].[OwnedReference_OwnedStringValue1], [l].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] FROM ( SELECT [b].[Id], [b].[BaseValue], NULL AS [MiddleValue], NULL AS [SiblingValue], NULL AS [LeafValue], N'BaseEntity' AS [Discriminator] FROM [BaseEntity] AS [b] @@ -412,7 +465,8 @@ FROM [LeafEntity] AS [l0] ) AS [t] LEFT JOIN [LeafEntity] AS [l] ON [t].[Id] = [l].[Id] LEFT JOIN [OwnedReferencePart4] AS [o] ON [l].[Id] = [o].[LeafEntityId] -LEFT JOIN [OwnedReferencePart3] AS [o0] ON [l].[Id] = [o0].[LeafEntityId]"); +LEFT JOIN [OwnedReferencePart3] AS [o0] ON [l].[Id] = [o0].[LeafEntityId] +"""); } public override async Task Tph_entity_owning_a_split_reference_on_base_with_table_sharing_querying_sibling(bool async) @@ -420,11 +474,13 @@ public override async Task Tph_entity_owning_a_split_reference_on_base_with_tabl await base.Tph_entity_owning_a_split_reference_on_base_with_table_sharing_querying_sibling(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[SiblingValue], [b].[OwnedReference_Id], [b].[OwnedReference_OwnedIntValue1], [b].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [b].[OwnedReference_OwnedStringValue1], [b].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] +""" +SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[SiblingValue], [b].[OwnedReference_Id], [b].[OwnedReference_OwnedIntValue1], [b].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [b].[OwnedReference_OwnedStringValue1], [b].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] FROM [BaseEntity] AS [b] LEFT JOIN [OwnedReferencePart4] AS [o] ON [b].[Id] = [o].[BaseEntityId] LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[BaseEntityId] -WHERE [b].[Discriminator] = N'SiblingEntity'"); +WHERE [b].[Discriminator] = N'SiblingEntity' +"""); } public override async Task Tpt_entity_owning_a_split_reference_on_base_with_table_sharing_querying_sibling(bool async) @@ -432,11 +488,13 @@ public override async Task Tpt_entity_owning_a_split_reference_on_base_with_tabl await base.Tpt_entity_owning_a_split_reference_on_base_with_table_sharing_querying_sibling(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [s].[SiblingValue], [b].[OwnedReference_Id], [b].[OwnedReference_OwnedIntValue1], [b].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [b].[OwnedReference_OwnedStringValue1], [b].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] +""" +SELECT [b].[Id], [b].[BaseValue], [s].[SiblingValue], [b].[OwnedReference_Id], [b].[OwnedReference_OwnedIntValue1], [b].[OwnedReference_OwnedIntValue2], [o0].[OwnedIntValue3], [o].[OwnedIntValue4], [b].[OwnedReference_OwnedStringValue1], [b].[OwnedReference_OwnedStringValue2], [o0].[OwnedStringValue3], [o].[OwnedStringValue4] FROM [BaseEntity] AS [b] INNER JOIN [SiblingEntity] AS [s] ON [b].[Id] = [s].[Id] LEFT JOIN [OwnedReferencePart4] AS [o] ON [b].[Id] = [o].[BaseEntityId] -LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[BaseEntityId]"); +LEFT JOIN [OwnedReferencePart3] AS [o0] ON [b].[Id] = [o0].[BaseEntityId] +"""); } public override async Task Tph_entity_owning_a_split_reference_on_middle_with_table_sharing_querying_sibling(bool async) @@ -444,9 +502,11 @@ public override async Task Tph_entity_owning_a_split_reference_on_middle_with_ta await base.Tph_entity_owning_a_split_reference_on_middle_with_table_sharing_querying_sibling(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[SiblingValue] +""" +SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[SiblingValue] FROM [BaseEntity] AS [b] -WHERE [b].[Discriminator] = N'SiblingEntity'"); +WHERE [b].[Discriminator] = N'SiblingEntity' +"""); } public override async Task Tpt_entity_owning_a_split_reference_on_middle_with_table_sharing_querying_sibling(bool async) @@ -454,9 +514,11 @@ public override async Task Tpt_entity_owning_a_split_reference_on_middle_with_ta await base.Tpt_entity_owning_a_split_reference_on_middle_with_table_sharing_querying_sibling(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [s].[SiblingValue] +""" +SELECT [b].[Id], [b].[BaseValue], [s].[SiblingValue] FROM [BaseEntity] AS [b] -INNER JOIN [SiblingEntity] AS [s] ON [b].[Id] = [s].[Id]"); +INNER JOIN [SiblingEntity] AS [s] ON [b].[Id] = [s].[Id] +"""); } public override async Task Tph_entity_owning_a_split_reference_on_leaf_with_table_sharing_querying_sibling(bool async) @@ -464,9 +526,11 @@ public override async Task Tph_entity_owning_a_split_reference_on_leaf_with_tabl await base.Tph_entity_owning_a_split_reference_on_leaf_with_table_sharing_querying_sibling(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[SiblingValue] +""" +SELECT [b].[Id], [b].[BaseValue], [b].[Discriminator], [b].[SiblingValue] FROM [BaseEntity] AS [b] -WHERE [b].[Discriminator] = N'SiblingEntity'"); +WHERE [b].[Discriminator] = N'SiblingEntity' +"""); } public override async Task Tpt_entity_owning_a_split_reference_on_leaf_with_table_sharing_querying_sibling(bool async) @@ -474,9 +538,11 @@ public override async Task Tpt_entity_owning_a_split_reference_on_leaf_with_tabl await base.Tpt_entity_owning_a_split_reference_on_leaf_with_table_sharing_querying_sibling(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseValue], [s].[SiblingValue] +""" +SELECT [b].[Id], [b].[BaseValue], [s].[SiblingValue] FROM [BaseEntity] AS [b] -INNER JOIN [SiblingEntity] AS [s] ON [b].[Id] = [s].[Id]"); +INNER JOIN [SiblingEntity] AS [s] ON [b].[Id] = [s].[Id] +"""); } public override async Task Tpc_entity_owning_a_split_reference_on_leaf_with_table_sharing_querying_sibling(bool async) @@ -484,8 +550,10 @@ public override async Task Tpc_entity_owning_a_split_reference_on_leaf_with_tabl await base.Tpc_entity_owning_a_split_reference_on_leaf_with_table_sharing_querying_sibling(async); AssertSql( - @"SELECT [s].[Id], [s].[BaseValue], [s].[SiblingValue] -FROM [SiblingEntity] AS [s]"); +""" +SELECT [s].[Id], [s].[BaseValue], [s].[SiblingValue] +FROM [SiblingEntity] AS [s] +"""); } [ConditionalTheory(Skip = "Issue29075")] @@ -509,7 +577,8 @@ public override async Task Tpc_entity_owning_a_split_reference_on_base_without_t await base.Tpc_entity_owning_a_split_reference_on_base_without_table_sharing(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseValue], [t].[MiddleValue], [t].[SiblingValue], [t].[LeafValue], [t].[Discriminator], [o].[BaseEntityId], [o].[Id], [o].[OwnedIntValue1], [o].[OwnedIntValue2], [o1].[OwnedIntValue3], [o0].[OwnedIntValue4], [o].[OwnedStringValue1], [o].[OwnedStringValue2], [o1].[OwnedStringValue3], [o0].[OwnedStringValue4] +""" +SELECT [t].[Id], [t].[BaseValue], [t].[MiddleValue], [t].[SiblingValue], [t].[LeafValue], [t].[Discriminator], [o].[BaseEntityId], [o].[Id], [o].[OwnedIntValue1], [o].[OwnedIntValue2], [o1].[OwnedIntValue3], [o0].[OwnedIntValue4], [o].[OwnedStringValue1], [o].[OwnedStringValue2], [o1].[OwnedStringValue3], [o0].[OwnedStringValue4] FROM ( SELECT [b].[Id], [b].[BaseValue], NULL AS [MiddleValue], NULL AS [SiblingValue], NULL AS [LeafValue], N'BaseEntity' AS [Discriminator] FROM [BaseEntity] AS [b] @@ -525,7 +594,8 @@ FROM [LeafEntity] AS [l] ) AS [t] LEFT JOIN [OwnedReferencePart1] AS [o] ON [t].[Id] = [o].[BaseEntityId] LEFT JOIN [OwnedReferencePart4] AS [o0] ON [o].[BaseEntityId] = [o0].[BaseEntityId] -LEFT JOIN [OwnedReferencePart3] AS [o1] ON [o].[BaseEntityId] = [o1].[BaseEntityId]"); +LEFT JOIN [OwnedReferencePart3] AS [o1] ON [o].[BaseEntityId] = [o1].[BaseEntityId] +"""); } [ConditionalTheory(Skip = "Issue29075")] @@ -549,7 +619,8 @@ public override async Task Tpc_entity_owning_a_split_reference_on_middle_without await base.Tpc_entity_owning_a_split_reference_on_middle_without_table_sharing(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseValue], [t].[MiddleValue], [t].[SiblingValue], [t].[LeafValue], [t].[Discriminator], [o].[MiddleEntityId], [o].[Id], [o].[OwnedIntValue1], [o].[OwnedIntValue2], [o1].[OwnedIntValue3], [o0].[OwnedIntValue4], [o].[OwnedStringValue1], [o].[OwnedStringValue2], [o1].[OwnedStringValue3], [o0].[OwnedStringValue4] +""" +SELECT [t].[Id], [t].[BaseValue], [t].[MiddleValue], [t].[SiblingValue], [t].[LeafValue], [t].[Discriminator], [o].[MiddleEntityId], [o].[Id], [o].[OwnedIntValue1], [o].[OwnedIntValue2], [o1].[OwnedIntValue3], [o0].[OwnedIntValue4], [o].[OwnedStringValue1], [o].[OwnedStringValue2], [o1].[OwnedStringValue3], [o0].[OwnedStringValue4] FROM ( SELECT [b].[Id], [b].[BaseValue], NULL AS [MiddleValue], NULL AS [SiblingValue], NULL AS [LeafValue], N'BaseEntity' AS [Discriminator] FROM [BaseEntity] AS [b] @@ -565,7 +636,8 @@ FROM [LeafEntity] AS [l] ) AS [t] LEFT JOIN [OwnedReferencePart1] AS [o] ON [t].[Id] = [o].[MiddleEntityId] LEFT JOIN [OwnedReferencePart4] AS [o0] ON [o].[MiddleEntityId] = [o0].[MiddleEntityId] -LEFT JOIN [OwnedReferencePart3] AS [o1] ON [o].[MiddleEntityId] = [o1].[MiddleEntityId]"); +LEFT JOIN [OwnedReferencePart3] AS [o1] ON [o].[MiddleEntityId] = [o1].[MiddleEntityId] +"""); } [ConditionalTheory(Skip = "Issue29075")] @@ -613,7 +685,8 @@ public override async Task Tpc_entity_owning_a_split_collection_on_base(bool asy await base.Tpc_entity_owning_a_split_collection_on_base(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseValue], [t].[MiddleValue], [t].[SiblingValue], [t].[LeafValue], [t].[Discriminator], [t0].[BaseEntityId], [t0].[Id], [t0].[OwnedIntValue1], [t0].[OwnedIntValue2], [t0].[OwnedIntValue3], [t0].[OwnedIntValue4], [t0].[OwnedStringValue1], [t0].[OwnedStringValue2], [t0].[OwnedStringValue3], [t0].[OwnedStringValue4] +""" +SELECT [t].[Id], [t].[BaseValue], [t].[MiddleValue], [t].[SiblingValue], [t].[LeafValue], [t].[Discriminator], [t0].[BaseEntityId], [t0].[Id], [t0].[OwnedIntValue1], [t0].[OwnedIntValue2], [t0].[OwnedIntValue3], [t0].[OwnedIntValue4], [t0].[OwnedStringValue1], [t0].[OwnedStringValue2], [t0].[OwnedStringValue3], [t0].[OwnedStringValue4] FROM ( SELECT [b].[Id], [b].[BaseValue], NULL AS [MiddleValue], NULL AS [SiblingValue], NULL AS [LeafValue], N'BaseEntity' AS [Discriminator] FROM [BaseEntity] AS [b] @@ -633,7 +706,8 @@ FROM [OwnedReferencePart1] AS [o] INNER JOIN [OwnedReferencePart4] AS [o0] ON [o].[BaseEntityId] = [o0].[BaseEntityId] AND [o].[Id] = [o0].[Id] INNER JOIN [OwnedReferencePart3] AS [o1] ON [o].[BaseEntityId] = [o1].[BaseEntityId] AND [o].[Id] = [o1].[Id] ) AS [t0] ON [t].[Id] = [t0].[BaseEntityId] -ORDER BY [t].[Id], [t0].[BaseEntityId]"); +ORDER BY [t].[Id], [t0].[BaseEntityId] +"""); } [ConditionalTheory(Skip = "Issue29075")] @@ -657,7 +731,8 @@ public override async Task Tpc_entity_owning_a_split_collection_on_middle(bool a await base.Tpc_entity_owning_a_split_collection_on_middle(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseValue], [t].[MiddleValue], [t].[SiblingValue], [t].[LeafValue], [t].[Discriminator], [t0].[MiddleEntityId], [t0].[Id], [t0].[OwnedIntValue1], [t0].[OwnedIntValue2], [t0].[OwnedIntValue3], [t0].[OwnedIntValue4], [t0].[OwnedStringValue1], [t0].[OwnedStringValue2], [t0].[OwnedStringValue3], [t0].[OwnedStringValue4] +""" +SELECT [t].[Id], [t].[BaseValue], [t].[MiddleValue], [t].[SiblingValue], [t].[LeafValue], [t].[Discriminator], [t0].[MiddleEntityId], [t0].[Id], [t0].[OwnedIntValue1], [t0].[OwnedIntValue2], [t0].[OwnedIntValue3], [t0].[OwnedIntValue4], [t0].[OwnedStringValue1], [t0].[OwnedStringValue2], [t0].[OwnedStringValue3], [t0].[OwnedStringValue4] FROM ( SELECT [b].[Id], [b].[BaseValue], NULL AS [MiddleValue], NULL AS [SiblingValue], NULL AS [LeafValue], N'BaseEntity' AS [Discriminator] FROM [BaseEntity] AS [b] @@ -677,7 +752,8 @@ FROM [OwnedReferencePart1] AS [o] INNER JOIN [OwnedReferencePart4] AS [o0] ON [o].[MiddleEntityId] = [o0].[MiddleEntityId] AND [o].[Id] = [o0].[Id] INNER JOIN [OwnedReferencePart3] AS [o1] ON [o].[MiddleEntityId] = [o1].[MiddleEntityId] AND [o].[Id] = [o1].[Id] ) AS [t0] ON [t].[Id] = [t0].[MiddleEntityId] -ORDER BY [t].[Id], [t0].[MiddleEntityId]"); +ORDER BY [t].[Id], [t0].[MiddleEntityId] +"""); } [ConditionalTheory(Skip = "Issue29075")] diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/FiltersInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/FiltersInheritanceQuerySqlServerTest.cs index c218adda97f..a60cf4ff48a 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/FiltersInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/FiltersInheritanceQuerySqlServerTest.cs @@ -21,10 +21,12 @@ public override async Task Can_use_of_type_animal(bool async) await base.Can_use_of_type_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[CountryId] = 1 -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_is_kiwi(bool async) @@ -32,9 +34,11 @@ public override async Task Can_use_is_kiwi(bool async) await base.Can_use_is_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_use_is_kiwi_with_other_predicate(bool async) @@ -42,9 +46,11 @@ public override async Task Can_use_is_kiwi_with_other_predicate(bool async) await base.Can_use_is_kiwi_with_other_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1"); +WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1 +"""); } public override async Task Can_use_is_kiwi_in_projection(bool async) @@ -52,12 +58,14 @@ public override async Task Can_use_is_kiwi_in_projection(bool async) await base.Can_use_is_kiwi_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [a].[Discriminator] = N'Kiwi' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Animals] AS [a] -WHERE [a].[CountryId] = 1"); +WHERE [a].[CountryId] = 1 +"""); } public override async Task Can_use_of_type_bird(bool async) @@ -65,10 +73,12 @@ public override async Task Can_use_of_type_bird(bool async) await base.Can_use_of_type_bird(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[CountryId] = 1 -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_predicate(bool async) @@ -76,10 +86,12 @@ public override async Task Can_use_of_type_bird_predicate(bool async) await base.Can_use_of_type_bird_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[CountryId] = 1 AND [a].[CountryId] = 1 -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_with_projection(bool async) @@ -87,9 +99,11 @@ public override async Task Can_use_of_type_bird_with_projection(bool async) await base.Can_use_of_type_bird_with_projection(async); AssertSql( - @"SELECT [a].[Name] +""" +SELECT [a].[Name] FROM [Animals] AS [a] -WHERE [a].[CountryId] = 1"); +WHERE [a].[CountryId] = 1 +"""); } public override async Task Can_use_of_type_bird_first(bool async) @@ -97,10 +111,12 @@ public override async Task Can_use_of_type_bird_first(bool async) await base.Can_use_of_type_bird_first(async); AssertSql( - @"SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[CountryId] = 1 -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_kiwi(bool async) @@ -108,9 +124,11 @@ public override async Task Can_use_of_type_kiwi(bool async) await base.Can_use_of_type_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_use_derived_set(bool async) @@ -118,9 +136,11 @@ public override async Task Can_use_derived_set(bool async) await base.Can_use_derived_set(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Eagle' AND [a].[CountryId] = 1"); +WHERE [a].[Discriminator] = N'Eagle' AND [a].[CountryId] = 1 +"""); } public override async Task Can_use_IgnoreQueryFilters_and_GetDatabaseValues(bool async) @@ -128,15 +148,19 @@ public override async Task Can_use_IgnoreQueryFilters_and_GetDatabaseValues(bool await base.Can_use_IgnoreQueryFilters_and_GetDatabaseValues(async); AssertSql( - @"SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] +""" +SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Eagle'", +WHERE [a].[Discriminator] = N'Eagle' +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Eagle' AND [a].[Id] = @__p_0"); +WHERE [a].[Discriminator] = N'Eagle' AND [a].[Id] = @__p_0 +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs index 828d640aa70..1e40e5a5491 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlQuerySqlServerTest.cs @@ -18,7 +18,9 @@ public override async Task FromSqlRaw_queryable_simple(bool async) await base.FromSqlRaw_queryable_simple(async); AssertSql( - @"SELECT * FROM ""Customers"" WHERE ""ContactName"" LIKE '%z%'"); +""" +SELECT * FROM "Customers" WHERE "ContactName" LIKE '%z%' +"""); } public override async Task FromSqlRaw_queryable_simple_columns_out_of_order(bool async) @@ -26,7 +28,9 @@ public override async Task FromSqlRaw_queryable_simple_columns_out_of_order(bool await base.FromSqlRaw_queryable_simple_columns_out_of_order(async); AssertSql( - @"SELECT ""Region"", ""PostalCode"", ""Phone"", ""Fax"", ""CustomerID"", ""Country"", ""ContactTitle"", ""ContactName"", ""CompanyName"", ""City"", ""Address"" FROM ""Customers"""); +""" +SELECT "Region", "PostalCode", "Phone", "Fax", "CustomerID", "Country", "ContactTitle", "ContactName", "CompanyName", "City", "Address" FROM "Customers" +"""); } public override async Task FromSqlRaw_queryable_simple_columns_out_of_order_and_extra_columns(bool async) @@ -34,7 +38,9 @@ public override async Task FromSqlRaw_queryable_simple_columns_out_of_order_and_ await base.FromSqlRaw_queryable_simple_columns_out_of_order_and_extra_columns(async); AssertSql( - @"SELECT ""Region"", ""PostalCode"", ""PostalCode"" AS ""Foo"", ""Phone"", ""Fax"", ""CustomerID"", ""Country"", ""ContactTitle"", ""ContactName"", ""CompanyName"", ""City"", ""Address"" FROM ""Customers"""); +""" +SELECT "Region", "PostalCode", "PostalCode" AS "Foo", "Phone", "Fax", "CustomerID", "Country", "ContactTitle", "ContactName", "CompanyName", "City", "Address" FROM "Customers" +"""); } public override async Task FromSqlRaw_queryable_composed(bool async) @@ -42,13 +48,22 @@ public override async Task FromSqlRaw_queryable_composed(bool async) var queryString = await base.FromSqlRaw_queryable_composed(async); var expected = - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( - SELECT * FROM ""Customers"" + SELECT * FROM "Customers" ) AS [m] -WHERE [m].[ContactName] LIKE N'%z%'"; +WHERE [m].[ContactName] LIKE N'%z%' +"""; - AssertSql(expected); + AssertSql( +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] +FROM ( + SELECT * FROM "Customers" +) AS [m] +WHERE [m].[ContactName] LIKE N'%z%' +"""); Assert.Equal(expected, queryString, ignoreLineEndingDifferences: true); return null; @@ -59,18 +74,18 @@ public override async Task FromSqlRaw_queryable_composed_after_removing_whitespa await base.FromSqlRaw_queryable_composed_after_removing_whitespaces(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( -" - + @" " - + @" + SELECT - * FROM ""Customers"" + * FROM "Customers" ) AS [m] -WHERE [m].[ContactName] LIKE N'%z%'"); +WHERE [m].[ContactName] LIKE N'%z%' +"""); } public override async Task FromSqlRaw_queryable_composed_compiled(bool async) @@ -78,11 +93,13 @@ public override async Task FromSqlRaw_queryable_composed_compiled(bool async) await base.FromSqlRaw_queryable_composed_compiled(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( - SELECT * FROM ""Customers"" + SELECT * FROM "Customers" ) AS [m] -WHERE [m].[ContactName] LIKE N'%z%'"); +WHERE [m].[ContactName] LIKE N'%z%' +"""); } public override async Task FromSqlRaw_queryable_composed_compiled_with_DbParameter(bool async) @@ -90,13 +107,15 @@ public override async Task FromSqlRaw_queryable_composed_compiled_with_DbParamet await base.FromSqlRaw_queryable_composed_compiled_with_DbParameter(async); AssertSql( - @"customer='CONSH' (Nullable = false) (Size = 5) +""" +customer='CONSH' (Nullable = false) (Size = 5) SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( - SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @customer + SELECT * FROM "Customers" WHERE "CustomerID" = @customer ) AS [m] -WHERE [m].[ContactName] LIKE N'%z%'"); +WHERE [m].[ContactName] LIKE N'%z%' +"""); } public override async Task FromSqlRaw_queryable_composed_compiled_with_nameless_DbParameter(bool async) @@ -104,13 +123,15 @@ public override async Task FromSqlRaw_queryable_composed_compiled_with_nameless_ await base.FromSqlRaw_queryable_composed_compiled_with_nameless_DbParameter(async); AssertSql( - @"p0='CONSH' (Nullable = false) (Size = 5) +""" +p0='CONSH' (Nullable = false) (Size = 5) SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( - SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @p0 + SELECT * FROM "Customers" WHERE "CustomerID" = @p0 ) AS [m] -WHERE [m].[ContactName] LIKE N'%z%'"); +WHERE [m].[ContactName] LIKE N'%z%' +"""); } public override async Task FromSqlRaw_queryable_composed_compiled_with_parameter(bool async) @@ -118,11 +139,13 @@ public override async Task FromSqlRaw_queryable_composed_compiled_with_parameter await base.FromSqlRaw_queryable_composed_compiled_with_parameter(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( - SELECT * FROM ""Customers"" WHERE ""CustomerID"" = N'CONSH' + SELECT * FROM "Customers" WHERE "CustomerID" = N'CONSH' ) AS [m] -WHERE [m].[ContactName] LIKE N'%z%'"); +WHERE [m].[ContactName] LIKE N'%z%' +"""); } public override async Task FromSqlRaw_composed_contains(bool async) @@ -130,14 +153,16 @@ public override async Task FromSqlRaw_composed_contains(bool async) await base.FromSqlRaw_composed_contains(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM ( - SELECT * FROM ""Orders"" + SELECT * FROM "Orders" ) AS [m] - WHERE [m].[CustomerID] = [c].[CustomerID])"); + WHERE [m].[CustomerID] = [c].[CustomerID]) +"""); } public override async Task FromSqlRaw_composed_contains2(bool async) @@ -145,14 +170,16 @@ public override async Task FromSqlRaw_composed_contains2(bool async) await base.FromSqlRaw_composed_contains2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' AND EXISTS ( SELECT 1 FROM ( - SELECT * FROM ""Orders"" + SELECT * FROM "Orders" ) AS [m] - WHERE [m].[CustomerID] = [c].[CustomerID])"); + WHERE [m].[CustomerID] = [c].[CustomerID]) +"""); } public override async Task FromSqlRaw_queryable_multiple_composed(bool async) @@ -160,14 +187,16 @@ public override async Task FromSqlRaw_queryable_multiple_composed(bool async) await base.FromSqlRaw_queryable_multiple_composed(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate] FROM ( - SELECT * FROM ""Customers"" + SELECT * FROM "Customers" ) AS [m] CROSS JOIN ( - SELECT * FROM ""Orders"" + SELECT * FROM "Orders" ) AS [m0] -WHERE [m].[CustomerID] = [m0].[CustomerID]"); +WHERE [m].[CustomerID] = [m0].[CustomerID] +"""); } public override async Task FromSqlRaw_queryable_multiple_composed_with_closure_parameters(bool async) @@ -175,17 +204,19 @@ public override async Task FromSqlRaw_queryable_multiple_composed_with_closure_p await base.FromSqlRaw_queryable_multiple_composed_with_closure_parameters(async); AssertSql( - @"p0='1997-01-01T00:00:00.0000000' +""" +p0='1997-01-01T00:00:00.0000000' p1='1998-01-01T00:00:00.0000000' SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate] FROM ( - SELECT * FROM ""Customers"" + SELECT * FROM "Customers" ) AS [m] CROSS JOIN ( - SELECT * FROM ""Orders"" WHERE ""OrderDate"" BETWEEN @p0 AND @p1 + SELECT * FROM "Orders" WHERE "OrderDate" BETWEEN @p0 AND @p1 ) AS [m0] -WHERE [m].[CustomerID] = [m0].[CustomerID]"); +WHERE [m].[CustomerID] = [m0].[CustomerID] +"""); } public override async Task FromSqlRaw_queryable_multiple_composed_with_parameters_and_closure_parameters(bool async) @@ -193,31 +224,35 @@ public override async Task FromSqlRaw_queryable_multiple_composed_with_parameter await base.FromSqlRaw_queryable_multiple_composed_with_parameters_and_closure_parameters(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) p1='1997-01-01T00:00:00.0000000' p2='1998-01-01T00:00:00.0000000' SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @p0 + SELECT * FROM "Customers" WHERE "City" = @p0 ) AS [m] CROSS JOIN ( - SELECT * FROM ""Orders"" WHERE ""OrderDate"" BETWEEN @p1 AND @p2 + SELECT * FROM "Orders" WHERE "OrderDate" BETWEEN @p1 AND @p2 ) AS [m0] -WHERE [m].[CustomerID] = [m0].[CustomerID]", +WHERE [m].[CustomerID] = [m0].[CustomerID] +""", // - @"p0='Berlin' (Size = 4000) +""" +p0='Berlin' (Size = 4000) p1='1998-04-01T00:00:00.0000000' p2='1998-05-01T00:00:00.0000000' SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @p0 + SELECT * FROM "Customers" WHERE "City" = @p0 ) AS [m] CROSS JOIN ( - SELECT * FROM ""Orders"" WHERE ""OrderDate"" BETWEEN @p1 AND @p2 + SELECT * FROM "Orders" WHERE "OrderDate" BETWEEN @p1 AND @p2 ) AS [m0] -WHERE [m].[CustomerID] = [m0].[CustomerID]"); +WHERE [m].[CustomerID] = [m0].[CustomerID] +"""); } public override async Task FromSqlRaw_queryable_multiple_line_query(bool async) @@ -225,9 +260,11 @@ public override async Task FromSqlRaw_queryable_multiple_line_query(bool async) await base.FromSqlRaw_queryable_multiple_line_query(async); AssertSql( - @"SELECT * -FROM ""Customers"" -WHERE ""City"" = 'London'"); +""" +SELECT * +FROM "Customers" +WHERE "City" = 'London' +"""); } public override async Task FromSqlRaw_queryable_composed_multiple_line_query(bool async) @@ -235,12 +272,14 @@ public override async Task FromSqlRaw_queryable_composed_multiple_line_query(boo await base.FromSqlRaw_queryable_composed_multiple_line_query(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( SELECT * - FROM ""Customers"" + FROM "Customers" ) AS [m] -WHERE [m].[City] = N'London'"); +WHERE [m].[City] = N'London' +"""); } public override async Task FromSqlRaw_queryable_with_parameters(bool async) @@ -248,10 +287,12 @@ public override async Task FromSqlRaw_queryable_with_parameters(bool async) await base.FromSqlRaw_queryable_with_parameters(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) p1='Sales Representative' (Size = 4000) -SELECT * FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT * FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } public override async Task FromSqlRaw_queryable_with_parameters_inline(bool async) @@ -259,10 +300,12 @@ public override async Task FromSqlRaw_queryable_with_parameters_inline(bool asyn await base.FromSqlRaw_queryable_with_parameters_inline(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) p1='Sales Representative' (Size = 4000) -SELECT * FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT * FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } public override async Task FromSqlInterpolated_queryable_with_parameters_interpolated(bool async) @@ -270,10 +313,12 @@ public override async Task FromSqlInterpolated_queryable_with_parameters_interpo await base.FromSqlInterpolated_queryable_with_parameters_interpolated(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) p1='Sales Representative' (Size = 4000) -SELECT * FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT * FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } public override async Task FromSql_queryable_with_parameters_interpolated(bool async) @@ -281,10 +326,12 @@ public override async Task FromSql_queryable_with_parameters_interpolated(bool a await base.FromSql_queryable_with_parameters_interpolated(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) p1='Sales Representative' (Size = 4000) -SELECT * FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT * FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } public override async Task FromSqlInterpolated_queryable_with_parameters_inline_interpolated(bool async) @@ -292,10 +339,12 @@ public override async Task FromSqlInterpolated_queryable_with_parameters_inline_ await base.FromSqlInterpolated_queryable_with_parameters_inline_interpolated(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) p1='Sales Representative' (Size = 4000) -SELECT * FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT * FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } public override async Task FromSql_queryable_with_parameters_inline_interpolated(bool async) @@ -303,10 +352,12 @@ public override async Task FromSql_queryable_with_parameters_inline_interpolated await base.FromSql_queryable_with_parameters_inline_interpolated(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) p1='Sales Representative' (Size = 4000) -SELECT * FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT * FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } public override async Task FromSqlInterpolated_queryable_multiple_composed_with_parameters_and_closure_parameters_interpolated( @@ -315,31 +366,35 @@ public override async Task FromSqlInterpolated_queryable_multiple_composed_with_ await base.FromSqlInterpolated_queryable_multiple_composed_with_parameters_and_closure_parameters_interpolated(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) p1='1997-01-01T00:00:00.0000000' p2='1998-01-01T00:00:00.0000000' SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @p0 + SELECT * FROM "Customers" WHERE "City" = @p0 ) AS [m] CROSS JOIN ( - SELECT * FROM ""Orders"" WHERE ""OrderDate"" BETWEEN @p1 AND @p2 + SELECT * FROM "Orders" WHERE "OrderDate" BETWEEN @p1 AND @p2 ) AS [m0] -WHERE [m].[CustomerID] = [m0].[CustomerID]", +WHERE [m].[CustomerID] = [m0].[CustomerID] +""", // - @"p0='Berlin' (Size = 4000) +""" +p0='Berlin' (Size = 4000) p1='1998-04-01T00:00:00.0000000' p2='1998-05-01T00:00:00.0000000' SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @p0 + SELECT * FROM "Customers" WHERE "City" = @p0 ) AS [m] CROSS JOIN ( - SELECT * FROM ""Orders"" WHERE ""OrderDate"" BETWEEN @p1 AND @p2 + SELECT * FROM "Orders" WHERE "OrderDate" BETWEEN @p1 AND @p2 ) AS [m0] -WHERE [m].[CustomerID] = [m0].[CustomerID]"); +WHERE [m].[CustomerID] = [m0].[CustomerID] +"""); } public override async Task FromSql_queryable_multiple_composed_with_parameters_and_closure_parameters_interpolated( @@ -348,31 +403,35 @@ public override async Task FromSql_queryable_multiple_composed_with_parameters_a await base.FromSql_queryable_multiple_composed_with_parameters_and_closure_parameters_interpolated(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) p1='1997-01-01T00:00:00.0000000' p2='1998-01-01T00:00:00.0000000' SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @p0 + SELECT * FROM "Customers" WHERE "City" = @p0 ) AS [m] CROSS JOIN ( - SELECT * FROM ""Orders"" WHERE ""OrderDate"" BETWEEN @p1 AND @p2 + SELECT * FROM "Orders" WHERE "OrderDate" BETWEEN @p1 AND @p2 ) AS [m0] -WHERE [m].[CustomerID] = [m0].[CustomerID]", +WHERE [m].[CustomerID] = [m0].[CustomerID] +""", // - @"p0='Berlin' (Size = 4000) +""" +p0='Berlin' (Size = 4000) p1='1998-04-01T00:00:00.0000000' p2='1998-05-01T00:00:00.0000000' SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @p0 + SELECT * FROM "Customers" WHERE "City" = @p0 ) AS [m] CROSS JOIN ( - SELECT * FROM ""Orders"" WHERE ""OrderDate"" BETWEEN @p1 AND @p2 + SELECT * FROM "Orders" WHERE "OrderDate" BETWEEN @p1 AND @p2 ) AS [m0] -WHERE [m].[CustomerID] = [m0].[CustomerID]"); +WHERE [m].[CustomerID] = [m0].[CustomerID] +"""); } public override async Task FromSqlRaw_queryable_with_null_parameter(bool async) @@ -380,9 +439,11 @@ public override async Task FromSqlRaw_queryable_with_null_parameter(bool async) await base.FromSqlRaw_queryable_with_null_parameter(async); AssertSql( - @"p0=NULL (Nullable = false) +""" +p0=NULL (Nullable = false) -SELECT * FROM ""Employees"" WHERE ""ReportsTo"" = @p0 OR (""ReportsTo"" IS NULL AND @p0 IS NULL)"); +SELECT * FROM "Employees" WHERE "ReportsTo" = @p0 OR ("ReportsTo" IS NULL AND @p0 IS NULL) +"""); } public override async Task FromSqlRaw_queryable_with_parameters_and_closure(bool async) @@ -390,14 +451,16 @@ public override async Task FromSqlRaw_queryable_with_parameters_and_clos var queryString = await base.FromSqlRaw_queryable_with_parameters_and_closure(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) @__contactTitle_1='Sales Representative' (Size = 30) SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @p0 + SELECT * FROM "Customers" WHERE "City" = @p0 ) AS [m] -WHERE [m].[ContactTitle] = @__contactTitle_1"); +WHERE [m].[ContactTitle] = @__contactTitle_1 +"""); return null; } @@ -407,9 +470,13 @@ public override async Task FromSqlRaw_queryable_simple_cache_key_includes_query_ await base.FromSqlRaw_queryable_simple_cache_key_includes_query_string(async); AssertSql( - @"SELECT * FROM ""Customers"" WHERE ""City"" = 'London'", +""" +SELECT * FROM "Customers" WHERE "City" = 'London' +""", // - @"SELECT * FROM ""Customers"" WHERE ""City"" = 'Seattle'"); +""" +SELECT * FROM "Customers" WHERE "City" = 'Seattle' +"""); } public override async Task FromSqlRaw_queryable_with_parameters_cache_key_includes_parameters(bool async) @@ -417,15 +484,19 @@ public override async Task FromSqlRaw_queryable_with_parameters_cache_key_includ await base.FromSqlRaw_queryable_with_parameters_cache_key_includes_parameters(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) p1='Sales Representative' (Size = 4000) -SELECT * FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1", +SELECT * FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +""", // - @"p0='Madrid' (Size = 4000) +""" +p0='Madrid' (Size = 4000) p1='Accounting Manager' (Size = 4000) -SELECT * FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT * FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } public override async Task FromSqlRaw_queryable_simple_as_no_tracking_not_composed(bool async) @@ -433,7 +504,9 @@ public override async Task FromSqlRaw_queryable_simple_as_no_tracking_not_compos await base.FromSqlRaw_queryable_simple_as_no_tracking_not_composed(async); AssertSql( - @"SELECT * FROM ""Customers"""); +""" +SELECT * FROM "Customers" +"""); } public override async Task FromSqlRaw_queryable_simple_projection_composed(bool async) @@ -441,13 +514,15 @@ public override async Task FromSqlRaw_queryable_simple_projection_composed(bool await base.FromSqlRaw_queryable_simple_projection_composed(async); AssertSql( - @"SELECT [m].[ProductName] +""" +SELECT [m].[ProductName] FROM ( SELECT * - FROM ""Products"" - WHERE ""Discontinued"" <> CAST(1 AS bit) - AND ((""UnitsInStock"" + ""UnitsOnOrder"") < ""ReorderLevel"") -) AS [m]"); + FROM "Products" + WHERE "Discontinued" <> CAST(1 AS bit) + AND (("UnitsInStock" + "UnitsOnOrder") < "ReorderLevel") +) AS [m] +"""); } public override async Task FromSqlRaw_queryable_simple_include(bool async) @@ -455,12 +530,14 @@ public override async Task FromSqlRaw_queryable_simple_include(bool async) await base.FromSqlRaw_queryable_simple_include(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( - SELECT * FROM ""Customers"" + SELECT * FROM "Customers" ) AS [m] LEFT JOIN [Orders] AS [o] ON [m].[CustomerID] = [o].[CustomerID] -ORDER BY [m].[CustomerID]"); +ORDER BY [m].[CustomerID] +"""); } public override async Task FromSqlRaw_queryable_simple_composed_include(bool async) @@ -468,13 +545,15 @@ public override async Task FromSqlRaw_queryable_simple_composed_include(bool asy await base.FromSqlRaw_queryable_simple_composed_include(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( - SELECT * FROM ""Customers"" + SELECT * FROM "Customers" ) AS [m] LEFT JOIN [Orders] AS [o] ON [m].[CustomerID] = [o].[CustomerID] WHERE [m].[City] = N'London' -ORDER BY [m].[CustomerID]"); +ORDER BY [m].[CustomerID] +"""); } public override async Task FromSqlRaw_annotations_do_not_affect_successive_calls(bool async) @@ -482,10 +561,14 @@ public override async Task FromSqlRaw_annotations_do_not_affect_successive_calls await base.FromSqlRaw_annotations_do_not_affect_successive_calls(async); AssertSql( - @"SELECT * FROM ""Customers"" WHERE ""ContactName"" LIKE '%z%'", +""" +SELECT * FROM "Customers" WHERE "ContactName" LIKE '%z%' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task FromSqlRaw_composed_with_nullable_predicate(bool async) @@ -493,11 +576,13 @@ public override async Task FromSqlRaw_composed_with_nullable_predicate(bool asyn await base.FromSqlRaw_composed_with_nullable_predicate(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( - SELECT * FROM ""Customers"" + SELECT * FROM "Customers" ) AS [m] -WHERE [m].[ContactName] = [m].[CompanyName] OR (([m].[ContactName] IS NULL) AND ([m].[CompanyName] IS NULL))"); +WHERE [m].[ContactName] = [m].[CompanyName] OR (([m].[ContactName] IS NULL) AND ([m].[CompanyName] IS NULL)) +"""); } public override async Task FromSqlRaw_with_dbParameter(bool async) @@ -505,18 +590,22 @@ public override async Task FromSqlRaw_with_dbParameter(bool async) await base.FromSqlRaw_with_dbParameter(async); AssertSql( - @"@city='London' (Nullable = false) (Size = 6) +""" +@city='London' (Nullable = false) (Size = 6) -SELECT * FROM ""Customers"" WHERE ""City"" = @city"); +SELECT * FROM "Customers" WHERE "City" = @city +"""); } public override async Task FromSqlRaw_with_dbParameter_without_name_prefix(bool async) { await base.FromSqlRaw_with_dbParameter_without_name_prefix(async); AssertSql( - @"city='London' (Nullable = false) (Size = 6) +""" +city='London' (Nullable = false) (Size = 6) -SELECT * FROM ""Customers"" WHERE ""City"" = @city"); +SELECT * FROM "Customers" WHERE "City" = @city +"""); } public override async Task FromSqlRaw_with_dbParameter_mixed(bool async) @@ -524,15 +613,19 @@ public override async Task FromSqlRaw_with_dbParameter_mixed(bool async) await base.FromSqlRaw_with_dbParameter_mixed(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) @title='Sales Representative' (Nullable = false) (Size = 20) -SELECT * FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @title", +SELECT * FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @title +""", // - @"@city='London' (Nullable = false) (Size = 6) +""" +@city='London' (Nullable = false) (Size = 6) p1='Sales Representative' (Size = 4000) -SELECT * FROM ""Customers"" WHERE ""City"" = @city AND ""ContactTitle"" = @p1"); +SELECT * FROM "Customers" WHERE "City" = @city AND "ContactTitle" = @p1 +"""); } public override async Task FromSqlRaw_with_db_parameters_called_multiple_times(bool async) @@ -540,13 +633,17 @@ public override async Task FromSqlRaw_with_db_parameters_called_multiple_times(b await base.FromSqlRaw_with_db_parameters_called_multiple_times(async); AssertSql( - @"@id='ALFKI' (Nullable = false) (Size = 5) +""" +@id='ALFKI' (Nullable = false) (Size = 5) -SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @id", +SELECT * FROM "Customers" WHERE "CustomerID" = @id +""", // - @"@id='ALFKI' (Nullable = false) (Size = 5) +""" +@id='ALFKI' (Nullable = false) (Size = 5) -SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @id"); +SELECT * FROM "Customers" WHERE "CustomerID" = @id +"""); } public override async Task FromSqlRaw_with_SelectMany_and_include(bool async) @@ -554,15 +651,17 @@ public override async Task FromSqlRaw_with_SelectMany_and_include(bool async) await base.FromSqlRaw_with_SelectMany_and_include(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[CustomerID], [m0].[Address], [m0].[City], [m0].[CompanyName], [m0].[ContactName], [m0].[ContactTitle], [m0].[Country], [m0].[Fax], [m0].[Phone], [m0].[PostalCode], [m0].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[CustomerID], [m0].[Address], [m0].[City], [m0].[CompanyName], [m0].[ContactName], [m0].[ContactTitle], [m0].[Country], [m0].[Fax], [m0].[Phone], [m0].[PostalCode], [m0].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( - SELECT * FROM ""Customers"" WHERE ""CustomerID"" = 'ALFKI' + SELECT * FROM "Customers" WHERE "CustomerID" = 'ALFKI' ) AS [m] CROSS JOIN ( - SELECT * FROM ""Customers"" WHERE ""CustomerID"" = 'AROUT' + SELECT * FROM "Customers" WHERE "CustomerID" = 'AROUT' ) AS [m0] LEFT JOIN [Orders] AS [o] ON [m0].[CustomerID] = [o].[CustomerID] -ORDER BY [m].[CustomerID], [m0].[CustomerID]"); +ORDER BY [m].[CustomerID], [m0].[CustomerID] +"""); } public override async Task FromSqlRaw_with_join_and_include(bool async) @@ -570,15 +669,17 @@ public override async Task FromSqlRaw_with_join_and_include(bool async) await base.FromSqlRaw_with_join_and_include(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate], [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region], [m0].[OrderID], [m0].[CustomerID], [m0].[EmployeeID], [m0].[OrderDate], [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM ( - SELECT * FROM ""Customers"" WHERE ""CustomerID"" = 'ALFKI' + SELECT * FROM "Customers" WHERE "CustomerID" = 'ALFKI' ) AS [m] INNER JOIN ( - SELECT * FROM ""Orders"" WHERE ""OrderID"" <> 1 + SELECT * FROM "Orders" WHERE "OrderID" <> 1 ) AS [m0] ON [m].[CustomerID] = [m0].[CustomerID] LEFT JOIN [Order Details] AS [o] ON [m0].[OrderID] = [o].[OrderID] -ORDER BY [m].[CustomerID], [m0].[OrderID], [o].[OrderID]"); +ORDER BY [m].[CustomerID], [m0].[OrderID], [o].[OrderID] +"""); } public override async Task FromSqlInterpolated_with_inlined_db_parameter(bool async) @@ -586,9 +687,11 @@ public override async Task FromSqlInterpolated_with_inlined_db_parameter(bool as await base.FromSqlInterpolated_with_inlined_db_parameter(async); AssertSql( - @"@somename='ALFKI' (Nullable = false) (Size = 5) +""" +@somename='ALFKI' (Nullable = false) (Size = 5) -SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @somename"); +SELECT * FROM "Customers" WHERE "CustomerID" = @somename +"""); } public override async Task FromSql_with_inlined_db_parameter(bool async) @@ -596,9 +699,11 @@ public override async Task FromSql_with_inlined_db_parameter(bool async) await base.FromSql_with_inlined_db_parameter(async); AssertSql( - @"@somename='ALFKI' (Nullable = false) (Size = 5) +""" +@somename='ALFKI' (Nullable = false) (Size = 5) -SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @somename"); +SELECT * FROM "Customers" WHERE "CustomerID" = @somename +"""); } public override async Task FromSqlInterpolated_with_inlined_db_parameter_without_name_prefix(bool async) @@ -606,9 +711,11 @@ public override async Task FromSqlInterpolated_with_inlined_db_parameter_without await base.FromSqlInterpolated_with_inlined_db_parameter_without_name_prefix(async); AssertSql( - @"somename='ALFKI' (Nullable = false) (Size = 5) +""" +somename='ALFKI' (Nullable = false) (Size = 5) -SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @somename"); +SELECT * FROM "Customers" WHERE "CustomerID" = @somename +"""); } public override async Task FromSql_with_inlined_db_parameter_without_name_prefix(bool async) @@ -616,9 +723,11 @@ public override async Task FromSql_with_inlined_db_parameter_without_name_prefix await base.FromSql_with_inlined_db_parameter_without_name_prefix(async); AssertSql( - @"somename='ALFKI' (Nullable = false) (Size = 5) +""" +somename='ALFKI' (Nullable = false) (Size = 5) -SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @somename"); +SELECT * FROM "Customers" WHERE "CustomerID" = @somename +"""); } public override async Task FromSqlInterpolated_parameterization_issue_12213(bool async) @@ -626,14 +735,17 @@ public override async Task FromSqlInterpolated_parameterization_issue_12213(bool await base.FromSqlInterpolated_parameterization_issue_12213(async); AssertSql( - @"p0='10300' +""" +p0='10300' SELECT [m].[OrderID] FROM ( - SELECT * FROM ""Orders"" WHERE ""OrderID"" >= @p0 -) AS [m]", + SELECT * FROM "Orders" WHERE "OrderID" >= @p0 +) AS [m] +""", // - @"@__max_0='10400' +""" +@__max_0='10400' p0='10300' SELECT [o].[OrderID] @@ -641,11 +753,13 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] <= @__max_0 AND EXISTS ( SELECT 1 FROM ( - SELECT * FROM ""Orders"" WHERE ""OrderID"" >= @p0 + SELECT * FROM "Orders" WHERE "OrderID" >= @p0 ) AS [m] - WHERE [m].[OrderID] = [o].[OrderID])", + WHERE [m].[OrderID] = [o].[OrderID]) +""", // - @"@__max_0='10400' +""" +@__max_0='10400' p0='10300' SELECT [o].[OrderID] @@ -653,9 +767,10 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] <= @__max_0 AND EXISTS ( SELECT 1 FROM ( - SELECT * FROM ""Orders"" WHERE ""OrderID"" >= @p0 + SELECT * FROM "Orders" WHERE "OrderID" >= @p0 ) AS [m] - WHERE [m].[OrderID] = [o].[OrderID])"); + WHERE [m].[OrderID] = [o].[OrderID]) +"""); } public override async Task FromSqlRaw_does_not_parameterize_interpolated_string(bool async) @@ -663,9 +778,11 @@ public override async Task FromSqlRaw_does_not_parameterize_interpolated_string( await base.FromSqlRaw_does_not_parameterize_interpolated_string(async); AssertSql( - @"p0='10250' +""" +p0='10250' -SELECT * FROM ""Orders"" WHERE ""OrderID"" < @p0"); +SELECT * FROM "Orders" WHERE "OrderID" < @p0 +"""); } public override async Task Entity_equality_through_fromsql(bool async) @@ -673,12 +790,14 @@ public override async Task Entity_equality_through_fromsql(bool async) await base.Entity_equality_through_fromsql(async); AssertSql( - @"SELECT [m].[OrderID], [m].[CustomerID], [m].[EmployeeID], [m].[OrderDate] +""" +SELECT [m].[OrderID], [m].[CustomerID], [m].[EmployeeID], [m].[OrderDate] FROM ( - SELECT * FROM ""Orders"" + SELECT * FROM "Orders" ) AS [m] LEFT JOIN [Customers] AS [c] ON [m].[CustomerID] = [c].[CustomerID] -WHERE [c].[CustomerID] = N'VINET'"); +WHERE [c].[CustomerID] = N'VINET' +"""); } public override async Task FromSqlRaw_with_set_operation(bool async) @@ -686,15 +805,17 @@ public override async Task FromSqlRaw_with_set_operation(bool async) await base.FromSqlRaw_with_set_operation(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = 'London' + SELECT * FROM "Customers" WHERE "City" = 'London' ) AS [m] UNION ALL SELECT [m0].[CustomerID], [m0].[Address], [m0].[City], [m0].[CompanyName], [m0].[ContactName], [m0].[ContactTitle], [m0].[Country], [m0].[Fax], [m0].[Phone], [m0].[PostalCode], [m0].[Region] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = 'Berlin' -) AS [m0]"); + SELECT * FROM "Customers" WHERE "City" = 'Berlin' +) AS [m0] +"""); } public override async Task Line_endings_after_Select(bool async) @@ -702,12 +823,14 @@ public override async Task Line_endings_after_Select(bool async) await base.Line_endings_after_Select(async); AssertSql( - @"SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] +""" +SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( SELECT - * FROM ""Customers"" + * FROM "Customers" ) AS [m] -WHERE [m].[City] = N'Seattle'"); +WHERE [m].[City] = N'Seattle' +"""); } public override async Task FromSql_with_db_parameter_in_split_query(bool async) @@ -715,32 +838,38 @@ public override async Task FromSql_with_db_parameter_in_split_query(bool async) await base.FromSql_with_db_parameter_in_split_query(async); AssertSql( - @"customerID='ALFKI' (Nullable = false) (Size = 5) +""" +customerID='ALFKI' (Nullable = false) (Size = 5) SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( - SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @customerID + SELECT * FROM "Customers" WHERE "CustomerID" = @customerID ) AS [m] -ORDER BY [m].[CustomerID]", +ORDER BY [m].[CustomerID] +""", // - @"customerID='ALFKI' (Nullable = false) (Size = 5) +""" +customerID='ALFKI' (Nullable = false) (Size = 5) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [m].[CustomerID] FROM ( - SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @customerID + SELECT * FROM "Customers" WHERE "CustomerID" = @customerID ) AS [m] INNER JOIN [Orders] AS [o] ON [m].[CustomerID] = [o].[CustomerID] -ORDER BY [m].[CustomerID], [o].[OrderID]", +ORDER BY [m].[CustomerID], [o].[OrderID] +""", // - @"customerID='ALFKI' (Nullable = false) (Size = 5) +""" +customerID='ALFKI' (Nullable = false) (Size = 5) SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [m].[CustomerID], [o].[OrderID] FROM ( - SELECT * FROM ""Customers"" WHERE ""CustomerID"" = @customerID + SELECT * FROM "Customers" WHERE "CustomerID" = @customerID ) AS [m] INNER JOIN [Orders] AS [o] ON [m].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [m].[CustomerID], [o].[OrderID]"); +ORDER BY [m].[CustomerID], [o].[OrderID] +"""); } public override async Task FromSqlRaw_in_subquery_with_dbParameter(bool async) @@ -748,16 +877,18 @@ public override async Task FromSqlRaw_in_subquery_with_dbParameter(bool async) await base.FromSqlRaw_in_subquery_with_dbParameter(async); AssertSql( - @"@city='London' (Nullable = false) (Size = 6) +""" +@city='London' (Nullable = false) (Size = 6) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @city + SELECT * FROM "Customers" WHERE "City" = @city ) AS [m] - WHERE [m].[CustomerID] = [o].[CustomerID])"); + WHERE [m].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task FromSqlRaw_in_subquery_with_positional_dbParameter_without_name(bool async) @@ -765,16 +896,18 @@ public override async Task FromSqlRaw_in_subquery_with_positional_dbParameter_wi await base.FromSqlRaw_in_subquery_with_positional_dbParameter_without_name(async); AssertSql( - @"p0='London' (Nullable = false) (Size = 6) +""" +p0='London' (Nullable = false) (Size = 6) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @p0 + SELECT * FROM "Customers" WHERE "City" = @p0 ) AS [m] - WHERE [m].[CustomerID] = [o].[CustomerID])"); + WHERE [m].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task FromSqlRaw_in_subquery_with_positional_dbParameter_with_name(bool async) @@ -782,16 +915,18 @@ public override async Task FromSqlRaw_in_subquery_with_positional_dbParameter_wi await base.FromSqlRaw_in_subquery_with_positional_dbParameter_with_name(async); AssertSql( - @"@city='London' (Nullable = false) (Size = 6) +""" +@city='London' (Nullable = false) (Size = 6) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @city + SELECT * FROM "Customers" WHERE "City" = @city ) AS [m] - WHERE [m].[CustomerID] = [o].[CustomerID])"); + WHERE [m].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task FromSqlRaw_with_dbParameter_mixed_in_subquery(bool async) @@ -799,7 +934,8 @@ public override async Task FromSqlRaw_with_dbParameter_mixed_in_subquery(bool as await base.FromSqlRaw_with_dbParameter_mixed_in_subquery(async); AssertSql( - @"p0='London' (Size = 4000) +""" +p0='London' (Size = 4000) @title='Sales Representative' (Nullable = false) (Size = 20) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -807,11 +943,13 @@ FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @title + SELECT * FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @title ) AS [m] - WHERE [m].[CustomerID] = [o].[CustomerID])", + WHERE [m].[CustomerID] = [o].[CustomerID]) +""", // - @"@city='London' (Nullable = false) (Size = 6) +""" +@city='London' (Nullable = false) (Size = 6) p1='Sales Representative' (Size = 4000) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -819,9 +957,10 @@ FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @city AND ""ContactTitle"" = @p1 + SELECT * FROM "Customers" WHERE "City" = @city AND "ContactTitle" = @p1 ) AS [m] - WHERE [m].[CustomerID] = [o].[CustomerID])"); + WHERE [m].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task Multiple_occurrences_of_FromSql_with_db_parameter_adds_parameter_only_once(bool async) @@ -829,17 +968,19 @@ public override async Task Multiple_occurrences_of_FromSql_with_db_parameter_add await base.Multiple_occurrences_of_FromSql_with_db_parameter_adds_parameter_only_once(async); AssertSql( - @"city='Seattle' (Nullable = false) (Size = 7) +""" +city='Seattle' (Nullable = false) (Size = 7) SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @city + SELECT * FROM "Customers" WHERE "City" = @city ) AS [m] INTERSECT SELECT [m0].[CustomerID], [m0].[Address], [m0].[City], [m0].[CompanyName], [m0].[ContactName], [m0].[ContactTitle], [m0].[Country], [m0].[Fax], [m0].[Phone], [m0].[PostalCode], [m0].[Region] FROM ( - SELECT * FROM ""Customers"" WHERE ""City"" = @city -) AS [m0]"); + SELECT * FROM "Customers" WHERE "City" = @city +) AS [m0] +"""); } public override async Task FromSqlRaw_composed_with_common_table_expression(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlSprocQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlSprocQuerySqlServerTest.cs index 898c37a74ee..f1f85607def 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlSprocQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/FromSqlSprocQuerySqlServerTest.cs @@ -15,7 +15,10 @@ public override async Task From_sql_queryable_stored_procedure(bool async) { await base.From_sql_queryable_stored_procedure(async); - AssertSql("[dbo].[Ten Most Expensive Products]"); + AssertSql( +""" +[dbo].[Ten Most Expensive Products] +"""); } public override async Task From_sql_queryable_stored_procedure_with_tag(bool async) @@ -23,9 +26,11 @@ public override async Task From_sql_queryable_stored_procedure_with_tag(bool asy await base.From_sql_queryable_stored_procedure_with_tag(async); AssertSql( - @"-- Stored Procedure +""" +-- Stored Procedure -[dbo].[Ten Most Expensive Products]"); +[dbo].[Ten Most Expensive Products] +"""); } public override async Task From_sql_queryable_stored_procedure_with_tags(bool async) @@ -33,11 +38,13 @@ public override async Task From_sql_queryable_stored_procedure_with_tags(bool as await base.From_sql_queryable_stored_procedure_with_tags(async); AssertSql( - @"-- One +""" +-- One -- Two -- Three -[dbo].[Ten Most Expensive Products]"); +[dbo].[Ten Most Expensive Products] +"""); } public override async Task From_sql_queryable_stored_procedure_with_caller_info_tag(bool async) @@ -45,9 +52,11 @@ public override async Task From_sql_queryable_stored_procedure_with_caller_info_ await base.From_sql_queryable_stored_procedure_with_caller_info_tag(async); AssertSql( - @"-- File: SampleFileName:13 +""" +-- File: SampleFileName:13 -[dbo].[Ten Most Expensive Products]"); +[dbo].[Ten Most Expensive Products] +"""); } public override async Task From_sql_queryable_stored_procedure_with_caller_info_tag_and_other_tags(bool async) @@ -55,11 +64,13 @@ public override async Task From_sql_queryable_stored_procedure_with_caller_info_ await base.From_sql_queryable_stored_procedure_with_caller_info_tag_and_other_tags(async); AssertSql( - @"-- Before +""" +-- Before -- File: SampleFileName:13 -- After -[dbo].[Ten Most Expensive Products]"); +[dbo].[Ten Most Expensive Products] +"""); } public override async Task From_sql_queryable_stored_procedure_with_parameter(bool async) @@ -67,23 +78,31 @@ public override async Task From_sql_queryable_stored_procedure_with_parameter(bo await base.From_sql_queryable_stored_procedure_with_parameter(async); AssertSql( - @"p0='ALFKI' (Size = 4000) +""" +p0='ALFKI' (Size = 4000) -[dbo].[CustOrderHist] @CustomerID = @p0"); +[dbo].[CustOrderHist] @CustomerID = @p0 +"""); } public override async Task From_sql_queryable_stored_procedure_re_projection_on_client(bool async) { await base.From_sql_queryable_stored_procedure_re_projection_on_client(async); - AssertSql("[dbo].[Ten Most Expensive Products]"); + AssertSql( +""" +[dbo].[Ten Most Expensive Products] +"""); } public override async Task From_sql_queryable_stored_procedure_composed_on_client(bool async) { await base.From_sql_queryable_stored_procedure_composed_on_client(async); - AssertSql("[dbo].[Ten Most Expensive Products]"); + AssertSql( +""" +[dbo].[Ten Most Expensive Products] +"""); } public override async Task From_sql_queryable_stored_procedure_with_parameter_composed_on_client(bool async) @@ -91,23 +110,31 @@ public override async Task From_sql_queryable_stored_procedure_with_parameter_co await base.From_sql_queryable_stored_procedure_with_parameter_composed_on_client(async); AssertSql( - @"p0='ALFKI' (Size = 4000) +""" +p0='ALFKI' (Size = 4000) -[dbo].[CustOrderHist] @CustomerID = @p0"); +[dbo].[CustOrderHist] @CustomerID = @p0 +"""); } public override async Task From_sql_queryable_stored_procedure_take_on_client(bool async) { await base.From_sql_queryable_stored_procedure_take_on_client(async); - AssertSql("[dbo].[Ten Most Expensive Products]"); + AssertSql( +""" +[dbo].[Ten Most Expensive Products] +"""); } public override async Task From_sql_queryable_stored_procedure_min_on_client(bool async) { await base.From_sql_queryable_stored_procedure_min_on_client(async); - AssertSql("[dbo].[Ten Most Expensive Products]"); + AssertSql( +""" +[dbo].[Ten Most Expensive Products] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/FunkyDataQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/FunkyDataQuerySqlServerTest.cs index 815fe8664cb..dfb0b5c36cf 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/FunkyDataQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/FunkyDataQuerySqlServerTest.cs @@ -24,36 +24,52 @@ public override async Task String_contains_on_argument_with_wildcard_constant(bo await base.String_contains_on_argument_with_wildcard_constant(async); AssertSql( - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE [f].[FirstName] LIKE N'%\%B%' ESCAPE N'\'", +WHERE [f].[FirstName] LIKE N'%\%B%' ESCAPE N'\' +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE [f].[FirstName] LIKE N'%a\_%' ESCAPE N'\'", +WHERE [f].[FirstName] LIKE N'%a\_%' ESCAPE N'\' +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE [f].[FirstName] LIKE NULL", +WHERE [f].[FirstName] LIKE NULL +""", // - @"SELECT [f].[FirstName] -FROM [FunkyCustomers] AS [f]", +""" +SELECT [f].[FirstName] +FROM [FunkyCustomers] AS [f] +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE [f].[FirstName] LIKE N'%\_Ba\_%' ESCAPE N'\'", +WHERE [f].[FirstName] LIKE N'%\_Ba\_%' ESCAPE N'\' +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE NOT ([f].[FirstName] LIKE N'%\%B\%a\%r%' ESCAPE N'\')", +WHERE NOT ([f].[FirstName] LIKE N'%\%B\%a\%r%' ESCAPE N'\') +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE NOT ([f].[FirstName] LIKE NULL)"); +WHERE NOT ([f].[FirstName] LIKE NULL) +"""); } public override async Task String_contains_on_argument_with_wildcard_parameter(bool async) @@ -61,49 +77,65 @@ public override async Task String_contains_on_argument_with_wildcard_parameter(b await base.String_contains_on_argument_with_wildcard_parameter(async); AssertSql( - @"@__prm1_0='%B' (Size = 4000) +""" +@__prm1_0='%B' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE (@__prm1_0 LIKE N'') OR CHARINDEX(@__prm1_0, [f].[FirstName]) > 0", +WHERE (@__prm1_0 LIKE N'') OR CHARINDEX(@__prm1_0, [f].[FirstName]) > 0 +""", // - @"@__prm2_0='a_' (Size = 4000) +""" +@__prm2_0='a_' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE (@__prm2_0 LIKE N'') OR CHARINDEX(@__prm2_0, [f].[FirstName]) > 0", +WHERE (@__prm2_0 LIKE N'') OR CHARINDEX(@__prm2_0, [f].[FirstName]) > 0 +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE (NULL LIKE N'') OR CHARINDEX(NULL, [f].[FirstName]) > 0", +WHERE (NULL LIKE N'') OR CHARINDEX(NULL, [f].[FirstName]) > 0 +""", // - @"@__prm4_0='' (Size = 4000) +""" +@__prm4_0='' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE (@__prm4_0 LIKE N'') OR CHARINDEX(@__prm4_0, [f].[FirstName]) > 0", +WHERE (@__prm4_0 LIKE N'') OR CHARINDEX(@__prm4_0, [f].[FirstName]) > 0 +""", // - @"@__prm5_0='_Ba_' (Size = 4000) +""" +@__prm5_0='_Ba_' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE (@__prm5_0 LIKE N'') OR CHARINDEX(@__prm5_0, [f].[FirstName]) > 0", +WHERE (@__prm5_0 LIKE N'') OR CHARINDEX(@__prm5_0, [f].[FirstName]) > 0 +""", // - @"@__prm6_0='%B%a%r' (Size = 4000) +""" +@__prm6_0='%B%a%r' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE NOT ((@__prm6_0 LIKE N'') OR CHARINDEX(@__prm6_0, [f].[FirstName]) > 0)", +WHERE NOT ((@__prm6_0 LIKE N'') OR CHARINDEX(@__prm6_0, [f].[FirstName]) > 0) +""", // - @"@__prm7_0='' (Size = 4000) +""" +@__prm7_0='' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE NOT ((@__prm7_0 LIKE N'') OR CHARINDEX(@__prm7_0, [f].[FirstName]) > 0)", +WHERE NOT ((@__prm7_0 LIKE N'') OR CHARINDEX(@__prm7_0, [f].[FirstName]) > 0) +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE NOT ((NULL LIKE N'') OR CHARINDEX(NULL, [f].[FirstName]) > 0)"); +WHERE NOT ((NULL LIKE N'') OR CHARINDEX(NULL, [f].[FirstName]) > 0) +"""); } public override async Task String_contains_on_argument_with_wildcard_column(bool async) @@ -111,10 +143,12 @@ public override async Task String_contains_on_argument_with_wildcard_column(bool await base.String_contains_on_argument_with_wildcard_column(async); AssertSql( - @"SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] +""" +SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] FROM [FunkyCustomers] AS [f] CROSS JOIN [FunkyCustomers] AS [f0] -WHERE ([f0].[LastName] LIKE N'') OR CHARINDEX([f0].[LastName], [f].[FirstName]) > 0"); +WHERE ([f0].[LastName] LIKE N'') OR CHARINDEX([f0].[LastName], [f].[FirstName]) > 0 +"""); } public override async Task String_contains_on_argument_with_wildcard_column_negated(bool async) @@ -122,10 +156,12 @@ public override async Task String_contains_on_argument_with_wildcard_column_nega await base.String_contains_on_argument_with_wildcard_column_negated(async); AssertSql( - @"SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] +""" +SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] FROM [FunkyCustomers] AS [f] CROSS JOIN [FunkyCustomers] AS [f0] -WHERE NOT (([f0].[LastName] LIKE N'') OR CHARINDEX([f0].[LastName], [f].[FirstName]) > 0)"); +WHERE NOT (([f0].[LastName] LIKE N'') OR CHARINDEX([f0].[LastName], [f].[FirstName]) > 0) +"""); } public override async Task String_starts_with_on_argument_with_wildcard_constant(bool async) @@ -133,36 +169,52 @@ public override async Task String_starts_with_on_argument_with_wildcard_constant await base.String_starts_with_on_argument_with_wildcard_constant(async); AssertSql( - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'\%B%' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'\%B%' ESCAPE N'\') +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'a\_%' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'a\_%' ESCAPE N'\') +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [f].[FirstName] -FROM [FunkyCustomers] AS [f]", +""" +SELECT [f].[FirstName] +FROM [FunkyCustomers] AS [f] +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'\_Ba\_%' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'\_Ba\_%' ESCAPE N'\') +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND NOT ([f].[FirstName] LIKE N'\%B\%a\%r%' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND NOT ([f].[FirstName] LIKE N'\%B\%a\%r%' ESCAPE N'\') +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task String_starts_with_on_argument_with_wildcard_parameter(bool async) @@ -170,49 +222,65 @@ public override async Task String_starts_with_on_argument_with_wildcard_paramete await base.String_starts_with_on_argument_with_wildcard_parameter(async); AssertSql( - @"@__prm1_0='%B' (Size = 4000) +""" +@__prm1_0='%B' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm1_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm1_0)) = @__prm1_0)", +WHERE @__prm1_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm1_0)) = @__prm1_0) +""", // - @"@__prm2_0='a_' (Size = 4000) +""" +@__prm2_0='a_' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm2_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm2_0)) = @__prm2_0)", +WHERE @__prm2_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm2_0)) = @__prm2_0) +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"@__prm4_0='' (Size = 4000) +""" +@__prm4_0='' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm4_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm4_0)) = @__prm4_0)", +WHERE @__prm4_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm4_0)) = @__prm4_0) +""", // - @"@__prm5_0='_Ba_' (Size = 4000) +""" +@__prm5_0='_Ba_' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm5_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm5_0)) = @__prm5_0)", +WHERE @__prm5_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm5_0)) = @__prm5_0) +""", // - @"@__prm6_0='%B%a%r' (Size = 4000) +""" +@__prm6_0='%B%a%r' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm6_0 <> N'' AND ([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm6_0)) <> @__prm6_0", +WHERE @__prm6_0 <> N'' AND ([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm6_0)) <> @__prm6_0 +""", // - @"@__prm7_0='' (Size = 4000) +""" +@__prm7_0='' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm7_0 <> N'' AND ([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm7_0)) <> @__prm7_0", +WHERE @__prm7_0 <> N'' AND ([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm7_0)) <> @__prm7_0 +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task String_starts_with_on_argument_with_bracket(bool async) @@ -220,39 +288,53 @@ public override async Task String_starts_with_on_argument_with_bracket(bool asyn await base.String_starts_with_on_argument_with_bracket(async); AssertSql( - @"SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] +""" +SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'\[%' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'\[%' ESCAPE N'\') +""", // - @"SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] +""" +SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'B\[%' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'B\[%' ESCAPE N'\') +""", // - @"SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] +""" +SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'B\[\[a^%' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'B\[\[a^%' ESCAPE N'\') +""", // - @"@__prm1_0='[' (Size = 4000) +""" +@__prm1_0='[' (Size = 4000) SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] FROM [FunkyCustomers] AS [f] -WHERE @__prm1_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm1_0)) = @__prm1_0)", +WHERE @__prm1_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm1_0)) = @__prm1_0) +""", // - @"@__prm2_0='B[' (Size = 4000) +""" +@__prm2_0='B[' (Size = 4000) SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] FROM [FunkyCustomers] AS [f] -WHERE @__prm2_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm2_0)) = @__prm2_0)", +WHERE @__prm2_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm2_0)) = @__prm2_0) +""", // - @"@__prm3_0='B[[a^' (Size = 4000) +""" +@__prm3_0='B[[a^' (Size = 4000) SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] FROM [FunkyCustomers] AS [f] -WHERE @__prm3_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm3_0)) = @__prm3_0)", +WHERE @__prm3_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND LEFT([f].[FirstName], LEN(@__prm3_0)) = @__prm3_0) +""", // - @"SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] +""" +SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool] FROM [FunkyCustomers] AS [f] -WHERE [f].[LastName] = N'' OR (([f].[FirstName] IS NOT NULL) AND ([f].[LastName] IS NOT NULL) AND LEFT([f].[FirstName], LEN([f].[LastName])) = [f].[LastName])"); +WHERE [f].[LastName] = N'' OR (([f].[FirstName] IS NOT NULL) AND ([f].[LastName] IS NOT NULL) AND LEFT([f].[FirstName], LEN([f].[LastName])) = [f].[LastName]) +"""); } public override async Task String_starts_with_on_argument_with_wildcard_column(bool async) @@ -260,10 +342,12 @@ public override async Task String_starts_with_on_argument_with_wildcard_column(b await base.String_starts_with_on_argument_with_wildcard_column(async); AssertSql( - @"SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] +""" +SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] FROM [FunkyCustomers] AS [f] CROSS JOIN [FunkyCustomers] AS [f0] -WHERE [f0].[LastName] = N'' OR (([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND LEFT([f].[FirstName], LEN([f0].[LastName])) = [f0].[LastName])"); +WHERE [f0].[LastName] = N'' OR (([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND LEFT([f].[FirstName], LEN([f0].[LastName])) = [f0].[LastName]) +"""); } public override async Task String_starts_with_on_argument_with_wildcard_column_negated(bool async) @@ -271,10 +355,12 @@ public override async Task String_starts_with_on_argument_with_wildcard_column_n await base.String_starts_with_on_argument_with_wildcard_column_negated(async); AssertSql( - @"SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] +""" +SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] FROM [FunkyCustomers] AS [f] CROSS JOIN [FunkyCustomers] AS [f0] -WHERE ([f0].[LastName] <> N'' OR ([f0].[LastName] IS NULL)) AND ([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND LEFT([f].[FirstName], LEN([f0].[LastName])) <> [f0].[LastName]"); +WHERE ([f0].[LastName] <> N'' OR ([f0].[LastName] IS NULL)) AND ([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND LEFT([f].[FirstName], LEN([f0].[LastName])) <> [f0].[LastName] +"""); } public override async Task String_ends_with_on_argument_with_wildcard_constant(bool async) @@ -282,36 +368,52 @@ public override async Task String_ends_with_on_argument_with_wildcard_constant(b await base.String_ends_with_on_argument_with_wildcard_constant(async); AssertSql( - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'%\%B' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'%\%B' ESCAPE N'\') +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'%a\_' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'%a\_' ESCAPE N'\') +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [f].[FirstName] -FROM [FunkyCustomers] AS [f]", +""" +SELECT [f].[FirstName] +FROM [FunkyCustomers] AS [f] +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'%\_Ba\_' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND ([f].[FirstName] LIKE N'%\_Ba\_' ESCAPE N'\') +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE ([f].[FirstName] IS NOT NULL) AND NOT ([f].[FirstName] LIKE N'%\%B\%a\%r' ESCAPE N'\')", +WHERE ([f].[FirstName] IS NOT NULL) AND NOT ([f].[FirstName] LIKE N'%\%B\%a\%r' ESCAPE N'\') +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task String_ends_with_on_argument_with_wildcard_parameter(bool async) @@ -319,49 +421,65 @@ public override async Task String_ends_with_on_argument_with_wildcard_parameter( await base.String_ends_with_on_argument_with_wildcard_parameter(async); AssertSql( - @"@__prm1_0='%B' (Size = 4000) +""" +@__prm1_0='%B' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm1_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm1_0)) = @__prm1_0)", +WHERE @__prm1_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm1_0)) = @__prm1_0) +""", // - @"@__prm2_0='a_' (Size = 4000) +""" +@__prm2_0='a_' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm2_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm2_0)) = @__prm2_0)", +WHERE @__prm2_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm2_0)) = @__prm2_0) +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"@__prm4_0='' (Size = 4000) +""" +@__prm4_0='' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm4_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm4_0)) = @__prm4_0)", +WHERE @__prm4_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm4_0)) = @__prm4_0) +""", // - @"@__prm5_0='_Ba_' (Size = 4000) +""" +@__prm5_0='_Ba_' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm5_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm5_0)) = @__prm5_0)", +WHERE @__prm5_0 = N'' OR (([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm5_0)) = @__prm5_0) +""", // - @"@__prm6_0='%B%a%r' (Size = 4000) +""" +@__prm6_0='%B%a%r' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm6_0 <> N'' AND ([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm6_0)) <> @__prm6_0", +WHERE @__prm6_0 <> N'' AND ([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm6_0)) <> @__prm6_0 +""", // - @"@__prm7_0='' (Size = 4000) +""" +@__prm7_0='' (Size = 4000) SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE @__prm7_0 <> N'' AND ([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm7_0)) <> @__prm7_0", +WHERE @__prm7_0 <> N'' AND ([f].[FirstName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN(@__prm7_0)) <> @__prm7_0 +""", // - @"SELECT [f].[FirstName] +""" +SELECT [f].[FirstName] FROM [FunkyCustomers] AS [f] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task String_ends_with_on_argument_with_wildcard_column(bool async) @@ -369,10 +487,12 @@ public override async Task String_ends_with_on_argument_with_wildcard_column(boo await base.String_ends_with_on_argument_with_wildcard_column(async); AssertSql( - @"SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] +""" +SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] FROM [FunkyCustomers] AS [f] CROSS JOIN [FunkyCustomers] AS [f0] -WHERE [f0].[LastName] = N'' OR (([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN([f0].[LastName])) = [f0].[LastName])"); +WHERE [f0].[LastName] = N'' OR (([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN([f0].[LastName])) = [f0].[LastName]) +"""); } public override async Task String_ends_with_on_argument_with_wildcard_column_negated(bool async) @@ -380,10 +500,12 @@ public override async Task String_ends_with_on_argument_with_wildcard_column_neg await base.String_ends_with_on_argument_with_wildcard_column_negated(async); AssertSql( - @"SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] +""" +SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] FROM [FunkyCustomers] AS [f] CROSS JOIN [FunkyCustomers] AS [f0] -WHERE ([f0].[LastName] <> N'' OR ([f0].[LastName] IS NULL)) AND ([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN([f0].[LastName])) <> [f0].[LastName]"); +WHERE ([f0].[LastName] <> N'' OR ([f0].[LastName] IS NULL)) AND ([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN([f0].[LastName])) <> [f0].[LastName] +"""); } public override async Task String_ends_with_inside_conditional(bool async) @@ -391,13 +513,15 @@ public override async Task String_ends_with_inside_conditional(bool async) await base.String_ends_with_inside_conditional(async); AssertSql( - @"SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] +""" +SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] FROM [FunkyCustomers] AS [f] CROSS JOIN [FunkyCustomers] AS [f0] WHERE CASE WHEN [f0].[LastName] = N'' OR (([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN([f0].[LastName])) = [f0].[LastName]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task String_ends_with_inside_conditional_negated(bool async) @@ -405,13 +529,15 @@ public override async Task String_ends_with_inside_conditional_negated(bool asyn await base.String_ends_with_inside_conditional_negated(async); AssertSql( - @"SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] +""" +SELECT [f].[FirstName] AS [fn], [f0].[LastName] AS [ln] FROM [FunkyCustomers] AS [f] CROSS JOIN [FunkyCustomers] AS [f0] WHERE CASE WHEN ([f0].[LastName] <> N'' OR ([f0].[LastName] IS NULL)) AND ([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN([f0].[LastName])) <> [f0].[LastName] THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task String_ends_with_equals_nullable_column(bool async) @@ -419,13 +545,15 @@ public override async Task String_ends_with_equals_nullable_column(bool async) await base.String_ends_with_equals_nullable_column(async); AssertSql( - @"SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool], [f0].[Id], [f0].[FirstName], [f0].[LastName], [f0].[NullableBool] +""" +SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool], [f0].[Id], [f0].[FirstName], [f0].[LastName], [f0].[NullableBool] FROM [FunkyCustomers] AS [f] CROSS JOIN [FunkyCustomers] AS [f0] WHERE CASE WHEN ([f0].[LastName] = N'' AND ([f0].[LastName] IS NOT NULL)) OR (([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN([f0].[LastName])) = [f0].[LastName]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = [f].[NullableBool]"); +END = [f].[NullableBool] +"""); } public override async Task String_ends_with_not_equals_nullable_column(bool async) @@ -433,13 +561,15 @@ public override async Task String_ends_with_not_equals_nullable_column(bool asyn await base.String_ends_with_not_equals_nullable_column(async); AssertSql( - @"SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool], [f0].[Id], [f0].[FirstName], [f0].[LastName], [f0].[NullableBool] +""" +SELECT [f].[Id], [f].[FirstName], [f].[LastName], [f].[NullableBool], [f0].[Id], [f0].[FirstName], [f0].[LastName], [f0].[NullableBool] FROM [FunkyCustomers] AS [f] CROSS JOIN [FunkyCustomers] AS [f0] WHERE CASE WHEN ([f0].[LastName] = N'' AND ([f0].[LastName] IS NOT NULL)) OR (([f].[FirstName] IS NOT NULL) AND ([f0].[LastName] IS NOT NULL) AND RIGHT([f].[FirstName], LEN([f0].[LastName])) = [f0].[LastName]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END <> [f].[NullableBool] OR ([f].[NullableBool] IS NULL)"); +END <> [f].[NullableBool] OR ([f].[NullableBool] IS NULL) +"""); } public override async Task String_FirstOrDefault_and_LastOrDefault(bool async) @@ -447,9 +577,11 @@ public override async Task String_FirstOrDefault_and_LastOrDefault(bool async) await base.String_FirstOrDefault_and_LastOrDefault(async); AssertSql( - @"SELECT SUBSTRING([f].[FirstName], 1, 1) AS [first], SUBSTRING([f].[FirstName], LEN([f].[FirstName]), 1) AS [last] +""" +SELECT SUBSTRING([f].[FirstName], 1, 1) AS [first], SUBSTRING([f].[FirstName], LEN([f].[FirstName]), 1) AS [last] FROM [FunkyCustomers] AS [f] -ORDER BY [f].[Id]"); +ORDER BY [f].[Id] +"""); } protected override void ClearLog() diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarFromSqlQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarFromSqlQuerySqlServerTest.cs index 7bf20c8dcef..359d854e7e2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarFromSqlQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarFromSqlQuerySqlServerTest.cs @@ -16,7 +16,9 @@ public override void From_sql_queryable_simple_columns_out_of_order() base.From_sql_queryable_simple_columns_out_of_order(); Assert.Equal( - @"SELECT ""Id"", ""Name"", ""IsAutomatic"", ""AmmunitionType"", ""OwnerFullName"", ""SynergyWithId"" FROM ""Weapons"" ORDER BY ""Name""", +""" +SELECT "Id", "Name", "IsAutomatic", "AmmunitionType", "OwnerFullName", "SynergyWithId" FROM "Weapons" ORDER BY "Name" +""", Sql); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarQuerySqlServerTest.cs index de55358cda3..43027223b73 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/GearsOfWarQuerySqlServerTest.cs @@ -28,9 +28,11 @@ public override async Task Negate_on_binary_expression(bool async) await base.Negate_on_binary_expression(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE [s].[Id] = -([s].[Id] + [s].[Id])"); +WHERE [s].[Id] = -([s].[Id] + [s].[Id]) +"""); } public override async Task Negate_on_column(bool async) @@ -38,9 +40,11 @@ public override async Task Negate_on_column(bool async) await base.Negate_on_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE [s].[Id] = -[s].[Id]"); +WHERE [s].[Id] = -[s].[Id] +"""); } public override async Task Double_negate_on_column(bool async) @@ -48,9 +52,11 @@ public override async Task Double_negate_on_column(bool async) await base.Double_negate_on_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE -(-[s].[Id]) = [s].[Id]"); +WHERE -(-[s].[Id]) = [s].[Id] +"""); } public override async Task Negate_on_like_expression(bool async) @@ -58,9 +64,11 @@ public override async Task Negate_on_like_expression(bool async) await base.Negate_on_like_expression(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE ([s].[Name] IS NOT NULL) AND NOT ([s].[Name] LIKE N'us%')"); +WHERE ([s].[Name] IS NOT NULL) AND NOT ([s].[Name] LIKE N'us%') +"""); } public override async Task Entity_equality_empty(bool async) @@ -68,9 +76,11 @@ public override async Task Entity_equality_empty(bool async) await base.Entity_equality_empty(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Include_multiple_one_to_one_and_one_to_many(bool async) @@ -78,11 +88,13 @@ public override async Task Include_multiple_one_to_one_and_one_to_many(bool asyn await base.Include_multiple_one_to_one_and_one_to_many(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Include_multiple_one_to_one_optional_and_one_to_one_required(bool async) @@ -90,10 +102,12 @@ public override async Task Include_multiple_one_to_one_optional_and_one_to_one_r await base.Include_multiple_one_to_one_optional_and_one_to_one_required(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] +"""); } public override async Task Include_multiple_circular(bool async) @@ -101,11 +115,13 @@ public override async Task Include_multiple_circular(bool async) await base.Include_multiple_circular(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN [Gears] AS [g0] ON [c].[Name] = [g0].[AssignedCityName] -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [g0].[Nickname] +"""); } public override async Task Include_multiple_circular_with_filter(bool async) @@ -113,12 +129,14 @@ public override async Task Include_multiple_circular_with_filter(bool async) await base.Include_multiple_circular_with_filter(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN [Gears] AS [g0] ON [c].[Name] = [g0].[AssignedCityName] WHERE [g].[Nickname] = N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [g0].[Nickname] +"""); } public override async Task Include_using_alternate_key(bool async) @@ -126,11 +144,13 @@ public override async Task Include_using_alternate_key(bool async) await base.Include_using_alternate_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Nickname] = N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Include_navigation_on_derived_type(bool async) @@ -138,11 +158,13 @@ public override async Task Include_navigation_on_derived_type(bool async) await base.Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task String_based_Include_navigation_on_derived_type(bool async) @@ -150,11 +172,13 @@ public override async Task String_based_Include_navigation_on_derived_type(bool await base.String_based_Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Select_Where_Navigation_Included(bool async) @@ -162,10 +186,12 @@ public override async Task Select_Where_Navigation_Included(bool async) await base.Select_Where_Navigation_Included(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[Nickname] = N'Marcus'"); +WHERE [g].[Nickname] = N'Marcus' +"""); } public override async Task Include_with_join_reference1(bool async) @@ -173,10 +199,12 @@ public override async Task Include_with_join_reference1(bool async) await base.Include_with_join_reference1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation] FROM [Gears] AS [g] INNER JOIN [Tags] AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] -INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Include_with_join_reference2(bool async) @@ -184,10 +212,12 @@ public override async Task Include_with_join_reference2(bool async) await base.Include_with_join_reference2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation] FROM [Tags] AS [t] INNER JOIN [Gears] AS [g] ON [t].[GearSquadId] = [g].[SquadId] AND [t].[GearNickName] = [g].[Nickname] -INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Include_with_join_collection1(bool async) @@ -195,11 +225,13 @@ public override async Task Include_with_join_collection1(bool async) await base.Include_with_join_collection1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] INNER JOIN [Tags] AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Include_with_join_collection2(bool async) @@ -207,11 +239,13 @@ public override async Task Include_with_join_collection2(bool async) await base.Include_with_join_collection2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Tags] AS [t] INNER JOIN [Gears] AS [g] ON [t].[GearSquadId] = [g].[SquadId] AND [t].[GearNickName] = [g].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Include_where_list_contains_navigation(bool async) @@ -219,13 +253,17 @@ public override async Task Include_where_list_contains_navigation(bool async) await base.Include_where_list_contains_navigation(async); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE ([t].[Id] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57')"); +WHERE ([t].[Id] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57') +"""); } public override async Task Include_where_list_contains_navigation2(bool async) @@ -233,14 +271,18 @@ public override async Task Include_where_list_contains_navigation2(bool async) await base.Include_where_list_contains_navigation2(async); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE ([c].[Location] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57')"); +WHERE ([c].[Location] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57') +"""); } public override async Task Navigation_accessed_twice_outside_and_inside_subquery(bool async) @@ -248,13 +290,17 @@ public override async Task Navigation_accessed_twice_outside_and_inside_subquery await base.Navigation_accessed_twice_outside_and_inside_subquery(async); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE ([t].[Id] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57')"); +WHERE ([t].[Id] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57') +"""); } public override async Task Include_with_join_multi_level(bool async) @@ -262,12 +308,14 @@ public override async Task Include_with_join_multi_level(bool async) await base.Include_with_join_multi_level(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] INNER JOIN [Tags] AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN [Gears] AS [g0] ON [c].[Name] = [g0].[AssignedCityName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id], [c].[Name], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id], [c].[Name], [g0].[Nickname] +"""); } public override async Task Include_with_join_and_inheritance1(bool async) @@ -275,14 +323,16 @@ public override async Task Include_with_join_and_inheritance1(bool async) await base.Include_with_join_and_inheritance1(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [c].[Name], [c].[Location], [c].[Nation] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[Discriminator] = N'Officer' ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] -INNER JOIN [Cities] AS [c] ON [t0].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [t0].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Include_with_join_and_inheritance_with_orderby_before_and_after_include(bool async) @@ -290,7 +340,8 @@ public override async Task Include_with_join_and_inheritance_with_orderby_before await base.Include_with_join_and_inheritance_with_orderby_before_and_after_include(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] @@ -298,7 +349,8 @@ FROM [Gears] AS [g] WHERE [g].[Discriminator] = N'Officer' ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Gears] AS [g0] ON [t0].[Nickname] = [g0].[LeaderNickname] AND [t0].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [t0].[HasSoulPatch], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [g0].[Nickname]"); +ORDER BY [t0].[HasSoulPatch], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [g0].[Nickname] +"""); } public override async Task Include_with_join_and_inheritance2(bool async) @@ -306,12 +358,14 @@ public override async Task Include_with_join_and_inheritance2(bool async) await base.Include_with_join_and_inheritance2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] INNER JOIN [Tags] AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Include_with_join_and_inheritance3(bool async) @@ -319,7 +373,8 @@ public override async Task Include_with_join_and_inheritance3(bool async) await base.Include_with_join_and_inheritance3(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] @@ -327,7 +382,8 @@ FROM [Gears] AS [g] WHERE [g].[Discriminator] = N'Officer' ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Gears] AS [g0] ON [t0].[Nickname] = [g0].[LeaderNickname] AND [t0].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[Nickname] +"""); } public override async Task Include_with_nested_navigation_in_order_by(bool async) @@ -335,12 +391,14 @@ public override async Task Include_with_nested_navigation_in_order_by(bool async await base.Include_with_nested_navigation_in_order_by(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Weapons] AS [w] LEFT JOIN [Gears] AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] WHERE [g].[Nickname] <> N'Paduk' OR ([g].[Nickname] IS NULL) -ORDER BY [c].[Name], [w].[Id]"); +ORDER BY [c].[Name], [w].[Id] +"""); } public override async Task Where_enum(bool async) @@ -348,9 +406,11 @@ public override async Task Where_enum(bool async) await base.Where_enum(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE [g].[Rank] = 4"); +WHERE [g].[Rank] = 4 +"""); } public override async Task Where_nullable_enum_with_constant(bool async) @@ -358,9 +418,11 @@ public override async Task Where_nullable_enum_with_constant(bool async) await base.Where_nullable_enum_with_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = 1"); +WHERE [w].[AmmunitionType] = 1 +"""); } public override async Task Where_nullable_enum_with_null_constant(bool async) @@ -368,9 +430,11 @@ public override async Task Where_nullable_enum_with_null_constant(bool async) await base.Where_nullable_enum_with_null_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Where_nullable_enum_with_non_nullable_parameter(bool async) @@ -378,11 +442,13 @@ public override async Task Where_nullable_enum_with_non_nullable_parameter(bool await base.Where_nullable_enum_with_non_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' +""" +@__ammunitionType_0='1' SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0"); +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +"""); } public override async Task Where_nullable_enum_with_nullable_parameter(bool async) @@ -390,15 +456,19 @@ public override async Task Where_nullable_enum_with_nullable_parameter(bool asyn await base.Where_nullable_enum_with_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0", +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Where_bitwise_and_enum(bool async) @@ -406,13 +476,17 @@ public override async Task Where_bitwise_and_enum(bool async) await base.Where_bitwise_and_enum(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 2) > 0", +WHERE ([g].[Rank] & 2) > 0 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 2) = 2"); +WHERE ([g].[Rank] & 2) = 2 +"""); } public override async Task Where_bitwise_and_integral(bool async) @@ -420,17 +494,23 @@ public override async Task Where_bitwise_and_integral(bool async) await base.Where_bitwise_and_integral(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 1) = 1", +WHERE ([g].[Rank] & 1) = 1 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE (CAST([g].[Rank] AS bigint) & CAST(1 AS bigint)) = CAST(1 AS bigint)", +WHERE (CAST([g].[Rank] AS bigint) & CAST(1 AS bigint)) = CAST(1 AS bigint) +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE (CAST([g].[Rank] AS smallint) & CAST(1 AS smallint)) = CAST(1 AS smallint)"); +WHERE (CAST([g].[Rank] AS smallint) & CAST(1 AS smallint)) = CAST(1 AS smallint) +"""); } public override async Task Where_bitwise_and_nullable_enum_with_constant(bool async) @@ -438,9 +518,11 @@ public override async Task Where_bitwise_and_nullable_enum_with_constant(bool as await base.Where_bitwise_and_nullable_enum_with_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & 1) > 0"); +WHERE ([w].[AmmunitionType] & 1) > 0 +"""); } public override async Task Where_bitwise_and_nullable_enum_with_null_constant(bool async) @@ -448,9 +530,11 @@ public override async Task Where_bitwise_and_nullable_enum_with_null_constant(bo await base.Where_bitwise_and_nullable_enum_with_null_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & NULL) > 0"); +WHERE ([w].[AmmunitionType] & NULL) > 0 +"""); } public override async Task Where_bitwise_and_nullable_enum_with_non_nullable_parameter(bool async) @@ -458,11 +542,13 @@ public override async Task Where_bitwise_and_nullable_enum_with_non_nullable_par await base.Where_bitwise_and_nullable_enum_with_non_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' +""" +@__ammunitionType_0='1' SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0"); +WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0 +"""); } public override async Task Where_bitwise_and_nullable_enum_with_nullable_parameter(bool async) @@ -470,15 +556,19 @@ public override async Task Where_bitwise_and_nullable_enum_with_nullable_paramet await base.Where_bitwise_and_nullable_enum_with_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0", +WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0 +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & NULL) > 0"); +WHERE ([w].[AmmunitionType] & NULL) > 0 +"""); } public override async Task Where_bitwise_or_enum(bool async) @@ -486,9 +576,11 @@ public override async Task Where_bitwise_or_enum(bool async) await base.Where_bitwise_or_enum(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] | 2) > 0"); +WHERE ([g].[Rank] | 2) > 0 +"""); } public override async Task Bitwise_projects_values_in_select(bool async) @@ -496,7 +588,8 @@ public override async Task Bitwise_projects_values_in_select(bool async) await base.Bitwise_projects_values_in_select(async); AssertSql( - @"SELECT TOP(1) CASE +""" +SELECT TOP(1) CASE WHEN ([g].[Rank] & 2) = 2 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [BitwiseTrue], CASE @@ -504,7 +597,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [BitwiseFalse], [g].[Rank] & 2 AS [BitwiseValue] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 2) = 2"); +WHERE ([g].[Rank] & 2) = 2 +"""); } public override async Task Where_enum_has_flag(bool async) @@ -512,25 +606,35 @@ public override async Task Where_enum_has_flag(bool async) await base.Where_enum_has_flag(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 2) = 2", +WHERE ([g].[Rank] & 2) = 2 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 18) = 18", +WHERE ([g].[Rank] & 18) = 18 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 1) = 1", +WHERE ([g].[Rank] & 1) = 1 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 1) = 1", +WHERE ([g].[Rank] & 1) = 1 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE (2 & [g].[Rank]) = [g].[Rank]"); +WHERE (2 & [g].[Rank]) = [g].[Rank] +"""); } public override async Task Where_enum_has_flag_subquery(bool async) @@ -538,7 +642,8 @@ public override async Task Where_enum_has_flag_subquery(bool async) await base.Where_enum_has_flag_subquery(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE ([g].[Rank] & COALESCE(( SELECT TOP(1) [g0].[Rank] @@ -546,9 +651,11 @@ FROM [Gears] AS [g0] ORDER BY [g0].[Nickname], [g0].[SquadId]), 0)) = COALESCE(( SELECT TOP(1) [g0].[Rank] FROM [Gears] AS [g0] - ORDER BY [g0].[Nickname], [g0].[SquadId]), 0)", + ORDER BY [g0].[Nickname], [g0].[SquadId]), 0) +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE (2 & COALESCE(( SELECT TOP(1) [g0].[Rank] @@ -556,7 +663,8 @@ FROM [Gears] AS [g0] ORDER BY [g0].[Nickname], [g0].[SquadId]), 0)) = COALESCE(( SELECT TOP(1) [g0].[Rank] FROM [Gears] AS [g0] - ORDER BY [g0].[Nickname], [g0].[SquadId]), 0)"); + ORDER BY [g0].[Nickname], [g0].[SquadId]), 0) +"""); } public override async Task Where_enum_has_flag_subquery_with_pushdown(bool async) @@ -564,7 +672,8 @@ public override async Task Where_enum_has_flag_subquery_with_pushdown(bool async await base.Where_enum_has_flag_subquery_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE ([g].[Rank] & ( SELECT TOP(1) [g0].[Rank] @@ -575,9 +684,11 @@ FROM [Gears] AS [g0] ORDER BY [g0].[Nickname], [g0].[SquadId]) OR (( SELECT TOP(1) [g0].[Rank] FROM [Gears] AS [g0] - ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL)", + ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL) +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE (2 & ( SELECT TOP(1) [g0].[Rank] @@ -588,7 +699,8 @@ FROM [Gears] AS [g0] ORDER BY [g0].[Nickname], [g0].[SquadId]) OR (( SELECT TOP(1) [g0].[Rank] FROM [Gears] AS [g0] - ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL)"); + ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL) +"""); } public override async Task Where_enum_has_flag_subquery_client_eval(bool async) @@ -596,7 +708,8 @@ public override async Task Where_enum_has_flag_subquery_client_eval(bool async) await base.Where_enum_has_flag_subquery_client_eval(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE ([g].[Rank] & ( SELECT TOP(1) [g0].[Rank] @@ -607,7 +720,8 @@ FROM [Gears] AS [g0] ORDER BY [g0].[Nickname], [g0].[SquadId]) OR (( SELECT TOP(1) [g0].[Rank] FROM [Gears] AS [g0] - ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL)"); + ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL) +"""); } public override async Task Where_enum_has_flag_with_non_nullable_parameter(bool async) @@ -615,11 +729,13 @@ public override async Task Where_enum_has_flag_with_non_nullable_parameter(bool await base.Where_enum_has_flag_with_non_nullable_parameter(async); AssertSql( - @"@__parameter_0='2' +""" +@__parameter_0='2' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0"); +WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0 +"""); } public override async Task Where_has_flag_with_nullable_parameter(bool async) @@ -627,11 +743,13 @@ public override async Task Where_has_flag_with_nullable_parameter(bool async) await base.Where_has_flag_with_nullable_parameter(async); AssertSql( - @"@__parameter_0='2' (Nullable = true) +""" +@__parameter_0='2' (Nullable = true) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0"); +WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0 +"""); } public override async Task Select_enum_has_flag(bool async) @@ -639,7 +757,8 @@ public override async Task Select_enum_has_flag(bool async) await base.Select_enum_has_flag(async); AssertSql( - @"SELECT TOP(1) CASE +""" +SELECT TOP(1) CASE WHEN ([g].[Rank] & 2) = 2 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [hasFlagTrue], CASE @@ -647,7 +766,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [hasFlagFalse] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 2) = 2"); +WHERE ([g].[Rank] & 2) = 2 +"""); } public override async Task Where_count_subquery_without_collision(bool async) @@ -655,12 +775,14 @@ public override async Task Where_count_subquery_without_collision(bool async) await base.Where_count_subquery_without_collision(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE ( SELECT COUNT(*) FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]) = 2"); + WHERE [g].[FullName] = [w].[OwnerFullName]) = 2 +"""); } public override async Task Where_any_subquery_without_collision(bool async) @@ -668,12 +790,14 @@ public override async Task Where_any_subquery_without_collision(bool async) await base.Where_any_subquery_without_collision(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE EXISTS ( SELECT 1 FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName])"); + WHERE [g].[FullName] = [w].[OwnerFullName]) +"""); } public override async Task Select_inverted_boolean(bool async) @@ -681,12 +805,14 @@ public override async Task Select_inverted_boolean(bool async) await base.Select_inverted_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Manual] FROM [Weapons] AS [w] -WHERE [w].[IsAutomatic] = CAST(1 AS bit)"); +WHERE [w].[IsAutomatic] = CAST(1 AS bit) +"""); } public override async Task Select_comparison_with_null(bool async) @@ -694,21 +820,25 @@ public override async Task Select_comparison_with_null(bool async) await base.Select_comparison_with_null(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] = @__ammunitionType_0 AND ([w].[AmmunitionType] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Cartridge] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0", +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +""", // - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Cartridge] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Select_null_parameter(bool async) @@ -716,21 +846,29 @@ public override async Task Select_null_parameter(bool async) await base.Select_null_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], @__ammunitionType_0 AS [AmmoType] -FROM [Weapons] AS [w]", +FROM [Weapons] AS [w] +""", // - @"SELECT [w].[Id], NULL AS [AmmoType] -FROM [Weapons] AS [w]", +""" +SELECT [w].[Id], NULL AS [AmmoType] +FROM [Weapons] AS [w] +""", // - @"@__ammunitionType_0='2' (Nullable = true) +""" +@__ammunitionType_0='2' (Nullable = true) SELECT [w].[Id], @__ammunitionType_0 AS [AmmoType] -FROM [Weapons] AS [w]", +FROM [Weapons] AS [w] +""", // - @"SELECT [w].[Id], NULL AS [AmmoType] -FROM [Weapons] AS [w]"); +""" +SELECT [w].[Id], NULL AS [AmmoType] +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_with_boolean(bool async) @@ -738,11 +876,13 @@ public override async Task Select_ternary_operation_with_boolean(bool async) await base.Select_ternary_operation_with_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(1 AS bit) THEN 1 ELSE 0 END AS [Num] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_with_inverted_boolean(bool async) @@ -750,11 +890,13 @@ public override async Task Select_ternary_operation_with_inverted_boolean(bool a await base.Select_ternary_operation_with_inverted_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN 1 ELSE 0 END AS [Num] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_with_has_value_not_null(bool async) @@ -762,12 +904,14 @@ public override async Task Select_ternary_operation_with_has_value_not_null(bool await base.Select_ternary_operation_with_has_value_not_null(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1"); +WHERE ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1 +"""); } public override async Task Select_ternary_operation_multiple_conditions(bool async) @@ -775,11 +919,13 @@ public override async Task Select_ternary_operation_multiple_conditions(bool asy await base.Select_ternary_operation_multiple_conditions(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] = 2 AND [w].[SynergyWithId] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_multiple_conditions_2(bool async) @@ -787,11 +933,13 @@ public override async Task Select_ternary_operation_multiple_conditions_2(bool a await base.Select_ternary_operation_multiple_conditions_2(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) AND [w].[SynergyWithId] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_multiple_conditions(bool async) @@ -799,11 +947,13 @@ public override async Task Select_multiple_conditions(bool async) await base.Select_multiple_conditions(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) AND [w].[SynergyWithId] = 1 AND ([w].[SynergyWithId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_nested_ternary_operations(bool async) @@ -811,14 +961,16 @@ public override async Task Select_nested_ternary_operations(bool async) await base.Select_nested_ternary_operations(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN CASE WHEN [w].[AmmunitionType] = 1 THEN N'ManualCartridge' ELSE N'Manual' END ELSE N'Auto' END AS [IsManualCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Null_propagation_optimization1(bool async) @@ -826,9 +978,11 @@ public override async Task Null_propagation_optimization1(bool async) await base.Null_propagation_optimization1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE [g].[LeaderNickname] = N'Marcus' AND ([g].[LeaderNickname] IS NOT NULL)"); +WHERE [g].[LeaderNickname] = N'Marcus' AND ([g].[LeaderNickname] IS NOT NULL) +"""); } public override async Task Null_propagation_optimization2(bool async) @@ -837,7 +991,8 @@ public override async Task Null_propagation_optimization2(bool async) // issue #16050 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE CASE WHEN [g].[LeaderNickname] IS NULL THEN NULL @@ -845,7 +1000,8 @@ ELSE CASE WHEN ([g].[LeaderNickname] IS NOT NULL) AND ([g].[LeaderNickname] LIKE N'%us') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Null_propagation_optimization3(bool async) @@ -854,7 +1010,8 @@ public override async Task Null_propagation_optimization3(bool async) // issue #16050 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE @@ -862,7 +1019,8 @@ WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE ELSE CAST(0 AS bit) END ELSE NULL -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Null_propagation_optimization4(bool async) @@ -871,7 +1029,8 @@ public override async Task Null_propagation_optimization4(bool async) // issue #16050 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE CASE WHEN [g].[LeaderNickname] IS NULL THEN NULL @@ -879,7 +1038,8 @@ ELSE CAST(LEN([g].[LeaderNickname]) AS int) END = 5 AND (CASE WHEN [g].[LeaderNickname] IS NULL THEN NULL ELSE CAST(LEN([g].[LeaderNickname]) AS int) -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Null_propagation_optimization5(bool async) @@ -888,7 +1048,8 @@ public override async Task Null_propagation_optimization5(bool async) // issue #16050 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(LEN([g].[LeaderNickname]) AS int) @@ -896,7 +1057,8 @@ ELSE NULL END = 5 AND (CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(LEN([g].[LeaderNickname]) AS int) ELSE NULL -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Null_propagation_optimization6(bool async) @@ -905,7 +1067,8 @@ public override async Task Null_propagation_optimization6(bool async) // issue #16050 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(LEN([g].[LeaderNickname]) AS int) @@ -913,7 +1076,8 @@ ELSE NULL END = 5 AND (CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(LEN([g].[LeaderNickname]) AS int) ELSE NULL -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Select_null_propagation_optimization7(bool async) @@ -922,11 +1086,13 @@ public override async Task Select_null_propagation_optimization7(bool async) // issue #16050 AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN [g].[LeaderNickname] + [g].[LeaderNickname] ELSE NULL END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_optimization8(bool async) @@ -934,8 +1100,10 @@ public override async Task Select_null_propagation_optimization8(bool async) await base.Select_null_propagation_optimization8(async); AssertSql( - @"SELECT COALESCE([g].[LeaderNickname], N'') + COALESCE([g].[LeaderNickname], N'') -FROM [Gears] AS [g]"); +""" +SELECT COALESCE([g].[LeaderNickname], N'') + COALESCE([g].[LeaderNickname], N'') +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_optimization9(bool async) @@ -943,8 +1111,10 @@ public override async Task Select_null_propagation_optimization9(bool async) await base.Select_null_propagation_optimization9(async); AssertSql( - @"SELECT CAST(LEN([g].[FullName]) AS int) -FROM [Gears] AS [g]"); +""" +SELECT CAST(LEN([g].[FullName]) AS int) +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_negative1(bool async) @@ -952,14 +1122,16 @@ public override async Task Select_null_propagation_negative1(bool async) await base.Select_null_propagation_negative1(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([g].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END ELSE NULL END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_negative2(bool async) @@ -967,12 +1139,14 @@ public override async Task Select_null_propagation_negative2(bool async) await base.Select_null_propagation_negative2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN [g0].[LeaderNickname] ELSE NULL END FROM [Gears] AS [g] -CROSS JOIN [Gears] AS [g0]"); +CROSS JOIN [Gears] AS [g0] +"""); } public override async Task Select_null_propagation_negative3(bool async) @@ -980,7 +1154,8 @@ public override async Task Select_null_propagation_negative3(bool async) await base.Select_null_propagation_negative3(async); AssertSql( - @"SELECT [g0].[Nickname], CASE +""" +SELECT [g0].[Nickname], CASE WHEN ([g0].[Nickname] IS NOT NULL) AND ([g0].[SquadId] IS NOT NULL) THEN CASE WHEN [g0].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -989,7 +1164,8 @@ ELSE NULL END AS [Condition] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g0].[Nickname]"); +ORDER BY [g0].[Nickname] +"""); } public override async Task Select_null_propagation_negative4(bool async) @@ -997,13 +1173,15 @@ public override async Task Select_null_propagation_negative4(bool async) await base.Select_null_propagation_negative4(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g0].[Nickname] IS NOT NULL) AND ([g0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g0].[Nickname] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g0].[Nickname]"); +ORDER BY [g0].[Nickname] +"""); } public override async Task Select_null_propagation_negative5(bool async) @@ -1011,13 +1189,15 @@ public override async Task Select_null_propagation_negative5(bool async) await base.Select_null_propagation_negative5(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g0].[Nickname] IS NOT NULL) AND ([g0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g0].[Nickname] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g0].[Nickname]"); +ORDER BY [g0].[Nickname] +"""); } public override async Task Select_null_propagation_negative6(bool async) @@ -1025,14 +1205,16 @@ public override async Task Select_null_propagation_negative6(bool async) await base.Select_null_propagation_negative6(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([g].[LeaderNickname]) AS int) <> CAST(LEN([g].[LeaderNickname]) AS int) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END ELSE NULL END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_negative7(bool async) @@ -1040,11 +1222,13 @@ public override async Task Select_null_propagation_negative7(bool async) await base.Select_null_propagation_negative7(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE NULL END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_negative8(bool async) @@ -1052,14 +1236,16 @@ public override async Task Select_null_propagation_negative8(bool async) await base.Select_null_propagation_negative8(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [s].[Id] IS NOT NULL THEN [c].[Name] ELSE NULL END FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] -LEFT JOIN [Cities] AS [c] ON [g].[AssignedCityName] = [c].[Name]"); +LEFT JOIN [Cities] AS [c] ON [g].[AssignedCityName] = [c].[Name] +"""); } public override async Task Select_null_propagation_negative9(bool async) @@ -1067,14 +1253,16 @@ public override async Task Select_null_propagation_negative9(bool async) await base.Select_null_propagation_negative9(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN COALESCE(CASE WHEN CAST(LEN([g].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, CAST(0 AS bit)) ELSE NULL END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_works_for_navigations_with_composite_keys(bool async) @@ -1082,9 +1270,11 @@ public override async Task Select_null_propagation_works_for_navigations_with_co await base.Select_null_propagation_works_for_navigations_with_composite_keys(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Tags] AS [t] -LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Select_null_propagation_works_for_multiple_navigations_with_composite_keys(bool async) @@ -1092,7 +1282,8 @@ public override async Task Select_null_propagation_works_for_multiple_navigation await base.Select_null_propagation_works_for_multiple_navigations_with_composite_keys(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c].[Name] IS NOT NULL THEN [c].[Name] ELSE NULL END @@ -1100,7 +1291,8 @@ FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Tags] AS [t0] ON ([g].[Nickname] = [t0].[GearNickName] OR (([g].[Nickname] IS NULL) AND ([t0].[GearNickName] IS NULL))) AND ([g].[SquadId] = [t0].[GearSquadId] OR (([g].[SquadId] IS NULL) AND ([t0].[GearSquadId] IS NULL))) LEFT JOIN [Gears] AS [g0] ON [t0].[GearNickName] = [g0].[Nickname] AND [t0].[GearSquadId] = [g0].[SquadId] -LEFT JOIN [Cities] AS [c] ON [g0].[AssignedCityName] = [c].[Name]"); +LEFT JOIN [Cities] AS [c] ON [g0].[AssignedCityName] = [c].[Name] +"""); } public override async Task Select_conditional_with_anonymous_type_and_null_constant(bool async) @@ -1108,12 +1300,14 @@ public override async Task Select_conditional_with_anonymous_type_and_null_const await base.Select_conditional_with_anonymous_type_and_null_constant(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[HasSoulPatch] FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Select_conditional_with_anonymous_types(bool async) @@ -1121,12 +1315,14 @@ public override async Task Select_conditional_with_anonymous_types(bool async) await base.Select_conditional_with_anonymous_types(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[FullName] FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_conditional_equality_1(bool async) @@ -1134,10 +1330,12 @@ public override async Task Where_conditional_equality_1(bool async) await base.Where_conditional_equality_1(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] WHERE [g].[LeaderNickname] IS NULL -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_conditional_equality_2(bool async) @@ -1145,10 +1343,12 @@ public override async Task Where_conditional_equality_2(bool async) await base.Where_conditional_equality_2(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] WHERE [g].[LeaderNickname] IS NULL -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_conditional_equality_3(bool async) @@ -1156,9 +1356,11 @@ public override async Task Where_conditional_equality_3(bool async) await base.Where_conditional_equality_3(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Select_coalesce_with_anonymous_types(bool async) @@ -1166,9 +1368,11 @@ public override async Task Select_coalesce_with_anonymous_types(bool async) await base.Select_coalesce_with_anonymous_types(async); AssertSql( - @"SELECT [g].[LeaderNickname], [g].[FullName] +""" +SELECT [g].[LeaderNickname], [g].[FullName] FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_compare_anonymous_types(bool async) @@ -1183,9 +1387,11 @@ public override async Task Where_member_access_on_anonymous_type(bool async) await base.Where_member_access_on_anonymous_type(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] -WHERE [g].[LeaderNickname] = N'Marcus'"); +WHERE [g].[LeaderNickname] = N'Marcus' +"""); } public override async Task Where_compare_anonymous_types_with_uncorrelated_members(bool async) @@ -1193,9 +1399,11 @@ public override async Task Where_compare_anonymous_types_with_uncorrelated_membe await base.Where_compare_anonymous_types_with_uncorrelated_members(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(bool async) @@ -1203,12 +1411,14 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM [Tags] AS [t] CROSS JOIN [Tags] AS [t0] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Gears] AS [g0] ON [t0].[GearNickName] = [g0].[Nickname] AND [t0].[GearSquadId] = [g0].[SquadId] -WHERE [g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL))"); +WHERE [g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL)) +"""); } public override async Task Select_Singleton_Navigation_With_Member_Access(bool async) @@ -1216,10 +1426,12 @@ public override async Task Select_Singleton_Navigation_With_Member_Access(bool a await base.Select_Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[Nickname] = N'Marcus' AND ([g].[CityOfBirthName] <> N'Ephyra' OR ([g].[CityOfBirthName] IS NULL))"); +WHERE [g].[Nickname] = N'Marcus' AND ([g].[CityOfBirthName] <> N'Ephyra' OR ([g].[CityOfBirthName] IS NULL)) +"""); } public override async Task Select_Where_Navigation(bool async) @@ -1227,10 +1439,12 @@ public override async Task Select_Where_Navigation(bool async) await base.Select_Where_Navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[Nickname] = N'Marcus'"); +WHERE [g].[Nickname] = N'Marcus' +"""); } public override async Task Select_Where_Navigation_Equals_Navigation(bool async) @@ -1238,12 +1452,14 @@ public override async Task Select_Where_Navigation_Equals_Navigation(bool async) await base.Select_Where_Navigation_Equals_Navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM [Tags] AS [t] CROSS JOIN [Tags] AS [t0] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Gears] AS [g0] ON [t0].[GearNickName] = [g0].[Nickname] AND [t0].[GearSquadId] = [g0].[SquadId] -WHERE ([g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL))) AND ([g].[SquadId] = [g0].[SquadId] OR (([g].[SquadId] IS NULL) AND ([g0].[SquadId] IS NULL)))"); +WHERE ([g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL))) AND ([g].[SquadId] = [g0].[SquadId] OR (([g].[SquadId] IS NULL) AND ([g0].[SquadId] IS NULL))) +"""); } public override async Task Select_Where_Navigation_Null(bool async) @@ -1251,10 +1467,12 @@ public override async Task Select_Where_Navigation_Null(bool async) await base.Select_Where_Navigation_Null(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE ([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL)"); +WHERE ([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL) +"""); } public override async Task Select_Where_Navigation_Null_Reverse(bool async) @@ -1262,10 +1480,12 @@ public override async Task Select_Where_Navigation_Null_Reverse(bool async) await base.Select_Where_Navigation_Null_Reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE ([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL)"); +WHERE ([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL) +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(bool async) @@ -1273,12 +1493,14 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(async); AssertSql( - @"SELECT [t].[Id] AS [Id1], [t0].[Id] AS [Id2] +""" +SELECT [t].[Id] AS [Id1], [t0].[Id] AS [Id2] FROM [Tags] AS [t] CROSS JOIN [Tags] AS [t0] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Gears] AS [g0] ON [t0].[GearNickName] = [g0].[Nickname] AND [t0].[GearSquadId] = [g0].[SquadId] -WHERE [g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL))"); +WHERE [g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL)) +"""); } public override async Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool async) @@ -1286,10 +1508,12 @@ public override async Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool as await base.Optional_Navigation_Null_Coalesce_To_Clr_Type(async); AssertSql( - @"SELECT TOP(1) COALESCE([w0].[IsAutomatic], CAST(0 AS bit)) AS [IsAutomatic] +""" +SELECT TOP(1) COALESCE([w0].[IsAutomatic], CAST(0 AS bit)) AS [IsAutomatic] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w].[Id]"); +ORDER BY [w].[Id] +"""); } public override async Task Where_subquery_boolean(bool async) @@ -1297,13 +1521,15 @@ public override async Task Where_subquery_boolean(bool async) await base.Where_subquery_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [w].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_boolean_with_pushdown(bool async) @@ -1311,13 +1537,15 @@ public override async Task Where_subquery_boolean_with_pushdown(bool async) await base.Where_subquery_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_firstordefault_boolean(bool async) @@ -1325,7 +1553,8 @@ public override async Task Where_subquery_distinct_firstordefault_boolean(bool a await base.Where_subquery_distinct_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND COALESCE(( SELECT TOP(1) [t].[IsAutomatic] @@ -1334,7 +1563,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_firstordefault_boolean_with_pushdown(bool async) @@ -1342,7 +1572,8 @@ public override async Task Where_subquery_distinct_firstordefault_boolean_with_p await base.Where_subquery_distinct_firstordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -1351,7 +1582,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_first_boolean(bool async) @@ -1359,7 +1591,8 @@ public override async Task Where_subquery_distinct_first_boolean(bool async) await base.Where_subquery_distinct_first_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -1369,7 +1602,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] ORDER BY [t].[Id]) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean1(bool async) @@ -1377,7 +1611,8 @@ public override async Task Where_subquery_distinct_singleordefault_boolean1(bool await base.Where_subquery_distinct_singleordefault_boolean1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND COALESCE(( SELECT TOP(1) [t].[IsAutomatic] @@ -1386,7 +1621,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]), CAST(0 AS bit)) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean2(bool async) @@ -1394,13 +1630,15 @@ public override async Task Where_subquery_distinct_singleordefault_boolean2(bool await base.Where_subquery_distinct_singleordefault_boolean2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND COALESCE(( SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%')), CAST(0 AS bit)) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) @@ -1408,7 +1646,8 @@ public override async Task Where_subquery_distinct_singleordefault_boolean_with_ await base.Where_subquery_distinct_singleordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -1417,7 +1656,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_lastordefault_boolean(bool async) @@ -1425,7 +1665,8 @@ public override async Task Where_subquery_distinct_lastordefault_boolean(bool as await base.Where_subquery_distinct_lastordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE ( SELECT TOP(1) [t].[IsAutomatic] @@ -1435,7 +1676,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] ORDER BY [t].[Id] DESC) = CAST(0 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_last_boolean(bool async) @@ -1443,7 +1685,8 @@ public override async Task Where_subquery_distinct_last_boolean(bool async) await base.Where_subquery_distinct_last_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -1453,7 +1696,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] ORDER BY [t].[Id] DESC) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_orderby_firstordefault_boolean(bool async) @@ -1461,7 +1705,8 @@ public override async Task Where_subquery_distinct_orderby_firstordefault_boolea await base.Where_subquery_distinct_orderby_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND COALESCE(( SELECT TOP(1) [t].[IsAutomatic] @@ -1470,7 +1715,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(bool async) @@ -1478,7 +1724,8 @@ public override async Task Where_subquery_distinct_orderby_firstordefault_boolea await base.Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -1487,7 +1734,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_union_firstordefault_boolean(bool async) @@ -1495,7 +1743,8 @@ public override async Task Where_subquery_union_firstordefault_boolean(bool asyn await base.Where_subquery_union_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -1508,7 +1757,8 @@ FROM [Weapons] AS [w] FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_join_firstordefault_boolean(bool async) @@ -1516,7 +1766,8 @@ public override async Task Where_subquery_join_firstordefault_boolean(bool async await base.Where_subquery_join_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [w].[IsAutomatic] @@ -1527,7 +1778,8 @@ FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] ON [w].[Id] = [t].[Id] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_left_join_firstordefault_boolean(bool async) @@ -1535,7 +1787,8 @@ public override async Task Where_subquery_left_join_firstordefault_boolean(bool await base.Where_subquery_left_join_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [w].[IsAutomatic] @@ -1546,7 +1799,8 @@ FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] ON [w].[Id] = [t].[Id] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_concat_firstordefault_boolean(bool async) @@ -1554,7 +1808,8 @@ public override async Task Where_subquery_concat_firstordefault_boolean(bool asy await base.Where_subquery_concat_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -1567,7 +1822,8 @@ UNION ALL FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Concat_with_count(bool async) @@ -1575,14 +1831,16 @@ public override async Task Concat_with_count(bool async) await base.Concat_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] UNION ALL SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g0] -) AS [t]"); +) AS [t] +"""); } public override async Task Concat_scalars_with_count(bool async) @@ -1590,14 +1848,16 @@ public override async Task Concat_scalars_with_count(bool async) await base.Concat_scalars_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname] FROM [Gears] AS [g] UNION ALL SELECT [g0].[FullName] AS [Nickname] FROM [Gears] AS [g0] -) AS [t]"); +) AS [t] +"""); } public override async Task Concat_anonymous_with_count(bool async) @@ -1605,14 +1865,16 @@ public override async Task Concat_anonymous_with_count(bool async) await base.Concat_anonymous_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g].[Nickname] AS [Name] FROM [Gears] AS [g] UNION ALL SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g0].[FullName] AS [Name] FROM [Gears] AS [g0] -) AS [t]"); +) AS [t] +"""); } public override async Task Concat_with_scalar_projection(bool async) @@ -1620,11 +1882,13 @@ public override async Task Concat_with_scalar_projection(bool async) await base.Concat_with_scalar_projection(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] UNION ALL SELECT [g0].[Nickname] -FROM [Gears] AS [g0]"); +FROM [Gears] AS [g0] +"""); } public override async Task Select_navigation_with_concat_and_count(bool async) @@ -1632,7 +1896,8 @@ public override async Task Select_navigation_with_concat_and_count(bool async) await base.Select_navigation_with_concat_and_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -1644,7 +1909,8 @@ FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t]) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Concat_with_collection_navigations(bool async) @@ -1652,7 +1918,8 @@ public override async Task Concat_with_collection_navigations(bool async) await base.Concat_with_collection_navigations(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -1664,7 +1931,8 @@ FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t]) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Union_with_collection_navigations(bool async) @@ -1672,7 +1940,8 @@ public override async Task Union_with_collection_navigations(bool async) await base.Union_with_collection_navigations(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] @@ -1684,7 +1953,8 @@ FROM [Gears] AS [g1] WHERE [g].[Nickname] = [g1].[LeaderNickname] AND [g].[SquadId] = [g1].[LeaderSquadId] ) AS [t]) FROM [Gears] AS [g] -WHERE [g].[Discriminator] = N'Officer'"); +WHERE [g].[Discriminator] = N'Officer' +"""); } public override async Task Select_subquery_distinct_firstordefault(bool async) @@ -1692,7 +1962,8 @@ public override async Task Select_subquery_distinct_firstordefault(bool async) await base.Select_subquery_distinct_firstordefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[Name] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -1701,7 +1972,8 @@ FROM [Weapons] AS [w] ) AS [t] ORDER BY [t].[Id]) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Singleton_Navigation_With_Member_Access(bool async) @@ -1709,10 +1981,12 @@ public override async Task Singleton_Navigation_With_Member_Access(bool async) await base.Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT [g].[CityOfBirthName] AS [B] +""" +SELECT [g].[CityOfBirthName] AS [B] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[Nickname] = N'Marcus' AND ([g].[CityOfBirthName] <> N'Ephyra' OR ([g].[CityOfBirthName] IS NULL))"); +WHERE [g].[Nickname] = N'Marcus' AND ([g].[CityOfBirthName] <> N'Ephyra' OR ([g].[CityOfBirthName] IS NULL)) +"""); } public override async Task GroupJoin_Composite_Key(bool async) @@ -1720,9 +1994,11 @@ public override async Task GroupJoin_Composite_Key(bool async) await base.GroupJoin_Composite_Key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Tags] AS [t] -INNER JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +INNER JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Join_navigation_translated_to_subquery_composite_key(bool async) @@ -1730,13 +2006,15 @@ public override async Task Join_navigation_translated_to_subquery_composite_key( await base.Join_navigation_translated_to_subquery_composite_key(async); AssertSql( - @"SELECT [g].[FullName], [t0].[Note] +""" +SELECT [g].[FullName], [t0].[Note] FROM [Gears] AS [g] INNER JOIN ( SELECT [t].[Note], [g0].[FullName] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g0] ON [t].[GearNickName] = [g0].[Nickname] AND [t].[GearSquadId] = [g0].[SquadId] -) AS [t0] ON [g].[FullName] = [t0].[FullName]"); +) AS [t0] ON [g].[FullName] = [t0].[FullName] +"""); } public override async Task Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(bool async) @@ -1744,13 +2022,15 @@ public override async Task Join_with_order_by_on_inner_sequence_navigation_trans await base.Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(async); AssertSql( - @"SELECT [g].[FullName], [t0].[Note] +""" +SELECT [g].[FullName], [t0].[Note] FROM [Gears] AS [g] INNER JOIN ( SELECT [t].[Note], [g0].[FullName] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g0] ON [t].[GearNickName] = [g0].[Nickname] AND [t].[GearSquadId] = [g0].[SquadId] -) AS [t0] ON [g].[FullName] = [t0].[FullName]"); +) AS [t0] ON [g].[FullName] = [t0].[FullName] +"""); } public override async Task Join_with_order_by_without_skip_or_take(bool async) @@ -1758,9 +2038,11 @@ public override async Task Join_with_order_by_without_skip_or_take(bool async) await base.Join_with_order_by_without_skip_or_take(async); AssertSql( - @"SELECT [w].[Name], [g].[FullName] +""" +SELECT [w].[Name], [g].[FullName] FROM [Gears] AS [g] -INNER JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName]"); +INNER JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] +"""); } public override async Task Join_with_order_by_without_skip_or_take_nested(bool async) @@ -1768,10 +2050,12 @@ public override async Task Join_with_order_by_without_skip_or_take_nested(bool a await base.Join_with_order_by_without_skip_or_take_nested(async); AssertSql( - @"SELECT [w].[Name], [g].[FullName] +""" +SELECT [w].[Name], [g].[FullName] FROM [Squads] AS [s] INNER JOIN [Gears] AS [g] ON [s].[Id] = [g].[SquadId] -INNER JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName]"); +INNER JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] +"""); } public override async Task Collection_with_inheritance_and_join_include_joined(bool async) @@ -1779,14 +2063,16 @@ public override async Task Collection_with_inheritance_and_join_include_joined(b await base.Collection_with_inheritance_and_join_include_joined(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t1].[Id], [t1].[GearNickName], [t1].[GearSquadId], [t1].[IssueDate], [t1].[Note] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t1].[Id], [t1].[GearNickName], [t1].[GearSquadId], [t1].[IssueDate], [t1].[Note] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[Discriminator] = N'Officer' ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] -LEFT JOIN [Tags] AS [t1] ON [t0].[Nickname] = [t1].[GearNickName] AND [t0].[SquadId] = [t1].[GearSquadId]"); +LEFT JOIN [Tags] AS [t1] ON [t0].[Nickname] = [t1].[GearNickName] AND [t0].[SquadId] = [t1].[GearSquadId] +"""); } public override async Task Collection_with_inheritance_and_join_include_source(bool async) @@ -1794,11 +2080,13 @@ public override async Task Collection_with_inheritance_and_join_include_source(b await base.Collection_with_inheritance_and_join_include_source(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM [Gears] AS [g] INNER JOIN [Tags] AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] LEFT JOIN [Tags] AS [t0] ON [g].[Nickname] = [t0].[GearNickName] AND [g].[SquadId] = [t0].[GearSquadId] -WHERE [g].[Discriminator] = N'Officer'"); +WHERE [g].[Discriminator] = N'Officer' +"""); } public override async Task Non_unicode_string_literal_is_used_for_non_unicode_column(bool async) @@ -1806,9 +2094,11 @@ public override async Task Non_unicode_string_literal_is_used_for_non_unicode_co await base.Non_unicode_string_literal_is_used_for_non_unicode_column(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] = 'Unknown'"); +WHERE [c].[Location] = 'Unknown' +"""); } public override async Task Non_unicode_string_literal_is_used_for_non_unicode_column_right(bool async) @@ -1816,9 +2106,11 @@ public override async Task Non_unicode_string_literal_is_used_for_non_unicode_co await base.Non_unicode_string_literal_is_used_for_non_unicode_column_right(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE 'Unknown' = [c].[Location]"); +WHERE 'Unknown' = [c].[Location] +"""); } public override async Task Non_unicode_parameter_is_used_for_non_unicode_column(bool async) @@ -1826,11 +2118,13 @@ public override async Task Non_unicode_parameter_is_used_for_non_unicode_column( await base.Non_unicode_parameter_is_used_for_non_unicode_column(async); AssertSql( - @"@__value_0='Unknown' (Size = 100) (DbType = AnsiString) +""" +@__value_0='Unknown' (Size = 100) (DbType = AnsiString) SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] = @__value_0"); +WHERE [c].[Location] = @__value_0 +"""); } public override async Task Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(bool async) @@ -1838,9 +2132,11 @@ public override async Task Non_unicode_string_literals_in_contains_is_used_for_n await base.Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] IN ('Unknown', 'Jacinto''s location', 'Ephyra''s location')"); +WHERE [c].[Location] IN ('Unknown', 'Jacinto''s location', 'Ephyra''s location') +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(bool async) @@ -1848,12 +2144,14 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] WHERE [c].[Location] = 'Unknown' AND ( SELECT COUNT(*) FROM [Gears] AS [g] - WHERE [c].[Name] = [g].[CityOfBirthName] AND [g].[Nickname] = N'Paduk') = 1"); + WHERE [c].[Name] = [g].[CityOfBirthName] AND [g].[Nickname] = N'Paduk') = 1 +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(bool async) @@ -1861,10 +2159,12 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] -WHERE [g].[Nickname] = N'Marcus' AND [c].[Location] = 'Jacinto''s location'"); +WHERE [g].[Nickname] = N'Marcus' AND [c].[Location] = 'Jacinto''s location' +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(bool async) @@ -1872,9 +2172,11 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] LIKE '%Jacinto%'"); +WHERE [c].[Location] LIKE '%Jacinto%' +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool async) @@ -1882,9 +2184,11 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE COALESCE([c].[Location], '') + 'Added' LIKE '%Add%'"); +WHERE COALESCE([c].[Location], '') + 'Added' LIKE '%Add%' +"""); } public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result1() @@ -1893,11 +2197,13 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc // Issue#16897 AssertSql( - @"SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId] +"""); } public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result2() @@ -1906,11 +2212,13 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc // Issue#16897 AssertSql( - @"SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g0].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result3(bool async) @@ -1919,12 +2227,14 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c // Issue#16897 AssertSql( - @"SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g0].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result4(bool async) @@ -1933,14 +2243,16 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c // Issue#16897 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] AS [w0] ON [g0].[FullName] = [w0].[OwnerFullName] LEFT JOIN [Weapons] AS [w1] ON [g0].[FullName] = [w1].[OwnerFullName] LEFT JOIN [Weapons] AS [w2] ON [g].[FullName] = [w2].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_inheritance_and_coalesce_result(bool async) @@ -1949,7 +2261,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_i // Issue#16897 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] @@ -1958,7 +2271,8 @@ FROM [Gears] AS [g0] ) AS [t] ON [g].[LeaderNickname] = [t].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_conditional_result(bool async) @@ -1967,7 +2281,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c // Issue#16897 AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g0].[Nickname] IS NOT NULL) AND ([g0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] @@ -1975,7 +2290,8 @@ FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g0].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(bool async) @@ -1983,7 +2299,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[SynergyWithId], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[SynergyWithId], CASE WHEN ([g0].[Nickname] IS NOT NULL) AND ([g0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [w3].[Id], [w3].[AmmunitionType], [w3].[IsAutomatic], [w3].[Name], [w3].[OwnerFullName], [w3].[SynergyWithId], [w4].[Id], [w4].[AmmunitionType], [w4].[IsAutomatic], [w4].[Name], [w4].[OwnerFullName], [w4].[SynergyWithId] @@ -1995,7 +2312,8 @@ FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w2] ON [g].[FullName] = [w2].[OwnerFullName] LEFT JOIN [Weapons] AS [w3] ON [g0].[FullName] = [w3].[OwnerFullName] LEFT JOIN [Weapons] AS [w4] ON [g].[FullName] = [w4].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id], [w2].[Id], [w3].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id], [w2].[Id], [w3].[Id] +"""); } public override async Task Coalesce_operator_in_predicate(bool async) @@ -2003,9 +2321,11 @@ public override async Task Coalesce_operator_in_predicate(bool async) await base.Coalesce_operator_in_predicate(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit)"); +WHERE COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Coalesce_operator_in_predicate_with_other_conditions(bool async) @@ -2013,9 +2333,11 @@ public override async Task Coalesce_operator_in_predicate_with_other_conditions( await base.Coalesce_operator_in_predicate_with_other_conditions(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = 1 AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit)"); +WHERE [w].[AmmunitionType] = 1 AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Coalesce_operator_in_projection_with_other_conditions(bool async) @@ -2023,11 +2345,13 @@ public override async Task Coalesce_operator_in_projection_with_other_conditions await base.Coalesce_operator_in_projection_with_other_conditions(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[AmmunitionType] = 1 AND ([w].[AmmunitionType] IS NOT NULL) AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate(bool async) @@ -2035,10 +2359,12 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate2(bool async) @@ -2046,10 +2372,12 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate2(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated(bool async) @@ -2057,10 +2385,12 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated_complex1(bool async) @@ -2068,13 +2398,15 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated_complex1(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE CASE WHEN [g].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE [g].[HasSoulPatch] -END = CAST(0 AS bit)"); +END = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated_complex2(bool async) @@ -2082,13 +2414,15 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated_complex2(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE CASE WHEN [g].[HasSoulPatch] = CAST(0 AS bit) THEN CAST(0 AS bit) ELSE [g].[HasSoulPatch] -END = CAST(0 AS bit)"); +END = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_conditional_expression(bool async) @@ -2096,13 +2430,15 @@ public override async Task Optional_navigation_type_compensation_works_with_cond await base.Optional_navigation_type_compensation_works_with_conditional_expression(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE CASE WHEN [g].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_binary_expression(bool async) @@ -2110,10 +2446,12 @@ public override async Task Optional_navigation_type_compensation_works_with_bina await base.Optional_navigation_type_compensation_works_with_binary_expression(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit) OR ([t].[Note] LIKE N'%Cole%')"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) OR ([t].[Note] LIKE N'%Cole%') +"""); } public override async Task Optional_navigation_type_compensation_works_with_binary_and_expression(bool async) @@ -2121,12 +2459,14 @@ public override async Task Optional_navigation_type_compensation_works_with_bina await base.Optional_navigation_type_compensation_works_with_binary_and_expression(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[HasSoulPatch] = CAST(1 AS bit) AND ([t].[Note] LIKE N'%Cole%') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Tags] AS [t] -LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Optional_navigation_type_compensation_works_with_projection(bool async) @@ -2134,10 +2474,12 @@ public override async Task Optional_navigation_type_compensation_works_with_proj await base.Optional_navigation_type_compensation_works_with_projection(async); AssertSql( - @"SELECT [g].[SquadId] +""" +SELECT [g].[SquadId] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(bool async) @@ -2145,10 +2487,12 @@ public override async Task Optional_navigation_type_compensation_works_with_proj await base.Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(async); AssertSql( - @"SELECT [g].[SquadId] +""" +SELECT [g].[SquadId] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_DTOs(bool async) @@ -2156,10 +2500,12 @@ public override async Task Optional_navigation_type_compensation_works_with_DTOs await base.Optional_navigation_type_compensation_works_with_DTOs(async); AssertSql( - @"SELECT [g].[SquadId] AS [Id] +""" +SELECT [g].[SquadId] AS [Id] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_list_initializers(bool async) @@ -2167,11 +2513,13 @@ public override async Task Optional_navigation_type_compensation_works_with_list await base.Optional_navigation_type_compensation_works_with_list_initializers(async); AssertSql( - @"SELECT [g].[SquadId], [g].[SquadId] + 1 +""" +SELECT [g].[SquadId], [g].[SquadId] + 1 FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Optional_navigation_type_compensation_works_with_array_initializers(bool async) @@ -2179,10 +2527,12 @@ public override async Task Optional_navigation_type_compensation_works_with_arra await base.Optional_navigation_type_compensation_works_with_array_initializers(async); AssertSql( - @"SELECT [g].[SquadId] +""" +SELECT [g].[SquadId] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_orderby(bool async) @@ -2190,11 +2540,13 @@ public override async Task Optional_navigation_type_compensation_works_with_orde await base.Optional_navigation_type_compensation_works_with_orderby(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) -ORDER BY [g].[SquadId]"); +ORDER BY [g].[SquadId] +"""); } public override async Task Optional_navigation_type_compensation_works_with_all(bool async) @@ -2202,14 +2554,16 @@ public override async Task Optional_navigation_type_compensation_works_with_all( await base.Optional_navigation_type_compensation_works_with_all(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [g].[HasSoulPatch] = CAST(0 AS bit)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Optional_navigation_type_compensation_works_with_negated_predicate(bool async) @@ -2217,10 +2571,12 @@ public override async Task Optional_navigation_type_compensation_works_with_nega await base.Optional_navigation_type_compensation_works_with_negated_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [g].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [g].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_contains(bool async) @@ -2228,13 +2584,15 @@ public override async Task Optional_navigation_type_compensation_works_with_cont await base.Optional_navigation_type_compensation_works_with_contains(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND EXISTS ( SELECT 1 FROM [Gears] AS [g0] - WHERE [g0].[SquadId] = [g].[SquadId])"); + WHERE [g0].[SquadId] = [g].[SquadId]) +"""); } public override async Task Optional_navigation_type_compensation_works_with_skip(bool async) @@ -2256,7 +2614,8 @@ public override async Task Select_correlated_filtered_collection(bool async) await base.Select_correlated_filtered_collection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN ( @@ -2265,7 +2624,8 @@ FROM [Weapons] AS [w] WHERE [w].[Name] <> N'Lancer' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [c].[Name] IN (N'Ephyra', N'Hanover') -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name] +"""); } public override async Task Select_correlated_filtered_collection_with_composite_key(bool async) @@ -2273,7 +2633,8 @@ public override async Task Select_correlated_filtered_collection_with_composite_ await base.Select_correlated_filtered_collection_with_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] @@ -2281,7 +2642,8 @@ FROM [Gears] AS [g0] WHERE [g0].[Nickname] <> N'Dom' ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Select_correlated_filtered_collection_works_with_caching(bool async) @@ -2289,10 +2651,12 @@ public override async Task Select_correlated_filtered_collection_works_with_cach await base.Select_correlated_filtered_collection_works_with_caching(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] -ORDER BY [t].[Note], [t].[Id], [g].[Nickname]"); +ORDER BY [t].[Note], [t].[Id], [g].[Nickname] +"""); } public override async Task Join_predicate_value_equals_condition(bool async) @@ -2300,9 +2664,11 @@ public override async Task Join_predicate_value_equals_condition(bool async) await base.Join_predicate_value_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Join_predicate_value(bool async) @@ -2310,9 +2676,11 @@ public override async Task Join_predicate_value(bool async) await base.Join_predicate_value(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -INNER JOIN [Weapons] AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit)"); +INNER JOIN [Weapons] AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Join_predicate_condition_equals_condition(bool async) @@ -2320,9 +2688,11 @@ public override async Task Join_predicate_condition_equals_condition(bool async) await base.Join_predicate_condition_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Left_join_predicate_value_equals_condition(bool async) @@ -2330,9 +2700,11 @@ public override async Task Left_join_predicate_value_equals_condition(bool async await base.Left_join_predicate_value_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Left_join_predicate_value(bool async) @@ -2340,9 +2712,11 @@ public override async Task Left_join_predicate_value(bool async) await base.Left_join_predicate_value(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -LEFT JOIN [Weapons] AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit)"); +LEFT JOIN [Weapons] AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Left_join_predicate_condition_equals_condition(bool async) @@ -2350,9 +2724,11 @@ public override async Task Left_join_predicate_condition_equals_condition(bool a await base.Left_join_predicate_condition_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Where_datetimeoffset_now(bool async) @@ -2360,9 +2736,11 @@ public override async Task Where_datetimeoffset_now(bool async) await base.Where_datetimeoffset_now(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Timeline] <> SYSDATETIMEOFFSET()"); +WHERE [m].[Timeline] <> SYSDATETIMEOFFSET() +"""); } public override async Task Where_datetimeoffset_utcnow(bool async) @@ -2370,9 +2748,11 @@ public override async Task Where_datetimeoffset_utcnow(bool async) await base.Where_datetimeoffset_utcnow(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Timeline] <> CAST(SYSUTCDATETIME() AS datetimeoffset)"); +WHERE [m].[Timeline] <> CAST(SYSUTCDATETIME() AS datetimeoffset) +"""); } public override async Task Where_datetimeoffset_date_component(bool async) @@ -2380,11 +2760,13 @@ public override async Task Where_datetimeoffset_date_component(bool async) await base.Where_datetimeoffset_date_component(async); AssertSql( - @"@__Date_0='0001-01-01T00:00:00.0000000' +""" +@__Date_0='0001-01-01T00:00:00.0000000' SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE CONVERT(date, [m].[Timeline]) > @__Date_0"); +WHERE CONVERT(date, [m].[Timeline]) > @__Date_0 +"""); } public override async Task Where_datetimeoffset_year_component(bool async) @@ -2392,9 +2774,11 @@ public override async Task Where_datetimeoffset_year_component(bool async) await base.Where_datetimeoffset_year_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(year, [m].[Timeline]) = 2"); +WHERE DATEPART(year, [m].[Timeline]) = 2 +"""); } public override async Task Where_datetimeoffset_month_component(bool async) @@ -2402,9 +2786,11 @@ public override async Task Where_datetimeoffset_month_component(bool async) await base.Where_datetimeoffset_month_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(month, [m].[Timeline]) = 1"); +WHERE DATEPART(month, [m].[Timeline]) = 1 +"""); } public override async Task Where_datetimeoffset_dayofyear_component(bool async) @@ -2412,9 +2798,11 @@ public override async Task Where_datetimeoffset_dayofyear_component(bool async) await base.Where_datetimeoffset_dayofyear_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(dayofyear, [m].[Timeline]) = 2"); +WHERE DATEPART(dayofyear, [m].[Timeline]) = 2 +"""); } public override async Task Where_datetimeoffset_day_component(bool async) @@ -2422,9 +2810,11 @@ public override async Task Where_datetimeoffset_day_component(bool async) await base.Where_datetimeoffset_day_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(day, [m].[Timeline]) = 2"); +WHERE DATEPART(day, [m].[Timeline]) = 2 +"""); } public override async Task Where_datetimeoffset_hour_component(bool async) @@ -2432,9 +2822,11 @@ public override async Task Where_datetimeoffset_hour_component(bool async) await base.Where_datetimeoffset_hour_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(hour, [m].[Timeline]) = 10"); +WHERE DATEPART(hour, [m].[Timeline]) = 10 +"""); } public override async Task Where_datetimeoffset_minute_component(bool async) @@ -2442,9 +2834,11 @@ public override async Task Where_datetimeoffset_minute_component(bool async) await base.Where_datetimeoffset_minute_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(minute, [m].[Timeline]) = 0"); +WHERE DATEPART(minute, [m].[Timeline]) = 0 +"""); } public override async Task Where_datetimeoffset_second_component(bool async) @@ -2452,9 +2846,11 @@ public override async Task Where_datetimeoffset_second_component(bool async) await base.Where_datetimeoffset_second_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(second, [m].[Timeline]) = 0"); +WHERE DATEPART(second, [m].[Timeline]) = 0 +"""); } public override async Task Where_datetimeoffset_millisecond_component(bool async) @@ -2462,9 +2858,11 @@ public override async Task Where_datetimeoffset_millisecond_component(bool async await base.Where_datetimeoffset_millisecond_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(millisecond, [m].[Timeline]) = 0"); +WHERE DATEPART(millisecond, [m].[Timeline]) = 0 +"""); } public override async Task DateTimeOffset_DateAdd_AddMonths(bool async) @@ -2472,8 +2870,10 @@ public override async Task DateTimeOffset_DateAdd_AddMonths(bool async) await base.DateTimeOffset_DateAdd_AddMonths(async); AssertSql( - @"SELECT DATEADD(month, CAST(1 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(month, CAST(1 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddDays(bool async) @@ -2481,8 +2881,10 @@ public override async Task DateTimeOffset_DateAdd_AddDays(bool async) await base.DateTimeOffset_DateAdd_AddDays(async); AssertSql( - @"SELECT DATEADD(day, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(day, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddHours(bool async) @@ -2490,8 +2892,10 @@ public override async Task DateTimeOffset_DateAdd_AddHours(bool async) await base.DateTimeOffset_DateAdd_AddHours(async); AssertSql( - @"SELECT DATEADD(hour, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(hour, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddMinutes(bool async) @@ -2499,8 +2903,10 @@ public override async Task DateTimeOffset_DateAdd_AddMinutes(bool async) await base.DateTimeOffset_DateAdd_AddMinutes(async); AssertSql( - @"SELECT DATEADD(minute, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(minute, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddSeconds(bool async) @@ -2508,8 +2914,10 @@ public override async Task DateTimeOffset_DateAdd_AddSeconds(bool async) await base.DateTimeOffset_DateAdd_AddSeconds(async); AssertSql( - @"SELECT DATEADD(second, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(second, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool async) @@ -2517,8 +2925,10 @@ public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool async) await base.DateTimeOffset_DateAdd_AddMilliseconds(async); AssertSql( - @"SELECT DATEADD(millisecond, CAST(300.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(millisecond, CAST(300.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task Where_datetimeoffset_milliseconds_parameter_and_constant(bool async) @@ -2526,9 +2936,11 @@ public override async Task Where_datetimeoffset_milliseconds_parameter_and_const await base.Where_datetimeoffset_milliseconds_parameter_and_constant(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Missions] AS [m] -WHERE [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30'"); +WHERE [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30' +"""); } [ConditionalTheory] @@ -2548,9 +2960,11 @@ public virtual async Task Where_AtTimeZone_datetimeoffset_constant(bool async) Assert.Equal(2, mission.Id); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE ([m].[Timeline] AT TIME ZONE 'UTC') = '0002-03-01T13:00:00.0000000+00:00'"); +WHERE ([m].[Timeline] AT TIME ZONE 'UTC') = '0002-03-01T13:00:00.0000000+00:00' +"""); } [ConditionalTheory] @@ -2571,12 +2985,14 @@ public virtual async Task Where_AtTimeZone_datetimeoffset_parameter(bool async) Assert.Equal(2, mission.Id); AssertSql( - @"@__dateTime_1='0002-03-01T13:00:00.0000000+00:00' +""" +@__dateTime_1='0002-03-01T13:00:00.0000000+00:00' @__timeZone_2='UTC' (Size = 8000) (DbType = AnsiString) SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Timeline] = (@__dateTime_1 AT TIME ZONE @__timeZone_2)"); +WHERE [m].[Timeline] = (@__dateTime_1 AT TIME ZONE @__timeZone_2) +"""); } [ConditionalTheory] @@ -2596,9 +3012,11 @@ public virtual async Task Where_AtTimeZone_datetimeoffset_column(bool async) Assert.Equal(2, mission.Id); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE ([m].[Timeline] AT TIME ZONE 'UTC') = '0002-03-01T13:00:00.0000000+00:00'"); +WHERE ([m].[Timeline] AT TIME ZONE 'UTC') = '0002-03-01T13:00:00.0000000+00:00' +"""); } [ConditionalTheory] @@ -2617,9 +3035,11 @@ public virtual async Task Where_AtTimeZone_datetime_constant(bool async) Assert.Equal(3, mission.Id); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Timeline] = (CAST('0010-05-03T12:00:00.0000000' AS datetime2) AT TIME ZONE 'UTC')"); +WHERE [m].[Timeline] = (CAST('0010-05-03T12:00:00.0000000' AS datetime2) AT TIME ZONE 'UTC') +"""); } [ConditionalTheory] @@ -2640,12 +3060,14 @@ public virtual async Task Where_AtTimeZone_datetime_parameter(bool async) Assert.Equal(3, mission.Id); AssertSql( - @"@__dateTime_1='0010-05-03T12:00:00.0000000' +""" +@__dateTime_1='0010-05-03T12:00:00.0000000' @__timeZone_2='UTC' (Size = 8000) (DbType = AnsiString) SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Timeline] = (@__dateTime_1 AT TIME ZONE @__timeZone_2)"); +WHERE [m].[Timeline] = (@__dateTime_1 AT TIME ZONE @__timeZone_2) +"""); } [ConditionalTheory] @@ -2665,9 +3087,11 @@ public virtual async Task Where_AtTimeZone_datetime_column(bool async) Assert.Equal(Guid.Parse("A7BE028A-0CF2-448F-AB55-CE8BC5D8CF69"), mission.Id); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] -WHERE ([t].[IssueDate] AT TIME ZONE 'UTC') = '0015-03-07T00:00:00.0000000+00:00'"); +WHERE ([t].[IssueDate] AT TIME ZONE 'UTC') = '0015-03-07T00:00:00.0000000+00:00' +"""); } public override async Task Orderby_added_for_client_side_GroupJoin_composite_dependent_to_principal_LOJ_when_incomplete_key_is_used( @@ -2683,10 +3107,12 @@ public override async Task Complex_predicate_with_AndAlso_and_nullable_bool_prop await base.Complex_predicate_with_AndAlso_and_nullable_bool_property(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Gears] AS [g] ON [w].[OwnerFullName] = [g].[FullName] -WHERE [w].[Id] <> 50 AND [g].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [w].[Id] <> 50 AND [g].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Distinct_with_optional_navigation_is_translated_to_sql(bool async) @@ -2694,10 +3120,12 @@ public override async Task Distinct_with_optional_navigation_is_translated_to_sq await base.Distinct_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT DISTINCT [g].[HasSoulPatch] +""" +SELECT DISTINCT [g].[HasSoulPatch] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL) +"""); } public override async Task Sum_with_optional_navigation_is_translated_to_sql(bool async) @@ -2705,10 +3133,12 @@ public override async Task Sum_with_optional_navigation_is_translated_to_sql(boo await base.Sum_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT COALESCE(SUM([g].[SquadId]), 0) +""" +SELECT COALESCE(SUM([g].[SquadId]), 0) FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL) +"""); } public override async Task Count_with_optional_navigation_is_translated_to_sql(bool async) @@ -2716,10 +3146,12 @@ public override async Task Count_with_optional_navigation_is_translated_to_sql(b await base.Count_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL) +"""); } public override async Task FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(bool async) @@ -2727,10 +3159,12 @@ public override async Task FirstOrDefault_with_manually_created_groupjoin_is_tra await base.FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(async); AssertSql( - @"SELECT TOP(1) [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT TOP(1) [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] LEFT JOIN [Gears] AS [g] ON [s].[Id] = [g].[SquadId] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(bool async) @@ -2738,13 +3172,15 @@ public override async Task Any_with_optional_navigation_as_subquery_predicate_is await base.Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] AS [s] WHERE NOT (EXISTS ( SELECT 1 FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] - WHERE [s].[Id] = [g].[SquadId] AND [t].[Note] = N'Dom''s Tag'))"); + WHERE [s].[Id] = [g].[SquadId] AND [t].[Note] = N'Dom''s Tag')) +"""); } public override async Task All_with_optional_navigation_is_translated_to_sql(bool async) @@ -2752,14 +3188,16 @@ public override async Task All_with_optional_navigation_is_translated_to_sql(boo await base.All_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE [t].[Note] = N'Foo' AND ([t].[Note] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Contains_with_local_nullable_guid_list_closure(bool async) @@ -2767,9 +3205,11 @@ public override async Task Contains_with_local_nullable_guid_list_closure(bool a await base.Contains_with_local_nullable_guid_list_closure(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] -WHERE [t].[Id] IN ('d2c26679-562b-44d1-ab96-23d1775e0926', '23cbcf9b-ce14-45cf-aafa-2c2667ebfdd3', 'ab1b82d7-88db-42bd-a132-7eef9aa68af4')"); +WHERE [t].[Id] IN ('d2c26679-562b-44d1-ab96-23d1775e0926', '23cbcf9b-ce14-45cf-aafa-2c2667ebfdd3', 'ab1b82d7-88db-42bd-a132-7eef9aa68af4') +"""); } public override async Task Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(bool async) @@ -2777,10 +3217,12 @@ public override async Task Unnecessary_include_doesnt_get_added_complex_when_pro await base.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g].[Rank]"); +ORDER BY [g].[Rank] +"""); } public override async Task Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(bool async) @@ -2788,10 +3230,12 @@ public override async Task Multiple_order_bys_are_properly_lifted_from_subquery_ await base.Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(bool async) @@ -2799,10 +3243,12 @@ public override async Task Order_by_is_properly_lifted_from_subquery_with_same_o await base.Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Where_is_properly_lifted_from_subquery_created_by_include(bool async) @@ -2810,11 +3256,13 @@ public override async Task Where_is_properly_lifted_from_subquery_created_by_inc await base.Where_is_properly_lifted_from_subquery_created_by_include(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE [g].[FullName] <> N'Augustus Cole' AND [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Subquery_is_lifted_from_main_from_clause_of_SelectMany(bool async) @@ -2822,11 +3270,13 @@ public override async Task Subquery_is_lifted_from_main_from_clause_of_SelectMan await base.Subquery_is_lifted_from_main_from_clause_of_SelectMany(async); AssertSql( - @"SELECT [g].[FullName] AS [Name1], [g0].[FullName] AS [Name2] +""" +SELECT [g].[FullName] AS [Name1], [g0].[FullName] AS [Name2] FROM [Gears] AS [g] CROSS JOIN [Gears] AS [g0] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g0].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(bool async) @@ -2834,11 +3284,13 @@ public override async Task Subquery_containing_SelectMany_projecting_main_from_c await base.Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] CROSS JOIN [Tags] AS [t] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Subquery_containing_join_projecting_main_from_clause_gets_lifted(bool async) @@ -2846,10 +3298,12 @@ public override async Task Subquery_containing_join_projecting_main_from_clause_ await base.Subquery_containing_join_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] INNER JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(bool async) @@ -2857,10 +3311,12 @@ public override async Task Subquery_containing_left_join_projecting_main_from_cl await base.Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Subquery_containing_join_gets_lifted_clashing_names(bool async) @@ -2868,12 +3324,14 @@ public override async Task Subquery_containing_join_gets_lifted_clashing_names(b await base.Subquery_containing_join_gets_lifted_clashing_names(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] INNER JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] INNER JOIN [Tags] AS [t0] ON [g].[Nickname] = [t0].[GearNickName] WHERE [t].[GearNickName] <> N'Cole Train' OR ([t].[GearNickName] IS NULL) -ORDER BY [g].[Nickname], [t0].[Id]"); +ORDER BY [g].[Nickname], [t0].[Id] +"""); } public override async Task Subquery_created_by_include_gets_lifted_nested(bool async) @@ -2881,14 +3339,16 @@ public override async Task Subquery_created_by_include_gets_lifted_nested(bool a await base.Subquery_created_by_include_gets_lifted_nested(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] WHERE EXISTS ( SELECT 1 FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName]) AND [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Subquery_is_lifted_from_additional_from_clause(bool async) @@ -2896,11 +3356,13 @@ public override async Task Subquery_is_lifted_from_additional_from_clause(bool a await base.Subquery_is_lifted_from_additional_from_clause(async); AssertSql( - @"SELECT [g].[FullName] AS [Name1], [g0].[FullName] AS [Name2] +""" +SELECT [g].[FullName] AS [Name1], [g0].[FullName] AS [Name2] FROM [Gears] AS [g] CROSS JOIN [Gears] AS [g0] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g0].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Subquery_with_result_operator_is_not_lifted(bool async) @@ -2908,7 +3370,8 @@ public override async Task Subquery_with_result_operator_is_not_lifted(bool asyn await base.Subquery_with_result_operator_is_not_lifted(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[FullName] FROM ( @@ -2917,7 +3380,8 @@ FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ORDER BY [g].[FullName] ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Skip_with_orderby_followed_by_orderBy_is_pushed_down(bool async) @@ -2925,7 +3389,8 @@ public override async Task Skip_with_orderby_followed_by_orderBy_is_pushed_down( await base.Skip_with_orderby_followed_by_orderBy_is_pushed_down(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[FullName] FROM ( @@ -2935,7 +3400,8 @@ FROM [Gears] AS [g] ORDER BY [g].[FullName] OFFSET @__p_0 ROWS ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down1(bool async) @@ -2943,7 +3409,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down1(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t].[FullName] FROM ( @@ -2951,7 +3418,8 @@ SELECT TOP(@__p_0) [g].[FullName], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down2(bool async) @@ -2959,7 +3427,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down2(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t].[FullName] FROM ( @@ -2967,7 +3436,8 @@ SELECT TOP(@__p_0) [g].[FullName], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down3(bool async) @@ -2975,7 +3445,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down3(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t].[FullName] FROM ( @@ -2983,7 +3454,8 @@ SELECT TOP(@__p_0) [g].[FullName], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] -ORDER BY [t].[FullName], [t].[Rank]"); +ORDER BY [t].[FullName], [t].[Rank] +"""); } public override async Task Select_length_of_string_property(bool async) @@ -2991,8 +3463,10 @@ public override async Task Select_length_of_string_property(bool async) await base.Select_length_of_string_property(async); AssertSql( - @"SELECT [w].[Name], CAST(LEN([w].[Name]) AS int) AS [Length] -FROM [Weapons] AS [w]"); +""" +SELECT [w].[Name], CAST(LEN([w].[Name]) AS int) AS [Length] +FROM [Weapons] AS [w] +"""); } public override async Task Client_method_on_collection_navigation_in_outer_join_key(bool async) @@ -3007,9 +3481,11 @@ public override async Task Member_access_on_derived_entity_using_cast(bool async await base.Member_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [f].[Eradicated] +""" +SELECT [f].[Name], [f].[Eradicated] FROM [Factions] AS [f] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Member_access_on_derived_materialized_entity_using_cast(bool async) @@ -3017,9 +3493,11 @@ public override async Task Member_access_on_derived_materialized_entity_using_ca await base.Member_access_on_derived_materialized_entity_using_cast(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] AS [f] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Member_access_on_derived_entity_using_cast_and_let(bool async) @@ -3027,9 +3505,11 @@ public override async Task Member_access_on_derived_entity_using_cast_and_let(bo await base.Member_access_on_derived_entity_using_cast_and_let(async); AssertSql( - @"SELECT [f].[Name], [f].[Eradicated] +""" +SELECT [f].[Name], [f].[Eradicated] FROM [Factions] AS [f] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Property_access_on_derived_entity_using_cast(bool async) @@ -3037,9 +3517,11 @@ public override async Task Property_access_on_derived_entity_using_cast(bool asy await base.Property_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [f].[Eradicated] +""" +SELECT [f].[Name], [f].[Eradicated] FROM [Factions] AS [f] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Navigation_access_on_derived_entity_using_cast(bool async) @@ -3047,14 +3529,16 @@ public override async Task Navigation_access_on_derived_entity_using_cast(bool a await base.Navigation_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] +""" +SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[ThreatLevel] FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Navigation_access_on_derived_materialized_entity_using_cast(bool async) @@ -3062,14 +3546,16 @@ public override async Task Navigation_access_on_derived_materialized_entity_usin await base.Navigation_access_on_derived_materialized_entity_using_cast(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[ThreatLevel] AS [Threat] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[ThreatLevel] AS [Threat] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[ThreatLevel] FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Navigation_access_via_EFProperty_on_derived_entity_using_cast(bool async) @@ -3077,14 +3563,16 @@ public override async Task Navigation_access_via_EFProperty_on_derived_entity_us await base.Navigation_access_via_EFProperty_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] +""" +SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[ThreatLevel] FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Navigation_access_fk_on_derived_entity_using_cast(bool async) @@ -3092,14 +3580,16 @@ public override async Task Navigation_access_fk_on_derived_entity_using_cast(boo await base.Navigation_access_fk_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [t].[Name] AS [CommanderName] +""" +SELECT [f].[Name], [t].[Name] AS [CommanderName] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name] FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Collection_navigation_access_on_derived_entity_using_cast(bool async) @@ -3107,12 +3597,14 @@ public override async Task Collection_navigation_access_on_derived_entity_using_ await base.Collection_navigation_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], ( +""" +SELECT [f].[Name], ( SELECT COUNT(*) FROM [LocustLeaders] AS [l] WHERE [f].[Id] = [l].[LocustHordeId]) AS [LeadersCount] FROM [Factions] AS [f] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(bool async) @@ -3120,10 +3612,12 @@ public override async Task Collection_navigation_access_on_derived_entity_using_ await base.Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(async); AssertSql( - @"SELECT [f].[Name], [l].[Name] AS [LeaderName] +""" +SELECT [f].[Name], [l].[Name] AS [LeaderName] FROM [Factions] AS [f] INNER JOIN [LocustLeaders] AS [l] ON [f].[Id] = [l].[LocustHordeId] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Include_on_derived_entity_using_OfType(bool async) @@ -3131,7 +3625,8 @@ public override async Task Include_on_derived_entity_using_OfType(bool async) await base.Include_on_derived_entity_using_OfType(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] @@ -3139,7 +3634,8 @@ FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [LocustLeaders] AS [l0] ON [f].[Id] = [l0].[LocustHordeId] -ORDER BY [f].[Name], [f].[Id], [t].[Name]"); +ORDER BY [f].[Name], [f].[Id], [t].[Name] +"""); } public override async Task Distinct_on_subquery_doesnt_get_lifted(bool async) @@ -3147,11 +3643,13 @@ public override async Task Distinct_on_subquery_doesnt_get_lifted(bool async) await base.Distinct_on_subquery_doesnt_get_lifted(async); AssertSql( - @"SELECT [t].[HasSoulPatch] +""" +SELECT [t].[HasSoulPatch] FROM ( SELECT DISTINCT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -) AS [t]"); +) AS [t] +"""); } public override async Task Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(bool async) @@ -3159,8 +3657,10 @@ public override async Task Cast_result_operator_on_subquery_is_properly_lifted_t await base.Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(async); AssertSql( - @"SELECT [f].[Eradicated] -FROM [Factions] AS [f]"); +""" +SELECT [f].[Eradicated] +FROM [Factions] AS [f] +"""); } public override async Task Comparing_two_collection_navigations_composite_key(bool async) @@ -3168,11 +3668,13 @@ public override async Task Comparing_two_collection_navigations_composite_key(bo await base.Comparing_two_collection_navigations_composite_key(async); AssertSql( - @"SELECT [g].[Nickname] AS [Nickname1], [g0].[Nickname] AS [Nickname2] +""" +SELECT [g].[Nickname] AS [Nickname1], [g0].[Nickname] AS [Nickname2] FROM [Gears] AS [g] CROSS JOIN [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[Nickname] AND [g].[SquadId] = [g0].[SquadId] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Comparing_two_collection_navigations_inheritance(bool async) @@ -3180,7 +3682,8 @@ public override async Task Comparing_two_collection_navigations_inheritance(bool await base.Comparing_two_collection_navigations_inheritance(async); AssertSql( - @"SELECT [f].[Name], [t].[Nickname] +""" +SELECT [f].[Name], [t].[Nickname] FROM [Factions] AS [f] CROSS JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -3193,7 +3696,8 @@ FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t0] ON [f].[CommanderName] = [t0].[Name] LEFT JOIN [Gears] AS [g0] ON [t0].[DefeatedByNickname] = [g0].[Nickname] AND [t0].[DefeatedBySquadId] = [g0].[SquadId] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [g0].[Nickname] = [t].[Nickname] AND [g0].[SquadId] = [t].[SquadId]"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [g0].[Nickname] = [t].[Nickname] AND [g0].[SquadId] = [t].[SquadId] +"""); } public override async Task Comparing_entities_using_Equals_inheritance(bool async) @@ -3201,7 +3705,8 @@ public override async Task Comparing_entities_using_Equals_inheritance(bool asyn await base.Comparing_entities_using_Equals_inheritance(async); AssertSql( - @"SELECT [g].[Nickname] AS [Nickname1], [t].[Nickname] AS [Nickname2] +""" +SELECT [g].[Nickname] AS [Nickname1], [t].[Nickname] AS [Nickname2] FROM [Gears] AS [g] CROSS JOIN ( SELECT [g0].[Nickname], [g0].[SquadId] @@ -3209,7 +3714,8 @@ FROM [Gears] AS [g0] WHERE [g0].[Discriminator] = N'Officer' ) AS [t] WHERE [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId] -ORDER BY [g].[Nickname], [t].[Nickname]"); +ORDER BY [g].[Nickname], [t].[Nickname] +"""); } public override async Task Contains_on_nullable_array_produces_correct_sql(bool async) @@ -3217,10 +3723,12 @@ public override async Task Contains_on_nullable_array_produces_correct_sql(bool await base.Contains_on_nullable_array_produces_correct_sql(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] LEFT JOIN [Cities] AS [c] ON [g].[AssignedCityName] = [c].[Name] -WHERE [g].[SquadId] < 2 AND ([c].[Name] = N'Ephyra' OR ([c].[Name] IS NULL))"); +WHERE [g].[SquadId] < 2 AND ([c].[Name] = N'Ephyra' OR ([c].[Name] IS NULL)) +"""); } public override async Task Optional_navigation_with_collection_composite_key(bool async) @@ -3228,13 +3736,15 @@ public override async Task Optional_navigation_with_collection_composite_key(boo await base.Optional_navigation_with_collection_composite_key(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE [g].[Discriminator] = N'Officer' AND ( SELECT COUNT(*) FROM [Gears] AS [g0] - WHERE ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL) AND [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] AND [g0].[Nickname] = N'Dom') > 0"); + WHERE ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL) AND [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] AND [g0].[Nickname] = N'Dom') > 0 +"""); } public override async Task Select_null_conditional_with_inheritance(bool async) @@ -3242,11 +3752,13 @@ public override async Task Select_null_conditional_with_inheritance(bool async) await base.Select_null_conditional_with_inheritance(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [f].[CommanderName] IS NOT NULL THEN [f].[CommanderName] ELSE NULL END -FROM [Factions] AS [f]"); +FROM [Factions] AS [f] +"""); } public override async Task Select_null_conditional_with_inheritance_negative(bool async) @@ -3254,11 +3766,13 @@ public override async Task Select_null_conditional_with_inheritance_negative(boo await base.Select_null_conditional_with_inheritance_negative(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [f].[CommanderName] IS NOT NULL THEN [f].[Eradicated] ELSE NULL END -FROM [Factions] AS [f]"); +FROM [Factions] AS [f] +"""); } public override async Task Project_collection_navigation_with_inheritance1(bool async) @@ -3266,7 +3780,8 @@ public override async Task Project_collection_navigation_with_inheritance1(bool await base.Project_collection_navigation_with_inheritance1(async); AssertSql( - @"SELECT [f].[Id], [t].[Name], [f0].[Id], [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] +""" +SELECT [f].[Id], [t].[Name], [f0].[Id], [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name] @@ -3275,7 +3790,8 @@ FROM [LocustLeaders] AS [l] ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [Factions] AS [f0] ON [t].[Name] = [f0].[CommanderName] LEFT JOIN [LocustLeaders] AS [l0] ON [f0].[Id] = [l0].[LocustHordeId] -ORDER BY [f].[Id], [t].[Name], [f0].[Id]"); +ORDER BY [f].[Id], [t].[Name], [f0].[Id] +"""); } public override async Task Project_collection_navigation_with_inheritance2(bool async) @@ -3283,7 +3799,8 @@ public override async Task Project_collection_navigation_with_inheritance2(bool await base.Project_collection_navigation_with_inheritance2(async); AssertSql( - @"SELECT [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[DefeatedByNickname], [l].[DefeatedBySquadId] @@ -3292,7 +3809,8 @@ FROM [LocustLeaders] AS [l] ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [Gears] AS [g] ON [t].[DefeatedByNickname] = [g].[Nickname] AND [t].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Gears] AS [g0] ON ([g].[Nickname] = [g0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Project_collection_navigation_with_inheritance3(bool async) @@ -3300,7 +3818,8 @@ public override async Task Project_collection_navigation_with_inheritance3(bool await base.Project_collection_navigation_with_inheritance3(async); AssertSql( - @"SELECT [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[DefeatedByNickname], [l].[DefeatedBySquadId] @@ -3309,7 +3828,8 @@ FROM [LocustLeaders] AS [l] ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [Gears] AS [g] ON [t].[DefeatedByNickname] = [g].[Nickname] AND [t].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Gears] AS [g0] ON ([g].[Nickname] = [g0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Include_reference_on_derived_type_using_string(bool async) @@ -3317,9 +3837,11 @@ public override async Task Include_reference_on_derived_type_using_string(bool a await base.Include_reference_on_derived_type_using_string(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [LocustLeaders] AS [l] -LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_string_nested1(bool async) @@ -3327,10 +3849,12 @@ public override async Task Include_reference_on_derived_type_using_string_nested await base.Include_reference_on_derived_type_using_string_nested1(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [LocustLeaders] AS [l] LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] -LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] +"""); } public override async Task Include_reference_on_derived_type_using_string_nested2(bool async) @@ -3338,7 +3862,8 @@ public override async Task Include_reference_on_derived_type_using_string_nested await base.Include_reference_on_derived_type_using_string_nested2(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Name], [t].[Location], [t].[Nation] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Name], [t].[Location], [t].[Nation] FROM [LocustLeaders] AS [l] LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN ( @@ -3346,7 +3871,8 @@ LEFT JOIN ( FROM [Gears] AS [g0] INNER JOIN [Cities] AS [c] ON [g0].[CityOfBirthName] = [c].[Name] ) AS [t] ON ([g].[Nickname] = [t].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([t].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [l].[Name], [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId]"); +ORDER BY [l].[Name], [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_lambda(bool async) @@ -3354,9 +3880,11 @@ public override async Task Include_reference_on_derived_type_using_lambda(bool a await base.Include_reference_on_derived_type_using_lambda(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [LocustLeaders] AS [l] -LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_lambda_with_soft_cast(bool async) @@ -3364,9 +3892,11 @@ public override async Task Include_reference_on_derived_type_using_lambda_with_s await base.Include_reference_on_derived_type_using_lambda_with_soft_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [LocustLeaders] AS [l] -LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_lambda_with_tracking(bool async) @@ -3374,9 +3904,11 @@ public override async Task Include_reference_on_derived_type_using_lambda_with_t await base.Include_reference_on_derived_type_using_lambda_with_tracking(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [LocustLeaders] AS [l] -LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] +"""); } public override async Task Include_collection_on_derived_type_using_string(bool async) @@ -3384,10 +3916,12 @@ public override async Task Include_collection_on_derived_type_using_string(bool await base.Include_collection_on_derived_type_using_string(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Include_collection_on_derived_type_using_lambda(bool async) @@ -3395,10 +3929,12 @@ public override async Task Include_collection_on_derived_type_using_lambda(bool await base.Include_collection_on_derived_type_using_lambda(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Include_collection_on_derived_type_using_lambda_with_soft_cast(bool async) @@ -3406,10 +3942,12 @@ public override async Task Include_collection_on_derived_type_using_lambda_with_ await base.Include_collection_on_derived_type_using_lambda_with_soft_cast(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Include_base_navigation_on_derived_entity(bool async) @@ -3417,11 +3955,13 @@ public override async Task Include_base_navigation_on_derived_entity(bool async) await base.Include_base_navigation_on_derived_entity(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task ThenInclude_collection_on_derived_after_base_reference(bool async) @@ -3429,11 +3969,13 @@ public override async Task ThenInclude_collection_on_derived_after_base_referenc await base.ThenInclude_collection_on_derived_after_base_reference(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId] +"""); } public override async Task ThenInclude_collection_on_derived_after_derived_reference(bool async) @@ -3441,7 +3983,8 @@ public override async Task ThenInclude_collection_on_derived_after_derived_refer await base.ThenInclude_collection_on_derived_after_derived_reference(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] @@ -3450,7 +3993,8 @@ FROM [LocustLeaders] AS [l] ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [Gears] AS [g] ON [t].[DefeatedByNickname] = [g].[Nickname] AND [t].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Gears] AS [g0] ON ([g].[Nickname] = [g0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task ThenInclude_collection_on_derived_after_derived_collection(bool async) @@ -3458,14 +4002,16 @@ public override async Task ThenInclude_collection_on_derived_after_derived_colle await base.ThenInclude_collection_on_derived_after_derived_collection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Nickname0], [t].[SquadId0], [t].[AssignedCityName0], [t].[CityOfBirthName0], [t].[Discriminator0], [t].[FullName0], [t].[HasSoulPatch0], [t].[LeaderNickname0], [t].[LeaderSquadId0], [t].[Rank0] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Nickname0], [t].[SquadId0], [t].[AssignedCityName0], [t].[CityOfBirthName0], [t].[Discriminator0], [t].[FullName0], [t].[HasSoulPatch0], [t].[LeaderNickname0], [t].[LeaderSquadId0], [t].[Rank0] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g1].[Nickname] AS [Nickname0], [g1].[SquadId] AS [SquadId0], [g1].[AssignedCityName] AS [AssignedCityName0], [g1].[CityOfBirthName] AS [CityOfBirthName0], [g1].[Discriminator] AS [Discriminator0], [g1].[FullName] AS [FullName0], [g1].[HasSoulPatch] AS [HasSoulPatch0], [g1].[LeaderNickname] AS [LeaderNickname0], [g1].[LeaderSquadId] AS [LeaderSquadId0], [g1].[Rank] AS [Rank0] FROM [Gears] AS [g0] LEFT JOIN [Gears] AS [g1] ON [g0].[Nickname] = [g1].[LeaderNickname] AND [g0].[SquadId] = [g1].[LeaderSquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[Nickname0]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[Nickname0] +"""); } public override async Task ThenInclude_reference_on_derived_after_derived_collection(bool async) @@ -3473,14 +4019,16 @@ public override async Task ThenInclude_reference_on_derived_after_derived_collec await base.ThenInclude_reference_on_derived_after_derived_collection(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator0], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator0], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator] AS [Discriminator0], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [LocustLeaders] AS [l] LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] ) AS [t] ON [f].[Id] = [t].[LocustHordeId] -ORDER BY [f].[Id], [t].[Name], [t].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [t].[Nickname] +"""); } public override async Task Multiple_derived_included_on_one_method(bool async) @@ -3488,7 +4036,8 @@ public override async Task Multiple_derived_included_on_one_method(bool async) await base.Multiple_derived_included_on_one_method(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] @@ -3497,7 +4046,8 @@ FROM [LocustLeaders] AS [l] ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [Gears] AS [g] ON [t].[DefeatedByNickname] = [g].[Nickname] AND [t].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Gears] AS [g0] ON ([g].[Nickname] = [g0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Include_on_derived_multi_level(bool async) @@ -3505,7 +4055,8 @@ public override async Task Include_on_derived_multi_level(bool async) await base.Include_on_derived_multi_level(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Id], [t].[Banner], [t].[Banner5], [t].[InternalNumber], [t].[Name], [t].[SquadId0], [t].[MissionId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Id], [t].[Banner], [t].[Banner5], [t].[InternalNumber], [t].[Name], [t].[SquadId0], [t].[MissionId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s0].[SquadId] AS [SquadId0], [s0].[MissionId] @@ -3513,7 +4064,8 @@ FROM [Gears] AS [g0] INNER JOIN [Squads] AS [s] ON [g0].[SquadId] = [s].[Id] LEFT JOIN [SquadMissions] AS [s0] ON [s].[Id] = [s0].[SquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[Id], [t].[SquadId0]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[Id], [t].[SquadId0] +"""); } public override async Task Projecting_nullable_bool_in_conditional_works(bool async) @@ -3521,12 +4073,14 @@ public override async Task Projecting_nullable_bool_in_conditional_works(bool as await base.Projecting_nullable_bool_in_conditional_works(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL) THEN [g].[HasSoulPatch] ELSE CAST(0 AS bit) END AS [Prop] FROM [Tags] AS [t] -LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Enum_ToString_is_client_eval(bool async) @@ -3534,9 +4088,11 @@ public override async Task Enum_ToString_is_client_eval(bool async) await base.Enum_ToString_is_client_eval(async); AssertSql( - @"SELECT [g].[Rank] +""" +SELECT [g].[Rank] FROM [Gears] AS [g] -ORDER BY [g].[SquadId], [g].[Nickname]"); +ORDER BY [g].[SquadId], [g].[Nickname] +"""); } public override async Task ToString_boolean_property_non_nullable(bool async) @@ -3544,11 +4100,13 @@ public override async Task ToString_boolean_property_non_nullable(bool async) await base.ToString_boolean_property_non_nullable(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN N'False' ELSE N'True' END -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task ToString_boolean_property_nullable(bool async) @@ -3556,12 +4114,14 @@ public override async Task ToString_boolean_property_nullable(bool async) await base.ToString_boolean_property_nullable(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [f].[Eradicated] = CAST(0 AS bit) THEN N'False' WHEN [f].[Eradicated] = CAST(1 AS bit) THEN N'True' ELSE NULL END -FROM [Factions] AS [f]"); +FROM [Factions] AS [f] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToList(bool async) @@ -3569,11 +4129,13 @@ public override async Task Correlated_collections_naked_navigation_with_ToList(b await base.Correlated_collections_naked_navigation_with_ToList(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(bool async) @@ -3581,13 +4143,15 @@ public override async Task Correlated_collections_naked_navigation_with_ToList_f await base.Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName]) FROM [Gears] AS [g] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToArray(bool async) @@ -3595,11 +4159,13 @@ public override async Task Correlated_collections_naked_navigation_with_ToArray( await base.Correlated_collections_naked_navigation_with_ToArray(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection(bool async) @@ -3607,7 +4173,8 @@ public override async Task Correlated_collections_basic_projection(bool async) await base.Correlated_collections_basic_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -3615,7 +4182,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection_explicit_to_list(bool async) @@ -3623,7 +4191,8 @@ public override async Task Correlated_collections_basic_projection_explicit_to_l await base.Correlated_collections_basic_projection_explicit_to_list(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -3631,7 +4200,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection_explicit_to_array(bool async) @@ -3639,7 +4209,8 @@ public override async Task Correlated_collections_basic_projection_explicit_to_a await base.Correlated_collections_basic_projection_explicit_to_array(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -3647,7 +4218,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection_ordered(bool async) @@ -3655,7 +4227,8 @@ public override async Task Correlated_collections_basic_projection_ordered(bool await base.Correlated_collections_basic_projection_ordered(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -3663,7 +4236,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name] DESC"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name] DESC +"""); } public override async Task Correlated_collections_basic_projection_composite_key(bool async) @@ -3671,7 +4245,8 @@ public override async Task Correlated_collections_basic_projection_composite_key await base.Correlated_collections_basic_projection_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[FullName], [t].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[FullName], [t].[SquadId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[FullName], [g0].[SquadId], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -3679,7 +4254,8 @@ FROM [Gears] AS [g0] WHERE [g0].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' AND [g].[Nickname] <> N'Foo' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collections_basic_projecting_single_property(bool async) @@ -3687,7 +4263,8 @@ public override async Task Correlated_collections_basic_projecting_single_proper await base.Correlated_collections_basic_projecting_single_property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[Id] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Name], [w].[Id], [w].[OwnerFullName] @@ -3695,7 +4272,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projecting_constant(bool async) @@ -3703,7 +4281,8 @@ public override async Task Correlated_collections_basic_projecting_constant(bool await base.Correlated_collections_basic_projecting_constant(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] FROM [Gears] AS [g] LEFT JOIN ( SELECT N'BFG' AS [c], [w].[Id], [w].[OwnerFullName] @@ -3711,7 +4290,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projecting_constant_bool(bool async) @@ -3719,7 +4299,8 @@ public override async Task Correlated_collections_basic_projecting_constant_bool await base.Correlated_collections_basic_projecting_constant_bool(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] FROM [Gears] AS [g] LEFT JOIN ( SELECT CAST(1 AS bit) AS [c], [w].[Id], [w].[OwnerFullName] @@ -3727,7 +4308,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_projection_of_collection_thru_navigation(bool async) @@ -3735,7 +4317,8 @@ public override async Task Correlated_collections_projection_of_collection_thru_ await base.Correlated_collections_projection_of_collection_thru_navigation(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId], [t].[MissionId] +""" +SELECT [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId], [t].[MissionId] FROM [Gears] AS [g] INNER JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] LEFT JOIN ( @@ -3744,7 +4327,8 @@ FROM [SquadMissions] AS [s0] WHERE [s0].[MissionId] <> 17 ) AS [t] ON [s].[Id] = [t].[SquadId] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId]"); +ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId] +"""); } public override async Task Correlated_collections_project_anonymous_collection_result(bool async) @@ -3752,11 +4336,13 @@ public override async Task Correlated_collections_project_anonymous_collection_r await base.Correlated_collections_project_anonymous_collection_result(async); AssertSql( - @"SELECT [s].[Name], [s].[Id], [g].[FullName], [g].[Rank], [g].[Nickname], [g].[SquadId] +""" +SELECT [s].[Name], [s].[Id], [g].[FullName], [g].[Rank], [g].[Nickname], [g].[SquadId] FROM [Squads] AS [s] LEFT JOIN [Gears] AS [g] ON [s].[Id] = [g].[SquadId] WHERE [s].[Id] < 20 -ORDER BY [s].[Id], [g].[Nickname]"); +ORDER BY [s].[Id], [g].[Nickname] +"""); } public override async Task Correlated_collections_nested(bool async) @@ -3764,7 +4350,8 @@ public override async Task Correlated_collections_nested(bool async) await base.Correlated_collections_nested(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] FROM [Squads] AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0] @@ -3777,7 +4364,8 @@ WHERE [s1].[SquadId] < 7 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 42 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Correlated_collections_nested_mixed_streaming_with_buffer1(bool async) @@ -3785,7 +4373,8 @@ public override async Task Correlated_collections_nested_mixed_streaming_with_bu await base.Correlated_collections_nested_mixed_streaming_with_buffer1(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] FROM [Squads] AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0] @@ -3798,7 +4387,8 @@ WHERE [s1].[SquadId] < 2 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 3 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Correlated_collections_nested_mixed_streaming_with_buffer2(bool async) @@ -3806,7 +4396,8 @@ public override async Task Correlated_collections_nested_mixed_streaming_with_bu await base.Correlated_collections_nested_mixed_streaming_with_buffer2(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] FROM [Squads] AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0] @@ -3819,7 +4410,8 @@ WHERE [s1].[SquadId] < 7 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 42 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Correlated_collections_nested_with_custom_ordering(bool async) @@ -3827,7 +4419,8 @@ public override async Task Correlated_collections_nested_with_custom_ordering(bo await base.Correlated_collections_nested_with_custom_ordering(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [g0].[Rank], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -3840,7 +4433,8 @@ FROM [Weapons] AS [w] WHERE [g0].[FullName] <> N'Foo' ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[HasSoulPatch] DESC, [g].[Nickname], [g].[SquadId], [t0].[Rank], [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic]"); +ORDER BY [g].[HasSoulPatch] DESC, [g].[Nickname], [g].[SquadId], [t0].[Rank], [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic] +"""); } public override async Task Correlated_collections_same_collection_projected_multiple_times(bool async) @@ -3848,7 +4442,8 @@ public override async Task Correlated_collections_same_collection_projected_mult await base.Correlated_collections_same_collection_projected_multiple_times(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -3860,7 +4455,8 @@ LEFT JOIN ( FROM [Weapons] AS [w0] WHERE [w0].[IsAutomatic] = CAST(1 AS bit) ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Correlated_collections_similar_collection_projected_multiple_times(bool async) @@ -3868,7 +4464,8 @@ public override async Task Correlated_collections_similar_collection_projected_m await base.Correlated_collections_similar_collection_projected_multiple_times(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -3880,7 +4477,8 @@ LEFT JOIN ( FROM [Weapons] AS [w0] WHERE [w0].[IsAutomatic] = CAST(0 AS bit) ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Rank], [g].[Nickname], [g].[SquadId], [t].[OwnerFullName], [t].[Id], [t0].[IsAutomatic]"); +ORDER BY [g].[Rank], [g].[Nickname], [g].[SquadId], [t].[OwnerFullName], [t].[Id], [t0].[IsAutomatic] +"""); } public override async Task Correlated_collections_different_collections_projected(bool async) @@ -3888,7 +4486,8 @@ public override async Task Correlated_collections_different_collections_projecte await base.Correlated_collections_different_collections_projected(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic], [t].[Id], [g0].[Nickname], [g0].[Rank], [g0].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic], [t].[Id], [g0].[Nickname], [g0].[Rank], [g0].[SquadId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Name], [w].[IsAutomatic], [w].[Id], [w].[OwnerFullName] @@ -3897,7 +4496,8 @@ FROM [Weapons] AS [w] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g0].[FullName], [g0].[Nickname]"); +ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g0].[FullName], [g0].[Nickname] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(bool async) @@ -3905,14 +4505,16 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE [g].[Discriminator] = N'Officer' AND EXISTS ( SELECT 1 FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(bool async) @@ -3920,7 +4522,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Gears] AS [g1] ON [t].[GearNickName] = [g1].[Nickname] AND [t].[GearSquadId] = [g1].[SquadId] @@ -3933,7 +4536,8 @@ FROM [Weapons] AS [w] SELECT 1 FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[IsAutomatic], [t0].[Nickname] DESC, [t0].[Id]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[IsAutomatic], [t0].[Nickname] DESC, [t0].[Id] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings( @@ -3942,7 +4546,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Gears] AS [g1] ON [t].[GearNickName] = [g1].[Nickname] AND [t].[GearSquadId] = [g1].[SquadId] @@ -3955,7 +4560,8 @@ FROM [Weapons] AS [w] SELECT 1 FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[IsAutomatic], [t0].[Nickname] DESC, [t0].[Id]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[IsAutomatic], [t0].[Nickname] DESC, [t0].[Id] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings( @@ -3964,7 +4570,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Gears] AS [g1] ON [t].[GearNickName] = [g1].[Nickname] AND [t].[GearSquadId] = [g1].[SquadId] @@ -3980,7 +4587,8 @@ FROM [Weapons] AS [w] SELECT 1 FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id] DESC, [t0].[c], [t0].[Nickname]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id] DESC, [t0].[c], [t0].[Nickname] +"""); } public override async Task Correlated_collections_multiple_nested_complex_collections(bool async) @@ -3988,7 +4596,8 @@ public override async Task Correlated_collections_multiple_nested_complex_collec await base.Correlated_collections_multiple_nested_complex_collections(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Name], [t0].[IsAutomatic], [t0].[Id1], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00], [t2].[Id], [t2].[AmmunitionType], [t2].[IsAutomatic], [t2].[Name], [t2].[OwnerFullName], [t2].[SynergyWithId], [t2].[Nickname], [t2].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Name], [t0].[IsAutomatic], [t0].[Id1], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00], [t2].[Id], [t2].[AmmunitionType], [t2].[IsAutomatic], [t2].[Name], [t2].[OwnerFullName], [t2].[SynergyWithId], [t2].[Nickname], [t2].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Gears] AS [g1] ON [t].[GearNickName] = [g1].[Nickname] AND [t].[GearSquadId] = [g1].[SquadId] @@ -4015,7 +4624,8 @@ FROM [Weapons] AS [w1] SELECT 1 FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Rank], [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic0], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Id1], [t0].[Nickname00], [t0].[SquadId00], [t2].[IsAutomatic], [t2].[Nickname] DESC, [t2].[Id]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Rank], [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic0], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Id1], [t0].[Nickname00], [t0].[SquadId00], [t2].[IsAutomatic], [t2].[Nickname] DESC, [t2].[Id] +"""); } public override async Task Correlated_collections_inner_subquery_selector_references_outer_qsre(bool async) @@ -4023,7 +4633,8 @@ public override async Task Correlated_collections_inner_subquery_selector_refere await base.Correlated_collections_inner_subquery_selector_references_outer_qsre(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] FROM [Gears] AS [g] OUTER APPLY ( SELECT [g0].[FullName] AS [ReportName], [g].[FullName] AS [OfficerName], [g0].[Nickname], [g0].[SquadId] @@ -4031,7 +4642,8 @@ FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] ) AS [t] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collections_inner_subquery_predicate_references_outer_qsre(bool async) @@ -4039,7 +4651,8 @@ public override async Task Correlated_collections_inner_subquery_predicate_refer await base.Correlated_collections_inner_subquery_predicate_references_outer_qsre(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[Nickname], [t].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[Nickname], [t].[SquadId] FROM [Gears] AS [g] OUTER APPLY ( SELECT [g0].[FullName] AS [ReportName], [g0].[Nickname], [g0].[SquadId] @@ -4047,7 +4660,8 @@ FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] AND [g].[FullName] <> N'Foo' ) AS [t] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collections_nested_inner_subquery_references_outer_qsre_one_level_up(bool async) @@ -4055,7 +4669,8 @@ public override async Task Correlated_collections_nested_inner_subquery_referenc await base.Correlated_collections_nested_inner_subquery_references_outer_qsre_one_level_up(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [t].[Name], [t].[Nickname] AS [Nickname0], [t].[Id], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -4068,7 +4683,8 @@ FROM [Weapons] AS [w] WHERE [g0].[FullName] <> N'Foo' ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collections_nested_inner_subquery_references_outer_qsre_two_levels_up(bool async) @@ -4076,7 +4692,8 @@ public override async Task Correlated_collections_nested_inner_subquery_referenc await base.Correlated_collections_nested_inner_subquery_references_outer_qsre_two_levels_up(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] FROM [Gears] AS [g] OUTER APPLY ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [t].[Name], [t].[Nickname] AS [Nickname0], [t].[Id] @@ -4089,7 +4706,8 @@ FROM [Weapons] AS [w] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] AND [g0].[FullName] <> N'Foo' ) AS [t0] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collections_on_select_many(bool async) @@ -4097,7 +4715,8 @@ public override async Task Correlated_collections_on_select_many(bool async) await base.Correlated_collections_on_select_many(async); AssertSql( - @"SELECT [g].[Nickname], [s].[Name], [g].[SquadId], [s].[Id], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank] +""" +SELECT [g].[Nickname], [s].[Name], [g].[SquadId], [s].[Id], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank] FROM [Gears] AS [g] CROSS JOIN [Squads] AS [s] LEFT JOIN ( @@ -4111,7 +4730,8 @@ FROM [Gears] AS [g0] WHERE [g0].[HasSoulPatch] = CAST(0 AS bit) ) AS [t0] ON [s].[Id] = [t0].[SquadId] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g].[Nickname], [s].[Id] DESC, [g].[SquadId], [t].[Id], [t0].[Nickname]"); +ORDER BY [g].[Nickname], [s].[Id] DESC, [g].[SquadId], [t].[Id], [t0].[Nickname] +"""); } public override async Task Correlated_collections_with_Skip(bool async) @@ -4119,7 +4739,8 @@ public override async Task Correlated_collections_with_Skip(bool async) await base.Correlated_collections_with_Skip(async); AssertSql( - @"SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank] +""" +SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] @@ -4129,7 +4750,8 @@ FROM [Gears] AS [g] ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname] +"""); } public override async Task Correlated_collections_with_Take(bool async) @@ -4137,7 +4759,8 @@ public override async Task Correlated_collections_with_Take(bool async) await base.Correlated_collections_with_Take(async); AssertSql( - @"SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank] +""" +SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] @@ -4147,7 +4770,8 @@ FROM [Gears] AS [g] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname] +"""); } public override async Task Correlated_collections_with_Distinct(bool async) @@ -4155,7 +4779,8 @@ public override async Task Correlated_collections_with_Distinct(bool async) await base.Correlated_collections_with_Distinct(async); AssertSql( - @"SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank] +""" +SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank] FROM [Squads] AS [s] OUTER APPLY ( SELECT DISTINCT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] @@ -4167,7 +4792,8 @@ ORDER BY [g].[Nickname] OFFSET 0 ROWS ) AS [t] ) AS [t0] -ORDER BY [s].[Name], [s].[Id], [t0].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t0].[Nickname] +"""); } public override async Task Correlated_collections_with_FirstOrDefault(bool async) @@ -4175,13 +4801,15 @@ public override async Task Correlated_collections_with_FirstOrDefault(bool async await base.Correlated_collections_with_FirstOrDefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [g].[FullName] FROM [Gears] AS [g] WHERE [s].[Id] = [g].[SquadId] ORDER BY [g].[Nickname]) FROM [Squads] AS [s] -ORDER BY [s].[Name]"); +ORDER BY [s].[Name] +"""); } public override async Task Correlated_collections_on_left_join_with_predicate(bool async) @@ -4189,12 +4817,14 @@ public override async Task Correlated_collections_on_left_join_with_predicate(bo await base.Correlated_collections_on_left_join_with_predicate(async); AssertSql( - @"SELECT [g].[Nickname], [t].[Id], [g].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [g].[Nickname], [t].[Id], [g].[SquadId], [w].[Name], [w].[Id] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_on_left_join_with_null_value(bool async) @@ -4202,11 +4832,13 @@ public override async Task Correlated_collections_on_left_join_with_null_value(b await base.Correlated_collections_on_left_join_with_null_value(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Note], [t].[Id], [g].[Nickname], [g].[SquadId]"); +ORDER BY [t].[Note], [t].[Id], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_left_join_with_self_reference(bool async) @@ -4214,7 +4846,8 @@ public override async Task Correlated_collections_left_join_with_self_reference( await base.Correlated_collections_left_join_with_self_reference(async); AssertSql( - @"SELECT [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[FullName], [g0].[Nickname], [g0].[SquadId] +""" +SELECT [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[FullName], [g0].[Nickname], [g0].[SquadId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -4222,7 +4855,8 @@ FROM [Gears] AS [g] WHERE [g].[Discriminator] = N'Officer' ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Gears] AS [g0] ON ([t0].[Nickname] = [g0].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[Nickname] +"""); } public override async Task Correlated_collections_deeply_nested_left_join(bool async) @@ -4230,7 +4864,8 @@ public override async Task Correlated_collections_deeply_nested_left_join(bool a await base.Correlated_collections_deeply_nested_left_join(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] @@ -4244,7 +4879,8 @@ FROM [Weapons] AS [w] ) AS [t1] ON [g0].[FullName] = [t1].[OwnerFullName] WHERE [g0].[HasSoulPatch] = CAST(1 AS bit) ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [t].[Note], [g].[Nickname] DESC, [t].[Id], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Note], [g].[Nickname] DESC, [t].[Id], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(bool async) @@ -4252,7 +4888,8 @@ public override async Task Correlated_collections_from_left_join_with_additional await base.Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(async); AssertSql( - @"SELECT [w].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t0].[Rank] +""" +SELECT [w].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t0].[Rank] FROM [Weapons] AS [w] LEFT JOIN [Gears] AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] @@ -4265,7 +4902,8 @@ FROM [Weapons] AS [w0] WHERE [w0].[IsAutomatic] = CAST(0 AS bit) ) AS [t] ON [g0].[FullName] = [t].[OwnerFullName] ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [w].[Name], [w].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[FullName] DESC, [t0].[Nickname], [t0].[SquadId], [t0].[Id]"); +ORDER BY [w].[Name], [w].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[FullName] DESC, [t0].[Nickname], [t0].[SquadId], [t0].[Id] +"""); } public override async Task Correlated_collections_complex_scenario1(bool async) @@ -4273,7 +4911,8 @@ public override async Task Correlated_collections_complex_scenario1(bool async) await base.Correlated_collections_complex_scenario1(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0], [t].[HasSoulPatch], [t].[SquadId0] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0], [t].[HasSoulPatch], [t].[SquadId0] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [g0].[Nickname], [g0].[SquadId], [s].[Id] AS [Id0], [g1].[Nickname] AS [Nickname0], [g1].[HasSoulPatch], [g1].[SquadId] AS [SquadId0], [w].[OwnerFullName] @@ -4282,7 +4921,8 @@ FROM [Weapons] AS [w] LEFT JOIN [Squads] AS [s] ON [g0].[SquadId] = [s].[Id] LEFT JOIN [Gears] AS [g1] ON [s].[Id] = [g1].[SquadId] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0] +"""); } public override async Task Correlated_collections_complex_scenario2(bool async) @@ -4290,7 +4930,8 @@ public override async Task Correlated_collections_complex_scenario2(bool async) await base.Correlated_collections_complex_scenario2(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [t].[Id], [t].[Nickname] AS [Nickname0], [t].[SquadId] AS [SquadId0], [t].[Id0], [t].[Nickname0] AS [Nickname00], [t].[HasSoulPatch], [t].[SquadId0] AS [SquadId00], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -4304,7 +4945,8 @@ FROM [Weapons] AS [w] ) AS [t] ON [g0].[FullName] = [t].[OwnerFullName] ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00] +"""); } public override async Task Correlated_collections_with_funky_orderby_complex_scenario1(bool async) @@ -4312,7 +4954,8 @@ public override async Task Correlated_collections_with_funky_orderby_complex_sce await base.Correlated_collections_with_funky_orderby_complex_scenario1(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0], [t].[HasSoulPatch], [t].[SquadId0] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0], [t].[HasSoulPatch], [t].[SquadId0] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [g0].[Nickname], [g0].[SquadId], [s].[Id] AS [Id0], [g1].[Nickname] AS [Nickname0], [g1].[HasSoulPatch], [g1].[SquadId] AS [SquadId0], [w].[OwnerFullName] @@ -4321,7 +4964,8 @@ FROM [Weapons] AS [w] LEFT JOIN [Squads] AS [s] ON [g0].[SquadId] = [s].[Id] LEFT JOIN [Gears] AS [g1] ON [s].[Id] = [g1].[SquadId] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] -ORDER BY [g].[FullName], [g].[Nickname] DESC, [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0]"); +ORDER BY [g].[FullName], [g].[Nickname] DESC, [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0] +"""); } public override async Task Correlated_collections_with_funky_orderby_complex_scenario2(bool async) @@ -4329,7 +4973,8 @@ public override async Task Correlated_collections_with_funky_orderby_complex_sce await base.Correlated_collections_with_funky_orderby_complex_scenario2(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [t].[Id], [t].[Nickname] AS [Nickname0], [t].[SquadId] AS [SquadId0], [t].[Id0], [t].[Nickname0] AS [Nickname00], [t].[HasSoulPatch], [t].[SquadId0] AS [SquadId00], [g0].[HasSoulPatch] AS [HasSoulPatch0], [t].[IsAutomatic], [t].[Name], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -4343,7 +4988,8 @@ FROM [Weapons] AS [w] ) AS [t] ON [g0].[FullName] = [t].[OwnerFullName] ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[HasSoulPatch], [g].[LeaderNickname], [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[HasSoulPatch0] DESC, [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic], [t0].[Name] DESC, [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00]"); +ORDER BY [g].[HasSoulPatch], [g].[LeaderNickname], [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[HasSoulPatch0] DESC, [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic], [t0].[Name] DESC, [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00] +"""); } public override async Task Correlated_collection_with_top_level_FirstOrDefault(bool async) @@ -4351,14 +4997,16 @@ public override async Task Correlated_collection_with_top_level_FirstOrDefault(b await base.Correlated_collection_with_top_level_FirstOrDefault(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] ORDER BY [g].[Nickname] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collection_with_top_level_Count(bool async) @@ -4366,8 +5014,10 @@ public override async Task Correlated_collection_with_top_level_Count(bool async await base.Correlated_collection_with_top_level_Count(async); AssertSql( - @"SELECT COUNT(*) -FROM [Gears] AS [g]"); +""" +SELECT COUNT(*) +FROM [Gears] AS [g] +"""); } public override async Task Correlated_collection_with_top_level_Last_with_orderby_on_outer(bool async) @@ -4375,14 +5025,16 @@ public override async Task Correlated_collection_with_top_level_Last_with_orderb await base.Correlated_collection_with_top_level_Last_with_orderby_on_outer(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] ORDER BY [g].[FullName] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[FullName], [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[FullName], [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collection_with_top_level_Last_with_order_by_on_inner(bool async) @@ -4390,14 +5042,16 @@ public override async Task Correlated_collection_with_top_level_Last_with_order_ await base.Correlated_collection_with_top_level_Last_with_order_by_on_inner(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] ORDER BY [g].[FullName] DESC ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[FullName] DESC, [t].[Nickname], [t].[SquadId], [w].[Name]"); +ORDER BY [t].[FullName] DESC, [t].[Nickname], [t].[SquadId], [w].[Name] +"""); } public override async Task Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(bool async) @@ -4405,14 +5059,16 @@ public override async Task Null_semantics_on_nullable_bool_from_inner_join_subqu await base.Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(async); AssertSql( - @"SELECT [t].[Id], [t].[CapitalName], [t].[Discriminator], [t].[Name], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated] +""" +SELECT [t].[Id], [t].[CapitalName], [t].[Discriminator], [t].[Name], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated] FROM [LocustLeaders] AS [l] INNER JOIN ( SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] AS [f] WHERE [f].[Name] = N'Swarm' ) AS [t] ON [l].[Name] = [t].[CommanderName] -WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL)"); +WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL) +"""); } public override async Task Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(bool async) @@ -4420,14 +5076,16 @@ public override async Task Null_semantics_on_nullable_bool_from_left_join_subque await base.Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(async); AssertSql( - @"SELECT [t].[Id], [t].[CapitalName], [t].[Discriminator], [t].[Name], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated] +""" +SELECT [t].[Id], [t].[CapitalName], [t].[Discriminator], [t].[Name], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated] FROM [LocustLeaders] AS [l] LEFT JOIN ( SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] AS [f] WHERE [f].[Name] = N'Swarm' ) AS [t] ON [l].[Name] = [t].[CommanderName] -WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL)"); +WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL) +"""); } public override async Task Include_on_derived_type_with_order_by_and_paging(bool async) @@ -4435,7 +5093,8 @@ public override async Task Include_on_derived_type_with_order_by_and_paging(bool await base.Include_on_derived_type_with_order_by_and_paging(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator0], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( @@ -4446,7 +5105,8 @@ LEFT JOIN [Tags] AS [t] ON ([g].[Nickname] = [t].[GearNickName] OR (([g].[Nickna ORDER BY [t].[Note] ) AS [t0] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t0].[Note], [t0].[Name], [t0].[Nickname], [t0].[SquadId], [t0].[Id]"); +ORDER BY [t0].[Note], [t0].[Name], [t0].[Nickname], [t0].[SquadId], [t0].[Id] +"""); } public override async Task Select_required_navigation_on_derived_type(bool async) @@ -4454,9 +5114,11 @@ public override async Task Select_required_navigation_on_derived_type(bool async await base.Select_required_navigation_on_derived_type(async); AssertSql( - @"SELECT [l0].[Name] +""" +SELECT [l0].[Name] FROM [LocustLeaders] AS [l] -LEFT JOIN [LocustHighCommands] AS [l0] ON [l].[HighCommandId] = [l0].[Id]"); +LEFT JOIN [LocustHighCommands] AS [l0] ON [l].[HighCommandId] = [l0].[Id] +"""); } public override async Task Select_required_navigation_on_the_same_type_with_cast(bool async) @@ -4464,9 +5126,11 @@ public override async Task Select_required_navigation_on_the_same_type_with_cast await base.Select_required_navigation_on_the_same_type_with_cast(async); AssertSql( - @"SELECT [c].[Name] +""" +SELECT [c].[Name] FROM [Gears] AS [g] -INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Where_required_navigation_on_derived_type(bool async) @@ -4474,10 +5138,12 @@ public override async Task Where_required_navigation_on_derived_type(bool async) await base.Where_required_navigation_on_derived_type(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] LEFT JOIN [LocustHighCommands] AS [l0] ON [l].[HighCommandId] = [l0].[Id] -WHERE [l0].[IsOperational] = CAST(1 AS bit)"); +WHERE [l0].[IsOperational] = CAST(1 AS bit) +"""); } public override async Task Outer_parameter_in_join_key(bool async) @@ -4485,7 +5151,8 @@ public override async Task Outer_parameter_in_join_key(bool async) await base.Outer_parameter_in_join_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] FROM [Gears] AS [g] OUTER APPLY ( SELECT [t].[Note], [t].[Id], [g0].[Nickname], [g0].[SquadId] @@ -4493,7 +5160,8 @@ FROM [Tags] AS [t] INNER JOIN [Gears] AS [g0] ON [g].[FullName] = [g0].[FullName] ) AS [t0] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname] +"""); } public override async Task Outer_parameter_in_join_key_inner_and_outer(bool async) @@ -4501,7 +5169,8 @@ public override async Task Outer_parameter_in_join_key_inner_and_outer(bool asyn await base.Outer_parameter_in_join_key_inner_and_outer(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] FROM [Gears] AS [g] OUTER APPLY ( SELECT [t].[Note], [t].[Id], [g0].[Nickname], [g0].[SquadId] @@ -4509,7 +5178,8 @@ FROM [Tags] AS [t] INNER JOIN [Gears] AS [g0] ON [g].[FullName] = [g].[Nickname] ) AS [t0] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname] +"""); } public override async Task Outer_parameter_in_group_join_with_DefaultIfEmpty(bool async) @@ -4517,7 +5187,8 @@ public override async Task Outer_parameter_in_group_join_with_DefaultIfEmpty(boo await base.Outer_parameter_in_group_join_with_DefaultIfEmpty(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] FROM [Gears] AS [g] OUTER APPLY ( SELECT [t].[Note], [t].[Id], [g0].[Nickname], [g0].[SquadId] @@ -4525,7 +5196,8 @@ FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g0] ON [g].[FullName] = [g0].[FullName] ) AS [t0] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname] +"""); } public override async Task Negated_bool_ternary_inside_anonymous_type_in_projection(bool async) @@ -4533,7 +5205,8 @@ public override async Task Negated_bool_ternary_inside_anonymous_type_in_project await base.Negated_bool_ternary_inside_anonymous_type_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN CASE WHEN [g].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE COALESCE([g].[HasSoulPatch], CAST(1 AS bit)) @@ -4541,7 +5214,8 @@ ELSE COALESCE([g].[HasSoulPatch], CAST(1 AS bit)) ELSE CAST(0 AS bit) END AS [c] FROM [Tags] AS [t] -LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Order_by_entity_qsre(bool async) @@ -4549,10 +5223,12 @@ public override async Task Order_by_entity_qsre(bool async) await base.Order_by_entity_qsre(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] LEFT JOIN [Cities] AS [c] ON [g].[AssignedCityName] = [c].[Name] -ORDER BY [c].[Name], [g].[Nickname] DESC"); +ORDER BY [c].[Name], [g].[Nickname] DESC +"""); } public override async Task Order_by_entity_qsre_with_inheritance(bool async) @@ -4560,11 +5236,13 @@ public override async Task Order_by_entity_qsre_with_inheritance(bool async) await base.Order_by_entity_qsre_with_inheritance(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LocustLeaders] AS [l] INNER JOIN [LocustHighCommands] AS [l0] ON [l].[HighCommandId] = [l0].[Id] WHERE [l].[Discriminator] = N'LocustCommander' -ORDER BY [l0].[Id], [l].[Name]"); +ORDER BY [l0].[Id], [l].[Name] +"""); } public override async Task Order_by_entity_qsre_composite_key(bool async) @@ -4572,10 +5250,12 @@ public override async Task Order_by_entity_qsre_composite_key(bool async) await base.Order_by_entity_qsre_composite_key(async); AssertSql( - @"SELECT [w].[Name] +""" +SELECT [w].[Name] FROM [Weapons] AS [w] LEFT JOIN [Gears] AS [g] ON [w].[OwnerFullName] = [g].[FullName] -ORDER BY [g].[Nickname], [g].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [w].[Id] +"""); } public override async Task Order_by_entity_qsre_with_other_orderbys(bool async) @@ -4583,11 +5263,13 @@ public override async Task Order_by_entity_qsre_with_other_orderbys(bool async) await base.Order_by_entity_qsre_with_other_orderbys(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Gears] AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w].[IsAutomatic], [g].[Nickname] DESC, [g].[SquadId] DESC, [w0].[Id], [w].[Name]"); +ORDER BY [w].[IsAutomatic], [g].[Nickname] DESC, [g].[SquadId] DESC, [w0].[Id], [w].[Name] +"""); } public override async Task Join_on_entity_qsre_keys(bool async) @@ -4595,9 +5277,11 @@ public override async Task Join_on_entity_qsre_keys(bool async) await base.Join_on_entity_qsre_keys(async); AssertSql( - @"SELECT [w].[Name] AS [Name1], [w0].[Name] AS [Name2] +""" +SELECT [w].[Name] AS [Name1], [w0].[Name] AS [Name2] FROM [Weapons] AS [w] -INNER JOIN [Weapons] AS [w0] ON [w].[Id] = [w0].[Id]"); +INNER JOIN [Weapons] AS [w0] ON [w].[Id] = [w0].[Id] +"""); } public override async Task Join_on_entity_qsre_keys_composite_key(bool async) @@ -4605,9 +5289,11 @@ public override async Task Join_on_entity_qsre_keys_composite_key(bool async) await base.Join_on_entity_qsre_keys_composite_key(async); AssertSql( - @"SELECT [g].[FullName] AS [GearName1], [g0].[FullName] AS [GearName2] +""" +SELECT [g].[FullName] AS [GearName1], [g0].[FullName] AS [GearName2] FROM [Gears] AS [g] -INNER JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[Nickname] AND [g].[SquadId] = [g0].[SquadId]"); +INNER JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[Nickname] AND [g].[SquadId] = [g0].[SquadId] +"""); } public override async Task Join_on_entity_qsre_keys_inheritance(bool async) @@ -4615,13 +5301,15 @@ public override async Task Join_on_entity_qsre_keys_inheritance(bool async) await base.Join_on_entity_qsre_keys_inheritance(async); AssertSql( - @"SELECT [g].[FullName] AS [GearName], [t].[FullName] AS [OfficerName] +""" +SELECT [g].[FullName] AS [GearName], [t].[FullName] AS [OfficerName] FROM [Gears] AS [g] INNER JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[FullName] FROM [Gears] AS [g0] WHERE [g0].[Discriminator] = N'Officer' -) AS [t] ON [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId]"); +) AS [t] ON [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId] +"""); } public override async Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool async) @@ -4629,10 +5317,12 @@ public override async Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool await base.Join_on_entity_qsre_keys_outer_key_is_navigation(async); AssertSql( - @"SELECT [w].[Name] AS [Name1], [w1].[Name] AS [Name2] +""" +SELECT [w].[Name] AS [Name1], [w1].[Name] AS [Name2] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -INNER JOIN [Weapons] AS [w1] ON [w0].[Id] = [w1].[Id]"); +INNER JOIN [Weapons] AS [w1] ON [w0].[Id] = [w1].[Id] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool async) @@ -4640,13 +5330,15 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool await base.Join_on_entity_qsre_keys_inner_key_is_navigation(async); AssertSql( - @"SELECT [c].[Name] AS [CityName], [t].[Nickname] AS [GearNickname] +""" +SELECT [c].[Name] AS [CityName], [t].[Nickname] AS [GearNickname] FROM [Cities] AS [c] INNER JOIN ( SELECT [g].[Nickname], [c0].[Name] FROM [Gears] AS [g] LEFT JOIN [Cities] AS [c0] ON [g].[AssignedCityName] = [c0].[Name] -) AS [t] ON [c].[Name] = [t].[Name]"); +) AS [t] ON [c].[Name] = [t].[Name] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(bool async) @@ -4654,14 +5346,16 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation_comp await base.Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [t0].[Note] +""" +SELECT [g].[Nickname], [t0].[Note] FROM [Gears] AS [g] INNER JOIN ( SELECT [t].[Note], [g0].[Nickname], [g0].[SquadId] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g0] ON [t].[GearNickName] = [g0].[Nickname] AND [t].[GearSquadId] = [g0].[SquadId] WHERE [t].[Note] IN (N'Cole''s Tag', N'Dom''s Tag') -) AS [t0] ON [g].[Nickname] = [t0].[Nickname] AND [g].[SquadId] = [t0].[SquadId]"); +) AS [t0] ON [g].[Nickname] = [t0].[Nickname] AND [g].[SquadId] = [t0].[SquadId] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) @@ -4669,7 +5363,8 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_nested_navigati await base.Join_on_entity_qsre_keys_inner_key_is_nested_navigation(async); AssertSql( - @"SELECT [s].[Name] AS [SquadName], [t].[Name] AS [WeaponName] +""" +SELECT [s].[Name] AS [SquadName], [t].[Name] AS [WeaponName] FROM [Squads] AS [s] INNER JOIN ( SELECT [w].[Name], [s0].[Id] AS [Id0] @@ -4677,7 +5372,8 @@ FROM [Weapons] AS [w] LEFT JOIN [Gears] AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Squads] AS [s0] ON [g].[SquadId] = [s0].[Id] WHERE [w].[IsAutomatic] = CAST(1 AS bit) -) AS [t] ON [s].[Id] = [t].[Id0]"); +) AS [t] ON [s].[Id] = [t].[Id0] +"""); } public override async Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) @@ -4685,14 +5381,16 @@ public override async Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_nav await base.GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(async); AssertSql( - @"SELECT [s].[Name] AS [SquadName], [t].[Name] AS [WeaponName] +""" +SELECT [s].[Name] AS [SquadName], [t].[Name] AS [WeaponName] FROM [Squads] AS [s] LEFT JOIN ( SELECT [w].[Name], [s0].[Id] AS [Id0] FROM [Weapons] AS [w] LEFT JOIN [Gears] AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Squads] AS [s0] ON [g].[SquadId] = [s0].[Id] -) AS [t] ON [s].[Id] = [t].[Id0]"); +) AS [t] ON [s].[Id] = [t].[Id0] +"""); } public override async Task Streaming_correlated_collection_issue_11403(bool async) @@ -4700,7 +5398,8 @@ public override async Task Streaming_correlated_collection_issue_11403(bool asyn await base.Streaming_correlated_collection_issue_11403(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -4711,7 +5410,8 @@ LEFT JOIN ( FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(0 AS bit) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id] +"""); } public override async Task Project_one_value_type_from_empty_collection(bool async) @@ -4719,12 +5419,14 @@ public override async Task Project_one_value_type_from_empty_collection(bool asy await base.Project_one_value_type_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) [g].[SquadId] FROM [Gears] AS [g] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) AS [SquadId] FROM [Squads] AS [s] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Project_one_value_type_converted_to_nullable_from_empty_collection(bool async) @@ -4732,12 +5434,14 @@ public override async Task Project_one_value_type_converted_to_nullable_from_emp await base.Project_one_value_type_converted_to_nullable_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], ( +""" +SELECT [s].[Name], ( SELECT TOP(1) [g].[SquadId] FROM [Gears] AS [g] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)) AS [SquadId] FROM [Squads] AS [s] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Project_one_value_type_with_client_projection_from_empty_collection(bool async) @@ -4745,7 +5449,8 @@ public override async Task Project_one_value_type_with_client_projection_from_em await base.Project_one_value_type_with_client_projection_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], [t0].[SquadId], [t0].[LeaderSquadId], [t0].[c] +""" +SELECT [s].[Name], [t0].[SquadId], [t0].[LeaderSquadId], [t0].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[SquadId], [t].[LeaderSquadId], [t].[c] @@ -4756,7 +5461,8 @@ FROM [Gears] AS [g] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Filter_on_subquery_projecting_one_value_type_from_empty_collection(bool async) @@ -4764,12 +5470,14 @@ public override async Task Filter_on_subquery_projecting_one_value_type_from_emp await base.Filter_on_subquery_projecting_one_value_type_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] AS [s] WHERE [s].[Name] = N'Kilo' AND COALESCE(( SELECT TOP(1) [g].[SquadId] FROM [Gears] AS [g] - WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0"); + WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0 +"""); } public override async Task Select_subquery_projecting_single_constant_int(bool async) @@ -4777,11 +5485,13 @@ public override async Task Select_subquery_projecting_single_constant_int(bool a await base.Select_subquery_projecting_single_constant_int(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) 42 FROM [Gears] AS [g] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) AS [Gear] -FROM [Squads] AS [s]"); +FROM [Squads] AS [s] +"""); } public override async Task Select_subquery_projecting_single_constant_string(bool async) @@ -4789,11 +5499,13 @@ public override async Task Select_subquery_projecting_single_constant_string(boo await base.Select_subquery_projecting_single_constant_string(async); AssertSql( - @"SELECT [s].[Name], ( +""" +SELECT [s].[Name], ( SELECT TOP(1) N'Foo' FROM [Gears] AS [g] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)) AS [Gear] -FROM [Squads] AS [s]"); +FROM [Squads] AS [s] +"""); } public override async Task Select_subquery_projecting_single_constant_bool(bool async) @@ -4801,11 +5513,13 @@ public override async Task Select_subquery_projecting_single_constant_bool(bool await base.Select_subquery_projecting_single_constant_bool(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) CAST(1 AS bit) FROM [Gears] AS [g] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), CAST(0 AS bit)) AS [Gear] -FROM [Squads] AS [s]"); +FROM [Squads] AS [s] +"""); } public override async Task Select_subquery_projecting_single_constant_inside_anonymous(bool async) @@ -4813,7 +5527,8 @@ public override async Task Select_subquery_projecting_single_constant_inside_ano await base.Select_subquery_projecting_single_constant_inside_anonymous(async); AssertSql( - @"SELECT [s].[Name], [t0].[One] +""" +SELECT [s].[Name], [t0].[One] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[One], [t].[SquadId] @@ -4823,7 +5538,8 @@ FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Select_subquery_projecting_multiple_constants_inside_anonymous(bool async) @@ -4831,7 +5547,8 @@ public override async Task Select_subquery_projecting_multiple_constants_inside_ await base.Select_subquery_projecting_multiple_constants_inside_anonymous(async); AssertSql( - @"SELECT [s].[Name], [t0].[True1], [t0].[False1], [t0].[c] +""" +SELECT [s].[Name], [t0].[True1], [t0].[False1], [t0].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[True1], [t].[False1], [t].[c], [t].[SquadId] @@ -4841,7 +5558,8 @@ FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Include_with_order_by_constant(bool async) @@ -4849,10 +5567,12 @@ public override async Task Include_with_order_by_constant(bool async) await base.Include_with_order_by_constant(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Squads] AS [s] LEFT JOIN [Gears] AS [g] ON [s].[Id] = [g].[SquadId] -ORDER BY [s].[Id], [g].[Nickname]"); +ORDER BY [s].[Id], [g].[Nickname] +"""); } public override async Task Correlated_collection_order_by_constant(bool async) @@ -4860,10 +5580,12 @@ public override async Task Correlated_collection_order_by_constant(bool async) await base.Correlated_collection_order_by_constant(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Select_subquery_projecting_single_constant_null_of_non_mapped_type(bool async) @@ -4871,7 +5593,8 @@ public override async Task Select_subquery_projecting_single_constant_null_of_no await base.Select_subquery_projecting_single_constant_null_of_non_mapped_type(async); AssertSql( - @"SELECT [s].[Name], [t0].[c] +""" +SELECT [s].[Name], [t0].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[c], [t].[SquadId] @@ -4881,7 +5604,8 @@ FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Select_subquery_projecting_single_constant_of_non_mapped_type(bool async) @@ -4889,7 +5613,8 @@ public override async Task Select_subquery_projecting_single_constant_of_non_map await base.Select_subquery_projecting_single_constant_of_non_mapped_type(async); AssertSql( - @"SELECT [s].[Name], [t0].[c] +""" +SELECT [s].[Name], [t0].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[c], [t].[SquadId] @@ -4899,7 +5624,8 @@ FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Include_collection_OrderBy_aggregate(bool async) @@ -4907,14 +5633,16 @@ public override async Task Include_collection_OrderBy_aggregate(bool async) await base.Include_collection_OrderBy_aggregate(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' ORDER BY ( SELECT COUNT(*) FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); + WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Include_collection_with_complex_OrderBy2(bool async) @@ -4922,7 +5650,8 @@ public override async Task Include_collection_with_complex_OrderBy2(bool async) await base.Include_collection_with_complex_OrderBy2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' @@ -4930,7 +5659,8 @@ ORDER BY ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); + ORDER BY [w].[Id]), [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Include_collection_with_complex_OrderBy3(bool async) @@ -4938,7 +5668,8 @@ public override async Task Include_collection_with_complex_OrderBy3(bool async) await base.Include_collection_with_complex_OrderBy3(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' @@ -4946,7 +5677,8 @@ ORDER BY COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), CAST(0 AS bit)), [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); + ORDER BY [w].[Id]), CAST(0 AS bit)), [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Correlated_collection_with_complex_OrderBy(bool async) @@ -4954,7 +5686,8 @@ public override async Task Correlated_collection_with_complex_OrderBy(bool async await base.Correlated_collection_with_complex_OrderBy(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] @@ -4965,7 +5698,8 @@ FROM [Gears] AS [g0] ORDER BY ( SELECT COUNT(*) FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [t].[Nickname]"); + WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collection_with_very_complex_order_by(bool async) @@ -4973,7 +5707,8 @@ public override async Task Correlated_collection_with_very_complex_order_by(bool await base.Correlated_collection_with_very_complex_order_by(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM [Gears] AS [g] LEFT JOIN ( SELECT [g1].[Nickname], [g1].[SquadId], [g1].[AssignedCityName], [g1].[CityOfBirthName], [g1].[Discriminator], [g1].[FullName], [g1].[HasSoulPatch], [g1].[LeaderNickname], [g1].[LeaderSquadId], [g1].[Rank] @@ -4987,7 +5722,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = COALESCE(( SELECT TOP(1) [g0].[HasSoulPatch] FROM [Gears] AS [g0] - WHERE [g0].[Nickname] = N'Marcus'), CAST(0 AS bit))), [g].[Nickname], [g].[SquadId], [t].[Nickname]"); + WHERE [g0].[Nickname] = N'Marcus'), CAST(0 AS bit))), [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Cast_to_derived_type_after_OfType_works(bool async) @@ -4995,9 +5731,11 @@ public override async Task Cast_to_derived_type_after_OfType_works(bool async) await base.Cast_to_derived_type_after_OfType_works(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE [g].[Discriminator] = N'Officer'"); +WHERE [g].[Discriminator] = N'Officer' +"""); } public override async Task Select_subquery_boolean(bool async) @@ -5005,12 +5743,14 @@ public override async Task Select_subquery_boolean(bool async) await base.Select_subquery_boolean(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), CAST(0 AS bit)) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_boolean_with_pushdown(bool async) @@ -5018,12 +5758,14 @@ public override async Task Select_subquery_boolean_with_pushdown(bool async) await base.Select_subquery_boolean_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_int_with_inside_cast_and_coalesce(bool async) @@ -5031,12 +5773,14 @@ public override async Task Select_subquery_int_with_inside_cast_and_coalesce(boo await base.Select_subquery_int_with_inside_cast_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), 42) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_int_with_outside_cast_and_coalesce(bool async) @@ -5044,12 +5788,14 @@ public override async Task Select_subquery_int_with_outside_cast_and_coalesce(bo await base.Select_subquery_int_with_outside_cast_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), 0, 42) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_int_with_pushdown_and_coalesce(bool async) @@ -5057,12 +5803,14 @@ public override async Task Select_subquery_int_with_pushdown_and_coalesce(bool a await base.Select_subquery_int_with_pushdown_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), 42) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_int_with_pushdown_and_coalesce2(bool async) @@ -5070,7 +5818,8 @@ public override async Task Select_subquery_int_with_pushdown_and_coalesce2(bool await base.Select_subquery_int_with_pushdown_and_coalesce2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] @@ -5079,7 +5828,8 @@ SELECT TOP(1) [w0].[Id] FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ORDER BY [w0].[Id])) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_boolean_empty(bool async) @@ -5087,12 +5837,14 @@ public override async Task Select_subquery_boolean_empty(bool async) await base.Select_subquery_boolean_empty(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ORDER BY [w].[Id]), CAST(0 AS bit)) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_boolean_empty_with_pushdown(bool async) @@ -5100,12 +5852,14 @@ public override async Task Select_subquery_boolean_empty_with_pushdown(bool asyn await base.Select_subquery_boolean_empty_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ORDER BY [w].[Id]) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean1(bool async) @@ -5113,7 +5867,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean1(boo await base.Select_subquery_distinct_singleordefault_boolean1(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -5121,7 +5876,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]), CAST(0 AS bit)) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean2(bool async) @@ -5129,12 +5885,14 @@ public override async Task Select_subquery_distinct_singleordefault_boolean2(boo await base.Select_subquery_distinct_singleordefault_boolean2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%')), CAST(0 AS bit)) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) @@ -5142,7 +5900,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_with await base.Select_subquery_distinct_singleordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -5150,7 +5909,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty1(bool async) @@ -5158,7 +5918,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty1(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -5166,7 +5927,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ) AS [t]), CAST(0 AS bit)) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty2(bool async) @@ -5174,12 +5936,14 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG'), CAST(0 AS bit)) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(bool async) @@ -5187,7 +5951,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -5195,7 +5960,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ) AS [t]) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Cast_subquery_to_base_type_using_typed_ToList(bool async) @@ -5203,11 +5969,13 @@ public override async Task Cast_subquery_to_base_type_using_typed_ToList(bool as await base.Cast_subquery_to_base_type_using_typed_ToList(async); AssertSql( - @"SELECT [c].[Name], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Nickname], [g].[Rank], [g].[SquadId] +""" +SELECT [c].[Name], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Nickname], [g].[Rank], [g].[SquadId] FROM [Cities] AS [c] LEFT JOIN [Gears] AS [g] ON [c].[Name] = [g].[AssignedCityName] WHERE [c].[Name] = N'Ephyra' -ORDER BY [c].[Name], [g].[Nickname]"); +ORDER BY [c].[Name], [g].[Nickname] +"""); } public override async Task Cast_ordered_subquery_to_base_type_using_typed_ToArray(bool async) @@ -5215,11 +5983,13 @@ public override async Task Cast_ordered_subquery_to_base_type_using_typed_ToArra await base.Cast_ordered_subquery_to_base_type_using_typed_ToArray(async); AssertSql( - @"SELECT [c].[Name], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Nickname], [g].[Rank], [g].[SquadId] +""" +SELECT [c].[Name], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Nickname], [g].[Rank], [g].[SquadId] FROM [Cities] AS [c] LEFT JOIN [Gears] AS [g] ON [c].[Name] = [g].[AssignedCityName] WHERE [c].[Name] = N'Ephyra' -ORDER BY [c].[Name], [g].[Nickname] DESC"); +ORDER BY [c].[Name], [g].[Nickname] DESC +"""); } public override async Task Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(bool async) @@ -5227,10 +5997,12 @@ public override async Task Correlated_collection_with_complex_order_by_funcletiz await base.Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Double_order_by_on_nullable_bool_coming_from_optional_navigation(bool async) @@ -5238,10 +6010,12 @@ public override async Task Double_order_by_on_nullable_bool_coming_from_optional await base.Double_order_by_on_nullable_bool_coming_from_optional_navigation(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w0].[IsAutomatic], [w0].[Id]"); +ORDER BY [w0].[IsAutomatic], [w0].[Id] +"""); } public override async Task Double_order_by_on_Like(bool async) @@ -5249,13 +6023,15 @@ public override async Task Double_order_by_on_Like(bool async) await base.Double_order_by_on_Like(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] LIKE N'%Lancer' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Double_order_by_on_is_null(bool async) @@ -5263,13 +6039,15 @@ public override async Task Double_order_by_on_is_null(bool async) await base.Double_order_by_on_is_null(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Double_order_by_on_string_compare(bool async) @@ -5277,12 +6055,14 @@ public override async Task Double_order_by_on_string_compare(bool async) await base.Double_order_by_on_string_compare(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] ORDER BY CASE WHEN [w].[Name] = N'Marcus'' Lancer' AND ([w].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END, [w].[Id]"); +END, [w].[Id] +"""); } public override async Task Double_order_by_binary_expression(bool async) @@ -5290,9 +6070,11 @@ public override async Task Double_order_by_binary_expression(bool async) await base.Double_order_by_binary_expression(async); AssertSql( - @"SELECT [w].[Id] + 2 AS [Binary] +""" +SELECT [w].[Id] + 2 AS [Binary] FROM [Weapons] AS [w] -ORDER BY [w].[Id] + 2"); +ORDER BY [w].[Id] + 2 +"""); } public override async Task String_compare_with_null_conditional_argument(bool async) @@ -5300,13 +6082,15 @@ public override async Task String_compare_with_null_conditional_argument(bool as await base.String_compare_with_null_conditional_argument(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] = N'Marcus'' Lancer' AND ([w0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task String_compare_with_null_conditional_argument2(bool async) @@ -5314,13 +6098,15 @@ public override async Task String_compare_with_null_conditional_argument2(bool a await base.String_compare_with_null_conditional_argument2(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN N'Marcus'' Lancer' = [w0].[Name] AND ([w0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task String_concat_with_null_conditional_argument(bool async) @@ -5328,10 +6114,12 @@ public override async Task String_concat_with_null_conditional_argument(bool asy await base.String_concat_with_null_conditional_argument(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY COALESCE([w0].[Name], N'') + CAST(5 AS nvarchar(max))"); +ORDER BY COALESCE([w0].[Name], N'') + CAST(5 AS nvarchar(max)) +"""); } public override async Task String_concat_with_null_conditional_argument2(bool async) @@ -5339,10 +6127,12 @@ public override async Task String_concat_with_null_conditional_argument2(bool as await base.String_concat_with_null_conditional_argument2(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY COALESCE([w0].[Name], N'') + N'Marcus'' Lancer'"); +ORDER BY COALESCE([w0].[Name], N'') + N'Marcus'' Lancer' +"""); } public override async Task String_concat_on_various_types(bool async) @@ -5350,10 +6140,12 @@ public override async Task String_concat_on_various_types(bool async) await base.String_concat_on_various_types(async); AssertSql( - @"SELECT (N'HasSoulPatch ' + CAST([g].[HasSoulPatch] AS nvarchar(max))) + N' HasSoulPatch' AS [HasSoulPatch], (N'Rank ' + CAST([g].[Rank] AS nvarchar(max))) + N' Rank' AS [Rank], (N'SquadId ' + CAST([g].[SquadId] AS nvarchar(max))) + N' SquadId' AS [SquadId], (N'Rating ' + COALESCE(CAST([m].[Rating] AS nvarchar(max)), N'')) + N' Rating' AS [Rating], (N'Timeline ' + CAST([m].[Timeline] AS nvarchar(max))) + N' Timeline' AS [Timeline] +""" +SELECT (N'HasSoulPatch ' + CAST([g].[HasSoulPatch] AS nvarchar(max))) + N' HasSoulPatch' AS [HasSoulPatch], (N'Rank ' + CAST([g].[Rank] AS nvarchar(max))) + N' Rank' AS [Rank], (N'SquadId ' + CAST([g].[SquadId] AS nvarchar(max))) + N' SquadId' AS [SquadId], (N'Rating ' + COALESCE(CAST([m].[Rating] AS nvarchar(max)), N'')) + N' Rating' AS [Rating], (N'Timeline ' + CAST([m].[Timeline] AS nvarchar(max))) + N' Timeline' AS [Timeline] FROM [Gears] AS [g] CROSS JOIN [Missions] AS [m] -ORDER BY [g].[Nickname], [m].[Id]"); +ORDER BY [g].[Nickname], [m].[Id] +"""); } public override async Task Time_of_day_datetimeoffset(bool async) @@ -5361,8 +6153,10 @@ public override async Task Time_of_day_datetimeoffset(bool async) await base.Time_of_day_datetimeoffset(async); AssertSql( - @"SELECT CONVERT(time, [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT CONVERT(time, [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task GroupBy_Property_Include_Select_Average(bool async) @@ -5370,9 +6164,11 @@ public override async Task GroupBy_Property_Include_Select_Average(bool async) await base.GroupBy_Property_Include_Select_Average(async); AssertSql( - @"SELECT AVG(CAST([g].[SquadId] AS float)) +""" +SELECT AVG(CAST([g].[SquadId] AS float)) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Sum(bool async) @@ -5380,9 +6176,11 @@ public override async Task GroupBy_Property_Include_Select_Sum(bool async) await base.GroupBy_Property_Include_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([g].[SquadId]), 0) +""" +SELECT COALESCE(SUM([g].[SquadId]), 0) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Count(bool async) @@ -5390,9 +6188,11 @@ public override async Task GroupBy_Property_Include_Select_Count(bool async) await base.GroupBy_Property_Include_Select_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_LongCount(bool async) @@ -5400,9 +6200,11 @@ public override async Task GroupBy_Property_Include_Select_LongCount(bool async) await base.GroupBy_Property_Include_Select_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Min(bool async) @@ -5410,9 +6212,11 @@ public override async Task GroupBy_Property_Include_Select_Min(bool async) await base.GroupBy_Property_Include_Select_Min(async); AssertSql( - @"SELECT MIN([g].[SquadId]) +""" +SELECT MIN([g].[SquadId]) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task GroupBy_Property_Include_Aggregate_with_anonymous_selector(bool async) @@ -5420,10 +6224,12 @@ public override async Task GroupBy_Property_Include_Aggregate_with_anonymous_sel await base.GroupBy_Property_Include_Aggregate_with_anonymous_selector(async); AssertSql( - @"SELECT [g].[Nickname] AS [Key], COUNT(*) AS [c] +""" +SELECT [g].[Nickname] AS [Key], COUNT(*) AS [c] FROM [Gears] AS [g] GROUP BY [g].[Nickname] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Group_by_with_include_with_entity_in_result_selector(bool async) @@ -5431,7 +6237,8 @@ public override async Task Group_by_with_include_with_entity_in_result_selector( await base.Group_by_with_include_with_entity_in_result_selector(async); AssertSql( - @"SELECT [t].[Rank], [t].[c], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Name], [t0].[Location], [t0].[Nation] +""" +SELECT [t].[Rank], [t].[c], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Name], [t0].[Location], [t0].[Nation] FROM ( SELECT [g].[Rank], COUNT(*) AS [c] FROM [Gears] AS [g] @@ -5446,7 +6253,8 @@ FROM [Gears] AS [g0] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Rank] = [t0].[Rank] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Max(bool async) @@ -5454,9 +6262,11 @@ public override async Task GroupBy_Property_Include_Select_Max(bool async) await base.GroupBy_Property_Include_Select_Max(async); AssertSql( - @"SELECT MAX([g].[SquadId]) +""" +SELECT MAX([g].[SquadId]) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task Include_with_group_by_and_FirstOrDefault_gets_properly_applied(bool async) @@ -5464,7 +6274,8 @@ public override async Task Include_with_group_by_and_FirstOrDefault_gets_properl await base.Include_with_group_by_and_FirstOrDefault_gets_properly_applied(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Name], [t0].[Location], [t0].[Nation] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Name], [t0].[Location], [t0].[Nation] FROM ( SELECT [g].[Rank] FROM [Gears] AS [g] @@ -5479,7 +6290,8 @@ FROM [Gears] AS [g0] WHERE [g0].[HasSoulPatch] = CAST(1 AS bit) ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[Rank] = [t0].[Rank]"); +) AS [t0] ON [t].[Rank] = [t0].[Rank] +"""); } public override async Task Include_collection_with_Cast_to_base(bool async) @@ -5487,11 +6299,13 @@ public override async Task Include_collection_with_Cast_to_base(bool async) await base.Include_collection_with_Cast_to_base(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Include_with_client_method_and_member_access_still_applies_includes(bool async) @@ -5499,9 +6313,11 @@ public override async Task Include_with_client_method_and_member_access_still_ap await base.Include_with_client_method_and_member_access_still_applies_includes(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Gears] AS [g] -LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId]"); +LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] +"""); } public override async Task Include_with_projection_of_unmapped_property_still_gets_applied(bool async) @@ -5509,10 +6325,12 @@ public override async Task Include_with_projection_of_unmapped_property_still_ge await base.Include_with_projection_of_unmapped_property_still_gets_applied(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Multiple_includes_with_client_method_around_entity_and_also_projecting_included_collection() @@ -5520,7 +6338,8 @@ public override async Task Multiple_includes_with_client_method_around_entity_an await base.Multiple_includes_with_client_method_around_entity_and_also_projecting_included_collection(); AssertSql( - @"SELECT [s].[Name], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [s].[Name], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Squads] AS [s] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -5528,7 +6347,8 @@ FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] ) AS [t] ON [s].[Id] = [t].[SquadId] WHERE [s].[Name] = N'Delta' -ORDER BY [s].[Id], [t].[Nickname], [t].[SquadId]"); +ORDER BY [s].[Id], [t].[Nickname], [t].[SquadId] +"""); } public override async Task OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(bool async) @@ -5536,7 +6356,8 @@ public override async Task OrderBy_same_expression_containing_IsNull_correctly_d await base.OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([g].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -5553,7 +6374,8 @@ ELSE CAST(0 AS bit) ELSE NULL END IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task GetValueOrDefault_in_projection(bool async) @@ -5561,8 +6383,10 @@ public override async Task GetValueOrDefault_in_projection(bool async) await base.GetValueOrDefault_in_projection(async); AssertSql( - @"SELECT COALESCE([w].[SynergyWithId], 0) -FROM [Weapons] AS [w]"); +""" +SELECT COALESCE([w].[SynergyWithId], 0) +FROM [Weapons] AS [w] +"""); } public override async Task GetValueOrDefault_in_filter(bool async) @@ -5570,9 +6394,11 @@ public override async Task GetValueOrDefault_in_filter(bool async) await base.GetValueOrDefault_in_filter(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[SynergyWithId], 0) = 0"); +WHERE COALESCE([w].[SynergyWithId], 0) = 0 +"""); } public override async Task GetValueOrDefault_in_filter_non_nullable_column(bool async) @@ -5580,9 +6406,11 @@ public override async Task GetValueOrDefault_in_filter_non_nullable_column(bool await base.GetValueOrDefault_in_filter_non_nullable_column(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[Id], 0) = 0"); +WHERE COALESCE([w].[Id], 0) = 0 +"""); } public override async Task GetValueOrDefault_in_order_by(bool async) @@ -5590,9 +6418,11 @@ public override async Task GetValueOrDefault_in_order_by(bool async) await base.GetValueOrDefault_in_order_by(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -ORDER BY COALESCE([w].[SynergyWithId], 0), [w].[Id]"); +ORDER BY COALESCE([w].[SynergyWithId], 0), [w].[Id] +"""); } public override async Task GetValueOrDefault_with_argument(bool async) @@ -5600,9 +6430,11 @@ public override async Task GetValueOrDefault_with_argument(bool async) await base.GetValueOrDefault_with_argument(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[SynergyWithId], [w].[Id]) = 1"); +WHERE COALESCE([w].[SynergyWithId], [w].[Id]) = 1 +"""); } public override async Task GetValueOrDefault_with_argument_complex(bool async) @@ -5610,9 +6442,11 @@ public override async Task GetValueOrDefault_with_argument_complex(bool async) await base.GetValueOrDefault_with_argument_complex(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[SynergyWithId], CAST(LEN([w].[Name]) AS int) + 42) > 10"); +WHERE COALESCE([w].[SynergyWithId], CAST(LEN([w].[Name]) AS int) + 42) > 10 +"""); } public override async Task Filter_with_complex_predicate_containing_subquery(bool async) @@ -5620,12 +6454,14 @@ public override async Task Filter_with_complex_predicate_containing_subquery(boo await base.Filter_with_complex_predicate_containing_subquery(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[FullName] <> N'Dom' AND EXISTS ( SELECT 1 FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit))"); + WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit)) +"""); } public override async Task Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let( @@ -5634,13 +6470,15 @@ public override async Task Query_with_complex_let_containing_ordering_and_filter await base.Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let(async); AssertSql( - @"SELECT [g].[Nickname], ( +""" +SELECT [g].[Nickname], ( SELECT TOP(1) [w].[Name] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit) ORDER BY [w].[AmmunitionType] DESC) AS [WeaponName] FROM [Gears] AS [g] -WHERE [g].[Nickname] <> N'Dom'"); +WHERE [g].[Nickname] <> N'Dom' +"""); } public override async Task @@ -5649,10 +6487,12 @@ public override async Task await base.Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE SUBSTRING([t].[Note], 0 + 1, [g].[SquadId]) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([g].[SquadId] IS NULL)) AND ([t].[GearNickName] IS NULL))"); +WHERE SUBSTRING([t].[Note], 0 + 1, [g].[SquadId]) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([g].[SquadId] IS NULL)) AND ([t].[GearNickName] IS NULL)) +"""); } public override async Task @@ -5662,11 +6502,13 @@ await base.Null_semantics_is_correctly_applied_for_function_comparisons_that_tak async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] -WHERE SUBSTRING([t].[Note], 0 + 1, CAST(LEN([s].[Name]) AS int)) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([s].[Name] IS NULL)) AND ([t].[GearNickName] IS NULL))"); +WHERE SUBSTRING([t].[Note], 0 + 1, CAST(LEN([s].[Name]) AS int)) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([s].[Name] IS NULL)) AND ([t].[GearNickName] IS NULL)) +"""); } public override async Task Filter_with_new_Guid(bool async) @@ -5674,9 +6516,11 @@ public override async Task Filter_with_new_Guid(bool async) await base.Filter_with_new_Guid(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] -WHERE [t].[Id] = 'df36f493-463f-4123-83f9-6b135deeb7ba'"); +WHERE [t].[Id] = 'df36f493-463f-4123-83f9-6b135deeb7ba' +"""); } public override async Task Filter_with_new_Guid_closure(bool async) @@ -5684,17 +6528,21 @@ public override async Task Filter_with_new_Guid_closure(bool async) await base.Filter_with_new_Guid_closure(async); AssertSql( - @"@__p_0='df36f493-463f-4123-83f9-6b135deeb7bd' +""" +@__p_0='df36f493-463f-4123-83f9-6b135deeb7bd' SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[Note] FROM [Tags] AS [t] -WHERE [t].[Id] = @__p_0", +WHERE [t].[Id] = @__p_0 +""", // - @"@__p_0='b39a6fba-9026-4d69-828e-fd7068673e57' +""" +@__p_0='b39a6fba-9026-4d69-828e-fd7068673e57' SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[Note] FROM [Tags] AS [t] -WHERE [t].[Id] = @__p_0"); +WHERE [t].[Id] = @__p_0 +"""); } public override async Task OfTypeNav1(bool async) @@ -5702,11 +6550,13 @@ public override async Task OfTypeNav1(bool async) await base.OfTypeNav1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Tags] AS [t0] ON [g].[Nickname] = [t0].[GearNickName] AND [g].[SquadId] = [t0].[GearSquadId] -WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL))"); +WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL)) +"""); } public override async Task OfTypeNav2(bool async) @@ -5714,11 +6564,13 @@ public override async Task OfTypeNav2(bool async) await base.OfTypeNav2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Cities] AS [c] ON [g].[AssignedCityName] = [c].[Name] -WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([c].[Location] <> 'Bar' OR ([c].[Location] IS NULL))"); +WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([c].[Location] <> 'Bar' OR ([c].[Location] IS NULL)) +"""); } public override async Task OfTypeNav3(bool async) @@ -5726,12 +6578,14 @@ public override async Task OfTypeNav3(bool async) await base.OfTypeNav3(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] INNER JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] LEFT JOIN [Tags] AS [t0] ON [g].[Nickname] = [t0].[GearNickName] AND [g].[SquadId] = [t0].[GearSquadId] -WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL))"); +WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL)) +"""); } public override async Task Nav_rewrite_Distinct_with_convert() @@ -5753,7 +6607,8 @@ public override async Task Nav_rewrite_with_convert1(bool async) await base.Nav_rewrite_with_convert1(async); AssertSql( - @"SELECT [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] +""" +SELECT [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] FROM [Factions] AS [f] LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] LEFT JOIN ( @@ -5761,7 +6616,8 @@ LEFT JOIN ( FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -WHERE [c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)"); +WHERE [c].[Name] <> N'Foo' OR ([c].[Name] IS NULL) +"""); } public override async Task Nav_rewrite_with_convert2(bool async) @@ -5769,7 +6625,8 @@ public override async Task Nav_rewrite_with_convert2(bool async) await base.Nav_rewrite_with_convert2(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] AS [f] LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] LEFT JOIN ( @@ -5777,7 +6634,8 @@ SELECT [l].[Name] FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL))"); +WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL)) +"""); } public override async Task Nav_rewrite_with_convert3(bool async) @@ -5785,7 +6643,8 @@ public override async Task Nav_rewrite_with_convert3(bool async) await base.Nav_rewrite_with_convert3(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] AS [f] LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] LEFT JOIN ( @@ -5793,7 +6652,8 @@ SELECT [l].[Name] FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL))"); +WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL)) +"""); } public override async Task Where_contains_on_navigation_with_composite_keys(bool async) @@ -5801,7 +6661,8 @@ public override async Task Where_contains_on_navigation_with_composite_keys(bool await base.Where_contains_on_navigation_with_composite_keys(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE EXISTS ( SELECT 1 @@ -5809,7 +6670,8 @@ FROM [Cities] AS [c] WHERE EXISTS ( SELECT 1 FROM [Gears] AS [g0] - WHERE [c].[Name] = [g0].[CityOfBirthName] AND [g0].[Nickname] = [g].[Nickname] AND [g0].[SquadId] = [g].[SquadId]))"); + WHERE [c].[Name] = [g0].[CityOfBirthName] AND [g0].[Nickname] = [g].[Nickname] AND [g0].[SquadId] = [g].[SquadId])) +"""); } public override async Task Include_with_complex_order_by(bool async) @@ -5817,13 +6679,15 @@ public override async Task Include_with_complex_order_by(bool async) await base.Include_with_complex_order_by(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] ORDER BY ( SELECT TOP(1) [w].[Name] FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Gnasher%')), [g].[Nickname], [g].[SquadId]"); + WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Gnasher%')), [g].[Nickname], [g].[SquadId] +"""); } public override async Task Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(bool async) @@ -5831,7 +6695,8 @@ public override async Task Anonymous_projection_take_followed_by_projecting_sing await base.Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(async); AssertSql( - @"@__p_0='25' +""" +@__p_0='25' SELECT [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( @@ -5845,7 +6710,8 @@ LEFT JOIN ( FROM [Weapons] AS [w] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName]"); +) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] +"""); } public override async Task Bool_projection_from_subquery_treated_appropriately_in_where(bool async) @@ -5853,12 +6719,14 @@ public override async Task Bool_projection_from_subquery_treated_appropriately_i await base.Bool_projection_from_subquery_treated_appropriately_in_where(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] WHERE ( SELECT TOP(1) [g].[HasSoulPatch] FROM [Gears] AS [g] - ORDER BY [g].[Nickname], [g].[SquadId]) = CAST(1 AS bit)"); + ORDER BY [g].[Nickname], [g].[SquadId]) = CAST(1 AS bit) +"""); } public override async Task DateTimeOffset_Contains_Less_than_Greater_than(bool async) @@ -5866,12 +6734,14 @@ public override async Task DateTimeOffset_Contains_Less_than_Greater_than(bool a await base.DateTimeOffset_Contains_Less_than_Greater_than(async); AssertSql( - @"@__start_0='1902-01-01T10:00:00.1234567+01:30' +""" +@__start_0='1902-01-01T10:00:00.1234567+01:30' @__end_1='1902-01-03T10:00:00.1234567+01:30' SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE @__start_0 <= CAST(CONVERT(date, [m].[Timeline]) AS datetimeoffset) AND [m].[Timeline] < @__end_1 AND [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30'"); +WHERE @__start_0 <= CAST(CONVERT(date, [m].[Timeline]) AS datetimeoffset) AND [m].[Timeline] < @__end_1 AND [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30' +"""); } public override Task DateTimeOffsetNow_minus_timespan(bool async) @@ -5882,12 +6752,14 @@ public override async Task Navigation_inside_interpolated_string_expanded(bool a await base.Navigation_inside_interpolated_string_expanded(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [w0].[OwnerFullName] FROM [Weapons] AS [w] -LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id]"); +LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] +"""); } public override async Task Left_join_projection_using_coalesce_tracking(bool async) @@ -5895,9 +6767,11 @@ public override async Task Left_join_projection_using_coalesce_tracking(bool asy await base.Left_join_projection_using_coalesce_tracking(async); AssertSql( - @"SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname]"); +LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] +"""); } public override async Task Left_join_projection_using_conditional_tracking(bool async) @@ -5905,12 +6779,14 @@ public override async Task Left_join_projection_using_conditional_tracking(bool await base.Left_join_projection_using_conditional_tracking(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g0].[Nickname] IS NULL) OR ([g0].[SquadId] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] -LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname]"); +LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] +"""); } public override async Task Project_collection_navigation_nested_with_take_composite_key(bool async) @@ -5918,7 +6794,8 @@ public override async Task Project_collection_navigation_nested_with_take_compos await base.Project_collection_navigation_nested_with_take_composite_key(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN ( @@ -5930,7 +6807,8 @@ FROM [Gears] AS [g0] WHERE [t1].[row] <= 50 ) AS [t0] ON ([g].[Nickname] = [t0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([t0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Nickname] +"""); } public override async Task Project_collection_navigation_nested_composite_key(bool async) @@ -5938,12 +6816,14 @@ public override async Task Project_collection_navigation_nested_composite_key(bo await base.Project_collection_navigation_nested_composite_key(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Gears] AS [g0] ON ([g].[Nickname] = [g0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Null_checks_in_correlated_predicate_are_correctly_translated(bool async) @@ -5951,10 +6831,12 @@ public override async Task Null_checks_in_correlated_predicate_are_correctly_tra await base.Null_checks_in_correlated_predicate_are_correctly_translated(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] AND ([t].[Note] IS NOT NULL) -ORDER BY [t].[Id], [g].[Nickname]"); +ORDER BY [t].[Id], [g].[Nickname] +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(bool async) @@ -5962,7 +6844,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(async); AssertSql( - @"@__isAutomatic_0='True' +""" +@__isAutomatic_0='True' SELECT [g].[Nickname], [g].[FullName], CASE WHEN [t].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -5973,7 +6856,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = @__isAutomatic_0 -) AS [t] ON [g].[FullName] = [t].[OwnerFullName]"); +) AS [t] ON [g].[FullName] = [t].[OwnerFullName] +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(bool async) @@ -5981,7 +6865,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(async); AssertSql( - @"@__isAutomatic_0='True' +""" +@__isAutomatic_0='True' SELECT [g].[Nickname], [g].[FullName], CASE WHEN [t].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -5992,7 +6877,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] <> @__isAutomatic_0 -) AS [t] ON [g].[FullName] = [t].[OwnerFullName]"); +) AS [t] ON [g].[FullName] = [t].[OwnerFullName] +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(bool async) @@ -6000,7 +6886,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(async); AssertSql( - @"@__prm_0='1' +""" +@__prm_0='1' SELECT [g].[Nickname], [g].[FullName], CASE WHEN [t].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -6011,7 +6898,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] AS [w] WHERE [w].[Id] > @__prm_0 -) AS [t] ON [g].[FullName] = [t].[OwnerFullName]"); +) AS [t] ON [g].[FullName] = [t].[OwnerFullName] +"""); } public override async Task Join_with_inner_being_a_subquery_projecting_single_property(bool async) @@ -6019,9 +6907,11 @@ public override async Task Join_with_inner_being_a_subquery_projecting_single_pr await base.Join_with_inner_being_a_subquery_projecting_single_property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -INNER JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[Nickname]"); +INNER JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[Nickname] +"""); } public override async Task Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(bool async) @@ -6029,9 +6919,11 @@ public override async Task Join_with_inner_being_a_subquery_projecting_anonymous await base.Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -INNER JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[Nickname]"); +INNER JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[Nickname] +"""); } public override async Task Navigation_based_on_complex_expression1(bool async) @@ -6039,14 +6931,16 @@ public override async Task Navigation_based_on_complex_expression1(bool async) await base.Navigation_based_on_complex_expression1(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name] FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -WHERE [t].[Name] IS NOT NULL"); +WHERE [t].[Name] IS NOT NULL +"""); } public override async Task Navigation_based_on_complex_expression2(bool async) @@ -6054,14 +6948,16 @@ public override async Task Navigation_based_on_complex_expression2(bool async) await base.Navigation_based_on_complex_expression2(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name] FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -WHERE [t].[Name] IS NOT NULL"); +WHERE [t].[Name] IS NOT NULL +"""); } public override async Task Navigation_based_on_complex_expression3(bool async) @@ -6069,13 +6965,15 @@ public override async Task Navigation_based_on_complex_expression3(bool async) await base.Navigation_based_on_complex_expression3(async); AssertSql( - @"SELECT [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] +""" +SELECT [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] FROM [Factions] AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] WHERE [l].[Discriminator] = N'LocustCommander' -) AS [t] ON [f].[CommanderName] = [t].[Name]"); +) AS [t] ON [f].[CommanderName] = [t].[Name] +"""); } public override async Task Navigation_based_on_complex_expression4(bool async) @@ -6083,7 +6981,8 @@ public override async Task Navigation_based_on_complex_expression4(bool async) await base.Navigation_based_on_complex_expression4(async); AssertSql( - @"SELECT CAST(1 AS bit), [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] +""" +SELECT CAST(1 AS bit), [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] FROM [Factions] AS [f] CROSS JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] @@ -6094,7 +6993,8 @@ LEFT JOIN ( SELECT [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [LocustLeaders] AS [l0] WHERE [l0].[Discriminator] = N'LocustCommander' -) AS [t0] ON [f].[CommanderName] = [t0].[Name]"); +) AS [t0] ON [f].[CommanderName] = [t0].[Name] +"""); } public override async Task Navigation_based_on_complex_expression5(bool async) @@ -6102,7 +7002,8 @@ public override async Task Navigation_based_on_complex_expression5(bool async) await base.Navigation_based_on_complex_expression5(async); AssertSql( - @"SELECT [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] +""" +SELECT [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] FROM [Factions] AS [f] CROSS JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] @@ -6113,7 +7014,8 @@ LEFT JOIN ( SELECT [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [LocustLeaders] AS [l0] WHERE [l0].[Discriminator] = N'LocustCommander' -) AS [t0] ON [f].[CommanderName] = [t0].[Name]"); +) AS [t0] ON [f].[CommanderName] = [t0].[Name] +"""); } public override async Task Navigation_based_on_complex_expression6(bool async) @@ -6121,7 +7023,8 @@ public override async Task Navigation_based_on_complex_expression6(bool async) await base.Navigation_based_on_complex_expression6(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t0].[Name] = N'Queen Myrrah' AND ([t0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] @@ -6135,7 +7038,8 @@ LEFT JOIN ( SELECT [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [LocustLeaders] AS [l0] WHERE [l0].[Discriminator] = N'LocustCommander' -) AS [t0] ON [f].[CommanderName] = [t0].[Name]"); +) AS [t0] ON [f].[CommanderName] = [t0].[Name] +"""); } public override async Task Select_as_operator(bool async) @@ -6143,8 +7047,10 @@ public override async Task Select_as_operator(bool async) await base.Select_as_operator(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] -FROM [LocustLeaders] AS [l]"); +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +FROM [LocustLeaders] AS [l] +"""); } public override async Task Select_datetimeoffset_comparison_in_projection(bool async) @@ -6152,11 +7058,13 @@ public override async Task Select_datetimeoffset_comparison_in_projection(bool a await base.Select_datetimeoffset_comparison_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [m].[Timeline] > SYSDATETIMEOFFSET() THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Missions] AS [m]"); +FROM [Missions] AS [m] +"""); } public override async Task OfType_in_subquery_works(bool async) @@ -6164,7 +7072,8 @@ public override async Task OfType_in_subquery_works(bool async) await base.OfType_in_subquery_works(async); AssertSql( - @"SELECT [t].[Name], [t].[Location], [t].[Nation] +""" +SELECT [t].[Name], [t].[Location], [t].[Nation] FROM [Gears] AS [g] INNER JOIN ( SELECT [c].[Name], [c].[Location], [c].[Nation], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -6172,7 +7081,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Cities] AS [c] ON [g0].[AssignedCityName] = [c].[Name] WHERE [g0].[Discriminator] = N'Officer' ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -WHERE [g].[Discriminator] = N'Officer'"); +WHERE [g].[Discriminator] = N'Officer' +"""); } public override async Task Nullable_bool_comparison_is_translated_to_server(bool async) @@ -6180,11 +7090,13 @@ public override async Task Nullable_bool_comparison_is_translated_to_server(bool await base.Nullable_bool_comparison_is_translated_to_server(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [f].[Eradicated] = CAST(1 AS bit) AND ([f].[Eradicated] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsEradicated] -FROM [Factions] AS [f]"); +FROM [Factions] AS [f] +"""); } public override async Task Accessing_reference_navigation_collection_composition_generates_single_query(bool async) @@ -6192,14 +7104,16 @@ public override async Task Accessing_reference_navigation_collection_composition await base.Accessing_reference_navigation_collection_composition_generates_single_query(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[IsAutomatic], [t].[Name], [t].[Id0] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[IsAutomatic], [t].[Name], [t].[Id0] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[IsAutomatic], [w0].[Name], [w0].[Id] AS [Id0], [w].[OwnerFullName] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Reference_include_chain_loads_correctly_when_middle_is_null(bool async) @@ -6207,11 +7121,13 @@ public override async Task Reference_include_chain_loads_correctly_when_middle_i await base.Reference_include_chain_loads_correctly_when_middle_is_null(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Accessing_property_of_optional_navigation_in_child_projection_works(bool async) @@ -6219,7 +7135,8 @@ public override async Task Accessing_property_of_optional_navigation_in_child_pr await base.Accessing_property_of_optional_navigation_in_child_projection_works(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[Id], [t0].[SquadId] @@ -6230,7 +7147,8 @@ LEFT JOIN ( FROM [Weapons] AS [w] LEFT JOIN [Gears] AS [g0] ON [w].[OwnerFullName] = [g0].[FullName] ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [t].[Note], [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname]"); +ORDER BY [t].[Note], [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname] +"""); } public override async Task Collection_navigation_ofType_filter_works(bool async) @@ -6238,12 +7156,14 @@ public override async Task Collection_navigation_ofType_filter_works(bool async) await base.Collection_navigation_ofType_filter_works(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] WHERE EXISTS ( SELECT 1 FROM [Gears] AS [g] - WHERE [c].[Name] = [g].[CityOfBirthName] AND [g].[Discriminator] = N'Officer' AND [g].[Nickname] = N'Marcus')"); + WHERE [c].[Name] = [g].[CityOfBirthName] AND [g].[Discriminator] = N'Officer' AND [g].[Nickname] = N'Marcus') +"""); } public override async Task Query_reusing_parameter_doesnt_declare_duplicate_parameter(bool async) @@ -6251,7 +7171,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para await base.Query_reusing_parameter_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__prm_Inner_Nickname_0='Marcus' (Size = 450) +""" +@__prm_Inner_Nickname_0='Marcus' (Size = 450) SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM ( @@ -6259,7 +7180,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para FROM [Gears] AS [g] WHERE [g].[Nickname] <> @__prm_Inner_Nickname_0 AND [g].[Nickname] <> @__prm_Inner_Nickname_0 ) AS [t] -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(bool async) @@ -6267,7 +7189,8 @@ public override async Task Query_reusing_parameter_with_inner_query_doesnt_decla await base.Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__squadId_0='1' +""" +@__squadId_0='1' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM ( @@ -6287,7 +7210,8 @@ SELECT 1 FROM [Squads] AS [s2] WHERE [s2].[Id] = @__squadId_0 AND [s2].[Id] = [s1].[Id]) ) AS [t] -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(bool async) @@ -6295,14 +7219,16 @@ public override async Task Query_reusing_parameter_with_inner_query_expression_d await base.Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__gearId_0='1' +""" +@__gearId_0='1' SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] WHERE EXISTS ( SELECT 1 FROM [Gears] AS [g] - WHERE [s].[Id] = [g].[SquadId] AND [g].[SquadId] = @__gearId_0 AND [g].[SquadId] = @__gearId_0)"); + WHERE [s].[Id] = [g].[SquadId] AND [g].[SquadId] = @__gearId_0 AND [g].[SquadId] = @__gearId_0) +"""); } public override async Task Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(bool async) @@ -6310,7 +7236,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para await base.Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(async); AssertSql( - @"@__entity_equality_prm_Inner_Squad_0_Id='1' (Nullable = true) +""" +@__entity_equality_prm_Inner_Squad_0_Id='1' (Nullable = true) SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM ( @@ -6321,7 +7248,8 @@ FROM [Gears] AS [g] ) AS [t] INNER JOIN [Squads] AS [s0] ON [t].[SquadId] = [s0].[Id] WHERE [s0].[Id] = @__entity_equality_prm_Inner_Squad_0_Id -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Complex_GroupBy_after_set_operator(bool async) @@ -6329,7 +7257,8 @@ public override async Task Complex_GroupBy_after_set_operator(bool async) await base.Complex_GroupBy_after_set_operator(async); AssertSql( - @"SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] +""" +SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] FROM ( SELECT [c].[Name], ( SELECT COUNT(*) @@ -6345,7 +7274,8 @@ FROM [Weapons] AS [w0] FROM [Gears] AS [g0] INNER JOIN [Cities] AS [c0] ON [g0].[CityOfBirthName] = [c0].[Name] ) AS [t] -GROUP BY [t].[Name], [t].[Count]"); +GROUP BY [t].[Name], [t].[Count] +"""); } public override async Task Complex_GroupBy_after_set_operator_using_result_selector(bool async) @@ -6353,7 +7283,8 @@ public override async Task Complex_GroupBy_after_set_operator_using_result_selec await base.Complex_GroupBy_after_set_operator_using_result_selector(async); AssertSql( - @"SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] +""" +SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] FROM ( SELECT [c].[Name], ( SELECT COUNT(*) @@ -6369,7 +7300,8 @@ FROM [Weapons] AS [w0] FROM [Gears] AS [g0] INNER JOIN [Cities] AS [c0] ON [g0].[CityOfBirthName] = [c0].[Name] ) AS [t] -GROUP BY [t].[Name], [t].[Count]"); +GROUP BY [t].[Name], [t].[Count] +"""); } public override async Task Left_join_with_GroupBy_with_composite_group_key(bool async) @@ -6377,11 +7309,13 @@ public override async Task Left_join_with_GroupBy_with_composite_group_key(bool await base.Left_join_with_GroupBy_with_composite_group_key(async); AssertSql( - @"SELECT [g].[CityOfBirthName], [g].[HasSoulPatch] +""" +SELECT [g].[CityOfBirthName], [g].[HasSoulPatch] FROM [Gears] AS [g] INNER JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] -GROUP BY [g].[CityOfBirthName], [g].[HasSoulPatch]"); +GROUP BY [g].[CityOfBirthName], [g].[HasSoulPatch] +"""); } public override async Task GroupBy_with_boolean_grouping_key(bool async) @@ -6389,7 +7323,8 @@ public override async Task GroupBy_with_boolean_grouping_key(bool async) await base.GroupBy_with_boolean_grouping_key(async); AssertSql( - @"SELECT [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus], COUNT(*) AS [Count] +""" +SELECT [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus], COUNT(*) AS [Count] FROM ( SELECT [g].[CityOfBirthName], [g].[HasSoulPatch], CASE WHEN [g].[Nickname] = N'Marcus' THEN CAST(1 AS bit) @@ -6397,7 +7332,8 @@ ELSE CAST(0 AS bit) END AS [IsMarcus] FROM [Gears] AS [g] ) AS [t] -GROUP BY [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus]"); +GROUP BY [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus] +"""); } public override async Task GroupBy_with_boolean_groupin_key_thru_navigation_access(bool async) @@ -6405,11 +7341,13 @@ public override async Task GroupBy_with_boolean_groupin_key_thru_navigation_acce await base.GroupBy_with_boolean_groupin_key_thru_navigation_access(async); AssertSql( - @"SELECT [g].[HasSoulPatch], LOWER([s].[Name]) AS [Name] +""" +SELECT [g].[HasSoulPatch], LOWER([s].[Name]) AS [Name] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] -GROUP BY [g].[HasSoulPatch], [s].[Name]"); +GROUP BY [g].[HasSoulPatch], [s].[Name] +"""); } public override async Task Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(bool async) @@ -6417,10 +7355,12 @@ public override async Task Group_by_over_projection_with_multiple_properties_acc await base.Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(async); AssertSql( - @"SELECT [c].[Name] +""" +SELECT [c].[Name] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] -GROUP BY [c].[Name]"); +GROUP BY [c].[Name] +"""); } public override async Task Group_by_on_StartsWith_with_null_parameter_as_argument(bool async) @@ -6428,12 +7368,14 @@ public override async Task Group_by_on_StartsWith_with_null_parameter_as_argumen await base.Group_by_on_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [t].[Key] +""" +SELECT [t].[Key] FROM ( SELECT CAST(0 AS bit) AS [Key] FROM [Gears] AS [g] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Group_by_with_having_StartsWith_with_null_parameter_as_argument(bool async) @@ -6441,10 +7383,12 @@ public override async Task Group_by_with_having_StartsWith_with_null_parameter_a await base.Group_by_with_having_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] GROUP BY [g].[FullName] -HAVING 0 = 1"); +HAVING 0 = 1 +"""); } public override async Task Select_StartsWith_with_null_parameter_as_argument(bool async) @@ -6452,8 +7396,10 @@ public override async Task Select_StartsWith_with_null_parameter_as_argument(boo await base.Select_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT CAST(0 AS bit) -FROM [Gears] AS [g]"); +""" +SELECT CAST(0 AS bit) +FROM [Gears] AS [g] +"""); } public override async Task Select_null_parameter_is_not_null(bool async) @@ -6461,10 +7407,12 @@ public override async Task Select_null_parameter_is_not_null(bool async) await base.Select_null_parameter_is_not_null(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT @__p_0 -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Where_null_parameter_is_not_null(bool async) @@ -6472,11 +7420,13 @@ public override async Task Where_null_parameter_is_not_null(bool async) await base.Where_null_parameter_is_not_null(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE @__p_0 = CAST(1 AS bit)"); +WHERE @__p_0 = CAST(1 AS bit) +"""); } public override async Task OrderBy_StartsWith_with_null_parameter_as_argument(bool async) @@ -6484,9 +7434,11 @@ public override async Task OrderBy_StartsWith_with_null_parameter_as_argument(bo await base.OrderBy_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task OrderBy_Contains_empty_list(bool async) @@ -6494,8 +7446,10 @@ public override async Task OrderBy_Contains_empty_list(bool async) await base.OrderBy_Contains_empty_list(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] -FROM [Gears] AS [g]"); +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +FROM [Gears] AS [g] +"""); } public override async Task Where_with_enum_flags_parameter(bool async) @@ -6503,24 +7457,32 @@ public override async Task Where_with_enum_flags_parameter(bool async) await base.Where_with_enum_flags_parameter(async); AssertSql( - @"@__rank_0='1' (Nullable = true) +""" +@__rank_0='1' (Nullable = true) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & @__rank_0) = @__rank_0", +WHERE ([g].[Rank] & @__rank_0) = @__rank_0 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] -FROM [Gears] AS [g]", +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +FROM [Gears] AS [g] +""", // - @"@__rank_0='2' (Nullable = true) +""" +@__rank_0='2' (Nullable = true) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] | @__rank_0) <> @__rank_0", +WHERE ([g].[Rank] | @__rank_0) <> @__rank_0 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(bool async) @@ -6528,7 +7490,8 @@ public override async Task FirstOrDefault_navigation_access_entity_equality_in_w await base.FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] AS [f] LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] WHERE [c].[Name] = ( @@ -6539,7 +7502,8 @@ FROM [Gears] AS [g] SELECT TOP(1) [c0].[Name] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c0] ON [g].[CityOfBirthName] = [c0].[Name] - ORDER BY [g].[Nickname]) IS NULL))"); + ORDER BY [g].[Nickname]) IS NULL)) +"""); } public override async Task Bitwise_operation_with_non_null_parameter_optimizes_null_checks(bool async) @@ -6547,27 +7511,33 @@ public override async Task Bitwise_operation_with_non_null_parameter_optimizes_n await base.Bitwise_operation_with_non_null_parameter_optimizes_null_checks(async); AssertSql( - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE ([g].[Rank] & @__ranks_0) <> 0", +WHERE ([g].[Rank] & @__ranks_0) <> 0 +""", // - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT CASE WHEN ([g].[Rank] | @__ranks_0) = @__ranks_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Gears] AS [g]", +FROM [Gears] AS [g] +""", // - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT CASE WHEN ([g].[Rank] | ([g].[Rank] | (@__ranks_0 | ([g].[Rank] | @__ranks_0)))) = @__ranks_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Bitwise_operation_with_null_arguments(bool async) @@ -6575,32 +7545,44 @@ public override async Task Bitwise_operation_with_null_arguments(bool async) await base.Bitwise_operation_with_null_arguments(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] -FROM [Weapons] AS [w]", +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +FROM [Weapons] AS [w] +""", // - @"@__prm_0='2' (Nullable = true) +""" +@__prm_0='2' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__prm_0) <> 0 OR ([w].[AmmunitionType] IS NULL)", +WHERE ([w].[AmmunitionType] & @__prm_0) <> 0 OR ([w].[AmmunitionType] IS NULL) +""", // - @"@__prm_0='1' (Nullable = true) +""" +@__prm_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__prm_0) = @__prm_0"); +WHERE ([w].[AmmunitionType] & @__prm_0) = @__prm_0 +"""); } public override async Task Logical_operation_with_non_null_parameter_optimizes_null_checks(bool async) @@ -6608,17 +7590,21 @@ public override async Task Logical_operation_with_non_null_parameter_optimizes_n await base.Logical_operation_with_non_null_parameter_optimizes_null_checks(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] <> @__prm_0", +WHERE [g].[HasSoulPatch] <> @__prm_0 +""", // - @"@__prm_0='False' +""" +@__prm_0='False' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] <> @__prm_0"); +WHERE [g].[HasSoulPatch] <> @__prm_0 +"""); } public override async Task Cast_OfType_works_correctly(bool async) @@ -6626,9 +7612,11 @@ public override async Task Cast_OfType_works_correctly(bool async) await base.Cast_OfType_works_correctly(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] -WHERE [g].[Discriminator] = N'Officer'"); +WHERE [g].[Discriminator] = N'Officer' +"""); } public override async Task Join_inner_source_custom_projection_followed_by_filter(bool async) @@ -6636,7 +7624,8 @@ public override async Task Join_inner_source_custom_projection_followed_by_filte await base.Join_inner_source_custom_projection_followed_by_filter(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [f].[Name] = N'Locust' THEN CAST(1 AS bit) ELSE NULL END AS [IsEradicated], [f].[CommanderName], [f].[Name] @@ -6648,7 +7637,8 @@ ELSE NULL END <> CAST(1 AS bit) OR (CASE WHEN [f].[Name] = N'Locust' THEN CAST(1 AS bit) ELSE NULL -END IS NULL)"); +END IS NULL) +"""); } public override async Task Byte_array_contains_literal(bool async) @@ -6656,9 +7646,11 @@ public override async Task Byte_array_contains_literal(bool async) await base.Byte_array_contains_literal(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CHARINDEX(0x01, [s].[Banner]) > 0"); +WHERE CHARINDEX(0x01, [s].[Banner]) > 0 +"""); } public override async Task Byte_array_filter_by_length_literal(bool async) @@ -6666,9 +7658,11 @@ public override async Task Byte_array_filter_by_length_literal(bool async) await base.Byte_array_filter_by_length_literal(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = 1"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = 1 +"""); } public override async Task Byte_array_filter_by_length_parameter(bool async) @@ -6676,11 +7670,13 @@ public override async Task Byte_array_filter_by_length_parameter(bool async) await base.Byte_array_filter_by_length_parameter(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = @__p_0"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = @__p_0 +"""); } public override void Byte_array_filter_by_length_parameter_compiled() @@ -6688,11 +7684,13 @@ public override void Byte_array_filter_by_length_parameter_compiled() base.Byte_array_filter_by_length_parameter_compiled(); AssertSql( - @"@__byteArrayParam='0x2A80' (Size = 8000) +""" +@__byteArrayParam='0x2A80' (Size = 8000) SELECT COUNT(*) FROM [Squads] AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = CAST(DATALENGTH(@__byteArrayParam) AS int)"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = CAST(DATALENGTH(@__byteArrayParam) AS int) +"""); } public override async Task Byte_array_contains_parameter(bool async) @@ -6700,11 +7698,13 @@ public override async Task Byte_array_contains_parameter(bool async) await base.Byte_array_contains_parameter(async); AssertSql( - @"@__someByte_0='1' (Size = 1) +""" +@__someByte_0='1' (Size = 1) SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CHARINDEX(CAST(@__someByte_0 AS varbinary(max)), [s].[Banner]) > 0"); +WHERE CHARINDEX(CAST(@__someByte_0 AS varbinary(max)), [s].[Banner]) > 0 +"""); } public override async Task Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(bool async) @@ -6712,9 +7712,11 @@ public override async Task Byte_array_filter_by_length_literal_does_not_cast_on_ await base.Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE DATALENGTH([s].[Banner5]) = 5"); +WHERE DATALENGTH([s].[Banner5]) = 5 +"""); } public override async Task Conditional_expression_with_test_being_simplified_to_constant_simple(bool isAsync) @@ -6722,14 +7724,16 @@ public override async Task Conditional_expression_with_test_being_simplified_to_ await base.Conditional_expression_with_test_being_simplified_to_constant_simple(isAsync); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE CASE WHEN [g].[HasSoulPatch] = @__prm_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Conditional_expression_with_test_being_simplified_to_constant_complex(bool isAsync) @@ -6737,7 +7741,8 @@ public override async Task Conditional_expression_with_test_being_simplified_to_ await base.Conditional_expression_with_test_being_simplified_to_constant_complex(isAsync); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' @__prm2_1='Dom's Lancer' (Size = 4000) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] @@ -6754,7 +7759,8 @@ FROM [Weapons] AS [w] ELSE CAST(0 AS bit) END ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task OrderBy_bool_coming_from_optional_navigation(bool async) @@ -6762,10 +7768,12 @@ public override async Task OrderBy_bool_coming_from_optional_navigation(bool asy await base.OrderBy_bool_coming_from_optional_navigation(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w0].[IsAutomatic]"); +ORDER BY [w0].[IsAutomatic] +"""); } public override async Task DateTimeOffset_Date_returns_datetime(bool async) @@ -6773,11 +7781,13 @@ public override async Task DateTimeOffset_Date_returns_datetime(bool async) await base.DateTimeOffset_Date_returns_datetime(async); AssertSql( - @"@__dateTimeOffset_Date_0='0002-03-01T00:00:00.0000000' +""" +@__dateTimeOffset_Date_0='0002-03-01T00:00:00.0000000' SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE CONVERT(date, [m].[Timeline]) >= @__dateTimeOffset_Date_0"); +WHERE CONVERT(date, [m].[Timeline]) >= @__dateTimeOffset_Date_0 +"""); } public override async Task Conditional_with_conditions_evaluating_to_false_gets_optimized(bool async) @@ -6785,8 +7795,10 @@ public override async Task Conditional_with_conditions_evaluating_to_false_gets_ await base.Conditional_with_conditions_evaluating_to_false_gets_optimized(async); AssertSql( - @"SELECT [g].[FullName] -FROM [Gears] AS [g]"); +""" +SELECT [g].[FullName] +FROM [Gears] AS [g] +"""); } public override async Task Conditional_with_conditions_evaluating_to_true_gets_optimized(bool async) @@ -6794,8 +7806,10 @@ public override async Task Conditional_with_conditions_evaluating_to_true_gets_o await base.Conditional_with_conditions_evaluating_to_true_gets_optimized(async); AssertSql( - @"SELECT [g].[CityOfBirthName] -FROM [Gears] AS [g]"); +""" +SELECT [g].[CityOfBirthName] +FROM [Gears] AS [g] +"""); } public override async Task Projecting_required_string_column_compared_to_null_parameter(bool async) @@ -6803,8 +7817,10 @@ public override async Task Projecting_required_string_column_compared_to_null_pa await base.Projecting_required_string_column_compared_to_null_parameter(async); AssertSql( - @"SELECT CAST(0 AS bit) -FROM [Gears] AS [g]"); +""" +SELECT CAST(0 AS bit) +FROM [Gears] AS [g] +"""); } public override async Task Byte_array_filter_by_SequenceEqual(bool isAsync) @@ -6812,11 +7828,13 @@ public override async Task Byte_array_filter_by_SequenceEqual(bool isAsync) await base.Byte_array_filter_by_SequenceEqual(isAsync); AssertSql( - @"@__byteArrayParam_0='0x0405060708' (Size = 5) +""" +@__byteArrayParam_0='0x0405060708' (Size = 5) SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE [s].[Banner5] = @__byteArrayParam_0"); +WHERE [s].[Banner5] = @__byteArrayParam_0 +"""); } public override async Task Group_by_nullable_property_HasValue_and_project_the_grouping_key(bool async) @@ -6824,7 +7842,8 @@ public override async Task Group_by_nullable_property_HasValue_and_project_the_g await base.Group_by_nullable_property_HasValue_and_project_the_grouping_key(async); AssertSql( - @"SELECT [t].[Key] +""" +SELECT [t].[Key] FROM ( SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) @@ -6832,7 +7851,8 @@ ELSE CAST(0 AS bit) END AS [Key] FROM [Weapons] AS [w] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Group_by_nullable_property_and_project_the_grouping_key_HasValue(bool async) @@ -6840,12 +7860,14 @@ public override async Task Group_by_nullable_property_and_project_the_grouping_k await base.Group_by_nullable_property_and_project_the_grouping_key_HasValue(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Weapons] AS [w] -GROUP BY [w].[SynergyWithId]"); +GROUP BY [w].[SynergyWithId] +"""); } public override async Task Checked_context_with_cast_does_not_fail(bool isAsync) @@ -6853,9 +7875,11 @@ public override async Task Checked_context_with_cast_does_not_fail(bool isAsync) await base.Checked_context_with_cast_does_not_fail(isAsync); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] -WHERE CAST([l].[ThreatLevel] AS tinyint) >= CAST(5 AS tinyint)"); +WHERE CAST([l].[ThreatLevel] AS tinyint) >= CAST(5 AS tinyint) +"""); } public override async Task Checked_context_with_addition_does_not_fail(bool isAsync) @@ -6863,9 +7887,11 @@ public override async Task Checked_context_with_addition_does_not_fail(bool isAs await base.Checked_context_with_addition_does_not_fail(isAsync); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] -WHERE CAST([l].[ThreatLevel] AS bigint) >= (CAST(5 AS bigint) + CAST([l].[ThreatLevel] AS bigint))"); +WHERE CAST([l].[ThreatLevel] AS bigint) >= (CAST(5 AS bigint) + CAST([l].[ThreatLevel] AS bigint)) +"""); } public override async Task TimeSpan_Hours(bool async) @@ -6873,8 +7899,10 @@ public override async Task TimeSpan_Hours(bool async) await base.TimeSpan_Hours(async); AssertSql( - @"SELECT DATEPART(hour, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(hour, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task TimeSpan_Minutes(bool async) @@ -6882,8 +7910,10 @@ public override async Task TimeSpan_Minutes(bool async) await base.TimeSpan_Minutes(async); AssertSql( - @"SELECT DATEPART(minute, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(minute, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task TimeSpan_Seconds(bool async) @@ -6891,8 +7921,10 @@ public override async Task TimeSpan_Seconds(bool async) await base.TimeSpan_Seconds(async); AssertSql( - @"SELECT DATEPART(second, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(second, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task TimeSpan_Milliseconds(bool async) @@ -6900,8 +7932,10 @@ public override async Task TimeSpan_Milliseconds(bool async) await base.TimeSpan_Milliseconds(async); AssertSql( - @"SELECT DATEPART(millisecond, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(millisecond, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task Where_TimeSpan_Hours(bool async) @@ -6909,9 +7943,11 @@ public override async Task Where_TimeSpan_Hours(bool async) await base.Where_TimeSpan_Hours(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(hour, [m].[Duration]) = 1"); +WHERE DATEPART(hour, [m].[Duration]) = 1 +"""); } public override async Task Where_TimeSpan_Minutes(bool async) @@ -6919,9 +7955,11 @@ public override async Task Where_TimeSpan_Minutes(bool async) await base.Where_TimeSpan_Minutes(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(minute, [m].[Duration]) = 1"); +WHERE DATEPART(minute, [m].[Duration]) = 1 +"""); } public override async Task Where_TimeSpan_Seconds(bool async) @@ -6929,9 +7967,11 @@ public override async Task Where_TimeSpan_Seconds(bool async) await base.Where_TimeSpan_Seconds(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(second, [m].[Duration]) = 1"); +WHERE DATEPART(second, [m].[Duration]) = 1 +"""); } public override async Task Where_TimeSpan_Milliseconds(bool async) @@ -6939,9 +7979,11 @@ public override async Task Where_TimeSpan_Milliseconds(bool async) await base.Where_TimeSpan_Milliseconds(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(millisecond, [m].[Duration]) = 1"); +WHERE DATEPART(millisecond, [m].[Duration]) = 1 +"""); } public override async Task Contains_on_collection_of_byte_subquery(bool async) @@ -6949,12 +7991,14 @@ public override async Task Contains_on_collection_of_byte_subquery(bool async) await base.Contains_on_collection_of_byte_subquery(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l0] - WHERE [l0].[ThreatLevelByte] = [l].[ThreatLevelByte])"); + WHERE [l0].[ThreatLevelByte] = [l].[ThreatLevelByte]) +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery(bool async) @@ -6962,12 +8006,14 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery(bool await base.Contains_on_collection_of_nullable_byte_subquery(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l0] - WHERE [l0].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l0].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL)))"); + WHERE [l0].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l0].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL))) +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery_null_constant(bool async) @@ -6975,12 +8021,14 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery_null await base.Contains_on_collection_of_nullable_byte_subquery_null_constant(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l0] - WHERE [l0].[ThreatLevelNullableByte] IS NULL)"); + WHERE [l0].[ThreatLevelNullableByte] IS NULL) +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery_null_parameter(bool async) @@ -6988,12 +8036,14 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery_null await base.Contains_on_collection_of_nullable_byte_subquery_null_parameter(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l0] - WHERE [l0].[ThreatLevelNullableByte] IS NULL)"); + WHERE [l0].[ThreatLevelNullableByte] IS NULL) +"""); } public override async Task Contains_on_byte_array_property_using_byte_column(bool async) @@ -7001,10 +8051,12 @@ public override async Task Contains_on_byte_array_property_using_byte_column(boo await base.Contains_on_byte_array_property_using_byte_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [Squads] AS [s] CROSS JOIN [LocustLeaders] AS [l] -WHERE CHARINDEX(CAST([l].[ThreatLevelByte] AS varbinary(max)), [s].[Banner]) > 0"); +WHERE CHARINDEX(CAST([l].[ThreatLevelByte] AS varbinary(max)), [s].[Banner]) > 0 +"""); } public override async Task Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion( @@ -7013,7 +8065,8 @@ public override async Task Subquery_projecting_non_nullable_scalar_contains_non_ await base.Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM [LocustLeaders] AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] @@ -7022,7 +8075,8 @@ WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l0] WHERE [l0].[ThreatLevelByte] = [l].[ThreatLevelByte]) -) AS [t]"); +) AS [t] +"""); } public override async Task Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion_negated( @@ -7031,7 +8085,8 @@ public override async Task Subquery_projecting_non_nullable_scalar_contains_non_ await base.Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion_negated(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM [LocustLeaders] AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] @@ -7040,7 +8095,8 @@ WHERE NOT (EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l0] WHERE [l0].[ThreatLevelByte] = [l].[ThreatLevelByte])) -) AS [t]"); +) AS [t] +"""); } public override async Task Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion(bool async) @@ -7048,7 +8104,8 @@ public override async Task Subquery_projecting_nullable_scalar_contains_nullable await base.Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM [LocustLeaders] AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] @@ -7057,7 +8114,8 @@ WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l0] WHERE [l0].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l0].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL))) -) AS [t]"); +) AS [t] +"""); } public override async Task Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion_negated(bool async) @@ -7065,7 +8123,8 @@ public override async Task Subquery_projecting_nullable_scalar_contains_nullable await base.Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion_negated(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank] FROM [LocustLeaders] AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] @@ -7074,7 +8133,8 @@ WHERE NOT (EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l0] WHERE [l0].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l0].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL)))) -) AS [t]"); +) AS [t] +"""); } public override async Task Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) @@ -7082,11 +8142,13 @@ public override async Task Enum_closure_typed_as_underlying_type_generates_corre await base.Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='1' (Nullable = true) +""" +@__prm_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE @__prm_0 = [w].[AmmunitionType]"); +WHERE @__prm_0 = [w].[AmmunitionType] +"""); } public override async Task Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) @@ -7094,11 +8156,13 @@ public override async Task Enum_flags_closure_typed_as_underlying_type_generates await base.Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='133' +""" +@__prm_0='133' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE (@__prm_0 & [g].[Rank]) = [g].[Rank]"); +WHERE (@__prm_0 & [g].[Rank]) = [g].[Rank] +"""); } public override async Task Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(bool async) @@ -7106,11 +8170,13 @@ public override async Task Enum_flags_closure_typed_as_different_type_generates_ await base.Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='5' +""" +@__prm_0='5' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE (@__prm_0 & CAST([g].[Rank] AS int)) = CAST([g].[Rank] AS int)"); +WHERE (@__prm_0 & CAST([g].[Rank] AS int)) = CAST([g].[Rank] AS int) +"""); } public override async Task Constant_enum_with_same_underlying_value_as_previously_parameterized_int(bool async) @@ -7118,11 +8184,13 @@ public override async Task Constant_enum_with_same_underlying_value_as_previousl await base.Constant_enum_with_same_underlying_value_as_previously_parameterized_int(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(@__p_0) [g].[Rank] & 1 FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Enum_array_contains(bool async) @@ -7130,10 +8198,12 @@ public override async Task Enum_array_contains(bool async) await base.Enum_array_contains(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -WHERE ([w0].[Id] IS NOT NULL) AND ([w0].[AmmunitionType] = 1 OR ([w0].[AmmunitionType] IS NULL))"); +WHERE ([w0].[Id] IS NOT NULL) AND ([w0].[AmmunitionType] = 1 OR ([w0].[AmmunitionType] IS NULL)) +"""); } [ConditionalTheory] @@ -7146,8 +8216,10 @@ await AssertQueryScalar( ss => ss.Set().Select(m => (int?)(m.CodeName.Length * 2))); AssertSql( - @"SELECT CAST(DATALENGTH([m].[CodeName]) AS int) -FROM [Missions] AS [m]"); +""" +SELECT CAST(DATALENGTH([m].[CodeName]) AS int) +FROM [Missions] AS [m] +"""); } public override async Task CompareTo_used_with_non_unicode_string_column_and_constant(bool async) @@ -7155,9 +8227,11 @@ public override async Task CompareTo_used_with_non_unicode_string_column_and_con await base.CompareTo_used_with_non_unicode_string_column_and_constant(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] = 'Unknown'"); +WHERE [c].[Location] = 'Unknown' +"""); } public override async Task Coalesce_used_with_non_unicode_string_column_and_constant(bool async) @@ -7165,8 +8239,10 @@ public override async Task Coalesce_used_with_non_unicode_string_column_and_cons await base.Coalesce_used_with_non_unicode_string_column_and_constant(async); AssertSql( - @"SELECT COALESCE([c].[Location], 'Unknown') -FROM [Cities] AS [c]"); +""" +SELECT COALESCE([c].[Location], 'Unknown') +FROM [Cities] AS [c] +"""); } public override async Task Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(bool async) @@ -7174,12 +8250,14 @@ public override async Task Groupby_anonymous_type_with_navigations_followed_up_b await base.Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], COUNT(*) AS [Count] +""" +SELECT [c].[Name], [c].[Location], COUNT(*) AS [Count] FROM [Weapons] AS [w] LEFT JOIN [Gears] AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] GROUP BY [c].[Name], [c].[Location] -ORDER BY [c].[Location]"); +ORDER BY [c].[Location] +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(bool async) @@ -7187,10 +8265,12 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_con await base.SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] INNER JOIN [Weapons] AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) -ORDER BY [g].[Nickname], [w].[Id]"); +ORDER BY [g].[Nickname], [w].[Id] +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(bool async) @@ -7198,10 +8278,12 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_Def await base.SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) -ORDER BY [g].[Nickname], [w].[Id]"); +ORDER BY [g].[Nickname], [w].[Id] +"""); } public override async Task SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join( @@ -7210,14 +8292,16 @@ public override async Task SelectMany_predicate_after_navigation_with_non_equali await base.SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ) AS [t] ON [g].[FullName] <> [t].[OwnerFullName] OR ([t].[OwnerFullName] IS NULL) -ORDER BY [g].[Nickname], [t].[Id]"); +ORDER BY [g].[Nickname], [t].[Id] +"""); } public override async Task SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(bool async) @@ -7225,9 +8309,11 @@ public override async Task SelectMany_without_result_selector_and_non_equality_c await base.SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] -LEFT JOIN [Weapons] AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL)"); +LEFT JOIN [Weapons] AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(bool async) @@ -7235,10 +8321,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] AND [g].[SquadId] < [w].[Id] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(bool async) @@ -7246,10 +8334,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] AND [g].[SquadId] <= [w].[Id] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(bool async) @@ -7257,10 +8347,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] AND [g].[SquadId] >= [w].[Id] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_with_Take_doesnt_convert_to_join(bool async) @@ -7268,7 +8360,8 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_wit await base.SelectMany_predicate_with_non_equality_comparison_with_Take_doesnt_convert_to_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] CROSS APPLY ( SELECT TOP(3) [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -7276,7 +8369,8 @@ FROM [Weapons] AS [w] WHERE [w].[OwnerFullName] <> [g].[FullName] OR ([w].[OwnerFullName] IS NULL) ORDER BY [w].[Id] ) AS [t] -ORDER BY [g].[Nickname], [t].[Id]"); +ORDER BY [g].[Nickname], [t].[Id] +"""); } public override async Task FirstOrDefault_over_int_compared_to_zero(bool async) @@ -7284,12 +8378,14 @@ public override async Task FirstOrDefault_over_int_compared_to_zero(bool async) await base.FirstOrDefault_over_int_compared_to_zero(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] AS [s] WHERE [s].[Name] = N'Kilo' AND COALESCE(( SELECT TOP(1) [g].[SquadId] FROM [Gears] AS [g] - WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0"); + WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0 +"""); } public override async Task Correlated_collection_with_inner_collection_references_element_two_levels_up(bool async) @@ -7297,7 +8393,8 @@ public override async Task Correlated_collection_with_inner_collection_reference await base.Correlated_collection_with_inner_collection_references_element_two_levels_up(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] FROM [Gears] AS [g] OUTER APPLY ( SELECT [g0].[FullName] AS [ReportName], [g].[FullName] AS [OfficerName], [g0].[Nickname], [g0].[SquadId] @@ -7305,7 +8402,8 @@ FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] ) AS [t] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Accessing_derived_property_using_hard_and_soft_cast(bool async) @@ -7313,13 +8411,17 @@ public override async Task Accessing_derived_property_using_hard_and_soft_cast(b await base.Accessing_derived_property_using_hard_and_soft_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] -WHERE [l].[Discriminator] = N'LocustCommander' AND ([l].[HighCommandId] <> 0 OR ([l].[HighCommandId] IS NULL))", +WHERE [l].[Discriminator] = N'LocustCommander' AND ([l].[HighCommandId] <> 0 OR ([l].[HighCommandId] IS NULL)) +""", // - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] -WHERE [l].[Discriminator] = N'LocustCommander' AND ([l].[HighCommandId] <> 0 OR ([l].[HighCommandId] IS NULL))"); +WHERE [l].[Discriminator] = N'LocustCommander' AND ([l].[HighCommandId] <> 0 OR ([l].[HighCommandId] IS NULL)) +"""); } public override async Task Cast_to_derived_followed_by_include_and_FirstOrDefault(bool async) @@ -7327,10 +8429,12 @@ public override async Task Cast_to_derived_followed_by_include_and_FirstOrDefaul await base.Cast_to_derived_followed_by_include_and_FirstOrDefault(async); AssertSql( - @"SELECT TOP(1) [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT TOP(1) [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [LocustLeaders] AS [l] LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] -WHERE [l].[Name] LIKE N'%Queen%'"); +WHERE [l].[Name] LIKE N'%Queen%' +"""); } public override async Task Correlated_collection_take(bool async) @@ -7338,7 +8442,8 @@ public override async Task Correlated_collection_take(bool async) await base.Correlated_collection_take(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [c].[Location], [c].[Nation] +""" +SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [c].[Location], [c].[Nation] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN ( @@ -7349,7 +8454,8 @@ FROM [Weapons] AS [w] ) AS [t] WHERE [t].[row] <= 10 ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name] +"""); } public override async Task FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(bool async) @@ -7357,7 +8463,8 @@ public override async Task FirstOrDefault_on_empty_collection_of_DateTime_in_sub await base.FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(async); AssertSql( - @"SELECT [g].[Nickname], COALESCE(( +""" +SELECT [g].[Nickname], COALESCE(( SELECT TOP(1) [t1].[IssueDate] FROM [Tags] AS [t1] WHERE [t1].[GearNickName] = [g].[FullName] @@ -7368,7 +8475,8 @@ FROM [Gears] AS [g] SELECT TOP(1) [t0].[IssueDate] FROM [Tags] AS [t0] WHERE [t0].[GearNickName] = [g].[FullName] - ORDER BY [t0].[Id]), '0001-01-01T00:00:00.0000000')"); + ORDER BY [t0].[Id]), '0001-01-01T00:00:00.0000000') +"""); } public override async Task First_on_byte_array(bool async) @@ -7376,9 +8484,11 @@ public override async Task First_on_byte_array(bool async) await base.First_on_byte_array(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(SUBSTRING([s].[Banner], 1, 1) AS tinyint) = CAST(2 AS tinyint)"); +WHERE CAST(SUBSTRING([s].[Banner], 1, 1) AS tinyint) = CAST(2 AS tinyint) +"""); } public override async Task Array_access_on_byte_array(bool async) @@ -7386,9 +8496,11 @@ public override async Task Array_access_on_byte_array(bool async) await base.Array_access_on_byte_array(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(SUBSTRING([s].[Banner5], 2 + 1, 1) AS tinyint) = CAST(6 AS tinyint)"); +WHERE CAST(SUBSTRING([s].[Banner5], 2 + 1, 1) AS tinyint) = CAST(6 AS tinyint) +"""); } public override async Task Project_shadow_properties(bool async) @@ -7396,8 +8508,10 @@ public override async Task Project_shadow_properties(bool async) await base.Project_shadow_properties(async); AssertSql( - @"SELECT [g].[Nickname], [g].[AssignedCityName] -FROM [Gears] AS [g]"); +""" +SELECT [g].[Nickname], [g].[AssignedCityName] +FROM [Gears] AS [g] +"""); } public override async Task Project_discriminator_columns(bool async) @@ -7405,25 +8519,37 @@ public override async Task Project_discriminator_columns(bool async) await base.Project_discriminator_columns(async); AssertSql( - @"SELECT [g].[Nickname], [g].[Discriminator] -FROM [Gears] AS [g]", +""" +SELECT [g].[Nickname], [g].[Discriminator] +FROM [Gears] AS [g] +""", // - @"SELECT [g].[Nickname], [g].[Discriminator] +""" +SELECT [g].[Nickname], [g].[Discriminator] FROM [Gears] AS [g] -WHERE [g].[Discriminator] = N'Officer'", +WHERE [g].[Discriminator] = N'Officer' +""", // - @"SELECT [f].[Id], [f].[Discriminator] -FROM [Factions] AS [f]", +""" +SELECT [f].[Id], [f].[Discriminator] +FROM [Factions] AS [f] +""", // - @"SELECT [f].[Id], [f].[Discriminator] -FROM [Factions] AS [f]", +""" +SELECT [f].[Id], [f].[Discriminator] +FROM [Factions] AS [f] +""", // - @"SELECT [l].[Name], [l].[Discriminator] -FROM [LocustLeaders] AS [l]", +""" +SELECT [l].[Name], [l].[Discriminator] +FROM [LocustLeaders] AS [l] +""", // - @"SELECT [l].[Name], [l].[Discriminator] +""" +SELECT [l].[Name], [l].[Discriminator] FROM [LocustLeaders] AS [l] -WHERE [l].[Discriminator] = N'LocustCommander'"); +WHERE [l].[Discriminator] = N'LocustCommander' +"""); } public override async Task Composite_key_entity_equal(bool async) @@ -7431,10 +8557,12 @@ public override async Task Composite_key_entity_equal(bool async) await base.Composite_key_entity_equal(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] CROSS JOIN [Gears] AS [g0] -WHERE [g].[Nickname] = [g0].[Nickname] AND [g].[SquadId] = [g0].[SquadId]"); +WHERE [g].[Nickname] = [g0].[Nickname] AND [g].[SquadId] = [g0].[SquadId] +"""); } public override async Task Composite_key_entity_not_equal(bool async) @@ -7442,10 +8570,12 @@ public override async Task Composite_key_entity_not_equal(bool async) await base.Composite_key_entity_not_equal(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] CROSS JOIN [Gears] AS [g0] -WHERE [g].[Nickname] <> [g0].[Nickname] OR [g].[SquadId] <> [g0].[SquadId]"); +WHERE [g].[Nickname] <> [g0].[Nickname] OR [g].[SquadId] <> [g0].[SquadId] +"""); } public override async Task Composite_key_entity_equal_null(bool async) @@ -7453,10 +8583,12 @@ public override async Task Composite_key_entity_equal_null(bool async) await base.Composite_key_entity_equal_null(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] -WHERE [l].[Discriminator] = N'LocustCommander' AND (([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL))"); +WHERE [l].[Discriminator] = N'LocustCommander' AND (([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL)) +"""); } public override async Task Composite_key_entity_not_equal_null(bool async) @@ -7464,10 +8596,12 @@ public override async Task Composite_key_entity_not_equal_null(bool async) await base.Composite_key_entity_not_equal_null(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] AS [l] LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] -WHERE [l].[Discriminator] = N'LocustCommander' AND ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL)"); +WHERE [l].[Discriminator] = N'LocustCommander' AND ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL) +"""); } [ConditionalFact] @@ -7481,9 +8615,11 @@ public async Task FreeText_with_binary_column() Assert.Equal(1, result.Id); AssertSql( - @"SELECT TOP(2) [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT TOP(2) [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE FREETEXT([m].[BriefingDocument], N'bombing')"); +WHERE FREETEXT([m].[BriefingDocument], N'bombing') +"""); } [ConditionalFact] @@ -7497,9 +8633,11 @@ public async Task FreeText_with_binary_column_and_language_term() Assert.Equal(1, result.Id); AssertSql( - @"SELECT TOP(2) [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT TOP(2) [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE FREETEXT([m].[BriefingDocument], N'bombing', LANGUAGE 1033)"); +WHERE FREETEXT([m].[BriefingDocument], N'bombing', LANGUAGE 1033) +"""); } [ConditionalFact] @@ -7512,9 +8650,11 @@ public async Task Contains_with_binary_column() Assert.Equal(1, result.Id); AssertSql( - @"SELECT TOP(2) [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT TOP(2) [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE CONTAINS([m].[BriefingDocument], N'bomb')"); +WHERE CONTAINS([m].[BriefingDocument], N'bomb') +"""); } [ConditionalFact] @@ -7528,9 +8668,11 @@ public async Task Contains_with_binary_column_and_language_term() Assert.Equal(1, result.Id); AssertSql( - @"SELECT TOP(2) [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT TOP(2) [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE CONTAINS([m].[BriefingDocument], N'bomb', LANGUAGE 1033)"); +WHERE CONTAINS([m].[BriefingDocument], N'bomb', LANGUAGE 1033) +"""); } public override async Task Projecting_property_converted_to_nullable_with_comparison(bool async) @@ -7538,7 +8680,8 @@ public override async Task Projecting_property_converted_to_nullable_with_compar await base.Projecting_property_converted_to_nullable_with_comparison(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -7547,7 +8690,8 @@ FROM [Tags] AS [t] WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL -END = 1"); +END = 1 +"""); } public override async Task Projecting_property_converted_to_nullable_with_addition(bool async) @@ -7555,7 +8699,8 @@ public override async Task Projecting_property_converted_to_nullable_with_additi await base.Projecting_property_converted_to_nullable_with_addition(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -7564,7 +8709,8 @@ FROM [Tags] AS [t] WHERE (CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL -END + 1) = 2"); +END + 1) = 2 +"""); } public override async Task Projecting_property_converted_to_nullable_with_addition_and_final_projection(bool async) @@ -7572,7 +8718,8 @@ public override async Task Projecting_property_converted_to_nullable_with_additi await base.Projecting_property_converted_to_nullable_with_addition_and_final_projection(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL END + 1 AS [Value] @@ -7581,7 +8728,8 @@ FROM [Tags] AS [t] WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Projecting_property_converted_to_nullable_with_conditional(bool async) @@ -7589,7 +8737,8 @@ public override async Task Projecting_property_converted_to_nullable_with_condit await base.Projecting_property_converted_to_nullable_with_conditional(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) THEN CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL @@ -7597,7 +8746,8 @@ ELSE NULL ELSE -1 END FROM [Tags] AS [t] -LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Projecting_property_converted_to_nullable_with_function_call(bool async) @@ -7605,12 +8755,14 @@ public override async Task Projecting_property_converted_to_nullable_with_functi await base.Projecting_property_converted_to_nullable_with_function_call(async); AssertSql( - @"SELECT SUBSTRING(CASE +""" +SELECT SUBSTRING(CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL END, 0 + 1, 3) FROM [Tags] AS [t] -LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Projecting_property_converted_to_nullable_with_function_call2(bool async) @@ -7618,7 +8770,8 @@ public override async Task Projecting_property_converted_to_nullable_with_functi await base.Projecting_property_converted_to_nullable_with_function_call2(async); AssertSql( - @"SELECT [t].[Note], SUBSTRING([t].[Note], 0 + 1, CASE +""" +SELECT [t].[Note], SUBSTRING([t].[Note], 0 + 1, CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL END) AS [Function] @@ -7627,7 +8780,8 @@ FROM [Tags] AS [t] WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Projecting_property_converted_to_nullable_into_element_init(bool async) @@ -7635,7 +8789,8 @@ public override async Task Projecting_property_converted_to_nullable_into_elemen await base.Projecting_property_converted_to_nullable_into_element_init(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(LEN([g].[Nickname]) AS int) ELSE NULL END, CASE @@ -7651,7 +8806,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_member_assignment(bool async) @@ -7659,7 +8815,8 @@ public override async Task Projecting_property_converted_to_nullable_into_member await base.Projecting_property_converted_to_nullable_into_member_assignment(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL END AS [Id] @@ -7669,7 +8826,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_new_array(bool async) @@ -7677,7 +8835,8 @@ public override async Task Projecting_property_converted_to_nullable_into_new_ar await base.Projecting_property_converted_to_nullable_into_new_array(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(LEN([g].[Nickname]) AS int) ELSE NULL END, CASE @@ -7693,7 +8852,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_unary(bool async) @@ -7701,7 +8861,8 @@ public override async Task Projecting_property_converted_to_nullable_into_unary( await base.Projecting_property_converted_to_nullable_into_unary(async); AssertSql( - @"SELECT [t].[Note] +""" +SELECT [t].[Note] FROM [Tags] AS [t] LEFT JOIN [Gears] AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE (CASE @@ -7711,7 +8872,8 @@ ELSE NULL WHEN [t].[GearNickName] IS NOT NULL THEN [g].[HasSoulPatch] ELSE NULL END = CAST(0 AS bit) -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_member_access(bool async) @@ -7719,11 +8881,13 @@ public override async Task Projecting_property_converted_to_nullable_into_member await base.Projecting_property_converted_to_nullable_into_member_access(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE DATEPART(month, [t].[IssueDate]) <> 5 OR ([t].[IssueDate] IS NULL) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Projecting_property_converted_to_nullable_and_use_it_in_order_by(bool async) @@ -7731,7 +8895,8 @@ public override async Task Projecting_property_converted_to_nullable_and_use_it_ await base.Projecting_property_converted_to_nullable_and_use_it_in_order_by(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -7744,7 +8909,8 @@ END IS NOT NULL ORDER BY CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL -END, [t].[Note]"); +END, [t].[Note] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column(bool async) @@ -7752,14 +8918,16 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name] FROM [Gears] AS [g] OUTER APPLY ( SELECT DISTINCT [w].[Id], [w].[Name] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(bool async) @@ -7767,13 +8935,15 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name], [t].[OwnerFullName] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name], [t].[OwnerFullName] FROM [Gears] AS [g] LEFT JOIN ( SELECT DISTINCT [w].[Id], [w].[Name], [w].[OwnerFullName] FROM [Weapons] AS [w] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column_composite_key(bool async) @@ -7781,13 +8951,15 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column_composite_key(async); AssertSql( - @"SELECT [s].[Id], [t].[Nickname], [t].[SquadId], [t].[HasSoulPatch] +""" +SELECT [s].[Id], [t].[Nickname], [t].[SquadId], [t].[HasSoulPatch] FROM [Squads] AS [s] LEFT JOIN ( SELECT DISTINCT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] ) AS [t] ON [s].[Id] = [t].[SquadId] -ORDER BY [s].[Id], [t].[Nickname]"); +ORDER BY [s].[Id], [t].[Nickname] +"""); } public override async Task Correlated_collection_with_distinct_not_projecting_identifier_column(bool async) @@ -7795,14 +8967,16 @@ public override async Task Correlated_collection_with_distinct_not_projecting_id await base.Correlated_collection_with_distinct_not_projecting_identifier_column(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic] FROM [Gears] AS [g] OUTER APPLY ( SELECT DISTINCT [w].[Name], [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name] +"""); } public override async Task @@ -7811,7 +8985,8 @@ public override async Task await base.Correlated_collection_with_groupby_not_projecting_identifier_column_but_only_grouping_key_in_final_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Key] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Key] FROM [Gears] AS [g] OUTER APPLY ( SELECT [w].[IsAutomatic] AS [Key] @@ -7819,7 +8994,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task @@ -7828,7 +9004,8 @@ public override async Task await base.Correlated_collection_with_groupby_not_projecting_identifier_column_with_group_aggregate_in_final_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Key], [t].[Count] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Key], [t].[Count] FROM [Gears] AS [g] OUTER APPLY ( SELECT [w].[IsAutomatic] AS [Key], COUNT(*) AS [Count] @@ -7836,7 +9013,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task @@ -7848,7 +9026,8 @@ await base async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[IsAutomatic], [t].[Name], [t].[Count] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[IsAutomatic], [t].[Name], [t].[Count] FROM [Gears] AS [g] OUTER APPLY ( SELECT [w].[IsAutomatic], [w].[Name], COUNT(*) AS [Count] @@ -7856,7 +9035,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic], [w].[Name] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[IsAutomatic]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[IsAutomatic] +"""); } public override async Task @@ -7868,7 +9048,8 @@ await base async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t0].[Key], [t0].[Count] +""" +SELECT [g].[Nickname], [g].[SquadId], [t0].[Key], [t0].[Count] FROM [Gears] AS [g] OUTER APPLY ( SELECT [t].[Key], COUNT(*) AS [Count] @@ -7879,7 +9060,8 @@ FROM [Weapons] AS [w] ) AS [t] GROUP BY [t].[Key] ) AS [t0] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collection_via_SelectMany_with_Distinct_missing_indentifying_columns_in_projection(bool async) @@ -7887,7 +9069,8 @@ public override async Task Correlated_collection_via_SelectMany_with_Distinct_mi await base.Correlated_collection_via_SelectMany_with_Distinct_missing_indentifying_columns_in_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[HasSoulPatch] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[HasSoulPatch] FROM [Gears] AS [g] OUTER APPLY ( SELECT DISTINCT [g1].[HasSoulPatch] @@ -7897,7 +9080,8 @@ FROM [Weapons] AS [w] INNER JOIN [Gears] AS [g1] ON [c].[Name] = [g1].[CityOfBirthName] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collection_after_distinct_3_levels(bool async) @@ -7905,7 +9089,8 @@ public override async Task Correlated_collection_after_distinct_3_levels(bool as await base.Correlated_collection_after_distinct_3_levels(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch], [t1].[Id], [t1].[Name], [t1].[Nickname0], [t1].[FullName0], [t1].[HasSoulPatch0], [t1].[Id0] +""" +SELECT [t].[Id], [t].[Name], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch], [t1].[Id], [t1].[Name], [t1].[Nickname0], [t1].[FullName0], [t1].[HasSoulPatch0], [t1].[Id0] FROM ( SELECT DISTINCT [s].[Id], [s].[Name] FROM [Squads] AS [s] @@ -7923,7 +9108,8 @@ FROM [Weapons] AS [w] WHERE [w].[OwnerFullName] = [t0].[FullName] ) AS [t2] ) AS [t1] -ORDER BY [t].[Id], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch]"); +ORDER BY [t].[Id], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch] +"""); } public override async Task Correlated_collection_after_distinct_3_levels_without_original_identifiers(bool async) @@ -8074,11 +9260,13 @@ public override async Task Include_on_entity_that_is_not_present_in_final_projec await base.Include_on_entity_that_is_not_present_in_final_projection_but_uses_TypeIs_instead(async); AssertSql( - @"SELECT [g].[Nickname], CASE +""" +SELECT [g].[Nickname], CASE WHEN [g].[Discriminator] = N'Officer' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsOfficer] -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Comparison_with_value_converted_subclass(bool async) @@ -8086,9 +9274,11 @@ public override async Task Comparison_with_value_converted_subclass(bool async) await base.Comparison_with_value_converted_subclass(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] AS [f] -WHERE [f].[ServerAddress] = CAST(N'127.0.0.1' AS nvarchar(45))"); +WHERE [f].[ServerAddress] = CAST(N'127.0.0.1' AS nvarchar(45)) +"""); } public override async Task Contains_on_readonly_enumerable(bool async) @@ -8096,9 +9286,11 @@ public override async Task Contains_on_readonly_enumerable(bool async) await base.Contains_on_readonly_enumerable(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = 1"); +WHERE [w].[AmmunitionType] = 1 +"""); } public override async Task Project_navigation_defined_on_base_from_entity_with_inheritance_using_soft_cast(bool async) @@ -8106,7 +9298,8 @@ public override async Task Project_navigation_defined_on_base_from_entity_with_i await base.Project_navigation_defined_on_base_from_entity_with_inheritance_using_soft_cast(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], CASE WHEN [t].[Id] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsNull], [c].[Name], [c].[Location], [c].[Nation], CASE @@ -8119,7 +9312,8 @@ END AS [IsNull] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] -LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] +"""); } public override async Task Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(bool async) @@ -8127,7 +9321,8 @@ public override async Task Project_navigation_defined_on_derived_from_entity_wit await base.Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN ([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsNull], [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], CASE @@ -8140,7 +9335,8 @@ END AS [IsNull] FROM [LocustLeaders] AS [l] LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Factions] AS [f] ON [l].[Name] = [f].[CommanderName] -LEFT JOIN [LocustHighCommands] AS [l0] ON [l].[HighCommandId] = [l0].[Id]"); +LEFT JOIN [LocustHighCommands] AS [l0] ON [l].[HighCommandId] = [l0].[Id] +"""); } public override async Task Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(bool async) @@ -8148,7 +9344,8 @@ public override async Task Join_entity_with_itself_grouped_by_key_followed_by_in await base.Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[HasSoulPatch0], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -8165,7 +9362,8 @@ ORDER BY [g].[Nickname] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t0] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch0]"); +ORDER BY [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch0] +"""); } public override async Task Where_bool_column_and_Contains(bool async) @@ -8173,9 +9371,11 @@ public override async Task Where_bool_column_and_Contains(bool async) await base.Where_bool_column_and_Contains(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit))"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit)) +"""); } public override async Task Where_bool_column_or_Contains(bool async) @@ -8183,9 +9383,11 @@ public override async Task Where_bool_column_or_Contains(bool async) await base.Where_bool_column_or_Contains(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit))"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit)) +"""); } public override async Task Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(bool async) @@ -8193,12 +9395,14 @@ public override async Task Parameter_used_multiple_times_take_appropriate_inferr await base.Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(async); AssertSql( - @"@__place_0='Seattle' (Size = 4000) +""" +@__place_0='Seattle' (Size = 4000) @__place_0_1='Seattle' (Size = 100) (DbType = AnsiString) SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Nation] = @__place_0 OR [c].[Location] = @__place_0_1"); +WHERE [c].[Nation] = @__place_0 OR [c].[Location] = @__place_0_1 +"""); } public override async Task Enum_matching_take_value_gets_different_type_mapping(bool async) @@ -8206,12 +9410,14 @@ public override async Task Enum_matching_take_value_gets_different_type_mapping( await base.Enum_matching_take_value_gets_different_type_mapping(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__value_1='1' SELECT TOP(@__p_0) [g].[Rank] & @__value_1 FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Include_after_Select_throws(bool async) @@ -8219,9 +9425,11 @@ public override async Task Include_after_Select_throws(bool async) await base.Include_after_Select_throws(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [c].[Name], [c].[Location], [c].[Nation] FROM [Factions] AS [f] -LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name]"); +LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] +"""); } public override async Task GroupBy_Select_sum(bool async) @@ -8229,9 +9437,11 @@ public override async Task GroupBy_Select_sum(bool async) await base.GroupBy_Select_sum(async); AssertSql( - @"SELECT COALESCE(SUM([m].[Rating]), 0.0E0) +""" +SELECT COALESCE(SUM([m].[Rating]), 0.0E0) FROM [Missions] AS [m] -GROUP BY [m].[CodeName]"); +GROUP BY [m].[CodeName] +"""); } public override async Task String_concat_nullable_expressions_are_coalesced(bool async) @@ -8239,8 +9449,10 @@ public override async Task String_concat_nullable_expressions_are_coalesced(bool await base.String_concat_nullable_expressions_are_coalesced(async); AssertSql( - @"SELECT (([g].[FullName] + N'') + COALESCE([g].[LeaderNickname], N'')) + N'' -FROM [Gears] AS [g]"); +""" +SELECT (([g].[FullName] + N'') + COALESCE([g].[LeaderNickname], N'')) + N'' +FROM [Gears] AS [g] +"""); } public override async Task Cast_to_derived_type_causes_client_eval(bool async) @@ -8248,8 +9460,10 @@ public override async Task Cast_to_derived_type_causes_client_eval(bool async) await base.Cast_to_derived_type_causes_client_eval(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] -FROM [Gears] AS [g]"); +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +FROM [Gears] AS [g] +"""); } public override async Task Trying_to_access_unmapped_property_in_projection(bool async) @@ -8257,8 +9471,10 @@ public override async Task Trying_to_access_unmapped_property_in_projection(bool await base.Trying_to_access_unmapped_property_in_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] -FROM [Gears] AS [g]"); +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +FROM [Gears] AS [g] +"""); } public override async Task Basic_query_gears(bool async) @@ -8266,8 +9482,10 @@ public override async Task Basic_query_gears(bool async) await base.Basic_query_gears(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] -FROM [Gears] AS [g]"); +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +FROM [Gears] AS [g] +"""); } public override async Task DateTimeOffset_DateAdd_AddYears(bool async) @@ -8275,8 +9493,10 @@ public override async Task DateTimeOffset_DateAdd_AddYears(bool async) await base.DateTimeOffset_DateAdd_AddYears(async); AssertSql( - @"SELECT DATEADD(year, CAST(1 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(year, CAST(1 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task Include_on_derived_entity_with_cast(bool async) @@ -8284,10 +9504,12 @@ public override async Task Include_on_derived_entity_with_cast(bool async) await base.Include_on_derived_entity_with_cast(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [c].[Name], [c].[Location], [c].[Nation] FROM [Factions] AS [f] LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] -ORDER BY [f].[Id]"); +ORDER BY [f].[Id] +"""); } public override async Task Where_equals_method_on_nullable_with_object_overload(bool async) @@ -8295,9 +9517,11 @@ public override async Task Where_equals_method_on_nullable_with_object_overload( await base.Where_equals_method_on_nullable_with_object_overload(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Rating] IS NULL"); +WHERE [m].[Rating] IS NULL +"""); } public override async Task ToString_guid_property_projection(bool async) @@ -8305,8 +9529,10 @@ public override async Task ToString_guid_property_projection(bool async) await base.ToString_guid_property_projection(async); AssertSql( - @"SELECT [t].[GearNickName] AS [A], CONVERT(varchar(36), [t].[Id]) AS [B] -FROM [Tags] AS [t]"); +""" +SELECT [t].[GearNickName] AS [A], CONVERT(varchar(36), [t].[Id]) AS [B] +FROM [Tags] AS [t] +"""); } public override async Task Cast_to_derived_followed_by_multiple_includes(bool async) @@ -8314,12 +9540,14 @@ public override async Task Cast_to_derived_followed_by_multiple_includes(bool as await base.Cast_to_derived_followed_by_multiple_includes(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [LocustLeaders] AS [l] LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [l].[Name] LIKE N'%Queen%' -ORDER BY [l].[Name], [g].[Nickname], [g].[SquadId]"); +ORDER BY [l].[Name], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Sum_with_no_data_nullable_double(bool async) @@ -8327,9 +9555,11 @@ public override async Task Sum_with_no_data_nullable_double(bool async) await base.Sum_with_no_data_nullable_double(async); AssertSql( - @"SELECT COALESCE(SUM([m].[Rating]), 0.0E0) +""" +SELECT COALESCE(SUM([m].[Rating]), 0.0E0) FROM [Missions] AS [m] -WHERE [m].[CodeName] = N'Operation Foobar'"); +WHERE [m].[CodeName] = N'Operation Foobar' +"""); } public override async Task Include_after_SelectMany_throws(bool async) @@ -8337,11 +9567,13 @@ public override async Task Include_after_SelectMany_throws(bool async) await base.Include_after_SelectMany_throws(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Factions] AS [f] LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] INNER JOIN [Gears] AS [g] ON [c].[Name] = [g].[CityOfBirthName] -INNER JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id]"); +INNER JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] +"""); } public override async Task Project_derivied_entity_with_convert_to_parent(bool async) @@ -8349,8 +9581,10 @@ public override async Task Project_derivied_entity_with_convert_to_parent(bool a await base.Project_derivied_entity_with_convert_to_parent(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] -FROM [Factions] AS [f]"); +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +FROM [Factions] AS [f] +"""); } public override async Task Project_entity_and_collection_element(bool async) @@ -8358,7 +9592,8 @@ public override async Task Project_entity_and_collection_element(bool async) await base.Project_entity_and_collection_element(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM [Gears] AS [g] INNER JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] @@ -8370,7 +9605,8 @@ FROM [Weapons] AS [w0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [s].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [s].[Id] +"""); } public override async Task Correlated_collection_with_distinct_not_projecting_identifier_column_also_projecting_complex_expressions( @@ -8554,13 +9790,15 @@ public override async Task Join_with_complex_key_selector(bool async) await base.Join_with_complex_key_selector(async); AssertSql( - @"SELECT [s].[Id], [t0].[Id] AS [TagId] +""" +SELECT [s].[Id], [t0].[Id] AS [TagId] FROM [Squads] AS [s] CROSS JOIN ( SELECT [t].[Id] FROM [Tags] AS [t] WHERE [t].[Note] = N'Marcus'' Tag' -) AS [t0]"); +) AS [t0] +"""); } public override async Task Streaming_correlated_collection_issue_11403_returning_ordered_enumerable_throws(bool async) @@ -8638,12 +9876,14 @@ public override async Task Where_subquery_equality_to_null_with_composite_key(bo await base.Where_subquery_equality_to_null_with_composite_key(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] WHERE NOT (EXISTS ( SELECT 1 FROM [Gears] AS [g] - WHERE [s].[Id] = [g].[SquadId]))"); + WHERE [s].[Id] = [g].[SquadId])) +"""); } public override async Task Where_subquery_equality_to_null_without_composite_key(bool async) @@ -8651,12 +9891,14 @@ public override async Task Where_subquery_equality_to_null_without_composite_key await base.Where_subquery_equality_to_null_without_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [Gears] AS [g] WHERE NOT (EXISTS ( SELECT 1 FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]))"); + WHERE [g].[FullName] = [w].[OwnerFullName])) +"""); } public override async Task Include_reference_on_derived_type_using_EF_Property(bool async) @@ -8664,9 +9906,11 @@ public override async Task Include_reference_on_derived_type_using_EF_Property(b await base.Include_reference_on_derived_type_using_EF_Property(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] FROM [LocustLeaders] AS [l] -LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] +"""); } public override async Task Include_collection_on_derived_type_using_EF_Property(bool async) @@ -8674,10 +9918,12 @@ public override async Task Include_collection_on_derived_type_using_EF_Property( await base.Include_collection_on_derived_type_using_EF_Property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task EF_Property_based_Include_navigation_on_derived_type(bool async) @@ -8685,11 +9931,13 @@ public override async Task EF_Property_based_Include_navigation_on_derived_type( await base.EF_Property_based_Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/IncludeOneToOneSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/IncludeOneToOneSqlServerTest.cs index a06313ed9ee..9d9919a0a38 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/IncludeOneToOneSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/IncludeOneToOneSqlServerTest.cs @@ -16,9 +16,11 @@ public override void Include_person() base.Include_person(); AssertSql( - @"SELECT [a].[Id], [a].[City], [a].[Street], [p].[Id], [p].[Name] +""" +SELECT [a].[Id], [a].[City], [a].[Street], [p].[Id], [p].[Name] FROM [Address] AS [a] -INNER JOIN [Person] AS [p] ON [a].[Id] = [p].[Id]"); +INNER JOIN [Person] AS [p] ON [a].[Id] = [p].[Id] +"""); } public override void Include_person_shadow() @@ -26,9 +28,11 @@ public override void Include_person_shadow() base.Include_person_shadow(); AssertSql( - @"SELECT [a].[Id], [a].[City], [a].[PersonId], [a].[Street], [p].[Id], [p].[Name] +""" +SELECT [a].[Id], [a].[City], [a].[PersonId], [a].[Street], [p].[Id], [p].[Name] FROM [Address2] AS [a] -INNER JOIN [Person2] AS [p] ON [a].[PersonId] = [p].[Id]"); +INNER JOIN [Person2] AS [p] ON [a].[PersonId] = [p].[Id] +"""); } public override void Include_address() @@ -36,9 +40,11 @@ public override void Include_address() base.Include_address(); AssertSql( - @"SELECT [p].[Id], [p].[Name], [a].[Id], [a].[City], [a].[Street] +""" +SELECT [p].[Id], [p].[Name], [a].[Id], [a].[City], [a].[Street] FROM [Person] AS [p] -LEFT JOIN [Address] AS [a] ON [p].[Id] = [a].[Id]"); +LEFT JOIN [Address] AS [a] ON [p].[Id] = [a].[Id] +"""); } public override void Include_address_shadow() @@ -46,9 +52,11 @@ public override void Include_address_shadow() base.Include_address_shadow(); AssertSql( - @"SELECT [p].[Id], [p].[Name], [a].[Id], [a].[City], [a].[PersonId], [a].[Street] +""" +SELECT [p].[Id], [p].[Name], [a].[Id], [a].[City], [a].[PersonId], [a].[Street] FROM [Person2] AS [p] -LEFT JOIN [Address2] AS [a] ON [p].[Id] = [a].[PersonId]"); +LEFT JOIN [Address2] AS [a] ON [p].[Id] = [a].[PersonId] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/IncompleteMappingInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/IncompleteMappingInheritanceQuerySqlServerTest.cs index 9664611f68d..5ff620d4d01 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/IncompleteMappingInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/IncompleteMappingInheritanceQuerySqlServerTest.cs @@ -48,17 +48,23 @@ public override async Task Can_query_when_shared_column(bool async) await base.Can_query_when_shared_column(async); AssertSql( - @"SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[CokeCO2], [d].[SugarGrams] +""" +SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[CokeCO2], [d].[SugarGrams] FROM [Drinks] AS [d] -WHERE [d].[Discriminator] = N'Coke'", +WHERE [d].[Discriminator] = N'Coke' +""", // - @"SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[LiltCO2], [d].[SugarGrams] +""" +SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[LiltCO2], [d].[SugarGrams] FROM [Drinks] AS [d] -WHERE [d].[Discriminator] = N'Lilt'", +WHERE [d].[Discriminator] = N'Lilt' +""", // - @"SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[HasMilk] +""" +SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[HasMilk] FROM [Drinks] AS [d] -WHERE [d].[Discriminator] = N'Tea'"); +WHERE [d].[Discriminator] = N'Tea' +"""); } public override void FromSql_on_root() @@ -66,11 +72,13 @@ public override void FromSql_on_root() base.FromSql_on_root(); AssertSql( - @"SELECT [m].[Id], [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[Species], [m].[EagleId], [m].[IsFlightless], [m].[Group], [m].[FoundOn] +""" +SELECT [m].[Id], [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[Species], [m].[EagleId], [m].[IsFlightless], [m].[Group], [m].[FoundOn] FROM ( - select * from ""Animals"" + select * from "Animals" ) AS [m] -WHERE [m].[Discriminator] IN (N'Eagle', N'Kiwi')"); +WHERE [m].[Discriminator] IN (N'Eagle', N'Kiwi') +"""); } public override void FromSql_on_derived() @@ -78,11 +86,13 @@ public override void FromSql_on_derived() base.FromSql_on_derived(); AssertSql( - @"SELECT [m].[Id], [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[Species], [m].[EagleId], [m].[IsFlightless], [m].[Group] +""" +SELECT [m].[Id], [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[Species], [m].[EagleId], [m].[IsFlightless], [m].[Group] FROM ( - select * from ""Animals"" + select * from "Animals" ) AS [m] -WHERE [m].[Discriminator] = N'Eagle'"); +WHERE [m].[Discriminator] = N'Eagle' +"""); } public override async Task Can_query_all_types_when_shared_column(bool async) @@ -90,9 +100,11 @@ public override async Task Can_query_all_types_when_shared_column(bool async) await base.Can_query_all_types_when_shared_column(async); AssertSql( - @"SELECT [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[CokeCO2], [d].[SugarGrams], [d].[LiltCO2], [d].[HasMilk] +""" +SELECT [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[CokeCO2], [d].[SugarGrams], [d].[LiltCO2], [d].[HasMilk] FROM [Drinks] AS [d] -WHERE [d].[Discriminator] IN (N'Drink', N'Coke', N'Lilt', N'Tea')"); +WHERE [d].[Discriminator] IN (N'Drink', N'Coke', N'Lilt', N'Tea') +"""); } public override async Task Can_use_of_type_animal(bool async) @@ -100,10 +112,12 @@ public override async Task Can_use_of_type_animal(bool async) await base.Can_use_of_type_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_is_kiwi(bool async) @@ -111,9 +125,11 @@ public override async Task Can_use_is_kiwi(bool async) await base.Can_use_is_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_use_is_kiwi_with_cast(bool async) @@ -121,12 +137,14 @@ public override async Task Can_use_is_kiwi_with_cast(bool async) await base.Can_use_is_kiwi_with_cast(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [a].[Discriminator] = N'Kiwi' THEN [a].[FoundOn] ELSE CAST(0 AS tinyint) END AS [Value] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi')"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') +"""); } public override async Task Can_use_is_kiwi_with_other_predicate(bool async) @@ -134,9 +152,11 @@ public override async Task Can_use_is_kiwi_with_other_predicate(bool async) await base.Can_use_is_kiwi_with_other_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1 +"""); } public override async Task Can_use_is_kiwi_in_projection(bool async) @@ -144,12 +164,14 @@ public override async Task Can_use_is_kiwi_in_projection(bool async) await base.Can_use_is_kiwi_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [a].[Discriminator] = N'Kiwi' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi')"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') +"""); } public override async Task Can_use_of_type_bird(bool async) @@ -157,10 +179,12 @@ public override async Task Can_use_of_type_bird(bool async) await base.Can_use_of_type_bird(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_predicate(bool async) @@ -168,10 +192,12 @@ public override async Task Can_use_of_type_bird_predicate(bool async) await base.Can_use_of_type_bird_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[CountryId] = 1 AND [a].[Discriminator] IN (N'Eagle', N'Kiwi') -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_with_projection(bool async) @@ -179,9 +205,11 @@ public override async Task Can_use_of_type_bird_with_projection(bool async) await base.Can_use_of_type_bird_with_projection(async); AssertSql( - @"SELECT [a].[EagleId] +""" +SELECT [a].[EagleId] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi')"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') +"""); } public override async Task Can_use_of_type_bird_first(bool async) @@ -189,10 +217,12 @@ public override async Task Can_use_of_type_bird_first(bool async) await base.Can_use_of_type_bird_first(async); AssertSql( - @"SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_kiwi(bool async) @@ -200,9 +230,11 @@ public override async Task Can_use_of_type_kiwi(bool async) await base.Can_use_of_type_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_use_of_type_rose(bool async) @@ -210,9 +242,11 @@ public override async Task Can_use_of_type_rose(bool async) await base.Can_use_of_type_rose(async); AssertSql( - @"SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] +""" +SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] FROM [Plants] AS [p] -WHERE [p].[Genus] IN (1, 0) AND [p].[Genus] = 0"); +WHERE [p].[Genus] IN (1, 0) AND [p].[Genus] = 0 +"""); } public override async Task Can_query_all_animals(bool async) @@ -220,10 +254,12 @@ public override async Task Can_query_all_animals(bool async) await base.Can_query_all_animals(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_query_all_animal_views(bool async) @@ -231,11 +267,13 @@ public override async Task Can_query_all_animal_views(bool async) await base.Can_query_all_animal_views(async); AssertSql( - @"SELECT [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[EagleId], [m].[IsFlightless], [m].[Group], [m].[FoundOn] +""" +SELECT [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[EagleId], [m].[IsFlightless], [m].[Group], [m].[FoundOn] FROM ( SELECT * FROM Animals ) AS [m] -ORDER BY [m].[CountryId]"); +ORDER BY [m].[CountryId] +"""); } public override async Task Can_query_all_plants(bool async) @@ -243,10 +281,12 @@ public override async Task Can_query_all_plants(bool async) await base.Can_query_all_plants(async); AssertSql( - @"SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] +""" +SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] FROM [Plants] AS [p] WHERE [p].[Genus] IN (1, 0) -ORDER BY [p].[Species]"); +ORDER BY [p].[Species] +"""); } public override async Task Can_filter_all_animals(bool async) @@ -254,10 +294,12 @@ public override async Task Can_filter_all_animals(bool async) await base.Can_filter_all_animals(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Name] = N'Great spotted kiwi' -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_query_all_birds(bool async) @@ -265,10 +307,12 @@ public override async Task Can_query_all_birds(bool async) await base.Can_query_all_birds(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_query_just_kiwis(bool async) @@ -276,9 +320,11 @@ public override async Task Can_query_just_kiwis(bool async) await base.Can_query_just_kiwis(async); AssertSql( - @"SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_query_just_roses(bool async) @@ -286,10 +332,11 @@ public override async Task Can_query_just_roses(bool async) await base.Can_query_just_roses(async); AssertSql( - @"SELECT TOP(2) [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] +""" +SELECT TOP(2) [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] FROM [Plants] AS [p] -WHERE [p].[Genus] = 0" - ); +WHERE [p].[Genus] = 0 +"""); } public override async Task Can_include_prey(bool async) @@ -297,7 +344,8 @@ public override async Task Can_include_prey(bool async) await base.Can_include_prey(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t0].[Id], [t0].[CountryId], [t0].[Discriminator], [t0].[Name], [t0].[Species], [t0].[EagleId], [t0].[IsFlightless], [t0].[Group], [t0].[FoundOn] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t0].[Id], [t0].[CountryId], [t0].[Discriminator], [t0].[Name], [t0].[Species], [t0].[EagleId], [t0].[IsFlightless], [t0].[Group], [t0].[FoundOn] FROM ( SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] FROM [Animals] AS [a] @@ -308,7 +356,8 @@ LEFT JOIN ( FROM [Animals] AS [a0] WHERE [a0].[Discriminator] IN (N'Eagle', N'Kiwi') ) AS [t0] ON [t].[Id] = [t0].[EagleId] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Can_include_animals(bool async) @@ -316,14 +365,16 @@ public override async Task Can_include_animals(bool async) await base.Can_include_animals(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [t].[Id], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn] +""" +SELECT [c].[Id], [c].[Name], [t].[Id], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn] FROM [Countries] AS [c] LEFT JOIN ( SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') ) AS [t] ON [c].[Id] = [t].[CountryId] -ORDER BY [c].[Name], [c].[Id]"); +ORDER BY [c].[Name], [c].[Id] +"""); } public override async Task Can_use_of_type_kiwi_where_north_on_derived_property(bool async) @@ -331,9 +382,11 @@ public override async Task Can_use_of_type_kiwi_where_north_on_derived_property( await base.Can_use_of_type_kiwi_where_north_on_derived_property(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' AND [a].[FoundOn] = CAST(0 AS tinyint)"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' AND [a].[FoundOn] = CAST(0 AS tinyint) +"""); } public override async Task Can_use_of_type_kiwi_where_south_on_derived_property(bool async) @@ -341,9 +394,11 @@ public override async Task Can_use_of_type_kiwi_where_south_on_derived_property( await base.Can_use_of_type_kiwi_where_south_on_derived_property(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' AND [a].[FoundOn] = CAST(1 AS tinyint)"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' AND [a].[FoundOn] = CAST(1 AS tinyint) +"""); } public override async Task Discriminator_used_when_projection_over_derived_type(bool async) @@ -351,9 +406,11 @@ public override async Task Discriminator_used_when_projection_over_derived_type( await base.Discriminator_used_when_projection_over_derived_type(async); AssertSql( - @"SELECT [a].[FoundOn] +""" +SELECT [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Discriminator_used_when_projection_over_derived_type2(bool async) @@ -361,9 +418,11 @@ public override async Task Discriminator_used_when_projection_over_derived_type2 await base.Discriminator_used_when_projection_over_derived_type2(async); AssertSql( - @"SELECT [a].[IsFlightless], [a].[Discriminator] +""" +SELECT [a].[IsFlightless], [a].[Discriminator] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi')"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') +"""); } public override async Task Discriminator_used_when_projection_over_of_type(bool async) @@ -371,9 +430,11 @@ public override async Task Discriminator_used_when_projection_over_of_type(bool await base.Discriminator_used_when_projection_over_of_type(async); AssertSql( - @"SELECT [a].[FoundOn] +""" +SELECT [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' +"""); } public override void Can_insert_update_delete() @@ -384,12 +445,14 @@ public override async Task Byte_enum_value_constant_used_in_projection(bool asyn await base.Byte_enum_value_constant_used_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [a].[IsFlightless] = CAST(1 AS bit) THEN CAST(0 AS tinyint) ELSE CAST(1 AS tinyint) END FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Union_siblings_with_duplicate_property_in_subquery(bool async) @@ -397,7 +460,8 @@ public override async Task Union_siblings_with_duplicate_property_in_subquery(bo await base.Union_siblings_with_duplicate_property_in_subquery(async); AssertSql( - @"SELECT [t].[Id], [t].[Discriminator], [t].[CaffeineGrams], [t].[CokeCO2], [t].[SugarGrams], [t].[Carbonation], [t].[SugarGrams0], [t].[CaffeineGrams0], [t].[HasMilk] +""" +SELECT [t].[Id], [t].[Discriminator], [t].[CaffeineGrams], [t].[CokeCO2], [t].[SugarGrams], [t].[Carbonation], [t].[SugarGrams0], [t].[CaffeineGrams0], [t].[HasMilk] FROM ( SELECT [d].[Id], [d].[Discriminator], [d].[CaffeineGrams], [d].[CokeCO2], [d].[SugarGrams], NULL AS [CaffeineGrams0], NULL AS [HasMilk], NULL AS [Carbonation], NULL AS [SugarGrams0] FROM [Drinks] AS [d] @@ -407,7 +471,8 @@ FROM [Drinks] AS [d] FROM [Drinks] AS [d0] WHERE [d0].[Discriminator] = N'Tea' ) AS [t] -WHERE [t].[Id] > 0"); +WHERE [t].[Id] > 0 +"""); } public override async Task OfType_Union_subquery(bool async) @@ -415,7 +480,8 @@ public override async Task OfType_Union_subquery(bool async) await base.OfType_Union_subquery(async); AssertSql( - @"SELECT [t].[Species], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn] +""" +SELECT [t].[Species], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn] FROM ( SELECT [a].[Species], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] @@ -425,7 +491,8 @@ WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND ([a].[Discriminator] = N'Ki FROM [Animals] AS [a0] WHERE [a0].[Discriminator] IN (N'Eagle', N'Kiwi') AND ([a0].[Discriminator] = N'Kiwi') ) AS [t] -WHERE ([t].[FoundOn] = CAST(0 AS tinyint)) AND [t].[FoundOn] IS NOT NULL"); +WHERE ([t].[FoundOn] = CAST(0 AS tinyint)) AND [t].[FoundOn] IS NOT NULL +"""); } public override async Task OfType_Union_OfType(bool async) @@ -440,7 +507,8 @@ public override async Task Subquery_OfType(bool async) await base.Subquery_OfType(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT DISTINCT [t].[Id], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn] FROM ( @@ -449,7 +517,8 @@ FROM [Animals] AS [a] WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') ORDER BY [a].[Species] ) AS [t] -WHERE [t].[Discriminator] = N'Kiwi'"); +WHERE [t].[Discriminator] = N'Kiwi' +"""); } public override async Task Union_entity_equality(bool async) @@ -457,7 +526,8 @@ public override async Task Union_entity_equality(bool async) await base.Union_entity_equality(async); AssertSql( - @"SELECT [t].[Species], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn] +""" +SELECT [t].[Species], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn] FROM ( SELECT [a].[Species], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn], NULL AS [Group] FROM [Animals] AS [a] @@ -467,7 +537,8 @@ FROM [Animals] AS [a] FROM [Animals] AS [a0] WHERE [a0].[Discriminator] = N'Eagle' ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override void Member_access_on_intermediate_type_works() @@ -475,10 +546,12 @@ public override void Member_access_on_intermediate_type_works() base.Member_access_on_intermediate_type_works(); AssertSql( - @"SELECT [a].[Name] +""" +SELECT [a].[Name] FROM [Animals] AS [a] WHERE [a].[Discriminator] = N'Kiwi' -ORDER BY [a].[Name]"); +ORDER BY [a].[Name] +"""); } public override void Casting_to_base_type_joining_with_query_type_works() @@ -486,12 +559,14 @@ public override void Casting_to_base_type_joining_with_query_type_works() base.Casting_to_base_type_joining_with_query_type_works(); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[EagleId], [m].[IsFlightless], [m].[Group], [m].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[EagleId], [m].[IsFlightless], [m].[Group], [m].[FoundOn] FROM [Animals] AS [a] INNER JOIN ( - Select * from ""Animals"" + Select * from "Animals" ) AS [m] ON [a].[Name] = [m].[Name] -WHERE [a].[Discriminator] = N'Eagle'"); +WHERE [a].[Discriminator] = N'Eagle' +"""); } public override async Task Is_operator_on_result_of_FirstOrDefault(bool async) @@ -499,13 +574,15 @@ public override async Task Is_operator_on_result_of_FirstOrDefault(bool async) await base.Is_operator_on_result_of_FirstOrDefault(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND ( SELECT TOP(1) [a0].[Discriminator] FROM [Animals] AS [a0] WHERE [a0].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a0].[Name] = N'Great spotted kiwi') = N'Kiwi' -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Selecting_only_base_properties_on_base_type(bool async) @@ -513,9 +590,11 @@ public override async Task Selecting_only_base_properties_on_base_type(bool asyn await base.Selecting_only_base_properties_on_base_type(async); AssertSql( - @"SELECT [a].[Name] +""" +SELECT [a].[Name] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi')"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') +"""); } public override async Task Selecting_only_base_properties_on_derived_type(bool async) @@ -523,9 +602,11 @@ public override async Task Selecting_only_base_properties_on_derived_type(bool a await base.Selecting_only_base_properties_on_derived_type(async); AssertSql( - @"SELECT [a].[Name] +""" +SELECT [a].[Name] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi')"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') +"""); } public override async Task Can_use_backwards_is_animal(bool async) @@ -533,9 +614,11 @@ public override async Task Can_use_backwards_is_animal(bool async) await base.Can_use_backwards_is_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_use_backwards_of_type_animal(bool async) @@ -543,9 +626,11 @@ public override async Task Can_use_backwards_of_type_animal(bool async) await base.Can_use_backwards_of_type_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Discriminator_with_cast_in_shadow_property(bool async) @@ -553,9 +638,11 @@ public override async Task Discriminator_with_cast_in_shadow_property(bool async await base.Discriminator_with_cast_in_shadow_property(async); AssertSql( - @"SELECT [a].[Name] AS [Predator] +""" +SELECT [a].[Name] AS [Predator] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND N'Kiwi' = [a].[Discriminator]"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND N'Kiwi' = [a].[Discriminator] +"""); } public override void Setting_foreign_key_to_a_different_type_throws() @@ -563,11 +650,14 @@ public override void Setting_foreign_key_to_a_different_type_throws() base.Setting_foreign_key_to_a_different_type_throws(); AssertSql( - @"SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'", +WHERE [a].[Discriminator] = N'Kiwi' +""", // - @"@p0='0' +""" +@p0='0' @p1='Eagle' (Nullable = false) (Size = 4000) @p2='2' (Nullable = true) @p3='1' (Nullable = true) @@ -579,7 +669,8 @@ FROM [Animals] AS [a] SET NOCOUNT ON; INSERT INTO [Animals] ([CountryId], [Discriminator], [EagleId], [Group], [IsFlightless], [Name], [Species]) OUTPUT INSERTED.[Id] -VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6);"); +VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6); +"""); } public override async Task Using_is_operator_on_multiple_type_with_no_result(bool async) @@ -587,9 +678,11 @@ public override async Task Using_is_operator_on_multiple_type_with_no_result(boo await base.Using_is_operator_on_multiple_type_with_no_result(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' AND [a].[Discriminator] = N'Eagle'"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' AND [a].[Discriminator] = N'Eagle' +"""); } public override async Task Using_is_operator_with_of_type_on_multiple_type_with_no_result(bool async) @@ -597,9 +690,11 @@ public override async Task Using_is_operator_with_of_type_on_multiple_type_with_ await base.Using_is_operator_with_of_type_on_multiple_type_with_no_result(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' AND [a].[Discriminator] = N'Eagle'"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' AND [a].[Discriminator] = N'Eagle' +"""); } public override async Task Using_OfType_on_multiple_type_with_no_result(bool async) @@ -614,9 +709,11 @@ public override async Task GetType_in_hierarchy_in_abstract_base_type(bool async await base.GetType_in_hierarchy_in_abstract_base_type(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) @@ -624,9 +721,11 @@ public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) await base.GetType_in_hierarchy_in_intermediate_type(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool async) @@ -634,9 +733,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool a await base.GetType_in_hierarchy_in_leaf_type_with_sibling(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Eagle'"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Eagle' +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool async) @@ -644,9 +745,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool await base.GetType_in_hierarchy_in_leaf_type_with_sibling2(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(bool async) @@ -654,9 +757,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_rever await base.GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] = N'Kiwi' +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(bool async) @@ -664,9 +769,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_e await base.GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] <> N'Kiwi'"); +WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND [a].[Discriminator] <> N'Kiwi' +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceQuerySqlServerTest.cs index 11473a1922c..55216c1f772 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceQuerySqlServerTest.cs @@ -45,17 +45,23 @@ public override async Task Can_query_when_shared_column(bool async) await base.Can_query_when_shared_column(async); AssertSql( - @"SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[CokeCO2], [d].[SugarGrams] +""" +SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[CokeCO2], [d].[SugarGrams] FROM [Drinks] AS [d] -WHERE [d].[Discriminator] = N'Coke'", +WHERE [d].[Discriminator] = N'Coke' +""", // - @"SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[LiltCO2], [d].[SugarGrams] +""" +SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[LiltCO2], [d].[SugarGrams] FROM [Drinks] AS [d] -WHERE [d].[Discriminator] = N'Lilt'", +WHERE [d].[Discriminator] = N'Lilt' +""", // - @"SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[HasMilk] +""" +SELECT TOP(2) [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[HasMilk] FROM [Drinks] AS [d] -WHERE [d].[Discriminator] = N'Tea'"); +WHERE [d].[Discriminator] = N'Tea' +"""); } public override void FromSql_on_root() @@ -63,7 +69,9 @@ public override void FromSql_on_root() base.FromSql_on_root(); AssertSql( - @"select * from ""Animals"""); +""" +select * from "Animals" +"""); } public override void FromSql_on_derived() @@ -71,11 +79,13 @@ public override void FromSql_on_derived() base.FromSql_on_derived(); AssertSql( - @"SELECT [m].[Id], [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[Species], [m].[EagleId], [m].[IsFlightless], [m].[Group] +""" +SELECT [m].[Id], [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[Species], [m].[EagleId], [m].[IsFlightless], [m].[Group] FROM ( - select * from ""Animals"" + select * from "Animals" ) AS [m] -WHERE [m].[Discriminator] = N'Eagle'"); +WHERE [m].[Discriminator] = N'Eagle' +"""); } public override async Task Can_query_all_types_when_shared_column(bool async) @@ -83,8 +93,10 @@ public override async Task Can_query_all_types_when_shared_column(bool async) await base.Can_query_all_types_when_shared_column(async); AssertSql( - @"SELECT [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[CokeCO2], [d].[SugarGrams], [d].[LiltCO2], [d].[HasMilk] -FROM [Drinks] AS [d]"); +""" +SELECT [d].[Id], [d].[Discriminator], [d].[SortIndex], [d].[CaffeineGrams], [d].[CokeCO2], [d].[SugarGrams], [d].[LiltCO2], [d].[HasMilk] +FROM [Drinks] AS [d] +"""); } public override async Task Can_use_of_type_animal(bool async) @@ -92,9 +104,11 @@ public override async Task Can_use_of_type_animal(bool async) await base.Can_use_of_type_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_is_kiwi(bool async) @@ -102,9 +116,11 @@ public override async Task Can_use_is_kiwi(bool async) await base.Can_use_is_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_use_is_kiwi_with_cast(bool async) @@ -112,11 +128,13 @@ public override async Task Can_use_is_kiwi_with_cast(bool async) await base.Can_use_is_kiwi_with_cast(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [a].[Discriminator] = N'Kiwi' THEN [a].[FoundOn] ELSE CAST(0 AS tinyint) END AS [Value] -FROM [Animals] AS [a]"); +FROM [Animals] AS [a] +"""); } public override async Task Can_use_is_kiwi_with_other_predicate(bool async) @@ -124,9 +142,11 @@ public override async Task Can_use_is_kiwi_with_other_predicate(bool async) await base.Can_use_is_kiwi_with_other_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1"); +WHERE [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1 +"""); } public override async Task Can_use_is_kiwi_in_projection(bool async) @@ -134,11 +154,13 @@ public override async Task Can_use_is_kiwi_in_projection(bool async) await base.Can_use_is_kiwi_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [a].[Discriminator] = N'Kiwi' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Animals] AS [a]"); +FROM [Animals] AS [a] +"""); } public override async Task Can_use_of_type_bird(bool async) @@ -146,9 +168,11 @@ public override async Task Can_use_of_type_bird(bool async) await base.Can_use_of_type_bird(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_predicate(bool async) @@ -156,10 +180,12 @@ public override async Task Can_use_of_type_bird_predicate(bool async) await base.Can_use_of_type_bird_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[CountryId] = 1 -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_with_projection(bool async) @@ -167,8 +193,10 @@ public override async Task Can_use_of_type_bird_with_projection(bool async) await base.Can_use_of_type_bird_with_projection(async); AssertSql( - @"SELECT [a].[EagleId] -FROM [Animals] AS [a]"); +""" +SELECT [a].[EagleId] +FROM [Animals] AS [a] +"""); } public override async Task Can_use_of_type_bird_first(bool async) @@ -176,9 +204,11 @@ public override async Task Can_use_of_type_bird_first(bool async) await base.Can_use_of_type_bird_first(async); AssertSql( - @"SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_kiwi(bool async) @@ -186,9 +216,11 @@ public override async Task Can_use_of_type_kiwi(bool async) await base.Can_use_of_type_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_use_of_type_rose(bool async) @@ -196,9 +228,11 @@ public override async Task Can_use_of_type_rose(bool async) await base.Can_use_of_type_rose(async); AssertSql( - @"SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] +""" +SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] FROM [Plants] AS [p] -WHERE [p].[Genus] = 0"); +WHERE [p].[Genus] = 0 +"""); } public override async Task Can_query_all_animals(bool async) @@ -206,9 +240,11 @@ public override async Task Can_query_all_animals(bool async) await base.Can_query_all_animals(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_query_all_animal_views(bool async) @@ -216,11 +252,13 @@ public override async Task Can_query_all_animal_views(bool async) await base.Can_query_all_animal_views(async); AssertSql( - @"SELECT [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[EagleId], [m].[IsFlightless], [m].[Group], [m].[FoundOn] +""" +SELECT [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[EagleId], [m].[IsFlightless], [m].[Group], [m].[FoundOn] FROM ( SELECT * FROM Animals ) AS [m] -ORDER BY [m].[CountryId]"); +ORDER BY [m].[CountryId] +"""); } public override async Task Can_query_all_plants(bool async) @@ -228,9 +266,11 @@ public override async Task Can_query_all_plants(bool async) await base.Can_query_all_plants(async); AssertSql( - @"SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] +""" +SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] FROM [Plants] AS [p] -ORDER BY [p].[Species]"); +ORDER BY [p].[Species] +"""); } public override async Task Can_filter_all_animals(bool async) @@ -238,10 +278,12 @@ public override async Task Can_filter_all_animals(bool async) await base.Can_filter_all_animals(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE [a].[Name] = N'Great spotted kiwi' -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_query_all_birds(bool async) @@ -249,9 +291,11 @@ public override async Task Can_query_all_birds(bool async) await base.Can_query_all_birds(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_query_just_kiwis(bool async) @@ -259,9 +303,11 @@ public override async Task Can_query_just_kiwis(bool async) await base.Can_query_just_kiwis(async); AssertSql( - @"SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_query_just_roses(bool async) @@ -269,10 +315,11 @@ public override async Task Can_query_just_roses(bool async) await base.Can_query_just_roses(async); AssertSql( - @"SELECT TOP(2) [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] +""" +SELECT TOP(2) [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [p].[HasThorns] FROM [Plants] AS [p] -WHERE [p].[Genus] = 0" - ); +WHERE [p].[Genus] = 0 +"""); } public override async Task Can_include_prey(bool async) @@ -280,14 +327,16 @@ public override async Task Can_include_prey(bool async) await base.Can_include_prey(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [a0].[Id], [a0].[CountryId], [a0].[Discriminator], [a0].[Name], [a0].[Species], [a0].[EagleId], [a0].[IsFlightless], [a0].[Group], [a0].[FoundOn] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [a0].[Id], [a0].[CountryId], [a0].[Discriminator], [a0].[Name], [a0].[Species], [a0].[EagleId], [a0].[IsFlightless], [a0].[Group], [a0].[FoundOn] FROM ( SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] FROM [Animals] AS [a] WHERE [a].[Discriminator] = N'Eagle' ) AS [t] LEFT JOIN [Animals] AS [a0] ON [t].[Id] = [a0].[EagleId] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Can_include_animals(bool async) @@ -295,10 +344,12 @@ public override async Task Can_include_animals(bool async) await base.Can_include_animals(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [c].[Id], [c].[Name], [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Countries] AS [c] LEFT JOIN [Animals] AS [a] ON [c].[Id] = [a].[CountryId] -ORDER BY [c].[Name], [c].[Id]"); +ORDER BY [c].[Name], [c].[Id] +"""); } public override async Task Can_use_of_type_kiwi_where_north_on_derived_property(bool async) @@ -306,9 +357,11 @@ public override async Task Can_use_of_type_kiwi_where_north_on_derived_property( await base.Can_use_of_type_kiwi_where_north_on_derived_property(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi' AND [a].[FoundOn] = CAST(0 AS tinyint)"); +WHERE [a].[Discriminator] = N'Kiwi' AND [a].[FoundOn] = CAST(0 AS tinyint) +"""); } public override async Task Can_use_of_type_kiwi_where_south_on_derived_property(bool async) @@ -316,9 +369,11 @@ public override async Task Can_use_of_type_kiwi_where_south_on_derived_property( await base.Can_use_of_type_kiwi_where_south_on_derived_property(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi' AND [a].[FoundOn] = CAST(1 AS tinyint)"); +WHERE [a].[Discriminator] = N'Kiwi' AND [a].[FoundOn] = CAST(1 AS tinyint) +"""); } public override async Task Discriminator_used_when_projection_over_derived_type(bool async) @@ -326,9 +381,11 @@ public override async Task Discriminator_used_when_projection_over_derived_type( await base.Discriminator_used_when_projection_over_derived_type(async); AssertSql( - @"SELECT [a].[FoundOn] +""" +SELECT [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Discriminator_used_when_projection_over_derived_type2(bool async) @@ -336,8 +393,10 @@ public override async Task Discriminator_used_when_projection_over_derived_type2 await base.Discriminator_used_when_projection_over_derived_type2(async); AssertSql( - @"SELECT [a].[IsFlightless], [a].[Discriminator] -FROM [Animals] AS [a]"); +""" +SELECT [a].[IsFlightless], [a].[Discriminator] +FROM [Animals] AS [a] +"""); } public override async Task Discriminator_used_when_projection_over_of_type(bool async) @@ -345,9 +404,11 @@ public override async Task Discriminator_used_when_projection_over_of_type(bool await base.Discriminator_used_when_projection_over_of_type(async); AssertSql( - @"SELECT [a].[FoundOn] +""" +SELECT [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override void Can_insert_update_delete() @@ -358,12 +419,14 @@ public override async Task Byte_enum_value_constant_used_in_projection(bool asyn await base.Byte_enum_value_constant_used_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [a].[IsFlightless] = CAST(1 AS bit) THEN CAST(0 AS tinyint) ELSE CAST(1 AS tinyint) END FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Union_siblings_with_duplicate_property_in_subquery(bool async) @@ -371,7 +434,8 @@ public override async Task Union_siblings_with_duplicate_property_in_subquery(bo await base.Union_siblings_with_duplicate_property_in_subquery(async); AssertSql( - @"SELECT [t].[Id], [t].[Discriminator], [t].[CaffeineGrams], [t].[CokeCO2], [t].[SugarGrams], [t].[Carbonation], [t].[SugarGrams0], [t].[CaffeineGrams0], [t].[HasMilk] +""" +SELECT [t].[Id], [t].[Discriminator], [t].[CaffeineGrams], [t].[CokeCO2], [t].[SugarGrams], [t].[Carbonation], [t].[SugarGrams0], [t].[CaffeineGrams0], [t].[HasMilk] FROM ( SELECT [d].[Id], [d].[Discriminator], [d].[CaffeineGrams], [d].[CokeCO2], [d].[SugarGrams], NULL AS [CaffeineGrams0], NULL AS [HasMilk], NULL AS [Carbonation], NULL AS [SugarGrams0] FROM [Drinks] AS [d] @@ -381,7 +445,8 @@ FROM [Drinks] AS [d] FROM [Drinks] AS [d0] WHERE [d0].[Discriminator] = N'Tea' ) AS [t] -WHERE [t].[Id] > 0"); +WHERE [t].[Id] > 0 +"""); } public override async Task OfType_Union_subquery(bool async) @@ -389,7 +454,8 @@ public override async Task OfType_Union_subquery(bool async) await base.OfType_Union_subquery(async); AssertSql( - @"SELECT [t].[Species], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn] +""" +SELECT [t].[Species], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn] FROM ( SELECT [a].[Species], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] @@ -399,7 +465,8 @@ WHERE [a].[Discriminator] IN (N'Eagle', N'Kiwi') AND ([a].[Discriminator] = N'Ki FROM [Animals] AS [a0] WHERE [a0].[Discriminator] IN (N'Eagle', N'Kiwi') AND ([a0].[Discriminator] = N'Kiwi') ) AS [t] -WHERE ([t].[FoundOn] = CAST(0 AS tinyint)) AND [t].[FoundOn] IS NOT NULL"); +WHERE ([t].[FoundOn] = CAST(0 AS tinyint)) AND [t].[FoundOn] IS NOT NULL +"""); } public override async Task OfType_Union_OfType(bool async) @@ -414,7 +481,8 @@ public override async Task Subquery_OfType(bool async) await base.Subquery_OfType(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT DISTINCT [t].[Id], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn] FROM ( @@ -422,7 +490,8 @@ SELECT TOP(@__p_0) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [ FROM [Animals] AS [a] ORDER BY [a].[Species] ) AS [t] -WHERE [t].[Discriminator] = N'Kiwi'"); +WHERE [t].[Discriminator] = N'Kiwi' +"""); } public override async Task Union_entity_equality(bool async) @@ -430,7 +499,8 @@ public override async Task Union_entity_equality(bool async) await base.Union_entity_equality(async); AssertSql( - @"SELECT [t].[Species], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn] +""" +SELECT [t].[Species], [t].[CountryId], [t].[Discriminator], [t].[Name], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn] FROM ( SELECT [a].[Species], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn], NULL AS [Group] FROM [Animals] AS [a] @@ -440,7 +510,8 @@ FROM [Animals] AS [a] FROM [Animals] AS [a0] WHERE [a0].[Discriminator] = N'Eagle' ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override void Member_access_on_intermediate_type_works() @@ -448,10 +519,12 @@ public override void Member_access_on_intermediate_type_works() base.Member_access_on_intermediate_type_works(); AssertSql( - @"SELECT [a].[Name] +""" +SELECT [a].[Name] FROM [Animals] AS [a] WHERE [a].[Discriminator] = N'Kiwi' -ORDER BY [a].[Name]"); +ORDER BY [a].[Name] +"""); } public override void Casting_to_base_type_joining_with_query_type_works() @@ -459,12 +532,14 @@ public override void Casting_to_base_type_joining_with_query_type_works() base.Casting_to_base_type_joining_with_query_type_works(); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[EagleId], [m].[IsFlightless], [m].[Group], [m].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [m].[CountryId], [m].[Discriminator], [m].[Name], [m].[EagleId], [m].[IsFlightless], [m].[Group], [m].[FoundOn] FROM [Animals] AS [a] INNER JOIN ( - Select * from ""Animals"" + Select * from "Animals" ) AS [m] ON [a].[Name] = [m].[Name] -WHERE [a].[Discriminator] = N'Eagle'"); +WHERE [a].[Discriminator] = N'Eagle' +"""); } public override async Task Is_operator_on_result_of_FirstOrDefault(bool async) @@ -472,13 +547,15 @@ public override async Task Is_operator_on_result_of_FirstOrDefault(bool async) await base.Is_operator_on_result_of_FirstOrDefault(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] WHERE ( SELECT TOP(1) [a0].[Discriminator] FROM [Animals] AS [a0] WHERE [a0].[Name] = N'Great spotted kiwi') = N'Kiwi' -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Selecting_only_base_properties_on_base_type(bool async) @@ -486,8 +563,10 @@ public override async Task Selecting_only_base_properties_on_base_type(bool asyn await base.Selecting_only_base_properties_on_base_type(async); AssertSql( - @"SELECT [a].[Name] -FROM [Animals] AS [a]"); +""" +SELECT [a].[Name] +FROM [Animals] AS [a] +"""); } public override async Task Selecting_only_base_properties_on_derived_type(bool async) @@ -495,8 +574,10 @@ public override async Task Selecting_only_base_properties_on_derived_type(bool a await base.Selecting_only_base_properties_on_derived_type(async); AssertSql( - @"SELECT [a].[Name] -FROM [Animals] AS [a]"); +""" +SELECT [a].[Name] +FROM [Animals] AS [a] +"""); } public override async Task Can_use_backwards_of_type_animal(bool async) @@ -504,9 +585,11 @@ public override async Task Can_use_backwards_of_type_animal(bool async) await base.Can_use_backwards_of_type_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_use_backwards_is_animal(bool async) @@ -514,9 +597,11 @@ public override async Task Can_use_backwards_is_animal(bool async) await base.Can_use_backwards_is_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Discriminator_with_cast_in_shadow_property(bool async) @@ -524,9 +609,11 @@ public override async Task Discriminator_with_cast_in_shadow_property(bool async await base.Discriminator_with_cast_in_shadow_property(async); AssertSql( - @"SELECT [a].[Name] AS [Predator] +""" +SELECT [a].[Name] AS [Predator] FROM [Animals] AS [a] -WHERE N'Kiwi' = [a].[Discriminator]"); +WHERE N'Kiwi' = [a].[Discriminator] +"""); } public override void Setting_foreign_key_to_a_different_type_throws() @@ -534,11 +621,14 @@ public override void Setting_foreign_key_to_a_different_type_throws() base.Setting_foreign_key_to_a_different_type_throws(); AssertSql( - @"SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'", +WHERE [a].[Discriminator] = N'Kiwi' +""", // - @"@p0='0' +""" +@p0='0' @p1='Eagle' (Nullable = false) (Size = 4000) @p2='2' (Nullable = true) @p3='1' (Nullable = true) @@ -550,7 +640,8 @@ FROM [Animals] AS [a] SET NOCOUNT ON; INSERT INTO [Animals] ([CountryId], [Discriminator], [EagleId], [Group], [IsFlightless], [Name], [Species]) OUTPUT INSERTED.[Id] -VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6);"); +VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6); +"""); } public override async Task Using_is_operator_on_multiple_type_with_no_result(bool async) @@ -558,9 +649,11 @@ public override async Task Using_is_operator_on_multiple_type_with_no_result(boo await base.Using_is_operator_on_multiple_type_with_no_result(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi' AND [a].[Discriminator] = N'Eagle'"); +WHERE [a].[Discriminator] = N'Kiwi' AND [a].[Discriminator] = N'Eagle' +"""); } public override async Task Using_is_operator_with_of_type_on_multiple_type_with_no_result(bool async) @@ -568,9 +661,11 @@ public override async Task Using_is_operator_with_of_type_on_multiple_type_with_ await base.Using_is_operator_with_of_type_on_multiple_type_with_no_result(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi' AND [a].[Discriminator] = N'Eagle'"); +WHERE [a].[Discriminator] = N'Kiwi' AND [a].[Discriminator] = N'Eagle' +"""); } public override async Task Using_OfType_on_multiple_type_with_no_result(bool async) @@ -585,9 +680,11 @@ public override async Task GetType_in_hierarchy_in_abstract_base_type(bool async await base.GetType_in_hierarchy_in_abstract_base_type(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) @@ -595,9 +692,11 @@ public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) await base.GetType_in_hierarchy_in_intermediate_type(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool async) @@ -605,9 +704,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool a await base.GetType_in_hierarchy_in_leaf_type_with_sibling(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Eagle'"); +WHERE [a].[Discriminator] = N'Eagle' +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool async) @@ -615,9 +716,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool await base.GetType_in_hierarchy_in_leaf_type_with_sibling2(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(bool async) @@ -625,9 +728,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_rever await base.GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[Discriminator] = N'Kiwi' +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(bool async) @@ -635,9 +740,11 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_e await base.GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] AS [a] -WHERE [a].[Discriminator] <> N'Kiwi'"); +WHERE [a].[Discriminator] <> N'Kiwi' +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceRelationshipsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceRelationshipsQuerySqlServerTest.cs index 6c42cd720f7..52d9bfc595d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceRelationshipsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/InheritanceRelationshipsQuerySqlServerTest.cs @@ -24,12 +24,14 @@ public override async Task Include_reference_with_inheritance(bool async) await base.Include_reference_with_inheritance(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_reverse(bool async) @@ -37,12 +39,14 @@ public override async Task Include_reference_with_inheritance_reverse(bool async await base.Include_reference_with_inheritance_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [BaseReferencesOnBase] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b0].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_self_reference_with_inheritance(bool async) @@ -50,7 +54,8 @@ public override async Task Include_self_reference_with_inheritance(bool async) await base.Include_self_reference_with_inheritance(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[Discriminator], [t].[Name], [t].[BaseId], [b3].[BaseInheritanceRelationshipEntityId], [b3].[Id], [b3].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b4].[DerivedInheritanceRelationshipEntityId], [b4].[Id], [b4].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[Discriminator], [t].[Name], [t].[BaseId], [b3].[BaseInheritanceRelationshipEntityId], [b3].[Id], [b3].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b4].[DerivedInheritanceRelationshipEntityId], [b4].[Id], [b4].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] @@ -61,7 +66,8 @@ FROM [BaseEntities] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b3] ON [t].[Id] = [b3].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b4] ON [t].[Id] = [b4].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b3].[BaseInheritanceRelationshipEntityId], [b3].[Id], [b4].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b3].[BaseInheritanceRelationshipEntityId], [b3].[Id], [b4].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_self_reference_with_inheritance_reverse(bool async) @@ -69,7 +75,8 @@ public override async Task Include_self_reference_with_inheritance_reverse(bool await base.Include_self_reference_with_inheritance_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b3].[BaseInheritanceRelationshipEntityId], [b3].[Id], [b3].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b4].[DerivedInheritanceRelationshipEntityId], [b4].[Id], [b4].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b3].[BaseInheritanceRelationshipEntityId], [b3].[Id], [b3].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b4].[DerivedInheritanceRelationshipEntityId], [b4].[Id], [b4].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseId] = [b0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] @@ -77,7 +84,8 @@ FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b3] ON [b0].[Id] = [b3].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b4] ON [b0].[Id] = [b4].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b3].[BaseInheritanceRelationshipEntityId], [b3].[Id], [b4].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b3].[BaseInheritanceRelationshipEntityId], [b3].[Id], [b4].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_with_filter(bool async) @@ -85,13 +93,15 @@ public override async Task Include_reference_with_inheritance_with_filter(bool a await base.Include_reference_with_inheritance_with_filter(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_with_filter_reverse(bool async) @@ -99,13 +109,15 @@ public override async Task Include_reference_with_inheritance_with_filter_revers await base.Include_reference_with_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [BaseReferencesOnBase] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b0].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance(bool async) @@ -113,12 +125,14 @@ public override async Task Include_reference_without_inheritance(bool async) await base.Include_reference_without_inheritance(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM [BaseEntities] AS [b] LEFT JOIN [ReferencesOnBase] AS [r] ON [b].[Id] = [r].[ParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_reverse(bool async) @@ -126,12 +140,14 @@ public override async Task Include_reference_without_inheritance_reverse(bool as await base.Include_reference_without_inheritance_reverse(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [r].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [r].[Id], [r].[Name], [r].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [ReferencesOnBase] AS [r] LEFT JOIN [BaseEntities] AS [b] ON [r].[ParentId] = [b].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [r].[Id], [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [r].[Id], [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_with_filter(bool async) @@ -139,13 +155,15 @@ public override async Task Include_reference_without_inheritance_with_filter(boo await base.Include_reference_without_inheritance_with_filter(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM [BaseEntities] AS [b] LEFT JOIN [ReferencesOnBase] AS [r] ON [b].[Id] = [r].[ParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_with_filter_reverse(bool async) @@ -153,13 +171,15 @@ public override async Task Include_reference_without_inheritance_with_filter_rev await base.Include_reference_without_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [r].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [r].[Id], [r].[Name], [r].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [ReferencesOnBase] AS [r] LEFT JOIN [BaseEntities] AS [b] ON [r].[ParentId] = [b].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] WHERE [r].[Name] <> N'Bar' OR ([r].[Name] IS NULL) -ORDER BY [r].[Id], [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [r].[Id], [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance(bool async) @@ -167,12 +187,14 @@ public override async Task Include_collection_with_inheritance(bool async) await base.Include_collection_with_inheritance(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b2].[Id], [b2].[BaseParentId], [b2].[Discriminator], [b2].[Name], [b2].[DerivedProperty] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b2].[Id], [b2].[BaseParentId], [b2].[Discriminator], [b2].[Name], [b2].[DerivedProperty] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [BaseCollectionsOnBase] AS [b2] ON [b].[Id] = [b2].[BaseParentId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id] +"""); } public override async Task Include_collection_with_inheritance_reverse(bool async) @@ -180,12 +202,14 @@ public override async Task Include_collection_with_inheritance_reverse(bool asyn await base.Include_collection_with_inheritance_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b0].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance_with_filter(bool async) @@ -193,13 +217,15 @@ public override async Task Include_collection_with_inheritance_with_filter(bool await base.Include_collection_with_inheritance_with_filter(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b2].[Id], [b2].[BaseParentId], [b2].[Discriminator], [b2].[Name], [b2].[DerivedProperty] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b2].[Id], [b2].[BaseParentId], [b2].[Discriminator], [b2].[Name], [b2].[DerivedProperty] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [BaseCollectionsOnBase] AS [b2] ON [b].[Id] = [b2].[BaseParentId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id] +"""); } public override async Task Include_collection_with_inheritance_with_filter_reverse(bool async) @@ -207,13 +233,15 @@ public override async Task Include_collection_with_inheritance_with_filter_rever await base.Include_collection_with_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b0].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_without_inheritance(bool async) @@ -221,12 +249,14 @@ public override async Task Include_collection_without_inheritance(bool async) await base.Include_collection_without_inheritance(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [c].[Id], [c].[Name], [c].[ParentId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [c].[Id], [c].[Name], [c].[ParentId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [CollectionsOnBase] AS [c] ON [b].[Id] = [c].[ParentId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id] +"""); } public override async Task Include_collection_without_inheritance_reverse(bool async) @@ -234,12 +264,14 @@ public override async Task Include_collection_without_inheritance_reverse(bool a await base.Include_collection_without_inheritance_reverse(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN [BaseEntities] AS [b] ON [c].[ParentId] = [b].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [c].[Id], [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [c].[Id], [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_without_inheritance_with_filter(bool async) @@ -247,13 +279,15 @@ public override async Task Include_collection_without_inheritance_with_filter(bo await base.Include_collection_without_inheritance_with_filter(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [c].[Id], [c].[Name], [c].[ParentId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [c].[Id], [c].[Name], [c].[ParentId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [CollectionsOnBase] AS [c] ON [b].[Id] = [c].[ParentId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id] +"""); } public override async Task Include_collection_without_inheritance_with_filter_reverse(bool async) @@ -261,13 +295,15 @@ public override async Task Include_collection_without_inheritance_with_filter_re await base.Include_collection_without_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN [BaseEntities] AS [b] ON [c].[ParentId] = [b].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [c].[Id], [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived1(bool async) @@ -275,13 +311,15 @@ public override async Task Include_reference_with_inheritance_on_derived1(bool a await base.Include_reference_with_inheritance_on_derived1(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived2(bool async) @@ -289,13 +327,15 @@ public override async Task Include_reference_with_inheritance_on_derived2(bool a await base.Include_reference_with_inheritance_on_derived2(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnDerived] AS [b0] ON [b].[Id] = [b0].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived4(bool async) @@ -303,7 +343,8 @@ public override async Task Include_reference_with_inheritance_on_derived4(bool a await base.Include_reference_with_inheritance_on_derived4(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Discriminator], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Discriminator], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedInheritanceRelationshipEntityId] @@ -313,7 +354,8 @@ FROM [BaseReferencesOnDerived] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_reverse(bool async) @@ -321,7 +363,8 @@ public override async Task Include_reference_with_inheritance_on_derived_reverse await base.Include_reference_with_inheritance_on_derived_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedInheritanceRelationshipEntityId], [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedInheritanceRelationshipEntityId], [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseReferencesOnDerived] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] @@ -330,7 +373,8 @@ FROM [BaseEntities] AS [b0] ) AS [t] ON [b].[BaseParentId] = [t].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [t].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter1(bool async) @@ -338,13 +382,15 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter1(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' AND ([b].[Name] <> N'Bar' OR ([b].[Name] IS NULL)) -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter2(bool async) @@ -352,13 +398,15 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter2(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnDerived] AS [b0] ON [b].[Id] = [b0].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' AND ([b].[Name] <> N'Bar' OR ([b].[Name] IS NULL)) -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter4(bool async) @@ -366,7 +414,8 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter4(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Discriminator], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Discriminator], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedInheritanceRelationshipEntityId] @@ -376,7 +425,8 @@ FROM [BaseReferencesOnDerived] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' AND ([b].[Name] <> N'Bar' OR ([b].[Name] IS NULL)) -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter_reverse(bool async) @@ -384,7 +434,8 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedInheritanceRelationshipEntityId], [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedInheritanceRelationshipEntityId], [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseReferencesOnDerived] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] @@ -394,7 +445,8 @@ FROM [BaseEntities] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [t].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_on_derived1(bool async) @@ -402,13 +454,15 @@ public override async Task Include_reference_without_inheritance_on_derived1(boo await base.Include_reference_without_inheritance_on_derived1(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM [BaseEntities] AS [b] LEFT JOIN [ReferencesOnBase] AS [r] ON [b].[Id] = [r].[ParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_on_derived2(bool async) @@ -416,13 +470,15 @@ public override async Task Include_reference_without_inheritance_on_derived2(boo await base.Include_reference_without_inheritance_on_derived2(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM [BaseEntities] AS [b] LEFT JOIN [ReferencesOnDerived] AS [r] ON [b].[Id] = [r].[ParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_on_derived_reverse(bool async) @@ -430,7 +486,8 @@ public override async Task Include_reference_without_inheritance_on_derived_reve await base.Include_reference_without_inheritance_on_derived_reverse(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [ReferencesOnDerived] AS [r] LEFT JOIN ( SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] @@ -439,7 +496,8 @@ FROM [BaseEntities] AS [b] ) AS [t] ON [r].[ParentId] = [t].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [t].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [t].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [r].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [r].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance_on_derived1(bool async) @@ -447,13 +505,15 @@ public override async Task Include_collection_with_inheritance_on_derived1(bool await base.Include_collection_with_inheritance_on_derived1(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b2].[Id], [b2].[BaseParentId], [b2].[Discriminator], [b2].[Name], [b2].[DerivedProperty] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b2].[Id], [b2].[BaseParentId], [b2].[Discriminator], [b2].[Name], [b2].[DerivedProperty] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [BaseCollectionsOnBase] AS [b2] ON [b].[Id] = [b2].[BaseParentId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived2(bool async) @@ -461,13 +521,15 @@ public override async Task Include_collection_with_inheritance_on_derived2(bool await base.Include_collection_with_inheritance_on_derived2(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b2].[Id], [b2].[Discriminator], [b2].[Name], [b2].[ParentId], [b2].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b2].[Id], [b2].[Discriminator], [b2].[Name], [b2].[ParentId], [b2].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [BaseCollectionsOnDerived] AS [b2] ON [b].[Id] = [b2].[ParentId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived3(bool async) @@ -475,7 +537,8 @@ public override async Task Include_collection_with_inheritance_on_derived3(bool await base.Include_collection_with_inheritance_on_derived3(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Discriminator], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Discriminator], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] @@ -485,7 +548,8 @@ FROM [BaseCollectionsOnDerived] AS [b2] WHERE [b2].[Discriminator] = N'DerivedCollectionOnDerived' ) AS [t] ON [b].[Id] = [t].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived_reverse(bool async) @@ -493,7 +557,8 @@ public override async Task Include_collection_with_inheritance_on_derived_revers await base.Include_collection_with_inheritance_on_derived_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[ParentId], [b].[DerivedInheritanceRelationshipEntityId], [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[ParentId], [b].[DerivedInheritanceRelationshipEntityId], [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnDerived] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] @@ -502,7 +567,8 @@ FROM [BaseEntities] AS [b0] ) AS [t] ON [b].[ParentId] = [t].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [t].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_reference(bool async) @@ -510,13 +576,15 @@ public override async Task Nested_include_with_inheritance_reference_reference(b await base.Nested_include_with_inheritance_reference_reference(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [n].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [n].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] LEFT JOIN [NestedReferences] AS [n] ON [b0].[Id] = [n].[ParentReferenceId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [b0].[Id], [n].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [n].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_reference_on_base(bool async) @@ -524,14 +592,16 @@ public override async Task Nested_include_with_inheritance_reference_reference_o await base.Nested_include_with_inheritance_reference_reference_on_base(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [n].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [n].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] LEFT JOIN [NestedReferences] AS [n] ON [b0].[Id] = [n].[ParentReferenceId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[Id], [n].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [b0].[Id], [n].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_reference_reverse(bool async) @@ -539,13 +609,15 @@ public override async Task Nested_include_with_inheritance_reference_reference_r await base.Nested_include_with_inheritance_reference_reference_reverse(async); AssertSql( - @"SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [NestedReferences] AS [n] LEFT JOIN [BaseReferencesOnBase] AS [b] ON [n].[ParentReferenceId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b0].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [n].[Id], [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_collection(bool async) @@ -553,13 +625,15 @@ public override async Task Nested_include_with_inheritance_reference_collection( await base.Nested_include_with_inheritance_reference_collection(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [NestedCollections] AS [n] ON [b0].[Id] = [n].[ParentReferenceId] -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_on_base(bool async) @@ -567,14 +641,16 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_on_base(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [NestedCollections] AS [n] ON [b0].[Id] = [n].[ParentReferenceId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id]"); +ORDER BY [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_reverse(bool async) @@ -582,13 +658,15 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_reverse(async); AssertSql( - @"SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [NestedCollections] AS [n] LEFT JOIN [BaseReferencesOnBase] AS [b] ON [n].[ParentReferenceId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b0].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [n].[Id], [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_collection_reference(bool async) @@ -596,7 +674,8 @@ public override async Task Nested_include_with_inheritance_collection_reference( await base.Nested_include_with_inheritance_collection_reference(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[BaseParentId], [t].[Discriminator], [t].[Name], [t].[DerivedProperty], [t].[Id0], [t].[Discriminator0], [t].[Name0], [t].[ParentCollectionId], [t].[ParentReferenceId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[BaseParentId], [t].[Discriminator], [t].[Name], [t].[DerivedProperty], [t].[Id0], [t].[Discriminator0], [t].[Name0], [t].[ParentCollectionId], [t].[ParentReferenceId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] @@ -605,7 +684,8 @@ LEFT JOIN ( FROM [BaseCollectionsOnBase] AS [b2] LEFT JOIN [NestedReferences] AS [n] ON [b2].[Id] = [n].[ParentCollectionId] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [t].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [t].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_reference_reverse(bool async) @@ -613,13 +693,15 @@ public override async Task Nested_include_with_inheritance_collection_reference_ await base.Nested_include_with_inheritance_collection_reference_reverse(async); AssertSql( - @"SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [NestedReferences] AS [n] LEFT JOIN [BaseCollectionsOnBase] AS [b] ON [n].[ParentCollectionId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b0].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [n].[Id], [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_collection_collection(bool async) @@ -627,7 +709,8 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[BaseParentId], [t].[Discriminator], [t].[Name], [t].[DerivedProperty], [t].[Id0], [t].[Discriminator0], [t].[Name0], [t].[ParentCollectionId], [t].[ParentReferenceId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[BaseParentId], [t].[Discriminator], [t].[Name], [t].[DerivedProperty], [t].[Id0], [t].[Discriminator0], [t].[Name0], [t].[ParentCollectionId], [t].[ParentReferenceId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] @@ -636,7 +719,8 @@ LEFT JOIN ( FROM [BaseCollectionsOnBase] AS [b2] LEFT JOIN [NestedCollections] AS [n] ON [b2].[Id] = [n].[ParentCollectionId] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [t].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [t].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection_reverse(bool async) @@ -644,13 +728,15 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection_reverse(async); AssertSql( - @"SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b2].[DerivedInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [NestedCollections] AS [n] LEFT JOIN [BaseCollectionsOnBase] AS [b] ON [n].[ParentCollectionId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b2] ON [b0].[Id] = [b2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [n].[Id], [b].[Id], [b0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_collection_reference_on_non_entity_base(bool async) @@ -658,14 +744,16 @@ public override async Task Nested_include_collection_reference_on_non_entity_bas await base.Nested_include_collection_reference_on_non_entity_base(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0] +""" +SELECT [r].[Id], [r].[Name], [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0] FROM [ReferencedEntities] AS [r] LEFT JOIN ( SELECT [p].[Id], [p].[Name], [p].[ReferenceId], [p].[ReferencedEntityId], [r0].[Id] AS [Id0], [r0].[Name] AS [Name0] FROM [PrincipalEntities] AS [p] LEFT JOIN [ReferencedEntities] AS [r0] ON [p].[ReferenceId] = [r0].[Id] ) AS [t] ON [r].[Id] = [t].[ReferencedEntityId] -ORDER BY [r].[Id], [t].[Id]"); +ORDER BY [r].[Id], [t].[Id] +"""); } public override async Task Collection_projection_on_base_type(bool async) @@ -673,10 +761,12 @@ public override async Task Collection_projection_on_base_type(bool async) await base.Collection_projection_on_base_type(async); AssertSql( - @"SELECT [b].[Id], [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty] +""" +SELECT [b].[Id], [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty] FROM [BaseEntities] AS [b] LEFT JOIN [BaseCollectionsOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_on_derived_type_with_queryable_Cast(bool async) @@ -684,7 +774,8 @@ public override async Task Include_on_derived_type_with_queryable_Cast(bool asyn await base.Include_on_derived_type_with_queryable_Cast(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Discriminator], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Discriminator], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] @@ -694,7 +785,8 @@ FROM [BaseCollectionsOnDerived] AS [b2] WHERE [b2].[Discriminator] = N'DerivedCollectionOnDerived' ) AS [t] ON [b].[Id] = [t].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Id] >= 4 -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id] +"""); } public override async Task Include_collection_with_inheritance_split(bool async) @@ -702,24 +794,32 @@ public override async Task Include_collection_with_inheritance_split(bool async) await base.Include_collection_with_inheritance_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [b].[Id] +""" +SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseCollectionsOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_reverse_split(bool async) @@ -727,22 +827,28 @@ public override async Task Include_collection_with_inheritance_reverse_split(boo await base.Include_collection_with_inheritance_reverse_split(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] +""" +SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b0].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [b0].[Id]"); +ORDER BY [b].[Id], [b0].[Id] +"""); } public override async Task Include_collection_with_inheritance_with_filter_split(bool async) @@ -750,28 +856,36 @@ public override async Task Include_collection_with_inheritance_with_filter_split await base.Include_collection_with_inheritance_with_filter_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [b].[Id] +""" +SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseCollectionsOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_with_filter_reverse_split(bool async) @@ -779,25 +893,31 @@ public override async Task Include_collection_with_inheritance_with_filter_rever await base.Include_collection_with_inheritance_with_filter_reverse_split(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] +""" +SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b0].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [b0].[Id]"); +ORDER BY [b].[Id], [b0].[Id] +"""); } public override async Task Include_collection_without_inheritance_split(bool async) @@ -805,24 +925,32 @@ public override async Task Include_collection_without_inheritance_split(bool asy await base.Include_collection_without_inheritance_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [CollectionsOnBase] AS [c] ON [b].[Id] = [c].[ParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_without_inheritance_reverse_split(bool async) @@ -830,22 +958,28 @@ public override async Task Include_collection_without_inheritance_reverse_split( await base.Include_collection_without_inheritance_reverse_split(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN [BaseEntities] AS [b] ON [c].[ParentId] = [b].[Id] -ORDER BY [c].[Id], [b].[Id]", +ORDER BY [c].[Id], [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [b].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN [BaseEntities] AS [b] ON [c].[ParentId] = [b].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [c].[Id], [b].[Id]", +ORDER BY [c].[Id], [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [b].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN [BaseEntities] AS [b] ON [c].[ParentId] = [b].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [c].[Id], [b].[Id]"); +ORDER BY [c].[Id], [b].[Id] +"""); } public override async Task Include_collection_without_inheritance_with_filter_split(bool async) @@ -853,28 +987,36 @@ public override async Task Include_collection_without_inheritance_with_filter_sp await base.Include_collection_without_inheritance_with_filter_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [CollectionsOnBase] AS [c] ON [b].[Id] = [c].[ParentId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_without_inheritance_with_filter_reverse_split(bool async) @@ -882,25 +1024,31 @@ public override async Task Include_collection_without_inheritance_with_filter_re await base.Include_collection_without_inheritance_with_filter_reverse_split(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN [BaseEntities] AS [b] ON [c].[ParentId] = [b].[Id] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [b].[Id]", +ORDER BY [c].[Id], [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [b].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN [BaseEntities] AS [b] ON [c].[ParentId] = [b].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [b].[Id]", +ORDER BY [c].[Id], [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [b].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN [BaseEntities] AS [b] ON [c].[ParentId] = [b].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [b].[Id]"); +ORDER BY [c].[Id], [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived1_split(bool async) @@ -908,28 +1056,36 @@ public override async Task Include_collection_with_inheritance_on_derived1_split await base.Include_collection_with_inheritance_on_derived1_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [b].[Id] +""" +SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseCollectionsOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived2_split(bool async) @@ -937,28 +1093,36 @@ public override async Task Include_collection_with_inheritance_on_derived2_split await base.Include_collection_with_inheritance_on_derived2_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[ParentId], [b0].[DerivedInheritanceRelationshipEntityId], [b].[Id] +""" +SELECT [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[ParentId], [b0].[DerivedInheritanceRelationshipEntityId], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseCollectionsOnDerived] AS [b0] ON [b].[Id] = [b0].[ParentId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived3_split(bool async) @@ -966,24 +1130,31 @@ public override async Task Include_collection_with_inheritance_on_derived3_split await base.Include_collection_with_inheritance_on_derived3_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [b].[Id] +""" +SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN ( SELECT [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[ParentId], [b0].[DerivedInheritanceRelationshipEntityId] @@ -991,7 +1162,8 @@ FROM [BaseCollectionsOnDerived] AS [b0] WHERE [b0].[Discriminator] = N'DerivedCollectionOnDerived' ) AS [t] ON [b].[Id] = [t].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived_reverse_split(bool async) @@ -999,16 +1171,19 @@ public override async Task Include_collection_with_inheritance_on_derived_revers await base.Include_collection_with_inheritance_on_derived_reverse_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[ParentId], [b].[DerivedInheritanceRelationshipEntityId], [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[ParentId], [b].[DerivedInheritanceRelationshipEntityId], [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnDerived] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b0] WHERE [b0].[Discriminator] = N'DerivedInheritanceRelationshipEntity' ) AS [t] ON [b].[ParentId] = [t].[Id] -ORDER BY [b].[Id], [t].[Id]", - // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] +ORDER BY [b].[Id], [t].[Id] +""", + // +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] FROM [BaseCollectionsOnDerived] AS [b] LEFT JOIN ( SELECT [b0].[Id] @@ -1016,9 +1191,11 @@ FROM [BaseEntities] AS [b0] WHERE [b0].[Discriminator] = N'DerivedInheritanceRelationshipEntity' ) AS [t] ON [b].[ParentId] = [t].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id]", - // - @"SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] +ORDER BY [b].[Id], [t].[Id] +""", + // +""" +SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] FROM [BaseCollectionsOnDerived] AS [b] LEFT JOIN ( SELECT [b0].[Id] @@ -1026,7 +1203,8 @@ FROM [BaseEntities] AS [b0] WHERE [b0].[Discriminator] = N'DerivedInheritanceRelationshipEntity' ) AS [t] ON [b].[ParentId] = [t].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [t].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id]"); +ORDER BY [b].[Id], [t].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_split(bool async) @@ -1034,28 +1212,36 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] +""" +SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b0].[Id] +""" +SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b0].[Id] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] INNER JOIN [NestedCollections] AS [n] ON [b0].[Id] = [n].[ParentReferenceId] -ORDER BY [b].[Id], [b0].[Id]"); +ORDER BY [b].[Id], [b0].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_on_base_split(bool async) @@ -1063,32 +1249,40 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_on_base_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b0].[Id], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] +""" +SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [b0].[Id] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b0].[Id] +""" +SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b0].[Id] FROM [BaseEntities] AS [b] LEFT JOIN [BaseReferencesOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] INNER JOIN [NestedCollections] AS [n] ON [b0].[Id] = [n].[ParentReferenceId] WHERE [b].[Discriminator] = N'DerivedInheritanceRelationshipEntity' -ORDER BY [b].[Id], [b0].[Id]"); +ORDER BY [b].[Id], [b0].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_reverse_split(bool async) @@ -1096,25 +1290,31 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_reverse_split(async); AssertSql( - @"SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [NestedCollections] AS [n] LEFT JOIN [BaseReferencesOnBase] AS [b] ON [n].[ParentReferenceId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] -ORDER BY [n].[Id], [b].[Id], [b0].[Id]", +ORDER BY [n].[Id], [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] FROM [NestedCollections] AS [n] LEFT JOIN [BaseReferencesOnBase] AS [b] ON [n].[ParentReferenceId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [b].[Id], [b0].[Id]", +ORDER BY [n].[Id], [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] +""" +SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] FROM [NestedCollections] AS [n] LEFT JOIN [BaseReferencesOnBase] AS [b] ON [n].[ParentReferenceId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b0].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [b].[Id], [b0].[Id]"); +ORDER BY [n].[Id], [b].[Id], [b0].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_reference_split(bool async) @@ -1122,28 +1322,36 @@ public override async Task Nested_include_with_inheritance_collection_reference_ await base.Nested_include_with_inheritance_collection_reference_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Discriminator], [t].[Name], [t].[DerivedProperty], [t].[Id0], [t].[Discriminator0], [t].[Name0], [t].[ParentCollectionId], [t].[ParentReferenceId], [b].[Id] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Discriminator], [t].[Name], [t].[DerivedProperty], [t].[Id0], [t].[Discriminator0], [t].[Name0], [t].[ParentCollectionId], [t].[ParentReferenceId], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN ( SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [n].[Id] AS [Id0], [n].[Discriminator] AS [Discriminator0], [n].[Name] AS [Name0], [n].[ParentCollectionId], [n].[ParentReferenceId] FROM [BaseCollectionsOnBase] AS [b0] LEFT JOIN [NestedReferences] AS [n] ON [b0].[Id] = [n].[ParentCollectionId] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_reference_reverse_split(bool async) @@ -1151,25 +1359,31 @@ public override async Task Nested_include_with_inheritance_collection_reference_ await base.Nested_include_with_inheritance_collection_reference_reverse_split(async); AssertSql( - @"SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [NestedReferences] AS [n] LEFT JOIN [BaseCollectionsOnBase] AS [b] ON [n].[ParentCollectionId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] -ORDER BY [n].[Id], [b].[Id], [b0].[Id]", +ORDER BY [n].[Id], [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] FROM [NestedReferences] AS [n] LEFT JOIN [BaseCollectionsOnBase] AS [b] ON [n].[ParentCollectionId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [b].[Id], [b0].[Id]", +ORDER BY [n].[Id], [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] +""" +SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] FROM [NestedReferences] AS [n] LEFT JOIN [BaseCollectionsOnBase] AS [b] ON [n].[ParentCollectionId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b0].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [b].[Id], [b0].[Id]"); +ORDER BY [n].[Id], [b].[Id], [b0].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection_split(bool async) @@ -1177,30 +1391,40 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [b].[Id] +""" +SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseCollectionsOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] -ORDER BY [b].[Id], [b0].[Id]", +ORDER BY [b].[Id], [b0].[Id] +""", // - @"SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b0].[Id] +""" +SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b0].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseCollectionsOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] INNER JOIN [NestedCollections] AS [n] ON [b0].[Id] = [n].[ParentCollectionId] -ORDER BY [b].[Id], [b0].[Id]"); +ORDER BY [b].[Id], [b0].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection_reverse_split(bool async) @@ -1208,25 +1432,31 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection_reverse_split(async); AssertSql( - @"SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] +""" +SELECT [n].[Id], [n].[Discriminator], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], [b].[Id], [b].[BaseParentId], [b].[Discriminator], [b].[Name], [b].[DerivedProperty], [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[BaseId], [b0].[OwnedReferenceOnBase_Id], [b0].[OwnedReferenceOnBase_Name], [b0].[OwnedReferenceOnDerived_Id], [b0].[OwnedReferenceOnDerived_Name] FROM [NestedCollections] AS [n] LEFT JOIN [BaseCollectionsOnBase] AS [b] ON [n].[ParentCollectionId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] -ORDER BY [n].[Id], [b].[Id], [b0].[Id]", +ORDER BY [n].[Id], [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] FROM [NestedCollections] AS [n] LEFT JOIN [BaseCollectionsOnBase] AS [b] ON [n].[ParentCollectionId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [b].[Id], [b0].[Id]", +ORDER BY [n].[Id], [b].[Id], [b0].[Id] +""", // - @"SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] +""" +SELECT [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [b].[Id], [b0].[Id] FROM [NestedCollections] AS [n] LEFT JOIN [BaseCollectionsOnBase] AS [b] ON [n].[ParentCollectionId] = [b].[Id] LEFT JOIN [BaseEntities] AS [b0] ON [b].[BaseParentId] = [b0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [b0].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [b].[Id], [b0].[Id]"); +ORDER BY [n].[Id], [b].[Id], [b0].[Id] +"""); } public override async Task Nested_include_collection_reference_on_non_entity_base_split(bool async) @@ -1234,18 +1464,22 @@ public override async Task Nested_include_collection_reference_on_non_entity_bas await base.Nested_include_collection_reference_on_non_entity_base_split(async); AssertSql( - @"SELECT [r].[Id], [r].[Name] +""" +SELECT [r].[Id], [r].[Name] FROM [ReferencedEntities] AS [r] -ORDER BY [r].[Id]", +ORDER BY [r].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0], [r].[Id] +""" +SELECT [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0], [r].[Id] FROM [ReferencedEntities] AS [r] INNER JOIN ( SELECT [p].[Id], [p].[Name], [p].[ReferenceId], [p].[ReferencedEntityId], [r0].[Id] AS [Id0], [r0].[Name] AS [Name0] FROM [PrincipalEntities] AS [p] LEFT JOIN [ReferencedEntities] AS [r0] ON [p].[ReferenceId] = [r0].[Id] ) AS [t] ON [r].[Id] = [t].[ReferencedEntityId] -ORDER BY [r].[Id]"); +ORDER BY [r].[Id] +"""); } public override async Task Collection_projection_on_base_type_split(bool async) @@ -1253,14 +1487,18 @@ public override async Task Collection_projection_on_base_type_split(bool async) await base.Collection_projection_on_base_type_split(async); AssertSql( - @"SELECT [b].[Id] +""" +SELECT [b].[Id] FROM [BaseEntities] AS [b] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [b].[Id] +""" +SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Discriminator], [b0].[Name], [b0].[DerivedProperty], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseCollectionsOnBase] AS [b0] ON [b].[Id] = [b0].[BaseParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_on_derived_type_with_queryable_Cast_split(bool async) @@ -1268,24 +1506,31 @@ public override async Task Include_on_derived_type_with_queryable_Cast_split(boo await base.Include_on_derived_type_with_queryable_Cast_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] WHERE [b].[Id] >= 4 -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [b].[Id] >= 4 -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[DerivedInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b0] ON [b].[Id] = [b0].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Id] >= 4 -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [b].[Id] +""" +SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN ( SELECT [b0].[Id], [b0].[Discriminator], [b0].[Name], [b0].[ParentId], [b0].[DerivedInheritanceRelationshipEntityId] @@ -1293,7 +1538,8 @@ FROM [BaseCollectionsOnDerived] AS [b0] WHERE [b0].[Discriminator] = N'DerivedCollectionOnDerived' ) AS [t] ON [b].[Id] = [t].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Id] >= 4 -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override void Changes_in_derived_related_entities_are_detected() @@ -1301,7 +1547,8 @@ public override void Changes_in_derived_related_entities_are_detected() base.Changes_in_derived_related_entities_are_detected(); AssertSql( - @"SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name], [b2].[Id], [b2].[BaseParentId], [b2].[Discriminator], [b2].[Name], [b2].[DerivedProperty] +""" +SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name], [b2].[Id], [b2].[BaseParentId], [b2].[Discriminator], [b2].[Name], [b2].[DerivedProperty] FROM ( SELECT TOP(2) [b].[Id], [b].[Discriminator], [b].[Name], [b].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [b].[OwnedReferenceOnDerived_Id], [b].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] @@ -1310,7 +1557,8 @@ FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [t].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnDerived] AS [b1] ON [t].[Id] = [b1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [BaseCollectionsOnBase] AS [b2] ON [t].[Id] = [b2].[BaseParentId] -ORDER BY [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id]"); +ORDER BY [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b1].[DerivedInheritanceRelationshipEntityId], [b1].[Id] +"""); } public override void Entity_can_make_separate_relationships_with_base_type_and_derived_type_both() diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs index 3e14504f2ac..ff149a2e764 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/JsonQuerySqlServerTest.cs @@ -17,8 +17,10 @@ public override async Task Basic_json_projection_owner_entity(bool async) await base.Basic_json_projection_owner_entity(async); AssertSql( - @"SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Basic_json_projection_owned_reference_root(bool async) @@ -26,8 +28,10 @@ public override async Task Basic_json_projection_owned_reference_root(bool async await base.Basic_json_projection_owned_reference_root(async); AssertSql( - @"SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j].[Id] -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j].[Id] +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Basic_json_projection_owned_reference_duplicated(bool async) @@ -35,9 +39,11 @@ public override async Task Basic_json_projection_owned_reference_duplicated(bool await base.Basic_json_projection_owned_reference_duplicated(async); AssertSql( - @"SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j].[Id] +""" +SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j].[Id] FROM [JsonEntitiesBasic] AS [j] -ORDER BY [j].[Id]"); +ORDER BY [j].[Id] +"""); } public override async Task Basic_json_projection_owned_collection_root(bool async) @@ -45,8 +51,10 @@ public override async Task Basic_json_projection_owned_collection_root(bool asyn await base.Basic_json_projection_owned_collection_root(async); AssertSql( - @"SELECT JSON_QUERY([j].[OwnedCollectionRoot],'$'), [j].[Id] -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT JSON_QUERY([j].[OwnedCollectionRoot],'$'), [j].[Id] +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Basic_json_projection_owned_reference_branch(bool async) @@ -54,8 +62,10 @@ public override async Task Basic_json_projection_owned_reference_branch(bool asy await base.Basic_json_projection_owned_reference_branch(async); AssertSql( - @"SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch'), [j].[Id] -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch'), [j].[Id] +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Basic_json_projection_owned_collection_branch(bool async) @@ -63,8 +73,10 @@ public override async Task Basic_json_projection_owned_collection_branch(bool as await base.Basic_json_projection_owned_collection_branch(async); AssertSql( - @"SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedCollectionBranch'), [j].[Id] -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedCollectionBranch'), [j].[Id] +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Basic_json_projection_owned_reference_leaf(bool async) @@ -72,8 +84,10 @@ public override async Task Basic_json_projection_owned_reference_leaf(bool async await base.Basic_json_projection_owned_reference_leaf(async); AssertSql( - @"SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.OwnedReferenceLeaf'), [j].[Id] -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.OwnedReferenceLeaf'), [j].[Id] +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Basic_json_projection_owned_collection_leaf(bool async) @@ -81,8 +95,10 @@ public override async Task Basic_json_projection_owned_collection_leaf(bool asyn await base.Basic_json_projection_owned_collection_leaf(async); AssertSql( - @"SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.OwnedCollectionLeaf'), [j].[Id] -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.OwnedCollectionLeaf'), [j].[Id] +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Basic_json_projection_scalar(bool async) @@ -90,8 +106,10 @@ public override async Task Basic_json_projection_scalar(bool async) await base.Basic_json_projection_scalar(async); AssertSql( - @"SELECT CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Json_scalar_length(bool async) @@ -99,9 +117,11 @@ public override async Task Json_scalar_length(bool async) await base.Json_scalar_length(async); AssertSql( - @"SELECT [j].[Name] +""" +SELECT [j].[Name] FROM [JsonEntitiesBasic] AS [j] -WHERE CAST(LEN(CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max))) AS int) > 2"); +WHERE CAST(LEN(CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max))) AS int) > 2 +"""); } public override async Task Basic_json_projection_enum_inside_json_entity(bool async) @@ -109,8 +129,10 @@ public override async Task Basic_json_projection_enum_inside_json_entity(bool as await base.Basic_json_projection_enum_inside_json_entity(async); AssertSql( - @"SELECT [j].[Id], CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.Enum') AS nvarchar(max)) AS [Enum] -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT [j].[Id], CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.Enum') AS nvarchar(max)) AS [Enum] +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Json_projection_enum_with_custom_conversion(bool async) @@ -118,8 +140,10 @@ public override async Task Json_projection_enum_with_custom_conversion(bool asyn await base.Json_projection_enum_with_custom_conversion(async); AssertSql( - @"SELECT [j].[Id], CAST(JSON_VALUE([j].[json_reference_custom_naming],'$.CustomEnum') AS int) AS [Enum] -FROM [JsonEntitiesCustomNaming] AS [j]"); +""" +SELECT [j].[Id], CAST(JSON_VALUE([j].[json_reference_custom_naming],'$.CustomEnum') AS int) AS [Enum] +FROM [JsonEntitiesCustomNaming] AS [j] +"""); } public override async Task Json_projection_with_deduplication(bool async) @@ -127,8 +151,10 @@ public override async Task Json_projection_with_deduplication(bool async) await base.Json_projection_with_deduplication(async); AssertSql( - @"SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$'), CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.OwnedReferenceLeaf.SomethingSomething') AS nvarchar(max)) -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$'), CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.OwnedReferenceLeaf.SomethingSomething') AS nvarchar(max)) +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Json_projection_with_deduplication_reverse_order(bool async) @@ -136,8 +162,10 @@ public override async Task Json_projection_with_deduplication_reverse_order(bool await base.Json_projection_with_deduplication_reverse_order(async); AssertSql( - @"SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Json_property_in_predicate(bool async) @@ -145,9 +173,11 @@ public override async Task Json_property_in_predicate(bool async) await base.Json_property_in_predicate(async); AssertSql( - @"SELECT [j].[Id] +""" +SELECT [j].[Id] FROM [JsonEntitiesBasic] AS [j] -WHERE CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.Fraction') AS decimal(18,2)) < 20.5"); +WHERE CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.Fraction') AS decimal(18,2)) < 20.5 +"""); } public override async Task Json_subquery_property_pushdown_length(bool async) @@ -155,7 +185,8 @@ public override async Task Json_subquery_property_pushdown_length(bool async) await base.Json_subquery_property_pushdown_length(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT CAST(LEN([t0].[c]) AS int) FROM ( @@ -165,7 +196,8 @@ SELECT TOP(@__p_0) CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBra FROM [JsonEntitiesBasic] AS [j] ORDER BY [j].[Id] ) AS [t] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Json_subquery_reference_pushdown_reference(bool async) @@ -173,7 +205,8 @@ public override async Task Json_subquery_reference_pushdown_reference(bool async await base.Json_subquery_reference_pushdown_reference(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT JSON_QUERY([t0].[c],'$.OwnedReferenceBranch'), [t0].[Id] FROM ( @@ -183,7 +216,8 @@ SELECT TOP(@__p_0) JSON_QUERY([j].[OwnedReferenceRoot],'$') AS [c], [j].[Id] FROM [JsonEntitiesBasic] AS [j] ORDER BY [j].[Id] ) AS [t] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Json_subquery_reference_pushdown_reference_anonymous_projection(bool async) @@ -191,7 +225,8 @@ public override async Task Json_subquery_reference_pushdown_reference_anonymous_ await base.Json_subquery_reference_pushdown_reference_anonymous_projection(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT JSON_QUERY([t0].[c],'$.OwnedReferenceSharedBranch'), [t0].[Id], CAST(LEN([t0].[c0]) AS int) FROM ( @@ -201,7 +236,8 @@ SELECT TOP(@__p_0) JSON_QUERY([j].[json_reference_shared],'$') AS [c], [j].[Id], FROM [JsonEntitiesBasic] AS [j] ORDER BY [j].[Id] ) AS [t] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Json_subquery_reference_pushdown_reference_pushdown_anonymous_projection(bool async) @@ -209,7 +245,8 @@ public override async Task Json_subquery_reference_pushdown_reference_pushdown_a await base.Json_subquery_reference_pushdown_reference_pushdown_anonymous_projection(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT JSON_QUERY([t2].[c],'$.OwnedReferenceSharedLeaf'), [t2].[Id], JSON_QUERY([t2].[c],'$.OwnedCollectionSharedLeaf'), [t2].[Length] FROM ( @@ -226,7 +263,8 @@ ORDER BY [j].[Id] ) AS [t0] ORDER BY CAST(LEN([t0].[Scalar]) AS int) ) AS [t1] -) AS [t2]"); +) AS [t2] +"""); } public override async Task Json_subquery_reference_pushdown_reference_pushdown_reference(bool async) @@ -234,7 +272,8 @@ public override async Task Json_subquery_reference_pushdown_reference_pushdown_r await base.Json_subquery_reference_pushdown_reference_pushdown_reference(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT JSON_QUERY([t2].[c],'$.OwnedReferenceLeaf'), [t2].[Id] FROM ( @@ -251,7 +290,8 @@ ORDER BY [j].[Id] ) AS [t0] ORDER BY CAST(JSON_VALUE([t0].[c0],'$.Name') AS nvarchar(max)) ) AS [t1] -) AS [t2]"); +) AS [t2] +"""); } public override async Task Json_subquery_reference_pushdown_reference_pushdown_collection(bool async) @@ -259,7 +299,8 @@ public override async Task Json_subquery_reference_pushdown_reference_pushdown_c await base.Json_subquery_reference_pushdown_reference_pushdown_collection(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT JSON_QUERY([t2].[c],'$.OwnedCollectionLeaf'), [t2].[Id] FROM ( @@ -276,7 +317,8 @@ ORDER BY [j].[Id] ) AS [t0] ORDER BY CAST(JSON_VALUE([t0].[c0],'$.Name') AS nvarchar(max)) ) AS [t1] -) AS [t2]"); +) AS [t2] +"""); } public override async Task Json_subquery_reference_pushdown_property(bool async) @@ -284,7 +326,8 @@ public override async Task Json_subquery_reference_pushdown_property(bool async) await base.Json_subquery_reference_pushdown_property(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT CAST(JSON_VALUE([t0].[c],'$.SomethingSomething') AS nvarchar(max)) FROM ( @@ -294,7 +337,8 @@ SELECT TOP(@__p_0) JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.O FROM [JsonEntitiesBasic] AS [j] ORDER BY [j].[Id] ) AS [t] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Custom_naming_projection_owner_entity(bool async) @@ -302,8 +346,10 @@ public override async Task Custom_naming_projection_owner_entity(bool async) await base.Custom_naming_projection_owner_entity(async); AssertSql( - @"SELECT [j].[Id], [j].[Title], JSON_QUERY([j].[json_collection_custom_naming],'$'), JSON_QUERY([j].[json_reference_custom_naming],'$') -FROM [JsonEntitiesCustomNaming] AS [j]"); +""" +SELECT [j].[Id], [j].[Title], JSON_QUERY([j].[json_collection_custom_naming],'$'), JSON_QUERY([j].[json_reference_custom_naming],'$') +FROM [JsonEntitiesCustomNaming] AS [j] +"""); } public override async Task Custom_naming_projection_owned_reference(bool async) @@ -311,8 +357,10 @@ public override async Task Custom_naming_projection_owned_reference(bool async) await base.Custom_naming_projection_owned_reference(async); AssertSql( - @"SELECT JSON_QUERY([j].[json_reference_custom_naming],'$.CustomOwnedReferenceBranch'), [j].[Id] -FROM [JsonEntitiesCustomNaming] AS [j]"); +""" +SELECT JSON_QUERY([j].[json_reference_custom_naming],'$.CustomOwnedReferenceBranch'), [j].[Id] +FROM [JsonEntitiesCustomNaming] AS [j] +"""); } public override async Task Custom_naming_projection_owned_collection(bool async) @@ -320,9 +368,11 @@ public override async Task Custom_naming_projection_owned_collection(bool async) await base.Custom_naming_projection_owned_collection(async); AssertSql( - @"SELECT JSON_QUERY([j].[json_collection_custom_naming],'$'), [j].[Id] +""" +SELECT JSON_QUERY([j].[json_collection_custom_naming],'$'), [j].[Id] FROM [JsonEntitiesCustomNaming] AS [j] -ORDER BY [j].[Id]"); +ORDER BY [j].[Id] +"""); } public override async Task Custom_naming_projection_owned_scalar(bool async) @@ -330,8 +380,10 @@ public override async Task Custom_naming_projection_owned_scalar(bool async) await base.Custom_naming_projection_owned_scalar(async); AssertSql( - @"SELECT CAST(JSON_VALUE([j].[json_reference_custom_naming],'$.CustomOwnedReferenceBranch.CustomFraction') AS float) -FROM [JsonEntitiesCustomNaming] AS [j]"); +""" +SELECT CAST(JSON_VALUE([j].[json_reference_custom_naming],'$.CustomOwnedReferenceBranch.CustomFraction') AS float) +FROM [JsonEntitiesCustomNaming] AS [j] +"""); } public override async Task Custom_naming_projection_everything(bool async) @@ -339,8 +391,10 @@ public override async Task Custom_naming_projection_everything(bool async) await base.Custom_naming_projection_everything(async); AssertSql( - @"SELECT [j].[Id], [j].[Title], JSON_QUERY([j].[json_collection_custom_naming],'$'), JSON_QUERY([j].[json_reference_custom_naming],'$'), CAST(JSON_VALUE([j].[json_reference_custom_naming],'$.CustomName') AS nvarchar(max)), CAST(JSON_VALUE([j].[json_reference_custom_naming],'$.CustomOwnedReferenceBranch.CustomFraction') AS float) -FROM [JsonEntitiesCustomNaming] AS [j]"); +""" +SELECT [j].[Id], [j].[Title], JSON_QUERY([j].[json_collection_custom_naming],'$'), JSON_QUERY([j].[json_reference_custom_naming],'$'), CAST(JSON_VALUE([j].[json_reference_custom_naming],'$.CustomName') AS nvarchar(max)), CAST(JSON_VALUE([j].[json_reference_custom_naming],'$.CustomOwnedReferenceBranch.CustomFraction') AS float) +FROM [JsonEntitiesCustomNaming] AS [j] +"""); } public override async Task Project_entity_with_single_owned(bool async) @@ -348,8 +402,10 @@ public override async Task Project_entity_with_single_owned(bool async) await base.Project_entity_with_single_owned(async); AssertSql( - @"SELECT [j].[Id], [j].[Name], JSON_QUERY([j].[OwnedCollection],'$') -FROM [JsonEntitiesSingleOwned] AS [j]"); +""" +SELECT [j].[Id], [j].[Name], JSON_QUERY([j].[OwnedCollection],'$') +FROM [JsonEntitiesSingleOwned] AS [j] +"""); } public override async Task Left_join_json_entities(bool async) @@ -357,9 +413,11 @@ public override async Task Left_join_json_entities(bool async) await base.Left_join_json_entities(async); AssertSql( - @"SELECT [j].[Id], [j].[Name], JSON_QUERY([j].[OwnedCollection],'$'), [j0].[Id], [j0].[EntityBasicId], [j0].[Name], JSON_QUERY([j0].[OwnedCollectionRoot],'$'), JSON_QUERY([j0].[OwnedReferenceRoot],'$') +""" +SELECT [j].[Id], [j].[Name], JSON_QUERY([j].[OwnedCollection],'$'), [j0].[Id], [j0].[EntityBasicId], [j0].[Name], JSON_QUERY([j0].[OwnedCollectionRoot],'$'), JSON_QUERY([j0].[OwnedReferenceRoot],'$') FROM [JsonEntitiesSingleOwned] AS [j] -LEFT JOIN [JsonEntitiesBasic] AS [j0] ON [j].[Id] = [j0].[Id]"); +LEFT JOIN [JsonEntitiesBasic] AS [j0] ON [j].[Id] = [j0].[Id] +"""); } public override async Task Left_join_json_entities_complex_projection(bool async) @@ -367,9 +425,11 @@ public override async Task Left_join_json_entities_complex_projection(bool async await base.Left_join_json_entities_complex_projection(async); AssertSql( - @"SELECT [j].[Id], [j0].[Id], [j0].[EntityBasicId], [j0].[Name], JSON_QUERY([j0].[OwnedCollectionRoot],'$'), JSON_QUERY([j0].[OwnedReferenceRoot],'$') +""" +SELECT [j].[Id], [j0].[Id], [j0].[EntityBasicId], [j0].[Name], JSON_QUERY([j0].[OwnedCollectionRoot],'$'), JSON_QUERY([j0].[OwnedReferenceRoot],'$') FROM [JsonEntitiesSingleOwned] AS [j] -LEFT JOIN [JsonEntitiesBasic] AS [j0] ON [j].[Id] = [j0].[Id]"); +LEFT JOIN [JsonEntitiesBasic] AS [j0] ON [j].[Id] = [j0].[Id] +"""); } public override async Task Project_json_entity_FirstOrDefault_subquery(bool async) @@ -377,14 +437,16 @@ public override async Task Project_json_entity_FirstOrDefault_subquery(bool asyn await base.Project_json_entity_FirstOrDefault_subquery(async); AssertSql( - @"SELECT JSON_QUERY([t].[c],'$'), [t].[Id] +""" +SELECT JSON_QUERY([t].[c],'$'), [t].[Id] FROM [JsonEntitiesBasic] AS [j] OUTER APPLY ( SELECT TOP(1) JSON_QUERY([j0].[OwnedReferenceRoot],'$.OwnedReferenceBranch') AS [c], [j0].[Id] FROM [JsonEntitiesBasic] AS [j0] ORDER BY [j0].[Id] ) AS [t] -ORDER BY [j].[Id]"); +ORDER BY [j].[Id] +"""); } public override async Task Project_json_entity_FirstOrDefault_subquery_with_binding_on_top(bool async) @@ -392,12 +454,14 @@ public override async Task Project_json_entity_FirstOrDefault_subquery_with_bind await base.Project_json_entity_FirstOrDefault_subquery_with_binding_on_top(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) CAST(JSON_VALUE([j0].[OwnedReferenceRoot],'$.OwnedReferenceBranch.Date') AS datetime2) FROM [JsonEntitiesBasic] AS [j0] ORDER BY [j0].[Id]) FROM [JsonEntitiesBasic] AS [j] -ORDER BY [j].[Id]"); +ORDER BY [j].[Id] +"""); } public override async Task Project_json_entity_FirstOrDefault_subquery_with_entity_comparison_on_top(bool async) @@ -413,14 +477,16 @@ public override async Task Project_json_entity_FirstOrDefault_subquery_deduplica await base.Project_json_entity_FirstOrDefault_subquery_deduplication(async); AssertSql( - @"SELECT JSON_QUERY([t].[c],'$'), [t].[Id], JSON_QUERY([t].[c0],'$'), [t].[Id0], JSON_QUERY([t].[c1],'$'), [t].[c2], [t].[c3], [t].[c4] +""" +SELECT JSON_QUERY([t].[c],'$'), [t].[Id], JSON_QUERY([t].[c0],'$'), [t].[Id0], JSON_QUERY([t].[c1],'$'), [t].[c2], [t].[c3], [t].[c4] FROM [JsonEntitiesBasic] AS [j] OUTER APPLY ( SELECT TOP(1) JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedCollectionBranch') AS [c], [j].[Id], JSON_QUERY([j0].[OwnedReferenceRoot],'$') AS [c0], [j0].[Id] AS [Id0], JSON_QUERY([j0].[OwnedReferenceRoot],'$.OwnedReferenceBranch') AS [c1], CAST(JSON_VALUE([j0].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) AS [c2], CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.Enum') AS nvarchar(max)) AS [c3], 1 AS [c4] FROM [JsonEntitiesBasic] AS [j0] ORDER BY [j0].[Id] ) AS [t] -ORDER BY [j].[Id]"); +ORDER BY [j].[Id] +"""); } public override async Task Project_json_entity_FirstOrDefault_subquery_deduplication_and_outer_reference(bool async) @@ -428,14 +494,16 @@ public override async Task Project_json_entity_FirstOrDefault_subquery_deduplica await base.Project_json_entity_FirstOrDefault_subquery_deduplication_and_outer_reference(async); AssertSql( - @"SELECT JSON_QUERY([t].[c],'$'), [t].[Id], JSON_QUERY([t].[c0],'$'), [t].[Id0], JSON_QUERY([t].[c1],'$'), [t].[c2], [t].[c3], [t].[c4] +""" +SELECT JSON_QUERY([t].[c],'$'), [t].[Id], JSON_QUERY([t].[c0],'$'), [t].[Id0], JSON_QUERY([t].[c1],'$'), [t].[c2], [t].[c3], [t].[c4] FROM [JsonEntitiesBasic] AS [j] OUTER APPLY ( SELECT TOP(1) JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedCollectionBranch') AS [c], [j].[Id], JSON_QUERY([j0].[OwnedReferenceRoot],'$') AS [c0], [j0].[Id] AS [Id0], JSON_QUERY([j0].[OwnedReferenceRoot],'$.OwnedReferenceBranch') AS [c1], CAST(JSON_VALUE([j0].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) AS [c2], CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.Enum') AS nvarchar(max)) AS [c3], 1 AS [c4] FROM [JsonEntitiesBasic] AS [j0] ORDER BY [j0].[Id] ) AS [t] -ORDER BY [j].[Id]"); +ORDER BY [j].[Id] +"""); } public override async Task Project_json_entity_FirstOrDefault_subquery_deduplication_outer_reference_and_pruning(bool async) @@ -443,14 +511,16 @@ public override async Task Project_json_entity_FirstOrDefault_subquery_deduplica await base.Project_json_entity_FirstOrDefault_subquery_deduplication_outer_reference_and_pruning(async); AssertSql( - @"SELECT JSON_QUERY([t].[c],'$'), [t].[Id], [t].[c0] +""" +SELECT JSON_QUERY([t].[c],'$'), [t].[Id], [t].[c0] FROM [JsonEntitiesBasic] AS [j] OUTER APPLY ( SELECT TOP(1) JSON_QUERY([j].[OwnedReferenceRoot],'$.OwnedCollectionBranch') AS [c], [j].[Id], 1 AS [c0] FROM [JsonEntitiesBasic] AS [j0] ORDER BY [j0].[Id] ) AS [t] -ORDER BY [j].[Id]"); +ORDER BY [j].[Id] +"""); } public override async Task Json_entity_with_inheritance_basic_projection(bool async) @@ -458,8 +528,10 @@ public override async Task Json_entity_with_inheritance_basic_projection(bool as await base.Json_entity_with_inheritance_basic_projection(async); AssertSql( - @"SELECT [j].[Id], [j].[Discriminator], [j].[Name], [j].[Fraction], JSON_QUERY([j].[CollectionOnBase],'$'), JSON_QUERY([j].[ReferenceOnBase],'$'), JSON_QUERY([j].[CollectionOnDerived],'$'), JSON_QUERY([j].[ReferenceOnDerived],'$') -FROM [JsonEntitiesInheritance] AS [j]"); +""" +SELECT [j].[Id], [j].[Discriminator], [j].[Name], [j].[Fraction], JSON_QUERY([j].[CollectionOnBase],'$'), JSON_QUERY([j].[ReferenceOnBase],'$'), JSON_QUERY([j].[CollectionOnDerived],'$'), JSON_QUERY([j].[ReferenceOnDerived],'$') +FROM [JsonEntitiesInheritance] AS [j] +"""); } public override async Task Json_entity_with_inheritance_project_derived(bool async) @@ -467,9 +539,11 @@ public override async Task Json_entity_with_inheritance_project_derived(bool asy await base.Json_entity_with_inheritance_project_derived(async); AssertSql( - @"SELECT [j].[Id], [j].[Discriminator], [j].[Name], [j].[Fraction], JSON_QUERY([j].[CollectionOnBase],'$'), JSON_QUERY([j].[ReferenceOnBase],'$'), JSON_QUERY([j].[CollectionOnDerived],'$'), JSON_QUERY([j].[ReferenceOnDerived],'$') +""" +SELECT [j].[Id], [j].[Discriminator], [j].[Name], [j].[Fraction], JSON_QUERY([j].[CollectionOnBase],'$'), JSON_QUERY([j].[ReferenceOnBase],'$'), JSON_QUERY([j].[CollectionOnDerived],'$'), JSON_QUERY([j].[ReferenceOnDerived],'$') FROM [JsonEntitiesInheritance] AS [j] -WHERE [j].[Discriminator] = N'JsonEntityInheritanceDerived'"); +WHERE [j].[Discriminator] = N'JsonEntityInheritanceDerived' +"""); } public override async Task Json_entity_with_inheritance_project_navigations(bool async) @@ -477,8 +551,10 @@ public override async Task Json_entity_with_inheritance_project_navigations(bool await base.Json_entity_with_inheritance_project_navigations(async); AssertSql( - @"SELECT [j].[Id], JSON_QUERY([j].[ReferenceOnBase],'$'), JSON_QUERY([j].[CollectionOnBase],'$') -FROM [JsonEntitiesInheritance] AS [j]"); +""" +SELECT [j].[Id], JSON_QUERY([j].[ReferenceOnBase],'$'), JSON_QUERY([j].[CollectionOnBase],'$') +FROM [JsonEntitiesInheritance] AS [j] +"""); } public override async Task Json_entity_with_inheritance_project_navigations_on_derived(bool async) @@ -486,9 +562,11 @@ public override async Task Json_entity_with_inheritance_project_navigations_on_d await base.Json_entity_with_inheritance_project_navigations_on_derived(async); AssertSql( - @"SELECT [j].[Id], [j].[Discriminator], [j].[Name], [j].[Fraction], JSON_QUERY([j].[CollectionOnBase],'$'), JSON_QUERY([j].[ReferenceOnBase],'$'), JSON_QUERY([j].[CollectionOnDerived],'$'), JSON_QUERY([j].[ReferenceOnDerived],'$') +""" +SELECT [j].[Id], [j].[Discriminator], [j].[Name], [j].[Fraction], JSON_QUERY([j].[CollectionOnBase],'$'), JSON_QUERY([j].[ReferenceOnBase],'$'), JSON_QUERY([j].[CollectionOnDerived],'$'), JSON_QUERY([j].[ReferenceOnDerived],'$') FROM [JsonEntitiesInheritance] AS [j] -WHERE [j].[Discriminator] = N'JsonEntityInheritanceDerived'"); +WHERE [j].[Discriminator] = N'JsonEntityInheritanceDerived' +"""); } public override async Task Json_entity_backtracking(bool async) @@ -505,8 +583,10 @@ public override async Task Json_collection_element_access_in_projection_basic(bo // array element access in projection is currently done on the client - issue 28648 AssertSql( - @"SELECT JSON_QUERY([j].[OwnedCollectionRoot],'$'), [j].[Id] -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT JSON_QUERY([j].[OwnedCollectionRoot],'$'), [j].[Id] +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Json_collection_element_access_in_predicate(bool async) @@ -522,9 +602,11 @@ public override async Task Json_scalar_required_null_semantics(bool async) await base.Json_scalar_required_null_semantics(async); AssertSql( - @"SELECT [j].[Name] +""" +SELECT [j].[Name] FROM [JsonEntitiesBasic] AS [j] -WHERE CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Number') AS int) <> CAST(LEN(CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max))) AS int) OR (CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) IS NULL)"); +WHERE CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Number') AS int) <> CAST(LEN(CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max))) AS int) OR (CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) IS NULL) +"""); } public override async Task Json_scalar_optional_null_semantics(bool async) @@ -532,9 +614,11 @@ public override async Task Json_scalar_optional_null_semantics(bool async) await base.Json_scalar_optional_null_semantics(async); AssertSql( - @"SELECT [j].[Name] +""" +SELECT [j].[Name] FROM [JsonEntitiesBasic] AS [j] -WHERE CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) = CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.OwnedReferenceLeaf.SomethingSomething') AS nvarchar(max)) OR ((CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) IS NULL) AND (CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.OwnedReferenceLeaf.SomethingSomething') AS nvarchar(max)) IS NULL))"); +WHERE CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) = CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.OwnedReferenceLeaf.SomethingSomething') AS nvarchar(max)) OR ((CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) IS NULL) AND (CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.OwnedReferenceBranch.OwnedReferenceLeaf.SomethingSomething') AS nvarchar(max)) IS NULL)) +"""); } public override async Task Group_by_on_json_scalar(bool async) @@ -542,12 +626,14 @@ public override async Task Group_by_on_json_scalar(bool async) await base.Group_by_on_json_scalar(async); AssertSql( - @"SELECT [t].[Key], COUNT(*) AS [Count] +""" +SELECT [t].[Key], COUNT(*) AS [Count] FROM ( SELECT CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) AS [Key] FROM [JsonEntitiesBasic] AS [j] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Group_by_First_on_json_scalar(bool async) @@ -555,7 +641,8 @@ public override async Task Group_by_First_on_json_scalar(bool async) await base.Group_by_First_on_json_scalar(async); AssertSql( - @"SELECT [t1].[Id], [t1].[EntityBasicId], [t1].[Name], JSON_QUERY([t1].[c],'$'), JSON_QUERY([t1].[c0],'$') +""" +SELECT [t1].[Id], [t1].[EntityBasicId], [t1].[Name], JSON_QUERY([t1].[c],'$'), JSON_QUERY([t1].[c0],'$') FROM ( SELECT [t].[Key] FROM ( @@ -574,7 +661,8 @@ FROM [JsonEntitiesBasic] AS [j0] ) AS [t3] ) AS [t2] WHERE [t2].[row] <= 1 -) AS [t1] ON [t0].[Key] = [t1].[Key]"); +) AS [t1] ON [t0].[Key] = [t1].[Key] +"""); } public override async Task Group_by_FirstOrDefault_on_json_scalar(bool async) @@ -582,7 +670,8 @@ public override async Task Group_by_FirstOrDefault_on_json_scalar(bool async) await base.Group_by_FirstOrDefault_on_json_scalar(async); AssertSql( - @"SELECT [t1].[Id], [t1].[EntityBasicId], [t1].[Name], JSON_QUERY([t1].[c],'$'), JSON_QUERY([t1].[c0],'$') +""" +SELECT [t1].[Id], [t1].[EntityBasicId], [t1].[Name], JSON_QUERY([t1].[c],'$'), JSON_QUERY([t1].[c0],'$') FROM ( SELECT [t].[Key] FROM ( @@ -601,7 +690,8 @@ FROM [JsonEntitiesBasic] AS [j0] ) AS [t3] ) AS [t2] WHERE [t2].[row] <= 1 -) AS [t1] ON [t0].[Key] = [t1].[Key]"); +) AS [t1] ON [t0].[Key] = [t1].[Key] +"""); } public override async Task Group_by_Skip_Take_on_json_scalar(bool async) @@ -609,7 +699,8 @@ public override async Task Group_by_Skip_Take_on_json_scalar(bool async) await base.Group_by_Skip_Take_on_json_scalar(async); AssertSql( - @"SELECT [t0].[Key], [t1].[Id], [t1].[EntityBasicId], [t1].[Name], [t1].[c], [t1].[c0] +""" +SELECT [t0].[Key], [t1].[Id], [t1].[EntityBasicId], [t1].[Name], [t1].[c], [t1].[c0] FROM ( SELECT [t].[Key] FROM ( @@ -629,7 +720,8 @@ FROM [JsonEntitiesBasic] AS [j0] ) AS [t2] WHERE 1 < [t2].[row] AND [t2].[row] <= 6 ) AS [t1] ON [t0].[Key] = [t1].[Key] -ORDER BY [t0].[Key], [t1].[Key], [t1].[Id]"); +ORDER BY [t0].[Key], [t1].[Key], [t1].[Id] +"""); } public override async Task Group_by_json_scalar_Orderby_json_scalar_FirstOrDefault(bool async) @@ -645,7 +737,8 @@ public override async Task Group_by_json_scalar_Skip_First_project_json_scalar(b await base.Group_by_json_scalar_Skip_First_project_json_scalar(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) CAST(JSON_VALUE([t0].[c0],'$.OwnedReferenceBranch.Enum') AS nvarchar(max)) FROM ( SELECT [j0].[Id], [j0].[EntityBasicId], [j0].[Name], JSON_QUERY([j0].[OwnedCollectionRoot],'$') AS [c], JSON_QUERY([j0].[OwnedReferenceRoot],'$') AS [c0], CAST(JSON_VALUE([j0].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) AS [Key] @@ -656,7 +749,8 @@ FROM [JsonEntitiesBasic] AS [j0] SELECT CAST(JSON_VALUE([j].[OwnedReferenceRoot],'$.Name') AS nvarchar(max)) AS [Key] FROM [JsonEntitiesBasic] AS [j] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Json_with_include_on_json_entity(bool async) @@ -664,8 +758,10 @@ public override async Task Json_with_include_on_json_entity(bool async) await base.Json_with_include_on_json_entity(async); AssertSql( - @"SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Json_with_include_on_entity_reference(bool async) @@ -673,9 +769,11 @@ public override async Task Json_with_include_on_entity_reference(bool async) await base.Json_with_include_on_entity_reference(async); AssertSql( - @"SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j0].[Id], [j0].[Name], [j0].[ParentId] +""" +SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j0].[Id], [j0].[Name], [j0].[ParentId] FROM [JsonEntitiesBasic] AS [j] -LEFT JOIN [JsonEntitiesBasicForReference] AS [j0] ON [j].[Id] = [j0].[ParentId]"); +LEFT JOIN [JsonEntitiesBasicForReference] AS [j0] ON [j].[Id] = [j0].[ParentId] +"""); } public override async Task Json_with_include_on_entity_collection(bool async) @@ -683,10 +781,12 @@ public override async Task Json_with_include_on_entity_collection(bool async) await base.Json_with_include_on_entity_collection(async); AssertSql( - @"SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j0].[Id], [j0].[Name], [j0].[ParentId] +""" +SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j0].[Id], [j0].[Name], [j0].[ParentId] FROM [JsonEntitiesBasic] AS [j] LEFT JOIN [JsonEntitiesBasicForCollection] AS [j0] ON [j].[Id] = [j0].[ParentId] -ORDER BY [j].[Id]"); +ORDER BY [j].[Id] +"""); } public override async Task Entity_including_collection_with_json(bool async) @@ -694,10 +794,12 @@ public override async Task Entity_including_collection_with_json(bool async) await base.Entity_including_collection_with_json(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +""" +SELECT [e].[Id], [e].[Name], [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') FROM [EntitiesBasic] AS [e] LEFT JOIN [JsonEntitiesBasic] AS [j] ON [e].[Id] = [j].[EntityBasicId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Json_with_include_on_entity_collection_and_reference(bool async) @@ -705,11 +807,13 @@ public override async Task Json_with_include_on_entity_collection_and_reference( await base.Json_with_include_on_entity_collection_and_reference(async); AssertSql( - @"SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j0].[Id], [j0].[Name], [j0].[ParentId], [j1].[Id], [j1].[Name], [j1].[ParentId] +""" +SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$'), [j0].[Id], [j0].[Name], [j0].[ParentId], [j1].[Id], [j1].[Name], [j1].[ParentId] FROM [JsonEntitiesBasic] AS [j] LEFT JOIN [JsonEntitiesBasicForReference] AS [j0] ON [j].[Id] = [j0].[ParentId] LEFT JOIN [JsonEntitiesBasicForCollection] AS [j1] ON [j].[Id] = [j1].[ParentId] -ORDER BY [j].[Id], [j0].[Id]"); +ORDER BY [j].[Id], [j0].[Id] +"""); } public override async Task Json_all_types_entity_projection(bool async) @@ -717,8 +821,10 @@ public override async Task Json_all_types_entity_projection(bool async) await base.Json_all_types_entity_projection(async); AssertSql( - @"SELECT [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') -FROM [JsonEntitiesAllTypes] AS [j]"); +""" +SELECT [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +FROM [JsonEntitiesAllTypes] AS [j] +"""); } public override async Task Json_all_types_projection_individual_properties(bool async) @@ -726,8 +832,10 @@ public override async Task Json_all_types_projection_individual_properties(bool await base.Json_all_types_projection_individual_properties(async); AssertSql( - @"SELECT CAST(JSON_VALUE([j].[Reference],'$.TestBoolean') AS bit) AS [TestBoolean], CAST(JSON_VALUE([j].[Reference],'$.TestByte') AS tinyint) AS [TestByte], CAST(JSON_VALUE([j].[Reference],'$.TestCharacter') AS nvarchar(1)) AS [TestCharacter], CAST(JSON_VALUE([j].[Reference],'$.TestDateTime') AS datetime2) AS [TestDateTime], CAST(JSON_VALUE([j].[Reference],'$.TestDateTimeOffset') AS datetimeoffset) AS [TestDateTimeOffset], CAST(JSON_VALUE([j].[Reference],'$.TestDecimal') AS decimal(18,3)) AS [TestDecimal], CAST(JSON_VALUE([j].[Reference],'$.TestDouble') AS float) AS [TestDouble], CAST(JSON_VALUE([j].[Reference],'$.TestGuid') AS uniqueidentifier) AS [TestGuid], CAST(JSON_VALUE([j].[Reference],'$.TestInt16') AS smallint) AS [TestInt16], CAST(JSON_VALUE([j].[Reference],'$.TestInt32') AS int) AS [TestInt32], CAST(JSON_VALUE([j].[Reference],'$.TestInt64') AS bigint) AS [TestInt64], CAST(JSON_VALUE([j].[Reference],'$.TestSignedByte') AS smallint) AS [TestSignedByte], CAST(JSON_VALUE([j].[Reference],'$.TestSingle') AS real) AS [TestSingle], CAST(JSON_VALUE([j].[Reference],'$.TestTimeSpan') AS time) AS [TestTimeSpan], CAST(JSON_VALUE([j].[Reference],'$.TestUnsignedInt16') AS int) AS [TestUnsignedInt16], CAST(JSON_VALUE([j].[Reference],'$.TestUnsignedInt32') AS bigint) AS [TestUnsignedInt32], CAST(JSON_VALUE([j].[Reference],'$.TestUnsignedInt64') AS decimal(20,0)) AS [TestUnsignedInt64], CAST(JSON_VALUE([j].[Reference],'$.TestNullableInt32') AS int) AS [TestNullableInt32], CAST(JSON_VALUE([j].[Reference],'$.TestEnum') AS nvarchar(max)) AS [TestEnum], CAST(JSON_VALUE([j].[Reference],'$.TestEnumWithIntConverter') AS int) AS [TestEnumWithIntConverter], CAST(JSON_VALUE([j].[Reference],'$.TestNullableEnum') AS nvarchar(max)) AS [TestNullableEnum], CAST(JSON_VALUE([j].[Reference],'$.TestNullableEnumWithIntConverter') AS int) AS [TestNullableEnumWithIntConverter], CAST(JSON_VALUE([j].[Reference],'$.TestNullableEnumWithConverterThatHandlesNulls') AS nvarchar(max)) AS [TestNullableEnumWithConverterThatHandlesNulls] -FROM [JsonEntitiesAllTypes] AS [j]"); +""" +SELECT CAST(JSON_VALUE([j].[Reference],'$.TestBoolean') AS bit) AS [TestBoolean], CAST(JSON_VALUE([j].[Reference],'$.TestByte') AS tinyint) AS [TestByte], CAST(JSON_VALUE([j].[Reference],'$.TestCharacter') AS nvarchar(1)) AS [TestCharacter], CAST(JSON_VALUE([j].[Reference],'$.TestDateTime') AS datetime2) AS [TestDateTime], CAST(JSON_VALUE([j].[Reference],'$.TestDateTimeOffset') AS datetimeoffset) AS [TestDateTimeOffset], CAST(JSON_VALUE([j].[Reference],'$.TestDecimal') AS decimal(18,3)) AS [TestDecimal], CAST(JSON_VALUE([j].[Reference],'$.TestDouble') AS float) AS [TestDouble], CAST(JSON_VALUE([j].[Reference],'$.TestGuid') AS uniqueidentifier) AS [TestGuid], CAST(JSON_VALUE([j].[Reference],'$.TestInt16') AS smallint) AS [TestInt16], CAST(JSON_VALUE([j].[Reference],'$.TestInt32') AS int) AS [TestInt32], CAST(JSON_VALUE([j].[Reference],'$.TestInt64') AS bigint) AS [TestInt64], CAST(JSON_VALUE([j].[Reference],'$.TestSignedByte') AS smallint) AS [TestSignedByte], CAST(JSON_VALUE([j].[Reference],'$.TestSingle') AS real) AS [TestSingle], CAST(JSON_VALUE([j].[Reference],'$.TestTimeSpan') AS time) AS [TestTimeSpan], CAST(JSON_VALUE([j].[Reference],'$.TestUnsignedInt16') AS int) AS [TestUnsignedInt16], CAST(JSON_VALUE([j].[Reference],'$.TestUnsignedInt32') AS bigint) AS [TestUnsignedInt32], CAST(JSON_VALUE([j].[Reference],'$.TestUnsignedInt64') AS decimal(20,0)) AS [TestUnsignedInt64], CAST(JSON_VALUE([j].[Reference],'$.TestNullableInt32') AS int) AS [TestNullableInt32], CAST(JSON_VALUE([j].[Reference],'$.TestEnum') AS nvarchar(max)) AS [TestEnum], CAST(JSON_VALUE([j].[Reference],'$.TestEnumWithIntConverter') AS int) AS [TestEnumWithIntConverter], CAST(JSON_VALUE([j].[Reference],'$.TestNullableEnum') AS nvarchar(max)) AS [TestNullableEnum], CAST(JSON_VALUE([j].[Reference],'$.TestNullableEnumWithIntConverter') AS int) AS [TestNullableEnumWithIntConverter], CAST(JSON_VALUE([j].[Reference],'$.TestNullableEnumWithConverterThatHandlesNulls') AS nvarchar(max)) AS [TestNullableEnumWithConverterThatHandlesNulls] +FROM [JsonEntitiesAllTypes] AS [j] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyHeterogeneousQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyHeterogeneousQuerySqlServerTest.cs index 05db574b290..3b8ac2de916 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyHeterogeneousQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyHeterogeneousQuerySqlServerTest.cs @@ -15,13 +15,16 @@ public override async Task Many_to_many_load_works_when_join_entity_has_custom_k await base.Many_to_many_load_works_when_join_entity_has_custom_key(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(1) [m].[Id] FROM [ManyM_DB] AS [m] -WHERE [m].[Id] = @__p_0", +WHERE [m].[Id] = @__p_0 +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [m].[Id], [t].[Id0], [t0].[Id], [t0].[ManyM_Id], [t0].[ManyN_Id], [t0].[Id0] FROM [ManyM_DB] AS [m] @@ -37,15 +40,19 @@ FROM [ManyMN_DB] AS [m2] WHERE [m3].[Id] = @__p_0 ) AS [t0] ON [t].[Id] = [t0].[ManyN_Id] WHERE [m].[Id] = @__p_0 -ORDER BY [m].[Id], [t].[Id0], [t].[Id], [t0].[Id]", +ORDER BY [m].[Id], [t].[Id0], [t].[Id], [t0].[Id] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(1) [m].[Id] FROM [ManyN_DB] AS [m] -WHERE [m].[Id] = @__p_0", +WHERE [m].[Id] = @__p_0 +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [m].[Id], [t].[Id0], [t0].[Id], [t0].[ManyM_Id], [t0].[ManyN_Id], [t0].[Id0] FROM [ManyN_DB] AS [m] @@ -61,6 +68,7 @@ FROM [ManyMN_DB] AS [m2] WHERE [m3].[Id] = @__p_0 ) AS [t0] ON [t].[Id] = [t0].[ManyM_Id] WHERE [m].[Id] = @__p_0 -ORDER BY [m].[Id], [t].[Id0], [t].[Id], [t0].[Id]"); +ORDER BY [m].[Id], [t].[Id0], [t].[Id], [t0].[Id] +"""); } } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyNoTrackingQuerySqlServerTest.cs index ce8df62a3f8..f60d22eecce 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyNoTrackingQuerySqlServerTest.cs @@ -21,13 +21,15 @@ public override async Task Skip_navigation_all(bool async) await base.Skip_navigation_all(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE NOT EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_without_predicate(bool async) @@ -35,13 +37,15 @@ public override async Task Skip_navigation_any_without_predicate(bool async) await base.Skip_navigation_any_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate(bool async) @@ -49,13 +53,15 @@ public override async Task Skip_navigation_any_with_predicate(bool async) await base.Skip_navigation_any_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] - WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains(bool async) @@ -63,13 +69,15 @@ public override async Task Skip_navigation_contains(bool async) await base.Skip_navigation_contains(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate(bool async) @@ -77,13 +85,15 @@ public override async Task Skip_navigation_count_without_predicate(bool async) await base.Skip_navigation_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE ( SELECT COUNT(*) FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] - WHERE [e].[Id] = [j].[RightId]) > 0"); + WHERE [e].[Id] = [j].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate(bool async) @@ -91,7 +101,8 @@ public override async Task Skip_navigation_count_with_predicate(bool async) await base.Skip_navigation_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] ORDER BY ( SELECT COUNT(*) @@ -101,7 +112,8 @@ INNER JOIN ( FROM [EntityRoots] AS [e0] WHERE [e0].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') ) AS [t] ON [j].[EntityBranchId] = [t].[Id] - WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id]"); + WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id] +"""); } public override async Task Skip_navigation_long_count_without_predicate(bool async) @@ -109,13 +121,15 @@ public override async Task Skip_navigation_long_count_without_predicate(bool asy await base.Skip_navigation_long_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] WHERE ( SELECT COUNT_BIG(*) FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint)"); + WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint) +"""); } public override async Task Skip_navigation_long_count_with_predicate(bool async) @@ -123,13 +137,15 @@ public override async Task Skip_navigation_long_count_with_predicate(bool async) await base.Skip_navigation_long_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] ORDER BY ( SELECT COUNT_BIG(*) FROM [EntityTwoEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[SelfSkipSharedLeftId] = [e1].[Id] - WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id]"); + WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id] +"""); } public override async Task Skip_navigation_select_many_average(bool async) @@ -137,13 +153,15 @@ public override async Task Skip_navigation_select_many_average(bool async) await base.Skip_navigation_select_many_average(async); AssertSql( - @"SELECT AVG(CAST([t].[Key1] AS float)) +""" +SELECT AVG(CAST([t].[Key1] AS float)) FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e1].[Key1], [e0].[TwoSkipSharedId] FROM [EntityCompositeKeyEntityTwo] AS [e0] INNER JOIN [EntityCompositeKeys] AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] -) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_max(bool async) @@ -151,13 +169,15 @@ public override async Task Skip_navigation_select_many_max(bool async) await base.Skip_navigation_select_many_max(async); AssertSql( - @"SELECT MAX([t].[Key1]) +""" +SELECT MAX([t].[Key1]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Key1], [j].[ThreeId] FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityCompositeKeys] AS [e0] ON [j].[CompositeId1] = [e0].[Key1] AND [j].[CompositeId2] = [e0].[Key2] AND [j].[CompositeId3] = [e0].[Key3] -) AS [t] ON [e].[Id] = [t].[ThreeId]"); +) AS [t] ON [e].[Id] = [t].[ThreeId] +"""); } public override async Task Skip_navigation_select_many_min(bool async) @@ -165,13 +185,15 @@ public override async Task Skip_navigation_select_many_min(bool async) await base.Skip_navigation_select_many_min(async); AssertSql( - @"SELECT MIN([t].[Id]) +""" +SELECT MIN([t].[Id]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e1].[Id], [e0].[ThreeSkipSharedId] FROM [EntityRootEntityThree] AS [e0] INNER JOIN [EntityRoots] AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] -) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_sum(bool async) @@ -179,13 +201,15 @@ public override async Task Skip_navigation_select_many_sum(bool async) await base.Skip_navigation_select_many_sum(async); AssertSql( - @"SELECT COALESCE(SUM([t].[Key1]), 0) +""" +SELECT COALESCE(SUM([t].[Key1]), 0) FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e1].[Key1], [e0].[RootSkipSharedId] FROM [EntityCompositeKeyEntityRoot] AS [e0] INNER JOIN [EntityCompositeKeys] AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] -) AS [t] ON [e].[Id] = [t].[RootSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[RootSkipSharedId] +"""); } public override async Task Skip_navigation_select_subquery_average(bool async) @@ -193,13 +217,15 @@ public override async Task Skip_navigation_select_subquery_average(bool async) await base.Skip_navigation_select_subquery_average(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([e0].[Key1] AS float)) FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [EntityCompositeKeys] AS [e0] ON [j].[CompositeId1] = [e0].[Key1] AND [j].[CompositeId2] = [e0].[Key2] AND [j].[CompositeId3] = [e0].[Key3] WHERE [e].[Id] = [j].[LeafId]) FROM [EntityRoots] AS [e] -WHERE [e].[Discriminator] = N'EntityLeaf'"); +WHERE [e].[Discriminator] = N'EntityLeaf' +"""); } public override async Task Skip_navigation_select_subquery_max(bool async) @@ -207,12 +233,14 @@ public override async Task Skip_navigation_select_subquery_max(bool async) await base.Skip_navigation_select_subquery_max(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MAX([e0].[Id]) FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[TwoId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_min(bool async) @@ -220,12 +248,14 @@ public override async Task Skip_navigation_select_subquery_min(bool async) await base.Skip_navigation_select_subquery_min(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN([e0].[Id]) FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[ThreeId]) -FROM [EntityThrees] AS [e]"); +FROM [EntityThrees] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_sum(bool async) @@ -233,12 +263,14 @@ public override async Task Skip_navigation_select_subquery_sum(bool async) await base.Skip_navigation_select_subquery_sum(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COALESCE(SUM([e1].[Id]), 0) FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityOnes] AS [e1] ON [e0].[OneSkipSharedId] = [e1].[Id] WHERE [e].[Id] = [e0].[TwoSkipSharedId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_order_by_first_or_default(bool async) @@ -246,7 +278,8 @@ public override async Task Skip_navigation_order_by_first_or_default(bool async) await base.Skip_navigation_order_by_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[ThreeId] @@ -256,7 +289,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_order_by_single_or_default(bool async) @@ -264,7 +298,8 @@ public override async Task Skip_navigation_order_by_single_or_default(bool async await base.Skip_navigation_order_by_single_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT TOP(1) [t].[Id], [t].[Name] @@ -276,7 +311,8 @@ FROM [JoinOneSelfPayload] AS [j] ORDER BY [e0].[Id] ) AS [t] ORDER BY [t].[Id] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Skip_navigation_order_by_last_or_default(bool async) @@ -284,7 +320,8 @@ public override async Task Skip_navigation_order_by_last_or_default(bool async) await base.Skip_navigation_order_by_last_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityRoots] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[EntityBranchId] @@ -295,7 +332,8 @@ FROM [JoinOneToBranch] AS [j] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [e].[Id] = [t0].[EntityBranchId] -WHERE [e].[Discriminator] IN (N'EntityBranch', N'EntityLeaf')"); +WHERE [e].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default(bool async) @@ -303,7 +341,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default(boo await base.Skip_navigation_order_by_reverse_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId] @@ -313,7 +352,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_cast(bool async) @@ -321,7 +361,8 @@ public override async Task Skip_navigation_cast(bool async) await base.Skip_navigation_cast(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -332,7 +373,8 @@ FROM [EntityRoots] AS [e0] WHERE [e0].[Discriminator] = N'EntityLeaf' ) AS [t] ON [j].[LeafId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +"""); } public override async Task Skip_navigation_of_type(bool async) @@ -340,7 +382,8 @@ public override async Task Skip_navigation_of_type(bool async) await base.Skip_navigation_of_type(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[Number], [e1].[IsGreen], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -348,7 +391,8 @@ FROM [EntityCompositeKeyEntityRoot] AS [e0] INNER JOIN [EntityRoots] AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] WHERE [e1].[Discriminator] = N'EntityLeaf' ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +"""); } public override async Task Join_with_skip_navigation(bool async) @@ -356,14 +400,16 @@ public override async Task Join_with_skip_navigation(bool async) await base.Join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] INNER JOIN [EntityTwos] AS [e0] ON [e].[Id] = ( SELECT TOP(1) [e2].[Id] FROM [EntityTwoEntityTwo] AS [e1] INNER JOIN [EntityTwos] AS [e2] ON [e1].[SelfSkipSharedRightId] = [e2].[Id] WHERE [e0].[Id] = [e1].[SelfSkipSharedLeftId] - ORDER BY [e2].[Id])"); + ORDER BY [e2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation(bool async) @@ -371,7 +417,8 @@ public override async Task Left_join_with_skip_navigation(bool async) await base.Left_join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] FROM [EntityCompositeKeys] AS [e] LEFT JOIN [EntityCompositeKeys] AS [e0] ON ( SELECT TOP(1) [e2].[Id] @@ -384,7 +431,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityThrees] AS [e3] ON [j].[ThreeId] = [e3].[Id] WHERE [e0].[Key1] = [j].[CompositeId1] AND [e0].[Key2] = [j].[CompositeId2] AND [e0].[Key3] = [j].[CompositeId3] ORDER BY [e3].[Id]) -ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2]"); +ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation(bool async) @@ -392,13 +440,15 @@ public override async Task Select_many_over_skip_navigation(bool async) await base.Select_many_over_skip_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId], [e0].[RootSkipSharedId] FROM [EntityRootEntityThree] AS [e0] INNER JOIN [EntityThrees] AS [e1] ON [e0].[ThreeSkipSharedId] = [e1].[Id] -) AS [t] ON [e].[Id] = [t].[RootSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[RootSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_where(bool async) @@ -406,13 +456,15 @@ public override async Task Select_many_over_skip_navigation_where(bool async) await base.Select_many_over_skip_navigation_where(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId]"); +) AS [t] ON [e].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip(bool async) @@ -420,7 +472,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip(bool a await base.Select_many_over_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -430,7 +483,8 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take(bool async) @@ -438,7 +492,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take(bool a await base.Select_many_over_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneSkipSharedId] @@ -448,7 +503,8 @@ FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take(bool async) @@ -456,7 +512,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take(b await base.Select_many_over_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -466,7 +523,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_of_type(bool async) @@ -474,14 +532,16 @@ public override async Task Select_many_over_skip_navigation_of_type(bool async) await base.Select_many_over_skip_navigation_of_type(async); AssertSql( - @"SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen] +""" +SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[Number], [e1].[IsGreen], [e0].[ThreeSkipSharedId] FROM [EntityRootEntityThree] AS [e0] INNER JOIN [EntityRoots] AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] WHERE [e1].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') -) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_cast(bool async) @@ -489,7 +549,8 @@ public override async Task Select_many_over_skip_navigation_cast(bool async) await base.Select_many_over_skip_navigation_cast(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen] +""" +SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [j].[EntityOneId] @@ -499,7 +560,8 @@ INNER JOIN ( FROM [EntityRoots] AS [e0] WHERE [e0].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') ) AS [t] ON [j].[EntityBranchId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[EntityOneId]"); +) AS [t0] ON [e].[Id] = [t0].[EntityOneId] +"""); } public override async Task Select_skip_navigation(bool async) @@ -507,14 +569,16 @@ public override async Task Select_skip_navigation(bool async) await base.Select_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] +""" +SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[LeftId], [j].[RightId] FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[RightId] -ORDER BY [e].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [e].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Select_skip_navigation_multiple(bool async) @@ -522,7 +586,8 @@ public override async Task Select_skip_navigation_multiple(bool async) await base.Select_skip_navigation_multiple(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId], [j].[TwoId] @@ -539,7 +604,8 @@ LEFT JOIN ( FROM [EntityCompositeKeyEntityTwo] AS [e3] INNER JOIN [EntityCompositeKeys] AS [e4] ON [e3].[CompositeKeySkipSharedKey1] = [e4].[Key1] AND [e3].[CompositeKeySkipSharedKey2] = [e4].[Key2] AND [e3].[CompositeKeySkipSharedKey3] = [e4].[Key3] ) AS [t1] ON [e].[Id] = [t1].[TwoSkipSharedId] -ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2]"); +ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2] +"""); } public override async Task Select_skip_navigation_first_or_default(bool async) @@ -547,7 +613,8 @@ public override async Task Select_skip_navigation_first_or_default(bool async) await base.Select_skip_navigation_first_or_default(async); AssertSql( - @"SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] +""" +SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [t].[ThreeId] @@ -558,7 +625,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation(bool async) @@ -566,14 +634,16 @@ public override async Task Include_skip_navigation(bool async) await base.Include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[Number], [e1].[Slumber], [e1].[IsGreen], [e1].[IsBrown], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeyEntityRoot] AS [e0] INNER JOIN [EntityRoots] AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +"""); } public override async Task Include_skip_navigation_then_reference(bool async) @@ -581,7 +651,8 @@ public override async Task Include_skip_navigation_then_reference(bool async) await base.Include_skip_navigation_then_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId] @@ -589,7 +660,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation(bool async) @@ -597,7 +669,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation( await base.Include_skip_navigation_then_include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t1].[Id], [t1].[Discriminator], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0], [t1].[Name0], [t1].[EntityBranchId], [t1].[EntityOneId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t1].[Id], [t1].[Discriminator], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0], [t1].[Name0], [t1].[EntityBranchId], [t1].[EntityOneId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t0].[Id] AS [Id0], [t0].[Name] AS [Name0], [t0].[EntityBranchId], [t0].[EntityOneId] @@ -613,7 +686,8 @@ FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e1] ON [j0].[EntityOneId] = [e1].[Id] ) AS [t0] ON [t].[Id] = [t0].[EntityBranchId] ) AS [t1] ON [e].[Key1] = [t1].[CompositeId1] AND [e].[Key2] = [t1].[CompositeId2] AND [e].[Key3] = [t1].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[EntityBranchId], [t1].[EntityOneId]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[EntityBranchId], [t1].[EntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation(bool async) @@ -621,7 +695,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Id1], [t0].[Name1], [t0].[LeftId], [t0].[RightId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Id1], [t0].[Name1], [t0].[LeftId], [t0].[RightId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[ThreeId], [t].[Id] AS [Id1], [t].[Name] AS [Name1], [t].[LeftId], [t].[RightId] @@ -634,7 +709,8 @@ FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t] ON [e0].[Id] = [t].[LeftId] ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference(bool async) @@ -642,7 +718,8 @@ public override async Task Include_skip_navigation_and_reference(bool async) await base.Include_skip_navigation_and_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[Id], [t].[Name], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[Id], [t].[Name], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] LEFT JOIN ( @@ -650,7 +727,8 @@ LEFT JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId] +"""); } public override async Task Filtered_include_skip_navigation_where(bool async) @@ -658,7 +736,8 @@ public override async Task Filtered_include_skip_navigation_where(bool async) await base.Filtered_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[OneId], [t].[ThreeId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -666,7 +745,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by(bool async) @@ -674,14 +754,16 @@ public override async Task Filtered_include_skip_navigation_order_by(bool async) await base.Filtered_include_skip_navigation_order_by(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId], [j].[TwoId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip(bool async) @@ -689,7 +771,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip(bool a await base.Filtered_include_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[SelfSkipSharedLeftId], [t].[SelfSkipSharedRightId] @@ -700,7 +783,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take(bool async) @@ -708,7 +792,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take(bool a await base.Filtered_include_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] @@ -719,7 +804,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take(bool async) @@ -727,7 +813,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take(b await base.Filtered_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[Id0], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] @@ -738,7 +825,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_where(bool async) @@ -746,7 +834,8 @@ public override async Task Filtered_then_include_skip_navigation_where(bool asyn await base.Filtered_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id0], [t0].[Name0], [t0].[OneId], [t0].[ThreeId] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id0], [t0].[Name0], [t0].[OneId], [t0].[ThreeId] FROM [EntityRoots] AS [e] LEFT JOIN ( SELECT [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId], [e0].[RootSkipSharedId], [e0].[ThreeSkipSharedId], [t].[Id] AS [Id0], [t].[Name] AS [Name0], [t].[OneId], [t].[ThreeId] @@ -759,7 +848,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] WHERE [e2].[Id] < 10 ) AS [t] ON [e1].[Id] = [t].[ThreeId] ) AS [t0] ON [e].[Id] = [t0].[RootSkipSharedId] -ORDER BY [e].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId]"); +ORDER BY [e].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take(bool async) @@ -767,7 +857,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name0], [t1].[ReferenceInverseId], [t1].[Id0] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name0], [t1].[ReferenceInverseId], [t1].[Id0] FROM [EntityRoots] AS [e] LEFT JOIN ( SELECT [e1].[Key1], [e1].[Key2], [e1].[Key3], [e1].[Name], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId], [t0].[Id0], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] @@ -783,7 +874,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e1].[Key1] = [t0].[CompositeId1] AND [e1].[Key2] = [t0].[CompositeId2] AND [e1].[Key3] = [t0].[CompositeId3] ) AS [t1] ON [e].[Id] = [t1].[RootSkipSharedId] -ORDER BY [e].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id]"); +ORDER BY [e].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation(bool async) @@ -791,7 +883,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[IsGreen], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[IsGreen], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityRoots] AS [e] LEFT JOIN ( SELECT [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId], [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] @@ -805,7 +898,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e1] WHERE [e0].[Key1] < 5 ) AS [t0] ON [e].[Id] = [t0].[LeafId] WHERE [e].[Discriminator] = N'EntityLeaf' -ORDER BY [e].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(bool async) @@ -813,7 +907,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0] @@ -832,7 +927,8 @@ FROM [JoinTwoToThree] AS [j0] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(bool async) @@ -840,7 +936,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId], [j].[TwoId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0] @@ -857,7 +954,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t0] ON [e0].[Id] = [t0].[TwoId] WHERE [e0].[Id] < 10 ) AS [t1] ON [e].[Id] = [t1].[OneId] -ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0]"); +ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined(bool async) @@ -865,7 +963,8 @@ public override async Task Filter_include_on_skip_navigation_combined(bool async await base.Filter_include_on_skip_navigation_combined(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -875,7 +974,8 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes(bool async) @@ -883,7 +983,8 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[Id], [t3].[Name], [t3].[OneId], [t3].[ThreeId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[OneId0], [t3].[TwoId], [t3].[Id1], [t3].[Discriminator], [t3].[Name1], [t3].[Number], [t3].[IsGreen], [t3].[EntityBranchId], [t3].[EntityOneId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[Id], [t3].[Name], [t3].[OneId], [t3].[ThreeId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[OneId0], [t3].[TwoId], [t3].[Id1], [t3].[Discriminator], [t3].[Name1], [t3].[Number], [t3].[IsGreen], [t3].[EntityBranchId], [t3].[EntityOneId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId], [t0].[OneId] AS [OneId0], [t0].[TwoId], [t1].[Id] AS [Id1], [t1].[Discriminator], [t1].[Name] AS [Name1], [t1].[Number], [t1].[IsGreen], [t1].[EntityBranchId], [t1].[EntityOneId] @@ -910,7 +1011,8 @@ WHERE [t2].[Id] < 20 ) AS [t1] ON [e0].[Id] = [t1].[EntityOneId] WHERE [e0].[Id] < 10 ) AS [t3] ON [e].[Id] = [t3].[ThreeId] -ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId]"); +ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(bool async) @@ -918,7 +1020,8 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[OneId], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[OneId], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -931,7 +1034,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[CollectionInverseId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(bool async) @@ -939,7 +1043,8 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] +""" +SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [t].[Id] AS [Id0], [t].[CollectionInverseId] AS [CollectionInverseId0], [t].[Name] AS [Name0], [t].[ReferenceInverseId] AS [ReferenceInverseId0], [t].[ThreeId], [t].[TwoId] @@ -952,7 +1057,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[TwoId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId] +"""); } public override async Task Includes_accessed_via_different_path_are_merged(bool async) @@ -974,18 +1080,22 @@ public override async Task Include_skip_navigation_split(bool async) await base.Include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[Number], [e1].[Slumber], [e1].[IsGreen], [e1].[IsBrown], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeyEntityRoot] AS [e0] INNER JOIN [EntityRoots] AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +"""); } public override async Task Include_skip_navigation_then_reference_split(bool async) @@ -993,11 +1103,14 @@ public override async Task Include_skip_navigation_then_reference_split(bool asy await base.Include_skip_navigation_then_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[TwoId] @@ -1005,7 +1118,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation_split(bool async) @@ -1013,11 +1127,14 @@ public override async Task Include_skip_navigation_then_include_skip_navigation_ await base.Include_skip_navigation_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +""" +SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -1028,9 +1145,11 @@ FROM [EntityRoots] AS [e0] WHERE [e0].[Discriminator] = N'EntityLeaf' ) AS [t] ON [j].[LeafId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +""", // - @"SELECT [t1].[Id], [t1].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +""" +SELECT [t1].[Id], [t1].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -1046,7 +1165,8 @@ INNER JOIN ( FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e1] ON [j0].[EntityOneId] = [e1].[Id] ) AS [t1] ON [t0].[Id] = [t1].[EntityBranchId] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation_split(bool async) @@ -1054,11 +1174,14 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId] +""" +SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[ThreeId] @@ -1066,9 +1189,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""", // - @"SELECT [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""" +SELECT [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e1].[Id] AS [Id0], [j].[OneId], [j].[ThreeId] @@ -1081,7 +1206,8 @@ INNER JOIN ( FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t0] ON [t].[Id] = [t0].[LeftId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +"""); } public override async Task Include_skip_navigation_and_reference_split(bool async) @@ -1089,12 +1215,15 @@ public override async Task Include_skip_navigation_and_reference_split(bool asyn await base.Include_skip_navigation_and_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] -ORDER BY [e].[Id], [e0].[Id]", +ORDER BY [e].[Id], [e0].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id], [e0].[Id] +""" +SELECT [t].[Id], [t].[Name], [e].[Id], [e0].[Id] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] INNER JOIN ( @@ -1102,7 +1231,8 @@ INNER JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id]"); +ORDER BY [e].[Id], [e0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_split(bool async) @@ -1110,11 +1240,14 @@ public override async Task Filtered_include_skip_navigation_where_split(bool asy await base.Filtered_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[ThreeId] @@ -1122,7 +1255,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_split(bool async) @@ -1130,18 +1264,22 @@ public override async Task Filtered_include_skip_navigation_order_by_split(bool await base.Filtered_include_skip_navigation_order_by_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_split(bool async) @@ -1149,11 +1287,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_split( await base.Filtered_include_skip_navigation_order_by_skip_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[SelfSkipSharedLeftId] @@ -1164,7 +1305,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_split(bool async) @@ -1172,11 +1314,14 @@ public override async Task Filtered_include_skip_navigation_order_by_take_split( await base.Filtered_include_skip_navigation_order_by_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] @@ -1187,7 +1332,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1195,11 +1341,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_s await base.Filtered_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] @@ -1210,7 +1359,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_where_split(bool async) @@ -1218,20 +1368,25 @@ public override async Task Filtered_then_include_skip_navigation_where_split(boo await base.Filtered_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown] FROM [EntityRoots] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId], [e0].[RootSkipSharedId], [e0].[ThreeSkipSharedId] FROM [EntityRootEntityThree] AS [e0] INNER JOIN [EntityThrees] AS [e1] ON [e0].[ThreeSkipSharedId] = [e1].[Id] ) AS [t] ON [e].[Id] = [t].[RootSkipSharedId] -ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id]", +ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Name], [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[Name], [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e1].[Id], [e0].[RootSkipSharedId], [e0].[ThreeSkipSharedId] @@ -1244,7 +1399,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e2] ON [j].[OneId] = [e2].[Id] WHERE [e2].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id]"); +ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1252,20 +1408,25 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown] FROM [EntityRoots] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +""" +SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e1].[Key1], [e1].[Key2], [e1].[Key3], [e1].[Name], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeyEntityRoot] AS [e0] INNER JOIN [EntityCompositeKeys] AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] ) AS [t] ON [e].[Id] = [t].[RootSkipSharedId] -ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3]", +ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e1].[Key1], [e1].[Key2], [e1].[Key3], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -1281,7 +1442,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Key1] = [t0].[CompositeId1] AND [t].[Key2] = [t0].[CompositeId2] AND [t].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_split(bool async) @@ -1289,12 +1451,15 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[IsGreen] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[IsGreen] FROM [EntityRoots] AS [e] WHERE [e].[Discriminator] = N'EntityLeaf' -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] +""" +SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -1303,9 +1468,11 @@ FROM [JoinCompositeKeyToLeaf] AS [j] WHERE [e0].[Key1] < 5 ) AS [t] ON [e].[Id] = [t].[LeafId] WHERE [e].[Discriminator] = N'EntityLeaf' -ORDER BY [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]", +ORDER BY [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e0].[Key1], [e0].[Key2], [e0].[Key3], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -1319,7 +1486,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e1] INNER JOIN [EntityTwos] AS [e2] ON [e1].[TwoSkipSharedId] = [e2].[Id] ) AS [t0] ON [t].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [t].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [t].[Key3] = [t0].[CompositeKeySkipSharedKey3] WHERE [e].[Discriminator] = N'EntityLeaf' -ORDER BY [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]"); +ORDER BY [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(bool async) @@ -1327,11 +1495,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] @@ -1342,9 +1513,11 @@ FROM [JoinOneToTwo] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]", +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +""", // - @"SELECT [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] +""" +SELECT [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[OneId], [t].[TwoId] @@ -1361,7 +1534,8 @@ FROM [JoinTwoToThree] AS [j0] INNER JOIN [EntityThrees] AS [e1] ON [j0].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 10 ) AS [t1] ON [t0].[Id] = [t1].[TwoId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1369,11 +1543,14 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId], [j].[TwoId] @@ -1381,9 +1558,11 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[TwoId] @@ -1400,7 +1579,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id] +"""); } public override async Task Filter_include_on_skip_navigation_combined_split(bool async) @@ -1408,11 +1588,14 @@ public override async Task Filter_include_on_skip_navigation_combined_split(bool await base.Filter_include_on_skip_navigation_combined_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] +""" +SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId] @@ -1421,9 +1604,11 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""", // - @"SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""" +SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e0].[Id], [e1].[Id] AS [Id0], [j].[OneId], [j].[TwoId] @@ -1433,7 +1618,8 @@ FROM [JoinOneToTwo] AS [j] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] INNER JOIN [EntityTwos] AS [e2] ON [t].[Id] = [e2].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(bool async) @@ -1441,11 +1627,14 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] +""" +SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -1453,9 +1642,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[ThreeId] @@ -1472,9 +1663,11 @@ FROM [JoinOneToTwo] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[ThreeId] @@ -1492,7 +1685,8 @@ WHERE [e1].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') ) AS [t1] ON [j0].[EntityBranchId] = [t1].[Id] WHERE [t1].[Id] < 20 ) AS [t0] ON [t].[Id] = [t0].[EntityOneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(bool async) @@ -1500,11 +1694,14 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] +""" +SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -1512,9 +1709,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[ThreeId] @@ -1527,7 +1726,8 @@ INNER JOIN ( FROM [EntityTwos] AS [e1] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(bool async) @@ -1535,20 +1735,25 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e0] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[CollectionInverseId] -ORDER BY [e].[Id], [t].[Id]", +ORDER BY [e].[Id], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId] @@ -1561,7 +1766,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e1] ON [j].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyQuerySqlServerTest.cs index 6f0899e79cd..1eea7b708c2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ManyToManyQuerySqlServerTest.cs @@ -20,13 +20,15 @@ public override async Task Skip_navigation_all(bool async) await base.Skip_navigation_all(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE NOT EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_without_predicate(bool async) @@ -34,13 +36,15 @@ public override async Task Skip_navigation_any_without_predicate(bool async) await base.Skip_navigation_any_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate(bool async) @@ -48,13 +52,15 @@ public override async Task Skip_navigation_any_with_predicate(bool async) await base.Skip_navigation_any_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] - WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains(bool async) @@ -62,13 +68,15 @@ public override async Task Skip_navigation_contains(bool async) await base.Skip_navigation_contains(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate(bool async) @@ -76,13 +84,15 @@ public override async Task Skip_navigation_count_without_predicate(bool async) await base.Skip_navigation_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE ( SELECT COUNT(*) FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] - WHERE [e].[Id] = [j].[RightId]) > 0"); + WHERE [e].[Id] = [j].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate(bool async) @@ -90,7 +100,8 @@ public override async Task Skip_navigation_count_with_predicate(bool async) await base.Skip_navigation_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] ORDER BY ( SELECT COUNT(*) @@ -100,7 +111,8 @@ INNER JOIN ( FROM [EntityRoots] AS [e0] WHERE [e0].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') ) AS [t] ON [j].[EntityBranchId] = [t].[Id] - WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id]"); + WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id] +"""); } public override async Task Skip_navigation_long_count_without_predicate(bool async) @@ -108,13 +120,15 @@ public override async Task Skip_navigation_long_count_without_predicate(bool asy await base.Skip_navigation_long_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] WHERE ( SELECT COUNT_BIG(*) FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint)"); + WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint) +"""); } public override async Task Skip_navigation_long_count_with_predicate(bool async) @@ -122,13 +136,15 @@ public override async Task Skip_navigation_long_count_with_predicate(bool async) await base.Skip_navigation_long_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] ORDER BY ( SELECT COUNT_BIG(*) FROM [EntityTwoEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[SelfSkipSharedLeftId] = [e1].[Id] - WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id]"); + WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id] +"""); } public override async Task Skip_navigation_select_many_average(bool async) @@ -136,13 +152,15 @@ public override async Task Skip_navigation_select_many_average(bool async) await base.Skip_navigation_select_many_average(async); AssertSql( - @"SELECT AVG(CAST([t].[Key1] AS float)) +""" +SELECT AVG(CAST([t].[Key1] AS float)) FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e1].[Key1], [e0].[TwoSkipSharedId] FROM [EntityCompositeKeyEntityTwo] AS [e0] INNER JOIN [EntityCompositeKeys] AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] -) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_max(bool async) @@ -150,13 +168,15 @@ public override async Task Skip_navigation_select_many_max(bool async) await base.Skip_navigation_select_many_max(async); AssertSql( - @"SELECT MAX([t].[Key1]) +""" +SELECT MAX([t].[Key1]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Key1], [j].[ThreeId] FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityCompositeKeys] AS [e0] ON [j].[CompositeId1] = [e0].[Key1] AND [j].[CompositeId2] = [e0].[Key2] AND [j].[CompositeId3] = [e0].[Key3] -) AS [t] ON [e].[Id] = [t].[ThreeId]"); +) AS [t] ON [e].[Id] = [t].[ThreeId] +"""); } public override async Task Skip_navigation_select_many_min(bool async) @@ -164,13 +184,15 @@ public override async Task Skip_navigation_select_many_min(bool async) await base.Skip_navigation_select_many_min(async); AssertSql( - @"SELECT MIN([t].[Id]) +""" +SELECT MIN([t].[Id]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e1].[Id], [e0].[ThreeSkipSharedId] FROM [EntityRootEntityThree] AS [e0] INNER JOIN [EntityRoots] AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] -) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_sum(bool async) @@ -178,13 +200,15 @@ public override async Task Skip_navigation_select_many_sum(bool async) await base.Skip_navigation_select_many_sum(async); AssertSql( - @"SELECT COALESCE(SUM([t].[Key1]), 0) +""" +SELECT COALESCE(SUM([t].[Key1]), 0) FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e1].[Key1], [e0].[RootSkipSharedId] FROM [EntityCompositeKeyEntityRoot] AS [e0] INNER JOIN [EntityCompositeKeys] AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] -) AS [t] ON [e].[Id] = [t].[RootSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[RootSkipSharedId] +"""); } public override async Task Skip_navigation_select_subquery_average(bool async) @@ -192,13 +216,15 @@ public override async Task Skip_navigation_select_subquery_average(bool async) await base.Skip_navigation_select_subquery_average(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([e0].[Key1] AS float)) FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [EntityCompositeKeys] AS [e0] ON [j].[CompositeId1] = [e0].[Key1] AND [j].[CompositeId2] = [e0].[Key2] AND [j].[CompositeId3] = [e0].[Key3] WHERE [e].[Id] = [j].[LeafId]) FROM [EntityRoots] AS [e] -WHERE [e].[Discriminator] = N'EntityLeaf'"); +WHERE [e].[Discriminator] = N'EntityLeaf' +"""); } public override async Task Skip_navigation_select_subquery_max(bool async) @@ -206,12 +232,14 @@ public override async Task Skip_navigation_select_subquery_max(bool async) await base.Skip_navigation_select_subquery_max(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MAX([e0].[Id]) FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[TwoId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_min(bool async) @@ -219,12 +247,14 @@ public override async Task Skip_navigation_select_subquery_min(bool async) await base.Skip_navigation_select_subquery_min(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN([e0].[Id]) FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[ThreeId]) -FROM [EntityThrees] AS [e]"); +FROM [EntityThrees] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_sum(bool async) @@ -232,12 +262,14 @@ public override async Task Skip_navigation_select_subquery_sum(bool async) await base.Skip_navigation_select_subquery_sum(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COALESCE(SUM([e1].[Id]), 0) FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityOnes] AS [e1] ON [e0].[OneSkipSharedId] = [e1].[Id] WHERE [e].[Id] = [e0].[TwoSkipSharedId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_order_by_first_or_default(bool async) @@ -245,7 +277,8 @@ public override async Task Skip_navigation_order_by_first_or_default(bool async) await base.Skip_navigation_order_by_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[ThreeId] @@ -255,7 +288,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_order_by_single_or_default(bool async) @@ -263,7 +297,8 @@ public override async Task Skip_navigation_order_by_single_or_default(bool async await base.Skip_navigation_order_by_single_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT TOP(1) [t].[Id], [t].[Name] @@ -275,7 +310,8 @@ FROM [JoinOneSelfPayload] AS [j] ORDER BY [e0].[Id] ) AS [t] ORDER BY [t].[Id] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Skip_navigation_order_by_last_or_default(bool async) @@ -283,7 +319,8 @@ public override async Task Skip_navigation_order_by_last_or_default(bool async) await base.Skip_navigation_order_by_last_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityRoots] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[EntityBranchId] @@ -294,7 +331,8 @@ FROM [JoinOneToBranch] AS [j] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [e].[Id] = [t0].[EntityBranchId] -WHERE [e].[Discriminator] IN (N'EntityBranch', N'EntityLeaf')"); +WHERE [e].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default(bool async) @@ -302,7 +340,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default(boo await base.Skip_navigation_order_by_reverse_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId] @@ -312,7 +351,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_cast(bool async) @@ -320,7 +360,8 @@ public override async Task Skip_navigation_cast(bool async) await base.Skip_navigation_cast(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -331,7 +372,8 @@ FROM [EntityRoots] AS [e0] WHERE [e0].[Discriminator] = N'EntityLeaf' ) AS [t] ON [j].[LeafId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +"""); } public override async Task Skip_navigation_of_type(bool async) @@ -339,7 +381,8 @@ public override async Task Skip_navigation_of_type(bool async) await base.Skip_navigation_of_type(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[Number], [e1].[IsGreen], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -347,7 +390,8 @@ FROM [EntityCompositeKeyEntityRoot] AS [e0] INNER JOIN [EntityRoots] AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] WHERE [e1].[Discriminator] = N'EntityLeaf' ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +"""); } public override async Task Join_with_skip_navigation(bool async) @@ -355,14 +399,16 @@ public override async Task Join_with_skip_navigation(bool async) await base.Join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] INNER JOIN [EntityTwos] AS [e0] ON [e].[Id] = ( SELECT TOP(1) [e2].[Id] FROM [EntityTwoEntityTwo] AS [e1] INNER JOIN [EntityTwos] AS [e2] ON [e1].[SelfSkipSharedRightId] = [e2].[Id] WHERE [e0].[Id] = [e1].[SelfSkipSharedLeftId] - ORDER BY [e2].[Id])"); + ORDER BY [e2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation(bool async) @@ -370,7 +416,8 @@ public override async Task Left_join_with_skip_navigation(bool async) await base.Left_join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] FROM [EntityCompositeKeys] AS [e] LEFT JOIN [EntityCompositeKeys] AS [e0] ON ( SELECT TOP(1) [e2].[Id] @@ -383,7 +430,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityThrees] AS [e3] ON [j].[ThreeId] = [e3].[Id] WHERE [e0].[Key1] = [j].[CompositeId1] AND [e0].[Key2] = [j].[CompositeId2] AND [e0].[Key3] = [j].[CompositeId3] ORDER BY [e3].[Id]) -ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2]"); +ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation(bool async) @@ -391,13 +439,15 @@ public override async Task Select_many_over_skip_navigation(bool async) await base.Select_many_over_skip_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId], [e0].[RootSkipSharedId] FROM [EntityRootEntityThree] AS [e0] INNER JOIN [EntityThrees] AS [e1] ON [e0].[ThreeSkipSharedId] = [e1].[Id] -) AS [t] ON [e].[Id] = [t].[RootSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[RootSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_where(bool async) @@ -405,13 +455,15 @@ public override async Task Select_many_over_skip_navigation_where(bool async) await base.Select_many_over_skip_navigation_where(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId]"); +) AS [t] ON [e].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip(bool async) @@ -419,7 +471,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip(bool a await base.Select_many_over_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -429,7 +482,8 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take(bool async) @@ -437,7 +491,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take(bool a await base.Select_many_over_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneSkipSharedId] @@ -447,7 +502,8 @@ FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take(bool async) @@ -455,7 +511,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take(b await base.Select_many_over_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -465,7 +522,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_of_type(bool async) @@ -473,14 +531,16 @@ public override async Task Select_many_over_skip_navigation_of_type(bool async) await base.Select_many_over_skip_navigation_of_type(async); AssertSql( - @"SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen] +""" +SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[Number], [e1].[IsGreen], [e0].[ThreeSkipSharedId] FROM [EntityRootEntityThree] AS [e0] INNER JOIN [EntityRoots] AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] WHERE [e1].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') -) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_cast(bool async) @@ -488,7 +548,8 @@ public override async Task Select_many_over_skip_navigation_cast(bool async) await base.Select_many_over_skip_navigation_cast(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen] +""" +SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [j].[EntityOneId] @@ -498,7 +559,8 @@ INNER JOIN ( FROM [EntityRoots] AS [e0] WHERE [e0].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') ) AS [t] ON [j].[EntityBranchId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[EntityOneId]"); +) AS [t0] ON [e].[Id] = [t0].[EntityOneId] +"""); } public override async Task Select_skip_navigation(bool async) @@ -506,14 +568,16 @@ public override async Task Select_skip_navigation(bool async) await base.Select_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] +""" +SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[LeftId], [j].[RightId] FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[RightId] -ORDER BY [e].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [e].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Select_skip_navigation_multiple(bool async) @@ -521,7 +585,8 @@ public override async Task Select_skip_navigation_multiple(bool async) await base.Select_skip_navigation_multiple(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId], [j].[TwoId] @@ -538,7 +603,8 @@ LEFT JOIN ( FROM [EntityCompositeKeyEntityTwo] AS [e3] INNER JOIN [EntityCompositeKeys] AS [e4] ON [e3].[CompositeKeySkipSharedKey1] = [e4].[Key1] AND [e3].[CompositeKeySkipSharedKey2] = [e4].[Key2] AND [e3].[CompositeKeySkipSharedKey3] = [e4].[Key3] ) AS [t1] ON [e].[Id] = [t1].[TwoSkipSharedId] -ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2]"); +ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2] +"""); } public override async Task Select_skip_navigation_first_or_default(bool async) @@ -546,7 +612,8 @@ public override async Task Select_skip_navigation_first_or_default(bool async) await base.Select_skip_navigation_first_or_default(async); AssertSql( - @"SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] +""" +SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [t].[ThreeId] @@ -557,7 +624,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation(bool async) @@ -565,14 +633,16 @@ public override async Task Include_skip_navigation(bool async) await base.Include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[Number], [e1].[Slumber], [e1].[IsGreen], [e1].[IsBrown] FROM [EntityCompositeKeyEntityRoot] AS [e0] INNER JOIN [EntityRoots] AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +"""); } public override async Task Include_skip_navigation_then_reference(bool async) @@ -580,7 +650,8 @@ public override async Task Include_skip_navigation_then_reference(bool async) await base.Include_skip_navigation_then_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -588,7 +659,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation(bool async) @@ -596,7 +668,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation( await base.Include_skip_navigation_then_include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[Discriminator], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id0], [t1].[Name0] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[Discriminator], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id0], [t1].[Name0] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen], [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id] AS [Id0], [t0].[Name] AS [Name0] @@ -612,7 +685,8 @@ FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e1] ON [j0].[EntityOneId] = [e1].[Id] ) AS [t0] ON [t].[Id] = [t0].[EntityBranchId] ) AS [t1] ON [e].[Key1] = [t1].[CompositeId1] AND [e].[Key2] = [t1].[CompositeId2] AND [e].[Key3] = [t1].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[EntityBranchId], [t1].[EntityOneId]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[EntityBranchId], [t1].[EntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation(bool async) @@ -620,7 +694,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[Id1], [t0].[Name1] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[Id1], [t0].[Name1] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [t].[LeftId], [t].[RightId], [t].[Payload] AS [Payload0], [t].[Id] AS [Id1], [t].[Name] AS [Name1] @@ -633,7 +708,8 @@ FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t] ON [e0].[Id] = [t].[LeftId] ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference(bool async) @@ -641,7 +717,8 @@ public override async Task Include_skip_navigation_and_reference(bool async) await base.Include_skip_navigation_and_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] LEFT JOIN ( @@ -649,7 +726,8 @@ LEFT JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId] +"""); } public override async Task Filtered_include_skip_navigation_where(bool async) @@ -657,7 +735,8 @@ public override async Task Filtered_include_skip_navigation_where(bool async) await base.Filtered_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -665,7 +744,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by(bool async) @@ -673,14 +753,16 @@ public override async Task Filtered_include_skip_navigation_order_by(bool async) await base.Filtered_include_skip_navigation_order_by(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[ThreeId], [j].[TwoId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip(bool async) @@ -688,7 +770,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip(bool a await base.Filtered_include_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [t].[SelfSkipSharedLeftId], [t].[SelfSkipSharedRightId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -699,7 +782,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take(bool async) @@ -707,7 +791,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take(bool a await base.Filtered_include_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -718,7 +803,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take(bool async) @@ -726,7 +812,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take(b await base.Filtered_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[ThreeId], [t].[Id0], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] @@ -737,7 +824,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_then_include_skip_navigation_where(bool async) @@ -745,7 +833,8 @@ public override async Task Filtered_then_include_skip_navigation_where(bool asyn await base.Filtered_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id0], [t0].[Name0] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id0], [t0].[Name0] FROM [EntityRoots] AS [e] LEFT JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[ThreeSkipSharedId], [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id] AS [Id0], [t].[Name] AS [Name0] @@ -758,7 +847,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] WHERE [e2].[Id] < 10 ) AS [t] ON [e1].[Id] = [t].[ThreeId] ) AS [t0] ON [e].[Id] = [t0].[RootSkipSharedId] -ORDER BY [e].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId]"); +ORDER BY [e].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take(bool async) @@ -766,7 +856,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[Id], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[ThreeId], [t1].[Id0], [t1].[CollectionInverseId], [t1].[Name0], [t1].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[Id], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[ThreeId], [t1].[Id0], [t1].[CollectionInverseId], [t1].[Name0], [t1].[ReferenceInverseId] FROM [EntityRoots] AS [e] LEFT JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [e1].[Key1], [e1].[Key2], [e1].[Key3], [e1].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] @@ -782,7 +873,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e1].[Key1] = [t0].[CompositeId1] AND [e1].[Key2] = [t0].[CompositeId2] AND [e1].[Key3] = [t0].[CompositeId3] ) AS [t1] ON [e].[Id] = [t1].[RootSkipSharedId] -ORDER BY [e].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0]"); +ORDER BY [e].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation(bool async) @@ -790,7 +882,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityRoots] AS [e] LEFT JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name], [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -804,7 +897,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e1] WHERE [e0].[Key1] < 5 ) AS [t0] ON [e].[Id] = [t0].[LeafId] WHERE [e].[Discriminator] = N'EntityLeaf' -ORDER BY [e].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(bool async) @@ -812,7 +906,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -831,7 +926,8 @@ FROM [JoinTwoToThree] AS [j0] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(bool async) @@ -839,7 +935,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -856,7 +953,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t0] ON [e0].[Id] = [t0].[TwoId] WHERE [e0].[Id] < 10 ) AS [t1] ON [e].[Id] = [t1].[OneId] -ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0]"); +ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined(bool async) @@ -864,7 +962,8 @@ public override async Task Filter_include_on_skip_navigation_combined(bool async await base.Filter_include_on_skip_navigation_combined(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -874,7 +973,8 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes(bool async) @@ -882,7 +982,8 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[OneId], [t3].[ThreeId], [t3].[Payload], [t3].[Id], [t3].[Name], [t3].[OneId0], [t3].[TwoId], [t3].[JoinOneToTwoExtraId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[EntityBranchId], [t3].[EntityOneId], [t3].[Id1], [t3].[Discriminator], [t3].[Name1], [t3].[Number], [t3].[IsGreen] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[OneId], [t3].[ThreeId], [t3].[Payload], [t3].[Id], [t3].[Name], [t3].[OneId0], [t3].[TwoId], [t3].[JoinOneToTwoExtraId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[EntityBranchId], [t3].[EntityOneId], [t3].[Id1], [t3].[Discriminator], [t3].[Name1], [t3].[Number], [t3].[IsGreen] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [t0].[OneId] AS [OneId0], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId], [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id] AS [Id1], [t1].[Discriminator], [t1].[Name] AS [Name1], [t1].[Number], [t1].[IsGreen] @@ -909,7 +1010,8 @@ WHERE [t2].[Id] < 20 ) AS [t1] ON [e0].[Id] = [t1].[EntityOneId] WHERE [e0].[Id] < 10 ) AS [t3] ON [e].[Id] = [t3].[ThreeId] -ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId]"); +ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(bool async) @@ -917,7 +1019,8 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -930,7 +1033,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[CollectionInverseId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(bool async) @@ -938,7 +1042,8 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id] AS [Id0], [t].[CollectionInverseId] AS [CollectionInverseId0], [t].[Name] AS [Name0], [t].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -951,7 +1056,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[TwoId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId] +"""); } public override async Task Includes_accessed_via_different_path_are_merged(bool async) @@ -973,18 +1079,22 @@ public override async Task Include_skip_navigation_split(bool async) await base.Include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[Number], [e1].[Slumber], [e1].[IsGreen], [e1].[IsBrown] FROM [EntityCompositeKeyEntityRoot] AS [e0] INNER JOIN [EntityRoots] AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +"""); } public override async Task Include_skip_navigation_then_reference_split(bool async) @@ -992,11 +1102,14 @@ public override async Task Include_skip_navigation_then_reference_split(bool asy await base.Include_skip_navigation_then_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -1004,7 +1117,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation_split(bool async) @@ -1012,11 +1126,14 @@ public override async Task Include_skip_navigation_then_include_skip_navigation_ await base.Include_skip_navigation_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[Number], [t].[IsGreen] @@ -1027,9 +1144,11 @@ FROM [EntityRoots] AS [e0] WHERE [e0].[Discriminator] = N'EntityLeaf' ) AS [t] ON [j].[LeafId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +""", // - @"SELECT [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id], [t1].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +""" +SELECT [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id], [t1].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t].[Id] @@ -1045,7 +1164,8 @@ INNER JOIN ( FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e1] ON [j0].[EntityOneId] = [e1].[Id] ) AS [t1] ON [t0].[Id] = [t1].[EntityBranchId] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation_split(bool async) @@ -1053,11 +1173,14 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -1065,9 +1188,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""", // - @"SELECT [t0].[LeftId], [t0].[RightId], [t0].[Payload], [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""" +SELECT [t0].[LeftId], [t0].[RightId], [t0].[Payload], [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id], [e1].[Id] AS [Id0] @@ -1080,7 +1205,8 @@ INNER JOIN ( FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t0] ON [t].[Id] = [t0].[LeftId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +"""); } public override async Task Include_skip_navigation_and_reference_split(bool async) @@ -1088,12 +1214,15 @@ public override async Task Include_skip_navigation_and_reference_split(bool asyn await base.Include_skip_navigation_and_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] -ORDER BY [e].[Id], [e0].[Id]", +ORDER BY [e].[Id], [e0].[Id] +""", // - @"SELECT [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e].[Id], [e0].[Id] +""" +SELECT [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e].[Id], [e0].[Id] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] INNER JOIN ( @@ -1101,7 +1230,8 @@ INNER JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id]"); +ORDER BY [e].[Id], [e0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_split(bool async) @@ -1109,11 +1239,14 @@ public override async Task Filtered_include_skip_navigation_where_split(bool asy await base.Filtered_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -1121,7 +1254,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_split(bool async) @@ -1129,18 +1263,22 @@ public override async Task Filtered_include_skip_navigation_order_by_split(bool await base.Filtered_include_skip_navigation_order_by_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[ThreeId], [j].[TwoId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_split(bool async) @@ -1148,11 +1286,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_split( await base.Filtered_include_skip_navigation_order_by_skip_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] +""" +SELECT [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [t].[SelfSkipSharedLeftId], [t].[SelfSkipSharedRightId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1163,7 +1304,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_split(bool async) @@ -1171,11 +1313,14 @@ public override async Task Filtered_include_skip_navigation_order_by_take_split( await base.Filtered_include_skip_navigation_order_by_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1186,7 +1331,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1194,11 +1340,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_s await base.Filtered_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[ThreeId], [t].[Id0], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] @@ -1209,7 +1358,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_then_include_skip_navigation_where_split(bool async) @@ -1217,20 +1367,25 @@ public override async Task Filtered_then_include_skip_navigation_where_split(boo await base.Filtered_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown] FROM [EntityRoots] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[ThreeSkipSharedId], [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[ReferenceInverseId] FROM [EntityRootEntityThree] AS [e0] INNER JOIN [EntityThrees] AS [e1] ON [e0].[ThreeSkipSharedId] = [e1].[Id] ) AS [t] ON [e].[Id] = [t].[RootSkipSharedId] -ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id]", +ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +""", // - @"SELECT [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +""" +SELECT [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[ThreeSkipSharedId], [e1].[Id] @@ -1243,7 +1398,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e2] ON [j].[OneId] = [e2].[Id] WHERE [e2].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id]"); +ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1251,20 +1407,25 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown] FROM [EntityRoots] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [e].[Id] +""" +SELECT [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [e].[Id] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [e1].[Key1], [e1].[Key2], [e1].[Key3], [e1].[Name] FROM [EntityCompositeKeyEntityRoot] AS [e0] INNER JOIN [EntityCompositeKeys] AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] ) AS [t] ON [e].[Id] = [t].[RootSkipSharedId] -ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3]", +ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] +""" +SELECT [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [e1].[Key1], [e1].[Key2], [e1].[Key3] @@ -1280,7 +1441,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Key1] = [t0].[CompositeId1] AND [t].[Key2] = [t0].[CompositeId2] AND [t].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [e].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_split(bool async) @@ -1288,12 +1450,15 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[IsGreen] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[Number], [e].[IsGreen] FROM [EntityRoots] AS [e] WHERE [e].[Discriminator] = N'EntityLeaf' -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [e].[Id] +""" +SELECT [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [e].[Id] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] @@ -1302,9 +1467,11 @@ FROM [JoinCompositeKeyToLeaf] AS [j] WHERE [e0].[Key1] < 5 ) AS [t] ON [e].[Id] = [t].[LeafId] WHERE [e].[Discriminator] = N'EntityLeaf' -ORDER BY [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]", +ORDER BY [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""", // - @"SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""" +SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] FROM [EntityRoots] AS [e] INNER JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [e0].[Key1], [e0].[Key2], [e0].[Key3] @@ -1318,7 +1485,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e1] INNER JOIN [EntityTwos] AS [e2] ON [e1].[TwoSkipSharedId] = [e2].[Id] ) AS [t0] ON [t].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [t].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [t].[Key3] = [t0].[CompositeKeySkipSharedKey3] WHERE [e].[Discriminator] = N'EntityLeaf' -ORDER BY [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]"); +ORDER BY [e].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(bool async) @@ -1326,11 +1494,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] +""" +SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1341,9 +1512,11 @@ FROM [JoinOneToTwo] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]", +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +""", // - @"SELECT [t1].[ThreeId], [t1].[TwoId], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] +""" +SELECT [t1].[ThreeId], [t1].[TwoId], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[OneId], [t].[TwoId], [t].[Id] @@ -1360,7 +1533,8 @@ FROM [JoinTwoToThree] AS [j0] INNER JOIN [EntityThrees] AS [e1] ON [j0].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 10 ) AS [t1] ON [t0].[Id] = [t1].[TwoId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1368,11 +1542,14 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] @@ -1380,9 +1557,11 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""", // - @"SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""" +SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [e0].[Id] @@ -1399,7 +1578,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id] +"""); } public override async Task Filter_include_on_skip_navigation_combined_split(bool async) @@ -1407,11 +1587,14 @@ public override async Task Filter_include_on_skip_navigation_combined_split(bool await base.Filter_include_on_skip_navigation_combined_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -1420,9 +1603,11 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""", // - @"SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""" +SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [e0].[Id], [e1].[Id] AS [Id0] @@ -1432,7 +1617,8 @@ FROM [JoinOneToTwo] AS [j] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] INNER JOIN [EntityTwos] AS [e2] ON [t].[Id] = [e2].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(bool async) @@ -1440,11 +1626,14 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -1452,9 +1641,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id] @@ -1471,9 +1662,11 @@ FROM [JoinOneToTwo] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id] +""", // - @"SELECT [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id] @@ -1491,7 +1684,8 @@ WHERE [e1].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') ) AS [t1] ON [j0].[EntityBranchId] = [t1].[Id] WHERE [t1].[Id] < 20 ) AS [t0] ON [t].[Id] = [t0].[EntityOneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(bool async) @@ -1499,11 +1693,14 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -1511,9 +1708,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id] @@ -1526,7 +1725,8 @@ INNER JOIN ( FROM [EntityTwos] AS [e1] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(bool async) @@ -1534,20 +1734,25 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e0] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[CollectionInverseId] -ORDER BY [e].[Id], [t].[Id]", +ORDER BY [e].[Id], [t].[Id] +""", // - @"SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] +""" +SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId] @@ -1560,7 +1765,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e1] ON [j].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Select_many_over_skip_navigation_where_non_equality(bool async) @@ -1568,13 +1774,15 @@ public override async Task Select_many_over_skip_navigation_where_non_equality(b await base.Select_many_over_skip_navigation_where_non_equality(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId] AND [e].[Id] <> [t].[Id]"); +) AS [t] ON [e].[Id] = [t].[OneId] AND [e].[Id] <> [t].[Id] +"""); } public override async Task Contains_on_skip_collection_navigation(bool async) @@ -1582,7 +1790,8 @@ public override async Task Contains_on_skip_collection_navigation(bool async) await base.Contains_on_skip_collection_navigation(async); AssertSql( - @"@__entity_equality_two_0_Id='1' (Nullable = true) +""" +@__entity_equality_two_0_Id='1' (Nullable = true) SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] @@ -1590,7 +1799,8 @@ WHERE EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = @__entity_equality_two_0_Id)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = @__entity_equality_two_0_Id) +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/MappingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/MappingQuerySqlServerTest.cs index 95a44c5cd53..ce45f80bdaa 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/MappingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/MappingQuerySqlServerTest.cs @@ -10,8 +10,10 @@ public override void All_customers() base.All_customers(); AssertSql( - @"SELECT [c].[CustomerID], [c].[CompanyName] -FROM [dbo].[Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[CompanyName] +FROM [dbo].[Customers] AS [c] +"""); } public override void All_employees() @@ -19,8 +21,10 @@ public override void All_employees() base.All_employees(); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City] -FROM [dbo].[Employees] AS [e]"); +""" +SELECT [e].[EmployeeID], [e].[City] +FROM [dbo].[Employees] AS [e] +"""); } public override void All_orders() @@ -28,8 +32,10 @@ public override void All_orders() base.All_orders(); AssertSql( - @"SELECT [o].[OrderID], [o].[ShipVia] -FROM [dbo].[Orders] AS [o]"); +""" +SELECT [o].[OrderID], [o].[ShipVia] +FROM [dbo].[Orders] AS [o] +"""); } public override void Project_nullable_enum() @@ -37,8 +43,10 @@ public override void Project_nullable_enum() base.Project_nullable_enum(); AssertSql( - @"SELECT [o].[ShipVia] -FROM [dbo].[Orders] AS [o]"); +""" +SELECT [o].[ShipVia] +FROM [dbo].[Orders] AS [o] +"""); } public MappingQuerySqlServerTest(MappingQuerySqlServerFixture fixture) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAggregateOperatorsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAggregateOperatorsQuerySqlServerTest.cs index 1dbf37e99d3..b384b36f66e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAggregateOperatorsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAggregateOperatorsQuerySqlServerTest.cs @@ -46,9 +46,11 @@ public override async Task Array_cast_to_IEnumerable_Contains_with_constant(bool await base.Array_cast_to_IEnumerable_Contains_with_constant(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'WRONG')"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'WRONG') +"""); } public override async Task Contains_over_keyless_entity_throws(bool async) @@ -56,10 +58,12 @@ public override async Task Contains_over_keyless_entity_throws(bool async) await base.Contains_over_keyless_entity_throws(async); AssertSql( - @"SELECT TOP(1) [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle] +""" +SELECT TOP(1) [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -) AS [m]"); +) AS [m] +"""); } public override async Task Enumerable_min_is_mapped_to_Queryable_1(bool async) @@ -67,11 +71,13 @@ public override async Task Enumerable_min_is_mapped_to_Queryable_1(bool async) await base.Enumerable_min_is_mapped_to_Queryable_1(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Enumerable_min_is_mapped_to_Queryable_2(bool async) @@ -79,11 +85,13 @@ public override async Task Enumerable_min_is_mapped_to_Queryable_2(bool async) await base.Enumerable_min_is_mapped_to_Queryable_2(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Average_with_unmapped_property_access_throws_meaningful_exception(bool async) @@ -98,9 +106,11 @@ public override async Task Sum_over_empty_returns_zero(bool async) await base.Sum_over_empty_returns_zero(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] -WHERE [o].[OrderID] = 42"); +WHERE [o].[OrderID] = 42 +"""); } public override async Task Average_over_default_returns_default(bool async) @@ -108,9 +118,11 @@ public override async Task Average_over_default_returns_default(bool async) await base.Average_over_default_returns_default(async); AssertSql( - @"SELECT AVG(CAST(([o].[OrderID] - 10248) AS float)) +""" +SELECT AVG(CAST(([o].[OrderID] - 10248) AS float)) FROM [Orders] AS [o] -WHERE [o].[OrderID] = 10248"); +WHERE [o].[OrderID] = 10248 +"""); } public override async Task Max_over_default_returns_default(bool async) @@ -118,9 +130,11 @@ public override async Task Max_over_default_returns_default(bool async) await base.Max_over_default_returns_default(async); AssertSql( - @"SELECT MAX([o].[OrderID] - 10248) +""" +SELECT MAX([o].[OrderID] - 10248) FROM [Orders] AS [o] -WHERE [o].[OrderID] = 10248"); +WHERE [o].[OrderID] = 10248 +"""); } public override async Task Min_over_default_returns_default(bool async) @@ -128,9 +142,11 @@ public override async Task Min_over_default_returns_default(bool async) await base.Min_over_default_returns_default(async); AssertSql( - @"SELECT MIN([o].[OrderID] - 10248) +""" +SELECT MIN([o].[OrderID] - 10248) FROM [Orders] AS [o] -WHERE [o].[OrderID] = 10248"); +WHERE [o].[OrderID] = 10248 +"""); } public override async Task Average_after_default_if_empty_does_not_throw(bool async) @@ -138,7 +154,8 @@ public override async Task Average_after_default_if_empty_does_not_throw(bool as await base.Average_after_default_if_empty_does_not_throw(async); AssertSql( - @"SELECT AVG(CAST(COALESCE([t].[OrderID], 0) AS float)) +""" +SELECT AVG(CAST(COALESCE([t].[OrderID], 0) AS float)) FROM ( SELECT NULL AS [empty] ) AS [e] @@ -146,7 +163,8 @@ LEFT JOIN ( SELECT [o].[OrderID] FROM [Orders] AS [o] WHERE [o].[OrderID] = 10243 -) AS [t] ON 1 = 1"); +) AS [t] ON 1 = 1 +"""); } public override async Task Max_after_default_if_empty_does_not_throw(bool async) @@ -154,7 +172,8 @@ public override async Task Max_after_default_if_empty_does_not_throw(bool async) await base.Max_after_default_if_empty_does_not_throw(async); AssertSql( - @"SELECT MAX(COALESCE([t].[OrderID], 0)) +""" +SELECT MAX(COALESCE([t].[OrderID], 0)) FROM ( SELECT NULL AS [empty] ) AS [e] @@ -162,7 +181,8 @@ LEFT JOIN ( SELECT [o].[OrderID] FROM [Orders] AS [o] WHERE [o].[OrderID] = 10243 -) AS [t] ON 1 = 1"); +) AS [t] ON 1 = 1 +"""); } public override async Task Min_after_default_if_empty_does_not_throw(bool async) @@ -170,7 +190,8 @@ public override async Task Min_after_default_if_empty_does_not_throw(bool async) await base.Min_after_default_if_empty_does_not_throw(async); AssertSql( - @"SELECT MIN(COALESCE([t].[OrderID], 0)) +""" +SELECT MIN(COALESCE([t].[OrderID], 0)) FROM ( SELECT NULL AS [empty] ) AS [e] @@ -178,7 +199,8 @@ LEFT JOIN ( SELECT [o].[OrderID] FROM [Orders] AS [o] WHERE [o].[OrderID] = 10243 -) AS [t] ON 1 = 1"); +) AS [t] ON 1 = 1 +"""); } public override async Task Sum_with_no_data_cast_to_nullable(bool async) @@ -186,9 +208,11 @@ public override async Task Sum_with_no_data_cast_to_nullable(bool async) await base.Sum_with_no_data_cast_to_nullable(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] -WHERE [o].[OrderID] < 0"); +WHERE [o].[OrderID] < 0 +"""); } public override async Task Sum_with_no_data_nullable(bool async) @@ -196,8 +220,10 @@ public override async Task Sum_with_no_data_nullable(bool async) await base.Sum_with_no_data_nullable(async); AssertSql( - @"SELECT COALESCE(SUM([p].[SupplierID]), 0) -FROM [Products] AS [p]"); +""" +SELECT COALESCE(SUM([p].[SupplierID]), 0) +FROM [Products] AS [p] +"""); } public override async Task Sum_with_no_arg_empty(bool async) @@ -205,9 +231,11 @@ public override async Task Sum_with_no_arg_empty(bool async) await base.Sum_with_no_arg_empty(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] -WHERE [o].[OrderID] = 42"); +WHERE [o].[OrderID] = 42 +"""); } public override async Task Min_no_data(bool async) @@ -215,9 +243,11 @@ public override async Task Min_no_data(bool async) await base.Min_no_data(async); AssertSql( - @"SELECT MIN([o].[OrderID]) +""" +SELECT MIN([o].[OrderID]) FROM [Orders] AS [o] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Min_no_data_nullable(bool async) @@ -225,9 +255,11 @@ public override async Task Min_no_data_nullable(bool async) await base.Min_no_data_nullable(async); AssertSql( - @"SELECT MIN([p].[SupplierID]) +""" +SELECT MIN([p].[SupplierID]) FROM [Products] AS [p] -WHERE [p].[SupplierID] = -1"); +WHERE [p].[SupplierID] = -1 +"""); } public override async Task Min_no_data_cast_to_nullable(bool async) @@ -235,9 +267,11 @@ public override async Task Min_no_data_cast_to_nullable(bool async) await base.Min_no_data_cast_to_nullable(async); AssertSql( - @"SELECT MIN([o].[OrderID]) +""" +SELECT MIN([o].[OrderID]) FROM [Orders] AS [o] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Min_no_data_subquery(bool async) @@ -245,11 +279,13 @@ public override async Task Min_no_data_subquery(bool async) await base.Min_no_data_subquery(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN([o].[OrderID]) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] = -1) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Max_no_data(bool async) @@ -257,9 +293,11 @@ public override async Task Max_no_data(bool async) await base.Max_no_data(async); AssertSql( - @"SELECT MAX([o].[OrderID]) +""" +SELECT MAX([o].[OrderID]) FROM [Orders] AS [o] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Max_no_data_nullable(bool async) @@ -267,9 +305,11 @@ public override async Task Max_no_data_nullable(bool async) await base.Max_no_data_nullable(async); AssertSql( - @"SELECT MAX([p].[SupplierID]) +""" +SELECT MAX([p].[SupplierID]) FROM [Products] AS [p] -WHERE [p].[SupplierID] = -1"); +WHERE [p].[SupplierID] = -1 +"""); } public override async Task Max_no_data_cast_to_nullable(bool async) @@ -277,9 +317,11 @@ public override async Task Max_no_data_cast_to_nullable(bool async) await base.Max_no_data_cast_to_nullable(async); AssertSql( - @"SELECT MAX([o].[OrderID]) +""" +SELECT MAX([o].[OrderID]) FROM [Orders] AS [o] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Max_no_data_subquery(bool async) @@ -287,11 +329,13 @@ public override async Task Max_no_data_subquery(bool async) await base.Max_no_data_subquery(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MAX([o].[OrderID]) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] = -1) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Average_no_data(bool async) @@ -299,9 +343,11 @@ public override async Task Average_no_data(bool async) await base.Average_no_data(async); AssertSql( - @"SELECT AVG(CAST([o].[OrderID] AS float)) +""" +SELECT AVG(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Average_no_data_nullable(bool async) @@ -309,9 +355,11 @@ public override async Task Average_no_data_nullable(bool async) await base.Average_no_data_nullable(async); AssertSql( - @"SELECT AVG(CAST([p].[SupplierID] AS float)) +""" +SELECT AVG(CAST([p].[SupplierID] AS float)) FROM [Products] AS [p] -WHERE [p].[SupplierID] = -1"); +WHERE [p].[SupplierID] = -1 +"""); } public override async Task Average_no_data_cast_to_nullable(bool async) @@ -319,9 +367,11 @@ public override async Task Average_no_data_cast_to_nullable(bool async) await base.Average_no_data_cast_to_nullable(async); AssertSql( - @"SELECT AVG(CAST([o].[OrderID] AS float)) +""" +SELECT AVG(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Average_no_data_subquery(bool async) @@ -329,11 +379,13 @@ public override async Task Average_no_data_subquery(bool async) await base.Average_no_data_subquery(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] = -1) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Count_with_no_predicate(bool async) @@ -341,8 +393,10 @@ public override async Task Count_with_no_predicate(bool async) await base.Count_with_no_predicate(async); AssertSql( - @"SELECT COUNT(*) -FROM [Orders] AS [o]"); +""" +SELECT COUNT(*) +FROM [Orders] AS [o] +"""); } public override async Task Count_with_order_by(bool async) @@ -350,8 +404,10 @@ public override async Task Count_with_order_by(bool async) await base.Count_with_order_by(async); AssertSql( - @"SELECT COUNT(*) -FROM [Orders] AS [o]"); +""" +SELECT COUNT(*) +FROM [Orders] AS [o] +"""); } public override async Task Where_OrderBy_Count_client_eval(bool async) @@ -408,11 +464,13 @@ public override async Task OrderBy_client_Take(bool async) await base.OrderBy_client_Take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -ORDER BY (SELECT 1)"); +ORDER BY (SELECT 1) +"""); } public override async Task Single_Throws(bool async) @@ -420,8 +478,10 @@ public override async Task Single_Throws(bool async) await base.Single_Throws(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Where_Single(bool async) @@ -429,9 +489,11 @@ public override async Task Where_Single(bool async) await base.Where_Single(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task SingleOrDefault_Throws(bool async) @@ -439,8 +501,10 @@ public override async Task SingleOrDefault_Throws(bool async) await base.SingleOrDefault_Throws(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task SingleOrDefault_Predicate(bool async) @@ -448,9 +512,11 @@ public override async Task SingleOrDefault_Predicate(bool async) await base.SingleOrDefault_Predicate(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Where_SingleOrDefault(bool async) @@ -458,9 +524,11 @@ public override async Task Where_SingleOrDefault(bool async) await base.Where_SingleOrDefault(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task First(bool async) @@ -468,9 +536,11 @@ public override async Task First(bool async) await base.First(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[ContactName]"); +ORDER BY [c].[ContactName] +"""); } public override async Task First_Predicate(bool async) @@ -478,10 +548,12 @@ public override async Task First_Predicate(bool async) await base.First_Predicate(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' -ORDER BY [c].[ContactName]"); +ORDER BY [c].[ContactName] +"""); } public override async Task Where_First(bool async) @@ -489,10 +561,12 @@ public override async Task Where_First(bool async) await base.Where_First(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' -ORDER BY [c].[ContactName]"); +ORDER BY [c].[ContactName] +"""); } public override async Task FirstOrDefault(bool async) @@ -500,9 +574,11 @@ public override async Task FirstOrDefault(bool async) await base.FirstOrDefault(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[ContactName]"); +ORDER BY [c].[ContactName] +"""); } public override async Task FirstOrDefault_Predicate(bool async) @@ -510,10 +586,12 @@ public override async Task FirstOrDefault_Predicate(bool async) await base.FirstOrDefault_Predicate(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' -ORDER BY [c].[ContactName]"); +ORDER BY [c].[ContactName] +"""); } public override async Task Where_FirstOrDefault(bool async) @@ -521,10 +599,12 @@ public override async Task Where_FirstOrDefault(bool async) await base.Where_FirstOrDefault(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' -ORDER BY [c].[ContactName]"); +ORDER BY [c].[ContactName] +"""); } public override async Task Select_All(bool async) @@ -532,13 +612,15 @@ public override async Task Select_All(bool async) await base.Select_All(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Orders] AS [o] WHERE [o].[CustomerID] <> N'ALFKI' OR ([o].[CustomerID] IS NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Sum_with_no_arg(bool async) @@ -546,8 +628,10 @@ public override async Task Sum_with_no_arg(bool async) await base.Sum_with_no_arg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) -FROM [Orders] AS [o]"); +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) +FROM [Orders] AS [o] +"""); } public override async Task Sum_with_binary_expression(bool async) @@ -555,8 +639,10 @@ public override async Task Sum_with_binary_expression(bool async) await base.Sum_with_binary_expression(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID] * 2), 0) -FROM [Orders] AS [o]"); +""" +SELECT COALESCE(SUM([o].[OrderID] * 2), 0) +FROM [Orders] AS [o] +"""); } public override async Task Sum_with_arg(bool async) @@ -564,8 +650,10 @@ public override async Task Sum_with_arg(bool async) await base.Sum_with_arg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) -FROM [Orders] AS [o]"); +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) +FROM [Orders] AS [o] +"""); } public override async Task Sum_with_arg_expression(bool async) @@ -573,8 +661,10 @@ public override async Task Sum_with_arg_expression(bool async) await base.Sum_with_arg_expression(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID] + [o].[OrderID]), 0) -FROM [Orders] AS [o]"); +""" +SELECT COALESCE(SUM([o].[OrderID] + [o].[OrderID]), 0) +FROM [Orders] AS [o] +"""); } public override async Task Sum_with_division_on_decimal(bool async) @@ -582,8 +672,10 @@ public override async Task Sum_with_division_on_decimal(bool async) await base.Sum_with_division_on_decimal(async); AssertSql( - @"SELECT COALESCE(SUM(CAST([o].[Quantity] AS decimal(18,2)) / 2.09), 0.0) -FROM [Order Details] AS [o]"); +""" +SELECT COALESCE(SUM(CAST([o].[Quantity] AS decimal(18,2)) / 2.09), 0.0) +FROM [Order Details] AS [o] +"""); } public override async Task Sum_with_division_on_decimal_no_significant_digits(bool async) @@ -591,8 +683,10 @@ public override async Task Sum_with_division_on_decimal_no_significant_digits(bo await base.Sum_with_division_on_decimal_no_significant_digits(async); AssertSql( - @"SELECT COALESCE(SUM(CAST([o].[Quantity] AS decimal(18,2)) / 2.0), 0.0) -FROM [Order Details] AS [o]"); +""" +SELECT COALESCE(SUM(CAST([o].[Quantity] AS decimal(18,2)) / 2.0), 0.0) +FROM [Order Details] AS [o] +"""); } public override async Task Sum_with_coalesce(bool async) @@ -600,9 +694,11 @@ public override async Task Sum_with_coalesce(bool async) await base.Sum_with_coalesce(async); AssertSql( - @"SELECT COALESCE(SUM(COALESCE([p].[UnitPrice], 0.0)), 0.0) +""" +SELECT COALESCE(SUM(COALESCE([p].[UnitPrice], 0.0)), 0.0) FROM [Products] AS [p] -WHERE [p].[ProductID] < 40"); +WHERE [p].[ProductID] < 40 +"""); } public override async Task Sum_over_subquery_is_client_eval(bool async) @@ -614,11 +710,13 @@ public override async Task Sum_over_subquery_is_client_eval(bool async) async () => await base.Sum_over_subquery_is_client_eval(async))).Number); AssertSql( - @"SELECT COALESCE(SUM(( +""" +SELECT COALESCE(SUM(( SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID])), 0) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Sum_over_nested_subquery_is_client_eval(bool async) @@ -630,14 +728,16 @@ public override async Task Sum_over_nested_subquery_is_client_eval(bool async) async () => await base.Sum_over_nested_subquery_is_client_eval(async))).Number); AssertSql( - @"SELECT COALESCE(SUM(( +""" +SELECT COALESCE(SUM(( SELECT COALESCE(SUM(5 + ( SELECT COALESCE(SUM([o0].[ProductID]), 0) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID])), 0) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID])), 0) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Sum_over_min_subquery_is_client_eval(bool async) @@ -649,14 +749,16 @@ public override async Task Sum_over_min_subquery_is_client_eval(bool async) async () => await base.Sum_over_min_subquery_is_client_eval(async))).Number); AssertSql( - @"SELECT COALESCE(SUM(( +""" +SELECT COALESCE(SUM(( SELECT COALESCE(SUM(5 + ( SELECT MIN([o0].[ProductID]) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID])), 0) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID])), 0) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Sum_on_float_column(bool async) @@ -664,9 +766,11 @@ public override async Task Sum_on_float_column(bool async) await base.Sum_on_float_column(async); AssertSql( - @"SELECT CAST(COALESCE(SUM([o].[Discount]), 0.0E0) AS real) +""" +SELECT CAST(COALESCE(SUM([o].[Discount]), 0.0E0) AS real) FROM [Order Details] AS [o] -WHERE [o].[ProductID] = 1"); +WHERE [o].[ProductID] = 1 +"""); } public override async Task Sum_on_float_column_in_subquery(bool async) @@ -674,12 +778,14 @@ public override async Task Sum_on_float_column_in_subquery(bool async) await base.Sum_on_float_column_in_subquery(async); AssertSql( - @"SELECT [o].[OrderID], ( +""" +SELECT [o].[OrderID], ( SELECT CAST(COALESCE(SUM([o0].[Discount]), 0.0E0) AS real) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [Sum] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Average_with_no_arg(bool async) @@ -687,8 +793,10 @@ public override async Task Average_with_no_arg(bool async) await base.Average_with_no_arg(async); AssertSql( - @"SELECT AVG(CAST([o].[OrderID] AS float)) -FROM [Orders] AS [o]"); +""" +SELECT AVG(CAST([o].[OrderID] AS float)) +FROM [Orders] AS [o] +"""); } public override async Task Average_with_binary_expression(bool async) @@ -696,8 +804,10 @@ public override async Task Average_with_binary_expression(bool async) await base.Average_with_binary_expression(async); AssertSql( - @"SELECT AVG(CAST(([o].[OrderID] * 2) AS float)) -FROM [Orders] AS [o]"); +""" +SELECT AVG(CAST(([o].[OrderID] * 2) AS float)) +FROM [Orders] AS [o] +"""); } public override async Task Average_with_arg(bool async) @@ -705,8 +815,10 @@ public override async Task Average_with_arg(bool async) await base.Average_with_arg(async); AssertSql( - @"SELECT AVG(CAST([o].[OrderID] AS float)) -FROM [Orders] AS [o]"); +""" +SELECT AVG(CAST([o].[OrderID] AS float)) +FROM [Orders] AS [o] +"""); } public override async Task Average_with_arg_expression(bool async) @@ -714,8 +826,10 @@ public override async Task Average_with_arg_expression(bool async) await base.Average_with_arg_expression(async); AssertSql( - @"SELECT AVG(CAST(([o].[OrderID] + [o].[OrderID]) AS float)) -FROM [Orders] AS [o]"); +""" +SELECT AVG(CAST(([o].[OrderID] + [o].[OrderID]) AS float)) +FROM [Orders] AS [o] +"""); } public override async Task Average_with_division_on_decimal(bool async) @@ -723,8 +837,10 @@ public override async Task Average_with_division_on_decimal(bool async) await base.Average_with_division_on_decimal(async); AssertSql( - @"SELECT AVG(CAST([o].[Quantity] AS decimal(18,2)) / 2.09) -FROM [Order Details] AS [o]"); +""" +SELECT AVG(CAST([o].[Quantity] AS decimal(18,2)) / 2.09) +FROM [Order Details] AS [o] +"""); } public override async Task Average_with_division_on_decimal_no_significant_digits(bool async) @@ -732,8 +848,10 @@ public override async Task Average_with_division_on_decimal_no_significant_digit await base.Average_with_division_on_decimal_no_significant_digits(async); AssertSql( - @"SELECT AVG(CAST([o].[Quantity] AS decimal(18,2)) / 2.0) -FROM [Order Details] AS [o]"); +""" +SELECT AVG(CAST([o].[Quantity] AS decimal(18,2)) / 2.0) +FROM [Order Details] AS [o] +"""); } public override async Task Average_with_coalesce(bool async) @@ -741,9 +859,11 @@ public override async Task Average_with_coalesce(bool async) await base.Average_with_coalesce(async); AssertSql( - @"SELECT AVG(COALESCE([p].[UnitPrice], 0.0)) +""" +SELECT AVG(COALESCE([p].[UnitPrice], 0.0)) FROM [Products] AS [p] -WHERE [p].[ProductID] < 40"); +WHERE [p].[ProductID] < 40 +"""); } public override async Task Average_over_subquery_is_client_eval(bool async) @@ -755,11 +875,13 @@ public override async Task Average_over_subquery_is_client_eval(bool async) async () => await base.Average_over_subquery_is_client_eval(async))).Number); AssertSql( - @"SELECT AVG(CAST(( +""" +SELECT AVG(CAST(( SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS float)) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Average_over_nested_subquery_is_client_eval(bool async) @@ -771,7 +893,8 @@ public override async Task Average_over_nested_subquery_is_client_eval(bool asyn async () => await base.Average_over_nested_subquery_is_client_eval(async))).Number); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT AVG(CAST(( SELECT AVG(5.0E0 + ( @@ -784,7 +907,8 @@ FROM [Orders] AS [o] SELECT TOP(@__p_0) [c].[CustomerID] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task Average_over_max_subquery_is_client_eval(bool async) @@ -796,7 +920,8 @@ public override async Task Average_over_max_subquery_is_client_eval(bool async) async () => await base.Average_over_max_subquery_is_client_eval(async))).Number); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT AVG(CAST(( SELECT AVG(CAST((5 + ( @@ -809,7 +934,8 @@ FROM [Orders] AS [o] SELECT TOP(@__p_0) [c].[CustomerID] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task Average_on_float_column(bool async) @@ -817,9 +943,11 @@ public override async Task Average_on_float_column(bool async) await base.Average_on_float_column(async); AssertSql( - @"SELECT CAST(AVG([o].[Discount]) AS real) +""" +SELECT CAST(AVG([o].[Discount]) AS real) FROM [Order Details] AS [o] -WHERE [o].[ProductID] = 1"); +WHERE [o].[ProductID] = 1 +"""); } public override async Task Average_on_float_column_in_subquery(bool async) @@ -827,12 +955,14 @@ public override async Task Average_on_float_column_in_subquery(bool async) await base.Average_on_float_column_in_subquery(async); AssertSql( - @"SELECT [o].[OrderID], ( +""" +SELECT [o].[OrderID], ( SELECT CAST(AVG([o0].[Discount]) AS real) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [Sum] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Average_on_float_column_in_subquery_with_cast(bool async) @@ -840,12 +970,14 @@ public override async Task Average_on_float_column_in_subquery_with_cast(bool as await base.Average_on_float_column_in_subquery_with_cast(async); AssertSql( - @"SELECT [o].[OrderID], ( +""" +SELECT [o].[OrderID], ( SELECT CAST(AVG([o0].[Discount]) AS real) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [Sum] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Min_with_no_arg(bool async) @@ -853,8 +985,10 @@ public override async Task Min_with_no_arg(bool async) await base.Min_with_no_arg(async); AssertSql( - @"SELECT MIN([o].[OrderID]) -FROM [Orders] AS [o]"); +""" +SELECT MIN([o].[OrderID]) +FROM [Orders] AS [o] +"""); } public override async Task Min_with_arg(bool async) @@ -862,8 +996,10 @@ public override async Task Min_with_arg(bool async) await base.Min_with_arg(async); AssertSql( - @"SELECT MIN([o].[OrderID]) -FROM [Orders] AS [o]"); +""" +SELECT MIN([o].[OrderID]) +FROM [Orders] AS [o] +"""); } public override async Task Min_with_coalesce(bool async) @@ -871,9 +1007,11 @@ public override async Task Min_with_coalesce(bool async) await base.Min_with_coalesce(async); AssertSql( - @"SELECT MIN(COALESCE([p].[UnitPrice], 0.0)) +""" +SELECT MIN(COALESCE([p].[UnitPrice], 0.0)) FROM [Products] AS [p] -WHERE [p].[ProductID] < 40"); +WHERE [p].[ProductID] < 40 +"""); } public override async Task Min_over_subquery_is_client_eval(bool async) @@ -885,11 +1023,13 @@ public override async Task Min_over_subquery_is_client_eval(bool async) async () => await base.Min_over_subquery_is_client_eval(async))).Number); AssertSql( - @"SELECT MIN(( +""" +SELECT MIN(( SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID])) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Min_over_nested_subquery_is_client_eval(bool async) @@ -901,7 +1041,8 @@ public override async Task Min_over_nested_subquery_is_client_eval(bool async) async () => await base.Min_over_nested_subquery_is_client_eval(async))).Number); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT MIN(( SELECT MIN(5 + ( @@ -914,7 +1055,8 @@ FROM [Orders] AS [o] SELECT TOP(@__p_0) [c].[CustomerID] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task Min_over_max_subquery_is_client_eval(bool async) @@ -926,7 +1068,8 @@ public override async Task Min_over_max_subquery_is_client_eval(bool async) async () => await base.Min_over_max_subquery_is_client_eval(async))).Number); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT MIN(( SELECT MIN(5 + ( @@ -939,7 +1082,8 @@ FROM [Orders] AS [o] SELECT TOP(@__p_0) [c].[CustomerID] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task Max_with_no_arg(bool async) @@ -947,8 +1091,10 @@ public override async Task Max_with_no_arg(bool async) await base.Max_with_no_arg(async); AssertSql( - @"SELECT MAX([o].[OrderID]) -FROM [Orders] AS [o]"); +""" +SELECT MAX([o].[OrderID]) +FROM [Orders] AS [o] +"""); } public override async Task Max_with_arg(bool async) @@ -956,8 +1102,10 @@ public override async Task Max_with_arg(bool async) await base.Max_with_arg(async); AssertSql( - @"SELECT MAX([o].[OrderID]) -FROM [Orders] AS [o]"); +""" +SELECT MAX([o].[OrderID]) +FROM [Orders] AS [o] +"""); } public override async Task Max_with_coalesce(bool async) @@ -965,9 +1113,11 @@ public override async Task Max_with_coalesce(bool async) await base.Max_with_coalesce(async); AssertSql( - @"SELECT MAX(COALESCE([p].[UnitPrice], 0.0)) +""" +SELECT MAX(COALESCE([p].[UnitPrice], 0.0)) FROM [Products] AS [p] -WHERE [p].[ProductID] < 40"); +WHERE [p].[ProductID] < 40 +"""); } public override async Task Max_over_subquery_is_client_eval(bool async) @@ -979,11 +1129,13 @@ public override async Task Max_over_subquery_is_client_eval(bool async) async () => await base.Max_over_subquery_is_client_eval(async))).Number); AssertSql( - @"SELECT MAX(( +""" +SELECT MAX(( SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID])) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Max_over_nested_subquery_is_client_eval(bool async) @@ -995,7 +1147,8 @@ public override async Task Max_over_nested_subquery_is_client_eval(bool async) async () => await base.Max_over_nested_subquery_is_client_eval(async))).Number); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT MAX(( SELECT MAX(5 + ( @@ -1008,7 +1161,8 @@ FROM [Orders] AS [o] SELECT TOP(@__p_0) [c].[CustomerID] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task Max_over_sum_subquery_is_client_eval(bool async) @@ -1020,7 +1174,8 @@ public override async Task Max_over_sum_subquery_is_client_eval(bool async) async () => await base.Max_over_sum_subquery_is_client_eval(async))).Number); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT MAX(( SELECT MAX(5 + ( @@ -1033,7 +1188,8 @@ FROM [Orders] AS [o] SELECT TOP(@__p_0) [c].[CustomerID] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task Count_with_predicate(bool async) @@ -1041,9 +1197,11 @@ public override async Task Count_with_predicate(bool async) await base.Count_with_predicate(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Where_OrderBy_Count(bool async) @@ -1051,9 +1209,11 @@ public override async Task Where_OrderBy_Count(bool async) await base.Where_OrderBy_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task OrderBy_Where_Count(bool async) @@ -1061,9 +1221,11 @@ public override async Task OrderBy_Where_Count(bool async) await base.OrderBy_Where_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task OrderBy_Count_with_predicate(bool async) @@ -1071,9 +1233,11 @@ public override async Task OrderBy_Count_with_predicate(bool async) await base.OrderBy_Count_with_predicate(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task OrderBy_Where_Count_with_predicate(bool async) @@ -1081,9 +1245,11 @@ public override async Task OrderBy_Where_Count_with_predicate(bool async) await base.OrderBy_Where_Count_with_predicate(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE [o].[OrderID] > 10 AND ([o].[CustomerID] <> N'ALFKI' OR ([o].[CustomerID] IS NULL))"); +WHERE [o].[OrderID] > 10 AND ([o].[CustomerID] <> N'ALFKI' OR ([o].[CustomerID] IS NULL)) +"""); } public override async Task Distinct(bool async) @@ -1091,8 +1257,10 @@ public override async Task Distinct(bool async) await base.Distinct(async); AssertSql( - @"SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Distinct_Scalar(bool async) @@ -1100,8 +1268,10 @@ public override async Task Distinct_Scalar(bool async) await base.Distinct_Scalar(async); AssertSql( - @"SELECT DISTINCT [c].[City] -FROM [Customers] AS [c]"); +""" +SELECT DISTINCT [c].[City] +FROM [Customers] AS [c] +"""); } public override async Task OrderBy_Distinct(bool async) @@ -1110,8 +1280,10 @@ public override async Task OrderBy_Distinct(bool async) // Ordering not preserved by distinct when ordering columns not projected. AssertSql( - @"SELECT DISTINCT [c].[City] -FROM [Customers] AS [c]"); +""" +SELECT DISTINCT [c].[City] +FROM [Customers] AS [c] +"""); } public override async Task Distinct_OrderBy(bool async) @@ -1119,12 +1291,14 @@ public override async Task Distinct_OrderBy(bool async) await base.Distinct_OrderBy(async); AssertSql( - @"SELECT [t].[Country] +""" +SELECT [t].[Country] FROM ( SELECT DISTINCT [c].[Country] FROM [Customers] AS [c] ) AS [t] -ORDER BY [t].[Country]"); +ORDER BY [t].[Country] +"""); } public override async Task Distinct_OrderBy2(bool async) @@ -1132,12 +1306,14 @@ public override async Task Distinct_OrderBy2(bool async) await base.Distinct_OrderBy2(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ) AS [t] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Distinct_OrderBy3(bool async) @@ -1145,12 +1321,14 @@ public override async Task Distinct_OrderBy3(bool async) await base.Distinct_OrderBy3(async); AssertSql( - @"SELECT [t].[CustomerID] +""" +SELECT [t].[CustomerID] FROM ( SELECT DISTINCT [c].[CustomerID] FROM [Customers] AS [c] ) AS [t] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Distinct_Count(bool async) @@ -1158,11 +1336,13 @@ public override async Task Distinct_Count(bool async) await base.Distinct_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_Select_Distinct_Count(bool async) @@ -1170,11 +1350,13 @@ public override async Task Select_Select_Distinct_Count(bool async) await base.Select_Select_Distinct_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT DISTINCT [c].[City] FROM [Customers] AS [c] -) AS [t]"); +) AS [t] +"""); } public override async Task Single_Predicate(bool async) @@ -1182,9 +1364,11 @@ public override async Task Single_Predicate(bool async) await base.Single_Predicate(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task FirstOrDefault_inside_subquery_gets_server_evaluated(bool async) @@ -1192,12 +1376,14 @@ public override async Task FirstOrDefault_inside_subquery_gets_server_evaluated( await base.FirstOrDefault_inside_subquery_gets_server_evaluated(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' AND ( SELECT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[CustomerID] = N'ALFKI') = N'ALFKI'"); + WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[CustomerID] = N'ALFKI') = N'ALFKI' +"""); } public override async Task Multiple_collection_navigation_with_FirstOrDefault_chained(bool async) @@ -1205,7 +1391,8 @@ public override async Task Multiple_collection_navigation_with_FirstOrDefault_ch await base.Multiple_collection_navigation_with_FirstOrDefault_chained(async); AssertSql( - @"SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] +""" +SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(1) [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] @@ -1222,7 +1409,8 @@ FROM [Orders] AS [o1] ORDER BY [o].[ProductID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Multiple_collection_navigation_with_FirstOrDefault_chained_projecting_scalar(bool async) @@ -1230,7 +1418,8 @@ public override async Task Multiple_collection_navigation_with_FirstOrDefault_ch await base.Multiple_collection_navigation_with_FirstOrDefault_chained_projecting_scalar(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [o].[ProductID] FROM [Order Details] AS [o] WHERE (( @@ -1245,7 +1434,8 @@ FROM [Orders] AS [o1] ORDER BY [o].[ProductID]) FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task First_inside_subquery_gets_client_evaluated(bool async) @@ -1253,12 +1443,14 @@ public override async Task First_inside_subquery_gets_client_evaluated(bool asyn await base.First_inside_subquery_gets_client_evaluated(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' AND ( SELECT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[CustomerID] = N'ALFKI') = N'ALFKI'"); + WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[CustomerID] = N'ALFKI') = N'ALFKI' +"""); } public override async Task Last(bool async) @@ -1266,9 +1458,11 @@ public override async Task Last(bool async) await base.Last(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[ContactName] DESC"); +ORDER BY [c].[ContactName] DESC +"""); } public override async Task Last_Predicate(bool async) @@ -1276,10 +1470,12 @@ public override async Task Last_Predicate(bool async) await base.Last_Predicate(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' -ORDER BY [c].[ContactName] DESC"); +ORDER BY [c].[ContactName] DESC +"""); } public override async Task Where_Last(bool async) @@ -1287,10 +1483,12 @@ public override async Task Where_Last(bool async) await base.Where_Last(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' -ORDER BY [c].[ContactName] DESC"); +ORDER BY [c].[ContactName] DESC +"""); } public override async Task LastOrDefault(bool async) @@ -1298,9 +1496,11 @@ public override async Task LastOrDefault(bool async) await base.LastOrDefault(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[ContactName] DESC"); +ORDER BY [c].[ContactName] DESC +"""); } public override async Task LastOrDefault_Predicate(bool async) @@ -1308,10 +1508,12 @@ public override async Task LastOrDefault_Predicate(bool async) await base.LastOrDefault_Predicate(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' -ORDER BY [c].[ContactName] DESC"); +ORDER BY [c].[ContactName] DESC +"""); } public override async Task Where_LastOrDefault(bool async) @@ -1319,10 +1521,12 @@ public override async Task Where_LastOrDefault(bool async) await base.Where_LastOrDefault(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' -ORDER BY [c].[ContactName] DESC"); +ORDER BY [c].[ContactName] DESC +"""); } public override async Task Contains_with_subquery(bool async) @@ -1330,12 +1534,14 @@ public override async Task Contains_with_subquery(bool async) await base.Contains_with_subquery(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [o].[CustomerID] = [c].[CustomerID])"); + WHERE [o].[CustomerID] = [c].[CustomerID]) +"""); } public override async Task Contains_with_local_array_closure(bool async) @@ -1343,13 +1549,17 @@ public override async Task Contains_with_local_array_closure(bool async) await base.Contains_with_local_array_closure(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI')", +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI') +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ABCDE'"); +WHERE [c].[CustomerID] = N'ABCDE' +"""); } public override async Task Contains_with_subquery_and_local_array_closure(bool async) @@ -1357,19 +1567,23 @@ public override async Task Contains_with_subquery_and_local_array_closure(bool a await base.Contains_with_subquery_and_local_array_closure(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Customers] AS [c0] - WHERE [c0].[City] IN (N'London', N'Buenos Aires') AND [c0].[CustomerID] = [c].[CustomerID])", + WHERE [c0].[City] IN (N'London', N'Buenos Aires') AND [c0].[CustomerID] = [c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Customers] AS [c0] - WHERE [c0].[City] = N'London' AND [c0].[CustomerID] = [c].[CustomerID])"); + WHERE [c0].[City] = N'London' AND [c0].[CustomerID] = [c].[CustomerID]) +"""); } public override async Task Contains_with_local_uint_array_closure(bool async) @@ -1377,13 +1591,17 @@ public override async Task Contains_with_local_uint_array_closure(bool async) await base.Contains_with_local_uint_array_closure(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[EmployeeID] IN (0, 1)", +WHERE [e].[EmployeeID] IN (0, 1) +""", // - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[EmployeeID] = 0"); +WHERE [e].[EmployeeID] = 0 +"""); } public override async Task Contains_with_local_nullable_uint_array_closure(bool async) @@ -1391,13 +1609,17 @@ public override async Task Contains_with_local_nullable_uint_array_closure(bool await base.Contains_with_local_nullable_uint_array_closure(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[EmployeeID] IN (0, 1)", +WHERE [e].[EmployeeID] IN (0, 1) +""", // - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[EmployeeID] = 0"); +WHERE [e].[EmployeeID] = 0 +"""); } public override async Task Contains_with_local_array_inline(bool async) @@ -1405,9 +1627,11 @@ public override async Task Contains_with_local_array_inline(bool async) await base.Contains_with_local_array_inline(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI')"); +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI') +"""); } public override async Task Contains_with_local_list_closure(bool async) @@ -1415,9 +1639,11 @@ public override async Task Contains_with_local_list_closure(bool async) await base.Contains_with_local_list_closure(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI')"); +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI') +"""); } public override async Task Contains_with_local_object_list_closure(bool async) @@ -1425,9 +1651,11 @@ public override async Task Contains_with_local_object_list_closure(bool async) await base.Contains_with_local_object_list_closure(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI')"); +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI') +"""); } public override async Task Contains_with_local_list_closure_all_null(bool async) @@ -1435,9 +1663,11 @@ public override async Task Contains_with_local_list_closure_all_null(bool async) await base.Contains_with_local_list_closure_all_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Contains_with_local_list_inline(bool async) @@ -1445,9 +1675,11 @@ public override async Task Contains_with_local_list_inline(bool async) await base.Contains_with_local_list_inline(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI')"); +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI') +"""); } public override async Task Contains_with_local_list_inline_closure_mix(bool async) @@ -1455,13 +1687,17 @@ public override async Task Contains_with_local_list_inline_closure_mix(bool asyn await base.Contains_with_local_list_inline_closure_mix(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI')", +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI') +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ANATR')"); +WHERE [c].[CustomerID] IN (N'ABCDE', N'ANATR') +"""); } public override async Task Contains_with_local_non_primitive_list_inline_closure_mix(bool async) @@ -1469,13 +1705,17 @@ public override async Task Contains_with_local_non_primitive_list_inline_closure await base.Contains_with_local_non_primitive_list_inline_closure_mix(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI')", +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI') +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ANATR')"); +WHERE [c].[CustomerID] IN (N'ABCDE', N'ANATR') +"""); } public override async Task Contains_with_local_non_primitive_list_closure_mix(bool async) @@ -1483,9 +1723,11 @@ public override async Task Contains_with_local_non_primitive_list_closure_mix(bo await base.Contains_with_local_non_primitive_list_closure_mix(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI')"); +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI') +"""); } public override async Task Contains_with_local_collection_false(bool async) @@ -1493,9 +1735,11 @@ public override async Task Contains_with_local_collection_false(bool async) await base.Contains_with_local_collection_false(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI')"); +WHERE [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI') +"""); } public override async Task Contains_with_local_collection_complex_predicate_and(bool async) @@ -1503,9 +1747,11 @@ public override async Task Contains_with_local_collection_complex_predicate_and( await base.Contains_with_local_collection_complex_predicate_and(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'ABCDE') AND [c].[CustomerID] IN (N'ABCDE', N'ALFKI')"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'ABCDE') AND [c].[CustomerID] IN (N'ABCDE', N'ALFKI') +"""); } public override async Task Contains_with_local_collection_complex_predicate_or(bool async) @@ -1537,9 +1783,11 @@ public override async Task Contains_with_local_collection_sql_injection(bool asy await base.Contains_with_local_collection_sql_injection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'ABC'')); GO; DROP TABLE Orders; GO; --') OR [c].[CustomerID] IN (N'ALFKI', N'ABCDE')"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'ABC'')); GO; DROP TABLE Orders; GO; --') OR [c].[CustomerID] IN (N'ALFKI', N'ABCDE') +"""); } public override async Task Contains_with_local_collection_empty_closure(bool async) @@ -1547,9 +1795,11 @@ public override async Task Contains_with_local_collection_empty_closure(bool asy await base.Contains_with_local_collection_empty_closure(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Contains_with_local_collection_empty_inline(bool async) @@ -1557,8 +1807,10 @@ public override async Task Contains_with_local_collection_empty_inline(bool asyn await base.Contains_with_local_collection_empty_inline(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Contains_top_level(bool async) @@ -1566,7 +1818,8 @@ public override async Task Contains_top_level(bool async) await base.Contains_top_level(async); AssertSql( - @"@__p_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__p_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT CASE WHEN EXISTS ( @@ -1574,7 +1827,8 @@ SELECT 1 FROM [Customers] AS [c] WHERE [c].[CustomerID] = @__p_0) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Contains_with_local_anonymous_type_array_closure(bool async) @@ -1590,10 +1844,12 @@ public override async Task OfType_Select(bool async) await base.OfType_Select(async); AssertSql( - @"SELECT TOP(1) [c].[City] +""" +SELECT TOP(1) [c].[City] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task OfType_Select_OfType_Select(bool async) @@ -1601,10 +1857,12 @@ public override async Task OfType_Select_OfType_Select(bool async) await base.OfType_Select_OfType_Select(async); AssertSql( - @"SELECT TOP(1) [c].[City] +""" +SELECT TOP(1) [c].[City] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Average_with_non_matching_types_in_projection_doesnt_produce_second_explicit_cast(bool async) @@ -1612,9 +1870,11 @@ public override async Task Average_with_non_matching_types_in_projection_doesnt_ await base.Average_with_non_matching_types_in_projection_doesnt_produce_second_explicit_cast(async); AssertSql( - @"SELECT AVG(CAST(CAST([o].[OrderID] AS bigint) AS float)) +""" +SELECT AVG(CAST(CAST([o].[OrderID] AS bigint) AS float)) FROM [Orders] AS [o] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') +"""); } public override async Task Max_with_non_matching_types_in_projection_introduces_explicit_cast(bool async) @@ -1622,9 +1882,11 @@ public override async Task Max_with_non_matching_types_in_projection_introduces_ await base.Max_with_non_matching_types_in_projection_introduces_explicit_cast(async); AssertSql( - @"SELECT MAX(CAST([o].[OrderID] AS bigint)) +""" +SELECT MAX(CAST([o].[OrderID] AS bigint)) FROM [Orders] AS [o] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') +"""); } public override async Task Min_with_non_matching_types_in_projection_introduces_explicit_cast(bool async) @@ -1632,9 +1894,11 @@ public override async Task Min_with_non_matching_types_in_projection_introduces_ await base.Min_with_non_matching_types_in_projection_introduces_explicit_cast(async); AssertSql( - @"SELECT MIN(CAST([o].[OrderID] AS bigint)) +""" +SELECT MIN(CAST([o].[OrderID] AS bigint)) FROM [Orders] AS [o] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') +"""); } public override async Task OrderBy_Take_Last_gives_correct_result(bool async) @@ -1642,7 +1906,8 @@ public override async Task OrderBy_Take_Last_gives_correct_result(bool async) await base.OrderBy_Take_Last_gives_correct_result(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' SELECT TOP(1) [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -1650,7 +1915,8 @@ SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] -ORDER BY [t].[CustomerID] DESC"); +ORDER BY [t].[CustomerID] DESC +"""); } public override async Task OrderBy_Skip_Last_gives_correct_result(bool async) @@ -1658,7 +1924,8 @@ public override async Task OrderBy_Skip_Last_gives_correct_result(bool async) await base.OrderBy_Skip_Last_gives_correct_result(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' SELECT TOP(1) [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -1667,7 +1934,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] OFFSET @__p_0 ROWS ) AS [t] -ORDER BY [t].[CustomerID] DESC"); +ORDER BY [t].[CustomerID] DESC +"""); } public override async Task Contains_over_entityType_should_rewrite_to_identity_equality(bool async) @@ -1675,11 +1943,14 @@ public override async Task Contains_over_entityType_should_rewrite_to_identity_e await base.Contains_over_entityType_should_rewrite_to_identity_equality(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] = 10248", +WHERE [o].[OrderID] = 10248 +""", // - @"@__entity_equality_p_0_OrderID='10248' (Nullable = true) +""" +@__entity_equality_p_0_OrderID='10248' (Nullable = true) SELECT CASE WHEN EXISTS ( @@ -1687,7 +1958,8 @@ SELECT 1 FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'VINET' AND [o].[OrderID] = @__entity_equality_p_0_OrderID) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task List_Contains_over_entityType_should_rewrite_to_identity_equality(bool async) @@ -1695,14 +1967,16 @@ public override async Task List_Contains_over_entityType_should_rewrite_to_ident await base.List_Contains_over_entityType_should_rewrite_to_identity_equality(async); AssertSql( - @"@__entity_equality_someOrder_0_OrderID='10248' (Nullable = true) +""" +@__entity_equality_someOrder_0_OrderID='10248' (Nullable = true) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] = @__entity_equality_someOrder_0_OrderID)"); + WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] = @__entity_equality_someOrder_0_OrderID) +"""); } public override async Task List_Contains_with_constant_list(bool async) @@ -1710,9 +1984,11 @@ public override async Task List_Contains_with_constant_list(bool async) await base.List_Contains_with_constant_list(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR')"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR') +"""); } public override async Task List_Contains_with_parameter_list(bool async) @@ -1720,9 +1996,11 @@ public override async Task List_Contains_with_parameter_list(bool async) await base.List_Contains_with_parameter_list(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR')"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR') +"""); } public override async Task Contains_with_parameter_list_value_type_id(bool async) @@ -1730,9 +2008,11 @@ public override async Task Contains_with_parameter_list_value_type_id(bool async await base.Contains_with_parameter_list_value_type_id(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] IN (10248, 10249)"); +WHERE [o].[OrderID] IN (10248, 10249) +"""); } public override async Task Contains_with_constant_list_value_type_id(bool async) @@ -1740,9 +2020,11 @@ public override async Task Contains_with_constant_list_value_type_id(bool async) await base.Contains_with_constant_list_value_type_id(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] IN (10248, 10249)"); +WHERE [o].[OrderID] IN (10248, 10249) +"""); } public override async Task IImmutableSet_Contains_with_parameter(bool async) @@ -1750,9 +2032,11 @@ public override async Task IImmutableSet_Contains_with_parameter(bool async) await base.IImmutableSet_Contains_with_parameter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task IReadOnlySet_Contains_with_parameter(bool async) @@ -1760,9 +2044,11 @@ public override async Task IReadOnlySet_Contains_with_parameter(bool async) await base.IReadOnlySet_Contains_with_parameter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task HashSet_Contains_with_parameter(bool async) @@ -1770,9 +2056,11 @@ public override async Task HashSet_Contains_with_parameter(bool async) await base.HashSet_Contains_with_parameter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task ImmutableHashSet_Contains_with_parameter(bool async) @@ -1780,9 +2068,11 @@ public override async Task ImmutableHashSet_Contains_with_parameter(bool async) await base.ImmutableHashSet_Contains_with_parameter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Contains_over_entityType_with_null_should_rewrite_to_false(bool async) @@ -1790,7 +2080,9 @@ public override async Task Contains_over_entityType_with_null_should_rewrite_to_ await base.Contains_over_entityType_with_null_should_rewrite_to_false(async); AssertSql( - @"SELECT CAST(0 AS bit)"); +""" +SELECT CAST(0 AS bit) +"""); } public override async Task Contains_over_entityType_with_null_should_rewrite_to_identity_equality_subquery(bool async) @@ -1798,9 +2090,11 @@ public override async Task Contains_over_entityType_with_null_should_rewrite_to_ await base.Contains_over_entityType_with_null_should_rewrite_to_identity_equality_subquery(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Contains_over_entityType_with_null_in_projection(bool async) @@ -1808,9 +2102,11 @@ public override async Task Contains_over_entityType_with_null_in_projection(bool await base.Contains_over_entityType_with_null_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Contains_over_scalar_with_null_should_rewrite_to_identity_equality_subquery(bool async) @@ -1818,12 +2114,14 @@ public override async Task Contains_over_scalar_with_null_should_rewrite_to_iden await base.Contains_over_scalar_with_null_should_rewrite_to_identity_equality_subquery(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o0] - WHERE [o0].[CustomerID] = N'VINET' AND ([o0].[CustomerID] IS NULL))"); + WHERE [o0].[CustomerID] = N'VINET' AND ([o0].[CustomerID] IS NULL)) +"""); } public override async Task Contains_over_entityType_with_null_should_rewrite_to_identity_equality_subquery_negated(bool async) @@ -1831,12 +2129,14 @@ public override async Task Contains_over_entityType_with_null_should_rewrite_to_ await base.Contains_over_entityType_with_null_should_rewrite_to_identity_equality_subquery_negated(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o0] - WHERE [o0].[CustomerID] = N'VINET' AND ([o0].[CustomerID] IS NULL)))"); + WHERE [o0].[CustomerID] = N'VINET' AND ([o0].[CustomerID] IS NULL))) +"""); } public override async Task Contains_over_entityType_with_null_should_rewrite_to_identity_equality_subquery_complex(bool async) @@ -1844,7 +2144,8 @@ public override async Task Contains_over_entityType_with_null_should_rewrite_to_ await base.Contains_over_entityType_with_null_should_rewrite_to_identity_equality_subquery_complex(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE CASE WHEN EXISTS ( @@ -1858,7 +2159,8 @@ SELECT 1 FROM [Orders] AS [o1] WHERE ([o1].[CustomerID] <> N'VINET' OR ([o1].[CustomerID] IS NULL)) AND ([o1].[CustomerID] IS NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Contains_over_nullable_scalar_with_null_in_subquery_translated_correctly(bool async) @@ -1866,14 +2168,16 @@ public override async Task Contains_over_nullable_scalar_with_null_in_subquery_t await base.Contains_over_nullable_scalar_with_null_in_subquery_translated_correctly(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o0] WHERE [o0].[CustomerID] = N'VINET' AND ([o0].[CustomerID] IS NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Orders] AS [o]"); +FROM [Orders] AS [o] +"""); } public override async Task Contains_over_non_nullable_scalar_with_null_in_subquery_simplifies_to_false(bool async) @@ -1881,8 +2185,10 @@ public override async Task Contains_over_non_nullable_scalar_with_null_in_subque await base.Contains_over_non_nullable_scalar_with_null_in_subquery_simplifies_to_false(async); AssertSql( - @"SELECT CAST(0 AS bit) -FROM [Orders] AS [o]"); +""" +SELECT CAST(0 AS bit) +FROM [Orders] AS [o] +"""); } public override async Task Contains_over_entityType_should_materialize_when_composite(bool async) @@ -1890,12 +2196,14 @@ public override async Task Contains_over_entityType_should_materialize_when_comp await base.Contains_over_entityType_should_materialize_when_composite(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] WHERE [o].[ProductID] = 42 AND EXISTS ( SELECT 1 FROM [Order Details] AS [o0] - WHERE [o0].[OrderID] = [o].[OrderID] AND [o0].[ProductID] = [o].[ProductID])"); + WHERE [o0].[OrderID] = [o].[OrderID] AND [o0].[ProductID] = [o].[ProductID]) +"""); } public override async Task Contains_over_entityType_should_materialize_when_composite2(bool async) @@ -1903,12 +2211,14 @@ public override async Task Contains_over_entityType_should_materialize_when_comp await base.Contains_over_entityType_should_materialize_when_composite2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] WHERE [o].[ProductID] = 42 AND EXISTS ( SELECT 1 FROM [Order Details] AS [o0] - WHERE [o0].[OrderID] > 42 AND [o0].[OrderID] = [o].[OrderID] AND [o0].[ProductID] = [o].[ProductID])"); + WHERE [o0].[OrderID] > 42 AND [o0].[OrderID] = [o].[OrderID] AND [o0].[ProductID] = [o].[ProductID]) +"""); } public override async Task String_FirstOrDefault_in_projection_does_not_do_client_eval(bool async) @@ -1916,8 +2226,10 @@ public override async Task String_FirstOrDefault_in_projection_does_not_do_clien await base.String_FirstOrDefault_in_projection_does_not_do_client_eval(async); AssertSql( - @"SELECT SUBSTRING([c].[CustomerID], 1, 1) -FROM [Customers] AS [c]"); +""" +SELECT SUBSTRING([c].[CustomerID], 1, 1) +FROM [Customers] AS [c] +"""); } public override async Task Project_constant_Sum(bool async) @@ -1925,8 +2237,10 @@ public override async Task Project_constant_Sum(bool async) await base.Project_constant_Sum(async); AssertSql( - @"SELECT COALESCE(SUM(1), 0) -FROM [Employees] AS [e]"); +""" +SELECT COALESCE(SUM(1), 0) +FROM [Employees] AS [e] +"""); } public override async Task Where_subquery_any_equals_operator(bool async) @@ -1934,9 +2248,11 @@ public override async Task Where_subquery_any_equals_operator(bool async) await base.Where_subquery_any_equals_operator(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI', N'ANATR')"); +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI', N'ANATR') +"""); } public override async Task Where_subquery_any_equals(bool async) @@ -1944,9 +2260,11 @@ public override async Task Where_subquery_any_equals(bool async) await base.Where_subquery_any_equals(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI', N'ANATR')"); +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI', N'ANATR') +"""); } public override async Task Where_subquery_any_equals_static(bool async) @@ -1954,9 +2272,11 @@ public override async Task Where_subquery_any_equals_static(bool async) await base.Where_subquery_any_equals_static(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI', N'ANATR')"); +WHERE [c].[CustomerID] IN (N'ABCDE', N'ALFKI', N'ANATR') +"""); } public override async Task Where_subquery_where_any(bool async) @@ -1964,13 +2284,17 @@ public override async Task Where_subquery_where_any(bool async) await base.Where_subquery_where_any(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = N'México D.F.' AND [c].[CustomerID] IN (N'ABCDE', N'ALFKI', N'ANATR')", +WHERE [c].[City] = N'México D.F.' AND [c].[CustomerID] IN (N'ABCDE', N'ALFKI', N'ANATR') +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = N'México D.F.' AND [c].[CustomerID] IN (N'ABCDE', N'ALFKI', N'ANATR')"); +WHERE [c].[City] = N'México D.F.' AND [c].[CustomerID] IN (N'ABCDE', N'ALFKI', N'ANATR') +"""); } public override async Task Where_subquery_all_not_equals_operator(bool async) @@ -1978,9 +2302,11 @@ public override async Task Where_subquery_all_not_equals_operator(bool async) await base.Where_subquery_all_not_equals_operator(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI', N'ANATR')"); +WHERE [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI', N'ANATR') +"""); } public override async Task Where_subquery_all_not_equals(bool async) @@ -1988,9 +2314,11 @@ public override async Task Where_subquery_all_not_equals(bool async) await base.Where_subquery_all_not_equals(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI', N'ANATR')"); +WHERE [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI', N'ANATR') +"""); } public override async Task Where_subquery_all_not_equals_static(bool async) @@ -1998,9 +2326,11 @@ public override async Task Where_subquery_all_not_equals_static(bool async) await base.Where_subquery_all_not_equals_static(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI', N'ANATR')"); +WHERE [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI', N'ANATR') +"""); } public override async Task Where_subquery_where_all(bool async) @@ -2008,13 +2338,17 @@ public override async Task Where_subquery_where_all(bool async) await base.Where_subquery_where_all(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = N'México D.F.' AND [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI', N'ANATR')", +WHERE [c].[City] = N'México D.F.' AND [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI', N'ANATR') +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = N'México D.F.' AND [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI', N'ANATR')"); +WHERE [c].[City] = N'México D.F.' AND [c].[CustomerID] NOT IN (N'ABCDE', N'ALFKI', N'ANATR') +"""); } public override async Task Cast_to_same_Type_Count_works(bool async) @@ -2022,8 +2356,10 @@ public override async Task Cast_to_same_Type_Count_works(bool async) await base.Cast_to_same_Type_Count_works(async); AssertSql( - @"SELECT COUNT(*) -FROM [Customers] AS [c]"); +""" +SELECT COUNT(*) +FROM [Customers] AS [c] +"""); } public override async Task Cast_before_aggregate_is_preserved(bool async) @@ -2031,11 +2367,13 @@ public override async Task Cast_before_aggregate_is_preserved(bool async) await base.Cast_before_aggregate_is_preserved(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task DefaultIfEmpty_selects_only_required_columns(bool async) @@ -2043,11 +2381,13 @@ public override async Task DefaultIfEmpty_selects_only_required_columns(bool asy await base.DefaultIfEmpty_selects_only_required_columns(async); AssertSql( - @"SELECT [p].[ProductName] +""" +SELECT [p].[ProductName] FROM ( SELECT NULL AS [empty] ) AS [e] -LEFT JOIN [Products] AS [p] ON 1 = 1"); +LEFT JOIN [Products] AS [p] ON 1 = 1 +"""); } public override async Task Collection_Last_member_access_in_projection_translated(bool async) @@ -2055,13 +2395,15 @@ public override async Task Collection_Last_member_access_in_projection_translate await base.Collection_Last_member_access_in_projection_translated(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ([c].[CustomerID] LIKE N'F%') AND ( SELECT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderID]) = [c].[CustomerID]"); + ORDER BY [o].[OrderID]) = [c].[CustomerID] +"""); } public override async Task Collection_LastOrDefault_member_access_in_projection_translated(bool async) @@ -2069,13 +2411,15 @@ public override async Task Collection_LastOrDefault_member_access_in_projection_ await base.Collection_LastOrDefault_member_access_in_projection_translated(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ([c].[CustomerID] LIKE N'F%') AND ( SELECT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderID]) = [c].[CustomerID]"); + ORDER BY [o].[OrderID]) = [c].[CustomerID] +"""); } public override async Task Sum_over_explicit_cast_over_column(bool async) @@ -2083,8 +2427,10 @@ public override async Task Sum_over_explicit_cast_over_column(bool async) await base.Sum_over_explicit_cast_over_column(async); AssertSql( - @"SELECT COALESCE(SUM(CAST([o].[OrderID] AS bigint)), CAST(0 AS bigint)) -FROM [Orders] AS [o]"); +""" +SELECT COALESCE(SUM(CAST([o].[OrderID] AS bigint)), CAST(0 AS bigint)) +FROM [Orders] AS [o] +"""); } public override async Task Count_on_projection_with_client_eval(bool async) @@ -2092,14 +2438,20 @@ public override async Task Count_on_projection_with_client_eval(bool async) await base.Count_on_projection_with_client_eval(async); AssertSql( - @"SELECT COUNT(*) -FROM [Orders] AS [o]", +""" +SELECT COUNT(*) +FROM [Orders] AS [o] +""", // - @"SELECT COUNT(*) -FROM [Orders] AS [o]", +""" +SELECT COUNT(*) +FROM [Orders] AS [o] +""", // - @"SELECT COUNT(*) -FROM [Orders] AS [o]"); +""" +SELECT COUNT(*) +FROM [Orders] AS [o] +"""); } public override async Task Average_on_nav_subquery_in_projection(bool async) @@ -2107,12 +2459,14 @@ public override async Task Average_on_nav_subquery_in_projection(bool async) await base.Average_on_nav_subquery_in_projection(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Ave] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Count_after_client_projection(bool async) @@ -2120,13 +2474,15 @@ public override async Task Count_after_client_projection(bool async) await base.Count_after_client_projection(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT COUNT(*) FROM ( SELECT TOP(@__p_0) [o].[OrderID] FROM [Orders] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task All_true(bool async) @@ -2134,7 +2490,9 @@ public override async Task All_true(bool async) await base.All_true(async); AssertSql( - @"SELECT CAST(1 AS bit)"); +""" +SELECT CAST(1 AS bit) +"""); } public override async Task Not_Any_false(bool async) @@ -2142,8 +2500,10 @@ public override async Task Not_Any_false(bool async) await base.Not_Any_false(async); AssertSql( - @"SELECT [c].[CustomerID] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID] +FROM [Customers] AS [c] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsNoTrackingQuerySqlServerTest.cs index 93443154643..22eed92a55b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsNoTrackingQuerySqlServerTest.cs @@ -24,11 +24,15 @@ public override async Task Can_get_current_values(bool async) await base.Can_get_current_values(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Where_simple_shadow(bool async) @@ -36,9 +40,11 @@ public override async Task Where_simple_shadow(bool async) await base.Where_simple_shadow(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[Title] = N'Sales Representative'"); +WHERE [e].[Title] = N'Sales Representative' +"""); } public override async Task Entity_not_added_to_state_manager(bool useParam, bool async) @@ -46,8 +52,10 @@ public override async Task Entity_not_added_to_state_manager(bool useParam, bool await base.Entity_not_added_to_state_manager(useParam, async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Query_fast_path_when_ctor_binding(bool async) @@ -55,8 +63,10 @@ public override async Task Query_fast_path_when_ctor_binding(bool async) await base.Query_fast_path_when_ctor_binding(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Applied_to_multiple_body_clauses(bool async) @@ -64,10 +74,12 @@ public override async Task Applied_to_multiple_body_clauses(bool async) await base.Applied_to_multiple_body_clauses(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] -WHERE [c].[CustomerID] = [o].[CustomerID]"); +WHERE [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task SelectMany_simple(bool async) @@ -75,9 +87,11 @@ public override async Task SelectMany_simple(bool async) await base.SelectMany_simple(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -CROSS JOIN [Customers] AS [c]"); +CROSS JOIN [Customers] AS [c] +"""); } public override async Task Applied_after_navigation_expansion(bool async) @@ -85,10 +99,12 @@ public override async Task Applied_after_navigation_expansion(bool async) await base.Applied_after_navigation_expansion(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] <> N'London' OR ([c].[City] IS NULL)"); +WHERE [c].[City] <> N'London' OR ([c].[City] IS NULL) +"""); } public override async Task Include_reference_and_collection(bool async) @@ -96,11 +112,13 @@ public override async Task Include_reference_and_collection(bool async) await base.Include_reference_and_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Applied_to_body_clause(bool async) @@ -108,10 +126,12 @@ public override async Task Applied_to_body_clause(bool async) await base.Applied_to_body_clause(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Applied_to_projection(bool async) @@ -119,10 +139,12 @@ public override async Task Applied_to_projection(bool async) await base.Applied_to_projection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Applied_to_body_clause_with_projection(bool async) @@ -130,10 +152,12 @@ public override async Task Applied_to_body_clause_with_projection(bool async) await base.Applied_to_body_clause_with_projection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[CustomerID] AS [ocid], [o].[OrderID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[CustomerID] AS [ocid], [o].[OrderID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsTrackingQuerySqlServerTest.cs index 807edf26b98..f9ffd8c8f2b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindAsTrackingQuerySqlServerTest.cs @@ -21,10 +21,12 @@ public override void Applied_to_body_clause() base.Applied_to_body_clause(); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override void Entity_added_to_state_manager(bool useParam) @@ -32,8 +34,10 @@ public override void Entity_added_to_state_manager(bool useParam) base.Entity_added_to_state_manager(useParam); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override void Applied_to_projection() @@ -41,10 +45,12 @@ public override void Applied_to_projection() base.Applied_to_projection(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override void Applied_to_multiple_body_clauses() @@ -52,10 +58,12 @@ public override void Applied_to_multiple_body_clauses() base.Applied_to_multiple_body_clauses(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] -WHERE [c].[CustomerID] = [o].[CustomerID]"); +WHERE [c].[CustomerID] = [o].[CustomerID] +"""); } public override void Applied_to_body_clause_with_projection() @@ -63,10 +71,12 @@ public override void Applied_to_body_clause_with_projection() base.Applied_to_body_clause_with_projection(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[CustomerID] AS [ocid], [o].[OrderID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[CustomerID] AS [ocid], [o].[OrderID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindChangeTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindChangeTrackingQuerySqlServerTest.cs index 54d52f57622..d4b0b01eb1f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindChangeTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindChangeTrackingQuerySqlServerTest.cs @@ -23,8 +23,10 @@ public override void Entity_reverts_when_state_set_to_unchanged() base.Entity_reverts_when_state_set_to_unchanged(); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override void Entity_does_not_revert_when_attached_on_DbSet() @@ -32,8 +34,10 @@ public override void Entity_does_not_revert_when_attached_on_DbSet() base.Entity_does_not_revert_when_attached_on_DbSet(); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override void AsTracking_switches_tracking_on_when_off_in_options() @@ -41,8 +45,10 @@ public override void AsTracking_switches_tracking_on_when_off_in_options() base.AsTracking_switches_tracking_on_when_off_in_options(); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] -FROM [Employees] AS [e]"); +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +FROM [Employees] AS [e] +"""); } public override void Can_disable_and_reenable_query_result_tracking_query_caching_using_options() @@ -50,11 +56,15 @@ public override void Can_disable_and_reenable_query_result_tracking_query_cachin base.Can_disable_and_reenable_query_result_tracking_query_caching_using_options(); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] -FROM [Employees] AS [e]", +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +FROM [Employees] AS [e] +""", // - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] -FROM [Employees] AS [e]"); +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +FROM [Employees] AS [e] +"""); } public override void Can_disable_and_reenable_query_result_tracking() @@ -62,22 +72,28 @@ public override void Can_disable_and_reenable_query_result_tracking() base.Can_disable_and_reenable_query_result_tracking(); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(@__p_0) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -ORDER BY [e].[EmployeeID]", +ORDER BY [e].[EmployeeID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] ORDER BY [e].[EmployeeID] -OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY", +OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY +""", // - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override void Entity_range_does_not_revert_when_attached_dbSet() @@ -85,7 +101,8 @@ public override void Entity_range_does_not_revert_when_attached_dbSet() base.Entity_range_does_not_revert_when_attached_dbSet(); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(1) [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -93,9 +110,11 @@ SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"@__p_0='2' +""" +@__p_0='2' @__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] @@ -105,13 +124,16 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] ORDER BY [t].[CustomerID] -OFFSET @__p_1 ROWS FETCH NEXT 1 ROWS ONLY", +OFFSET @__p_1 ROWS FETCH NEXT 1 ROWS ONLY +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override void Precedence_of_tracking_modifiers5() @@ -119,10 +141,12 @@ public override void Precedence_of_tracking_modifiers5() base.Precedence_of_tracking_modifiers5(); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override void Precedence_of_tracking_modifiers2() @@ -130,8 +154,10 @@ public override void Precedence_of_tracking_modifiers2() base.Precedence_of_tracking_modifiers2(); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] -FROM [Employees] AS [e]"); +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +FROM [Employees] AS [e] +"""); } public override void Can_disable_and_reenable_query_result_tracking_query_caching() @@ -139,11 +165,15 @@ public override void Can_disable_and_reenable_query_result_tracking_query_cachin base.Can_disable_and_reenable_query_result_tracking_query_caching(); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] -FROM [Employees] AS [e]", +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +FROM [Employees] AS [e] +""", // - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] -FROM [Employees] AS [e]"); +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +FROM [Employees] AS [e] +"""); } public override void Entity_range_does_not_revert_when_attached_dbContext() @@ -151,7 +181,8 @@ public override void Entity_range_does_not_revert_when_attached_dbContext() base.Entity_range_does_not_revert_when_attached_dbContext(); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(1) [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -159,9 +190,11 @@ SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"@__p_0='2' +""" +@__p_0='2' @__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] @@ -171,13 +204,16 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] ORDER BY [t].[CustomerID] -OFFSET @__p_1 ROWS FETCH NEXT 1 ROWS ONLY", +OFFSET @__p_1 ROWS FETCH NEXT 1 ROWS ONLY +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override void Precedence_of_tracking_modifiers() @@ -185,8 +221,10 @@ public override void Precedence_of_tracking_modifiers() base.Precedence_of_tracking_modifiers(); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] -FROM [Employees] AS [e]"); +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +FROM [Employees] AS [e] +"""); } public override void Precedence_of_tracking_modifiers3() @@ -194,10 +232,12 @@ public override void Precedence_of_tracking_modifiers3() base.Precedence_of_tracking_modifiers3(); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override void Can_disable_and_reenable_query_result_tracking_starting_with_NoTracking() @@ -205,18 +245,22 @@ public override void Can_disable_and_reenable_query_result_tracking_starting_wit base.Can_disable_and_reenable_query_result_tracking_starting_with_NoTracking(); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(@__p_0) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -ORDER BY [e].[EmployeeID]", +ORDER BY [e].[EmployeeID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] ORDER BY [e].[EmployeeID] -OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY +"""); } public override void Entity_does_not_revert_when_attached_on_DbContext() @@ -224,8 +268,10 @@ public override void Entity_does_not_revert_when_attached_on_DbContext() base.Entity_does_not_revert_when_attached_on_DbContext(); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override void Can_disable_and_reenable_query_result_tracking_query_caching_single_context() @@ -233,11 +279,15 @@ public override void Can_disable_and_reenable_query_result_tracking_query_cachin base.Can_disable_and_reenable_query_result_tracking_query_caching_single_context(); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] -FROM [Employees] AS [e]", +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +FROM [Employees] AS [e] +""", // - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] -FROM [Employees] AS [e]"); +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +FROM [Employees] AS [e] +"""); } public override void Multiple_entities_can_revert() @@ -245,26 +295,40 @@ public override void Multiple_entities_can_revert() base.Multiple_entities_can_revert(); AssertSql( - @"SELECT [c].[PostalCode] -FROM [Customers] AS [c]", +""" +SELECT [c].[PostalCode] +FROM [Customers] AS [c] +""", // - @"SELECT [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT [c].[PostalCode] -FROM [Customers] AS [c]", +""" +SELECT [c].[PostalCode] +FROM [Customers] AS [c] +""", // - @"SELECT [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[Region] +FROM [Customers] AS [c] +"""); } public override void Precedence_of_tracking_modifiers4() @@ -272,10 +336,12 @@ public override void Precedence_of_tracking_modifiers4() base.Precedence_of_tracking_modifiers4(); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindCompiledQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindCompiledQuerySqlServerTest.cs index 95d733b97ed..9e878a78a4d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindCompiledQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindCompiledQuerySqlServerTest.cs @@ -25,11 +25,15 @@ public override void DbSet_query() base.DbSet_query(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override void DbSet_query_first() @@ -37,9 +41,11 @@ public override void DbSet_query_first() base.DbSet_query_first(); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override void Query_ending_with_include() @@ -47,15 +53,19 @@ public override void Query_ending_with_include() base.Query_ending_with_include(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override void Untyped_context() @@ -63,11 +73,15 @@ public override void Untyped_context() base.Untyped_context(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override void Query_with_single_parameter() @@ -75,17 +89,21 @@ public override void Query_with_single_parameter() base.Query_with_single_parameter(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID", +WHERE [c].[CustomerID] = @__customerID +""", // - @"@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID"); +WHERE [c].[CustomerID] = @__customerID +"""); } public override void First_query_with_single_parameter() @@ -93,17 +111,21 @@ public override void First_query_with_single_parameter() base.First_query_with_single_parameter(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID", +WHERE [c].[CustomerID] = @__customerID +""", // - @"@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID"); +WHERE [c].[CustomerID] = @__customerID +"""); } public override void Query_with_two_parameters() @@ -111,17 +133,21 @@ public override void Query_with_two_parameters() base.Query_with_two_parameters(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID", +WHERE [c].[CustomerID] = @__customerID +""", // - @"@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID"); +WHERE [c].[CustomerID] = @__customerID +"""); } public override void Query_with_three_parameters() @@ -129,17 +155,21 @@ public override void Query_with_three_parameters() base.Query_with_three_parameters(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID", +WHERE [c].[CustomerID] = @__customerID +""", // - @"@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID"); +WHERE [c].[CustomerID] = @__customerID +"""); } public override void Query_with_contains() @@ -147,13 +177,17 @@ public override void Query_with_contains() base.Query_with_contains(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ANATR'"); +WHERE [c].[CustomerID] = N'ANATR' +"""); } public override void Query_with_closure() @@ -161,13 +195,17 @@ public override void Query_with_closure() base.Query_with_closure(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override void Compiled_query_when_does_not_end_in_query_operator() @@ -175,11 +213,13 @@ public override void Compiled_query_when_does_not_end_in_query_operator() base.Compiled_query_when_does_not_end_in_query_operator(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID"); +WHERE [c].[CustomerID] = @__customerID +"""); } public override async Task Compiled_query_with_max_parameters() @@ -187,7 +227,8 @@ public override async Task Compiled_query_with_max_parameters() await base.Compiled_query_with_max_parameters(); AssertSql( - @"@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) @__s2='ANATR' (Size = 5) (DbType = StringFixedLength) @__s3='ANTON' (Size = 5) (DbType = StringFixedLength) @__s4='AROUT' (Size = 5) (DbType = StringFixedLength) @@ -205,9 +246,11 @@ public override async Task Compiled_query_with_max_parameters() SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 OR [c].[CustomerID] = @__s15", +WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 OR [c].[CustomerID] = @__s15 +""", // - @"@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) @__s2='ANATR' (Size = 5) (DbType = StringFixedLength) @__s3='ANTON' (Size = 5) (DbType = StringFixedLength) @__s4='AROUT' (Size = 5) (DbType = StringFixedLength) @@ -227,9 +270,11 @@ FROM [Customers] AS [c] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 OR [c].[CustomerID] = @__s15 -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) @__s2='ANATR' (Size = 5) (DbType = StringFixedLength) @__s3='ANTON' (Size = 5) (DbType = StringFixedLength) @__s4='AROUT' (Size = 5) (DbType = StringFixedLength) @@ -247,9 +292,11 @@ FROM [Customers] AS [c] SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 OR [c].[CustomerID] = @__s15", +WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 OR [c].[CustomerID] = @__s15 +""", // - @"@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) @__s2='ANATR' (Size = 5) (DbType = StringFixedLength) @__s3='ANTON' (Size = 5) (DbType = StringFixedLength) @__s4='AROUT' (Size = 5) (DbType = StringFixedLength) @@ -267,9 +314,11 @@ FROM [Customers] AS [c] SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 OR [c].[CustomerID] = @__s15", +WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 OR [c].[CustomerID] = @__s15 +""", // - @"@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) @__s2='ANATR' (Size = 5) (DbType = StringFixedLength) @__s3='ANTON' (Size = 5) (DbType = StringFixedLength) @__s4='AROUT' (Size = 5) (DbType = StringFixedLength) @@ -289,9 +338,11 @@ FROM [Customers] AS [c] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 OR [c].[CustomerID] = @__s15 -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) @__s2='ANATR' (Size = 5) (DbType = StringFixedLength) @__s3='ANTON' (Size = 5) (DbType = StringFixedLength) @__s4='AROUT' (Size = 5) (DbType = StringFixedLength) @@ -309,9 +360,11 @@ FROM [Customers] AS [c] SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 OR [c].[CustomerID] = @__s15", +WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 OR [c].[CustomerID] = @__s15 +""", // - @"@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__s1='ALFKI' (Size = 5) (DbType = StringFixedLength) @__s2='ANATR' (Size = 5) (DbType = StringFixedLength) @__s3='ANTON' (Size = 5) (DbType = StringFixedLength) @__s4='AROUT' (Size = 5) (DbType = StringFixedLength) @@ -328,7 +381,8 @@ FROM [Customers] AS [c] SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14"); +WHERE [c].[CustomerID] = @__s1 OR [c].[CustomerID] = @__s2 OR [c].[CustomerID] = @__s3 OR [c].[CustomerID] = @__s4 OR [c].[CustomerID] = @__s5 OR [c].[CustomerID] = @__s6 OR [c].[CustomerID] = @__s7 OR [c].[CustomerID] = @__s8 OR [c].[CustomerID] = @__s9 OR [c].[CustomerID] = @__s10 OR [c].[CustomerID] = @__s11 OR [c].[CustomerID] = @__s12 OR [c].[CustomerID] = @__s13 OR [c].[CustomerID] = @__s14 +"""); } public override void MakeBinary_does_not_throw_for_unsupported_operator() @@ -388,21 +442,29 @@ public override void Multiple_queries() base.Multiple_queries(); AssertSql( - @"SELECT TOP(1) [c].[CustomerID] +""" +SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT TOP(1) [o].[CustomerID] +""" +SELECT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] -ORDER BY [o].[CustomerID]", +ORDER BY [o].[CustomerID] +""", // - @"SELECT TOP(1) [c].[CustomerID] +""" +SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT TOP(1) [o].[CustomerID] +""" +SELECT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] -ORDER BY [o].[CustomerID]"); +ORDER BY [o].[CustomerID] +"""); } public override void Compiled_query_when_using_member_on_context() @@ -410,13 +472,17 @@ public override void Compiled_query_when_using_member_on_context() base.Compiled_query_when_using_member_on_context(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'", +WHERE [c].[CustomerID] LIKE N'A%' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task First_query_with_cancellation_async() @@ -424,17 +490,21 @@ public override async Task First_query_with_cancellation_async() await base.First_query_with_cancellation_async(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID", +WHERE [c].[CustomerID] = @__customerID +""", // - @"@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID"); +WHERE [c].[CustomerID] = @__customerID +"""); } public override async Task DbSet_query_first_async() @@ -442,9 +512,11 @@ public override async Task DbSet_query_first_async() await base.DbSet_query_first_async(); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task First_query_with_single_parameter_async() @@ -452,17 +524,21 @@ public override async Task First_query_with_single_parameter_async() await base.First_query_with_single_parameter_async(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID", +WHERE [c].[CustomerID] = @__customerID +""", // - @"@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID"); +WHERE [c].[CustomerID] = @__customerID +"""); } public override async Task Keyless_query_first_async() @@ -470,11 +546,13 @@ public override async Task Keyless_query_first_async() await base.Keyless_query_first_async(); AssertSql( - @"SELECT TOP(1) [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle] +""" +SELECT TOP(1) [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ) AS [m] -ORDER BY [m].[CompanyName]"); +ORDER BY [m].[CompanyName] +"""); } public override async Task Query_with_closure_async_null() @@ -482,9 +560,11 @@ public override async Task Query_with_closure_async_null() await base.Query_with_closure_async_null(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Query_with_three_parameters_async() @@ -492,17 +572,21 @@ public override async Task Query_with_three_parameters_async() await base.Query_with_three_parameters_async(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID", +WHERE [c].[CustomerID] = @__customerID +""", // - @"@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID"); +WHERE [c].[CustomerID] = @__customerID +"""); } public override async Task Query_with_two_parameters_async() @@ -510,17 +594,21 @@ public override async Task Query_with_two_parameters_async() await base.Query_with_two_parameters_async(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID", +WHERE [c].[CustomerID] = @__customerID +""", // - @"@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID"); +WHERE [c].[CustomerID] = @__customerID +"""); } public override async Task Keyless_query_async() @@ -528,9 +616,13 @@ public override async Task Keyless_query_async() await base.Keyless_query_async(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c]", +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] +"""); } public override async Task Query_with_single_parameter_async() @@ -538,17 +630,21 @@ public override async Task Query_with_single_parameter_async() await base.Query_with_single_parameter_async(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID", +WHERE [c].[CustomerID] = @__customerID +""", // - @"@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__customerID"); +WHERE [c].[CustomerID] = @__customerID +"""); } public override void Keyless_query_first() @@ -556,11 +652,13 @@ public override void Keyless_query_first() base.Keyless_query_first(); AssertSql( - @"SELECT TOP(1) [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle] +""" +SELECT TOP(1) [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ) AS [m] -ORDER BY [m].[CompanyName]"); +ORDER BY [m].[CompanyName] +"""); } public override void Query_with_closure_null() @@ -568,9 +666,11 @@ public override void Query_with_closure_null() base.Query_with_closure_null(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Query_with_closure_async() @@ -578,13 +678,17 @@ public override async Task Query_with_closure_async() await base.Query_with_closure_async(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Untyped_context_async() @@ -592,11 +696,15 @@ public override async Task Untyped_context_async() await base.Untyped_context_async(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task DbSet_query_async() @@ -604,11 +712,15 @@ public override async Task DbSet_query_async() await base.DbSet_query_async(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override void Keyless_query() @@ -616,9 +728,13 @@ public override void Keyless_query() base.Keyless_query(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c]", +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] +"""); } public override void Query_with_single_parameter_with_include() @@ -626,21 +742,25 @@ public override void Query_with_single_parameter_with_include() base.Query_with_single_parameter_with_include(); AssertSql( - @"@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = @__customerID -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = @__customerID -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindDbFunctionsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindDbFunctionsQuerySqlServerTest.cs index e68e3e44c20..2a10a1de857 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindDbFunctionsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindDbFunctionsQuerySqlServerTest.cs @@ -28,9 +28,11 @@ public override async Task Like_literal(bool async) await base.Like_literal(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[ContactName] LIKE N'%M%'"); +WHERE [c].[ContactName] LIKE N'%M%' +"""); } public override async Task Like_identity(bool async) @@ -38,9 +40,11 @@ public override async Task Like_identity(bool async) await base.Like_identity(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[ContactName] LIKE [c].[ContactName]"); +WHERE [c].[ContactName] LIKE [c].[ContactName] +"""); } public override async Task Like_literal_with_escape(bool async) @@ -48,9 +52,11 @@ public override async Task Like_literal_with_escape(bool async) await base.Like_literal_with_escape(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[ContactName] LIKE N'!%' ESCAPE N'!'"); +WHERE [c].[ContactName] LIKE N'!%' ESCAPE N'!' +"""); } public override async Task Like_all_literals(bool async) @@ -58,9 +64,11 @@ public override async Task Like_all_literals(bool async) await base.Like_all_literals(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE N'FOO' LIKE N'%O%'"); +WHERE N'FOO' LIKE N'%O%' +"""); } public override async Task Like_all_literals_with_escape(bool async) @@ -68,9 +76,11 @@ public override async Task Like_all_literals_with_escape(bool async) await base.Like_all_literals_with_escape(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE N'%' LIKE N'!%' ESCAPE N'!'"); +WHERE N'%' LIKE N'!%' ESCAPE N'!' +"""); } public override async Task Collate_case_insensitive(bool async) @@ -78,9 +88,11 @@ public override async Task Collate_case_insensitive(bool async) await base.Collate_case_insensitive(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[ContactName] COLLATE Latin1_General_CI_AI = N'maria anders'"); +WHERE [c].[ContactName] COLLATE Latin1_General_CI_AI = N'maria anders' +"""); } public override async Task Collate_case_sensitive(bool async) @@ -88,9 +100,11 @@ public override async Task Collate_case_sensitive(bool async) await base.Collate_case_sensitive(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[ContactName] COLLATE Latin1_General_CS_AS = N'maria anders'"); +WHERE [c].[ContactName] COLLATE Latin1_General_CS_AS = N'maria anders' +"""); } public override async Task Collate_case_sensitive_constant(bool async) @@ -98,9 +112,11 @@ public override async Task Collate_case_sensitive_constant(bool async) await base.Collate_case_sensitive_constant(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[ContactName] = N'maria anders' COLLATE Latin1_General_CS_AS"); +WHERE [c].[ContactName] = N'maria anders' COLLATE Latin1_General_CS_AS +"""); } protected override string CaseInsensitiveCollation @@ -121,9 +137,11 @@ public async Task FreeText_literal() Assert.Equal(1u, result.First().EmployeeID); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE FREETEXT([e].[Title], N'Representative')"); +WHERE FREETEXT([e].[Title], N'Representative') +"""); } [ConditionalFact] @@ -145,9 +163,11 @@ public void FreeText_multiple_words() Assert.Equal(9, result); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Employees] AS [e] -WHERE FREETEXT([e].[Title], N'Representative Sales')"); +WHERE FREETEXT([e].[Title], N'Representative Sales') +"""); } [ConditionalFact] @@ -160,9 +180,11 @@ public void FreeText_with_language_term() Assert.Equal(2u, result.EmployeeID); AssertSql( - @"SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE FREETEXT([e].[Title], N'President', LANGUAGE 1033)"); +WHERE FREETEXT([e].[Title], N'President', LANGUAGE 1033) +"""); } [ConditionalFact] @@ -176,9 +198,11 @@ public void FreeText_with_non_literal_language_term() Assert.Equal(2u, result.EmployeeID); AssertSql( - @"SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE FREETEXT([e].[Title], N'President', LANGUAGE 1033)"); +WHERE FREETEXT([e].[Title], N'President', LANGUAGE 1033) +"""); } [ConditionalFact] @@ -193,9 +217,11 @@ public void FreeText_with_multiple_words_and_language_term() Assert.Equal(1u, result.First().EmployeeID); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE FREETEXT([e].[Title], N'Representative President', LANGUAGE 1033)"); +WHERE FREETEXT([e].[Title], N'Representative President', LANGUAGE 1033) +"""); } [ConditionalFact] @@ -212,9 +238,11 @@ public void FreeText_multiple_predicates() Assert.Equal(5u, result.EmployeeID); AssertSql( - @"SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE FREETEXT([e].[City], N'London') AND FREETEXT([e].[Title], N'Manager', LANGUAGE 1033)"); +WHERE FREETEXT([e].[City], N'London') AND FREETEXT([e].[Title], N'Manager', LANGUAGE 1033) +"""); } [ConditionalFact] @@ -242,11 +270,13 @@ public void FreeText_through_navigation() Assert.Equal(8u, result.EmployeeID); AssertSql( - @"SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] WHERE FREETEXT([e0].[Title], N'President') AND FREETEXT([e].[Title], N'Inside') AND ([e].[FirstName] LIKE N'%Lau%') -ORDER BY [e].[EmployeeID] DESC"); +ORDER BY [e].[EmployeeID] DESC +"""); } [ConditionalFact] @@ -264,10 +294,12 @@ public void FreeText_through_navigation_with_language_terms() Assert.Equal(8u, result.EmployeeID); AssertSql( - @"SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] -WHERE FREETEXT([e0].[Title], N'President', LANGUAGE 1033) AND FREETEXT([e].[Title], N'Inside', LANGUAGE 1031) AND ([e].[FirstName] LIKE N'%Lau%')"); +WHERE FREETEXT([e0].[Title], N'President', LANGUAGE 1033) AND FREETEXT([e].[Title], N'Inside', LANGUAGE 1031) AND ([e].[FirstName] LIKE N'%Lau%') +"""); } [ConditionalFact] @@ -362,9 +394,11 @@ public async Task Contains_literal() Assert.Equal(1u, result.First().EmployeeID); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CONTAINS([e].[Title], N'Representative')"); +WHERE CONTAINS([e].[Title], N'Representative') +"""); } [ConditionalFact] @@ -377,9 +411,11 @@ public void Contains_with_language_term() Assert.Equal(2u, result.EmployeeID); AssertSql( - @"SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CONTAINS([e].[Title], N'President', LANGUAGE 1033)"); +WHERE CONTAINS([e].[Title], N'President', LANGUAGE 1033) +"""); } [ConditionalFact] @@ -393,9 +429,11 @@ public void Contains_with_non_literal_language_term() Assert.Equal(2u, result.EmployeeID); AssertSql( - @"SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CONTAINS([e].[Title], N'President', LANGUAGE 1033)"); +WHERE CONTAINS([e].[Title], N'President', LANGUAGE 1033) +"""); } [ConditionalFact] @@ -411,9 +449,11 @@ public async Task Contains_with_logical_operator() Assert.Equal(2u, result.First().EmployeeID); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CONTAINS([e].[Title], N'Vice OR Inside')"); +WHERE CONTAINS([e].[Title], N'Vice OR Inside') +"""); } [ConditionalFact] @@ -427,9 +467,11 @@ public async Task Contains_with_prefix_term_and_language_term() Assert.Equal(5u, result.EmployeeID); AssertSql( - @"SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CONTAINS([e].[Title], N'""Mana*""', LANGUAGE 1033)"); +WHERE CONTAINS([e].[Title], N'"Mana*"', LANGUAGE 1033) +"""); } [ConditionalFact] @@ -443,9 +485,11 @@ public async Task Contains_with_proximity_term_and_language_term() Assert.Equal(2u, result.EmployeeID); AssertSql( - @"SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CONTAINS([e].[Title], N'NEAR((Sales, President), 1)', LANGUAGE 1033)"); +WHERE CONTAINS([e].[Title], N'NEAR((Sales, President), 1)', LANGUAGE 1033) +"""); } [ConditionalFact] @@ -463,10 +507,12 @@ public void Contains_through_navigation() Assert.Equal(8u, result.EmployeeID); AssertSql( - @"SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] -WHERE CONTAINS([e0].[Title], N'President') AND CONTAINS([e].[Title], N'""Ins*""')"); +WHERE CONTAINS([e0].[Title], N'President') AND CONTAINS([e].[Title], N'"Ins*"') +"""); } [ConditionalTheory] @@ -481,9 +527,11 @@ await AssertCount( c => c.OrderDate.Value.Year - DateTime.Now.Year == 0); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(year, [o].[OrderDate], GETDATE()) = 0"); +WHERE DATEDIFF(year, [o].[OrderDate], GETDATE()) = 0 +"""); } [ConditionalTheory] @@ -499,9 +547,11 @@ await AssertCount( c => c.OrderDate.Value.Year * 12 + c.OrderDate.Value.Month - (now.Year * 12 + now.Month) == 0); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(month, [o].[OrderDate], GETDATE()) = 0"); +WHERE DATEDIFF(month, [o].[OrderDate], GETDATE()) = 0 +"""); } [ConditionalTheory] @@ -516,9 +566,11 @@ await AssertCount( c => false); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(day, [o].[OrderDate], GETDATE()) = 0"); +WHERE DATEDIFF(day, [o].[OrderDate], GETDATE()) = 0 +"""); } [ConditionalTheory] @@ -533,9 +585,11 @@ await AssertCount( c => false); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(hour, [o].[OrderDate], GETDATE()) = 0"); +WHERE DATEDIFF(hour, [o].[OrderDate], GETDATE()) = 0 +"""); } [ConditionalTheory] @@ -550,9 +604,11 @@ await AssertCount( c => false); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(minute, [o].[OrderDate], GETDATE()) = 0"); +WHERE DATEDIFF(minute, [o].[OrderDate], GETDATE()) = 0 +"""); } [ConditionalTheory] @@ -567,9 +623,11 @@ await AssertCount( c => false); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(second, [o].[OrderDate], GETDATE()) = 0"); +WHERE DATEDIFF(second, [o].[OrderDate], GETDATE()) = 0 +"""); } [ConditionalTheory] @@ -584,9 +642,11 @@ await AssertCount( c => false); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(millisecond, GETDATE(), DATEADD(day, CAST(1.0E0 AS int), GETDATE())) = 0"); +WHERE DATEDIFF(millisecond, GETDATE(), DATEADD(day, CAST(1.0E0 AS int), GETDATE())) = 0 +"""); } [ConditionalTheory] @@ -601,9 +661,11 @@ await AssertCount( c => false); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(microsecond, GETDATE(), DATEADD(second, CAST(1.0E0 AS int), GETDATE())) = 0"); +WHERE DATEDIFF(microsecond, GETDATE(), DATEADD(second, CAST(1.0E0 AS int), GETDATE())) = 0 +"""); } [ConditionalTheory] @@ -618,9 +680,11 @@ await AssertCount( c => false); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(nanosecond, GETDATE(), DATEADD(second, CAST(1.0E0 AS int), GETDATE())) = 0"); +WHERE DATEDIFF(nanosecond, GETDATE(), DATEADD(second, CAST(1.0E0 AS int), GETDATE())) = 0 +"""); } [ConditionalFact] @@ -637,9 +701,11 @@ public virtual void DateDiff_Week_datetime() Assert.Equal(16, count); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(week, [o].[OrderDate], '1998-05-06T00:00:00.000') = 5"); +WHERE DATEDIFF(week, [o].[OrderDate], '1998-05-06T00:00:00.000') = 5 +"""); } [ConditionalFact] @@ -656,9 +722,11 @@ public virtual void DateDiff_Week_datetimeoffset() Assert.Equal(16, count); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(week, CAST([o].[OrderDate] AS datetimeoffset), '1998-05-06T00:00:00.0000000+00:00') = 5"); +WHERE DATEDIFF(week, CAST([o].[OrderDate] AS datetimeoffset), '1998-05-06T00:00:00.0000000+00:00') = 5 +"""); } [ConditionalFact] @@ -675,9 +743,11 @@ public virtual void DateDiff_Week_parameters_null() Assert.Equal(0, count); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE DATEDIFF(week, NULL, [o].[OrderDate]) = 5"); +WHERE DATEDIFF(week, NULL, [o].[OrderDate]) = 5 +"""); } [ConditionalTheory] @@ -690,9 +760,11 @@ await AssertQueryScalar( ss => ss.Set().Select(c => false)); AssertSql( - @"SELECT CAST(ISDATE([o].[CustomerID]) AS bit) +""" +SELECT CAST(ISDATE([o].[CustomerID]) AS bit) FROM [Orders] AS [o] -WHERE CAST(ISDATE([o].[CustomerID]) AS bit) = CAST(0 AS bit)"); +WHERE CAST(ISDATE([o].[CustomerID]) AS bit) = CAST(0 AS bit) +"""); } [ConditionalTheory] @@ -707,9 +779,11 @@ await AssertQueryScalar( ss => ss.Set().Select(o => true)); AssertSql( - @"SELECT CAST(ISDATE(CONVERT(varchar(100), [o].[OrderDate])) AS bit) +""" +SELECT CAST(ISDATE(CONVERT(varchar(100), [o].[OrderDate])) AS bit) FROM [Orders] AS [o] -WHERE CAST(ISDATE(CONVERT(varchar(100), [o].[OrderDate])) AS bit) = CAST(1 AS bit)"); +WHERE CAST(ISDATE(CONVERT(varchar(100), [o].[OrderDate])) AS bit) = CAST(1 AS bit) +"""); } [ConditionalTheory] @@ -724,9 +798,11 @@ await AssertCount( c => false); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE CAST(ISDATE(COALESCE([o].[CustomerID], N'') + CAST([o].[OrderID] AS nchar(5))) AS bit) = CAST(1 AS bit)"); +WHERE CAST(ISDATE(COALESCE([o].[CustomerID], N'') + CAST([o].[OrderID] AS nchar(5))) AS bit) = CAST(1 AS bit) +"""); } [ConditionalFact] @@ -751,12 +827,14 @@ await AssertQueryScalar( ss => ss.Set().Select(c => false)); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ISNUMERIC(CONVERT(varchar(100), [o].[OrderDate])) = 1 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Orders] AS [o] -WHERE ISNUMERIC(CONVERT(varchar(100), [o].[OrderDate])) <> 1"); +WHERE ISNUMERIC(CONVERT(varchar(100), [o].[OrderDate])) <> 1 +"""); } [ConditionalTheory] @@ -771,12 +849,14 @@ await AssertQueryScalar( ss => ss.Set().Select(o => true)); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ISNUMERIC(CONVERT(varchar(100), [o].[UnitPrice])) = 1 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Order Details] AS [o] -WHERE ISNUMERIC(CONVERT(varchar(100), [o].[UnitPrice])) = 1"); +WHERE ISNUMERIC(CONVERT(varchar(100), [o].[UnitPrice])) = 1 +"""); } [ConditionalTheory] @@ -791,9 +871,11 @@ await AssertCount( c => false); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE ISNUMERIC(COALESCE([o].[CustomerID], N'') + CAST([o].[OrderID] AS nchar(5))) = 1"); +WHERE ISNUMERIC(COALESCE([o].[CustomerID], N'') + CAST([o].[OrderID] AS nchar(5))) = 1 +"""); } [ConditionalFact] @@ -818,9 +900,11 @@ await AssertCount( c => c.OrderDate > new DateTime(DateTime.Now.Year, 12, 31, 23, 59, 59, 999)); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE [o].[OrderDate] > DATETIMEFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 999)"); +WHERE [o].[OrderDate] > DATETIMEFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 999) +"""); } [ConditionalTheory] @@ -835,9 +919,11 @@ await AssertCount( c => new DateTime(2018, 12, 29, 23, 20, 40) > new DateTime(DateTime.Now.Year, 12, 31, 23, 59, 59, 999)); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE '2018-12-29T23:20:40.000' > DATETIMEFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 999)"); +WHERE '2018-12-29T23:20:40.000' > DATETIMEFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 999) +"""); } [ConditionalTheory] @@ -859,7 +945,8 @@ await AssertCount( dateTime.Millisecond)); AssertSql( - @"@__dateTime_0='1919-12-12T10:20:15.0000000' (DbType = DateTime) +""" +@__dateTime_0='1919-12-12T10:20:15.0000000' (DbType = DateTime) @__dateTime_Month_2='12' @__dateTime_Day_3='12' @__dateTime_Hour_4='10' @@ -869,7 +956,8 @@ await AssertCount( SELECT COUNT(*) FROM [Orders] AS [o] -WHERE @__dateTime_0 > DATETIMEFROMPARTS(DATEPART(year, GETDATE()), @__dateTime_Month_2, @__dateTime_Day_3, @__dateTime_Hour_4, @__dateTime_Minute_5, @__dateTime_Second_6, @__dateTime_Millisecond_7)"); +WHERE @__dateTime_0 > DATETIMEFROMPARTS(DATEPART(year, GETDATE()), @__dateTime_Month_2, @__dateTime_Day_3, @__dateTime_Hour_4, @__dateTime_Minute_5, @__dateTime_Second_6, @__dateTime_Millisecond_7) +"""); } [ConditionalTheory] @@ -884,9 +972,11 @@ await AssertCount( c => c.OrderDate > new DateTime(DateTime.Now.Year, 12, 31)); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE [o].[OrderDate] > DATEFROMPARTS(DATEPART(year, GETDATE()), 12, 31)"); +WHERE [o].[OrderDate] > DATEFROMPARTS(DATEPART(year, GETDATE()), 12, 31) +"""); } [ConditionalTheory] @@ -901,9 +991,11 @@ await AssertCount( c => new DateTime(2018, 12, 29) > new DateTime(DateTime.Now.Year, 12, 31)); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE '2018-12-29' > DATEFROMPARTS(DATEPART(year, GETDATE()), 12, 31)"); +WHERE '2018-12-29' > DATEFROMPARTS(DATEPART(year, GETDATE()), 12, 31) +"""); } [ConditionalTheory] @@ -919,13 +1011,15 @@ await AssertCount( c => date > new DateTime(DateTime.Now.Year, date.Month, date.Day)); AssertSql( - @"@__date_0='1919-12-12T00:00:00.0000000' (DbType = Date) +""" +@__date_0='1919-12-12T00:00:00.0000000' (DbType = Date) @__date_Month_2='12' @__date_Day_3='12' SELECT COUNT(*) FROM [Orders] AS [o] -WHERE @__date_0 > DATEFROMPARTS(DATEPART(year, GETDATE()), @__date_Month_2, @__date_Day_3)"); +WHERE @__date_0 > DATEFROMPARTS(DATEPART(year, GETDATE()), @__date_Month_2, @__date_Day_3) +"""); } [ConditionalFact] @@ -939,9 +1033,11 @@ public virtual void DateTime2FromParts_column_compare() Assert.Equal(0, count); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE [o].[OrderDate] > DATETIME2FROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 999, 3)"); +WHERE [o].[OrderDate] > DATETIME2FROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 999, 3) +"""); } } @@ -958,9 +1054,11 @@ public virtual void DateTime2FromParts_constant_compare() Assert.Equal(0, count); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE '2018-12-29T23:20:40.0000000' > DATETIME2FROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 9999999, 7)"); +WHERE '2018-12-29T23:20:40.0000000' > DATETIME2FROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 9999999, 7) +"""); } } @@ -981,7 +1079,8 @@ public virtual void DateTime2FromParts_compare_with_local_variable() Assert.Equal(0, count); AssertSql( - @"@__dateTime_0='1919-12-12T10:20:15.0000000' +""" +@__dateTime_0='1919-12-12T10:20:15.0000000' @__dateTime_Month_2='12' @__dateTime_Day_3='12' @__dateTime_Hour_4='10' @@ -991,7 +1090,8 @@ public virtual void DateTime2FromParts_compare_with_local_variable() SELECT COUNT(*) FROM [Orders] AS [o] -WHERE @__dateTime_0 > DATETIME2FROMPARTS(DATEPART(year, GETDATE()), @__dateTime_Month_2, @__dateTime_Day_3, @__dateTime_Hour_4, @__dateTime_Minute_5, @__dateTime_Second_6, @__fractions_7, 7)"); +WHERE @__dateTime_0 > DATETIME2FROMPARTS(DATEPART(year, GETDATE()), @__dateTime_Month_2, @__dateTime_Day_3, @__dateTime_Hour_4, @__dateTime_Minute_5, @__dateTime_Second_6, @__fractions_7, 7) +"""); } } @@ -1006,9 +1106,11 @@ public virtual void DateTimeOffsetFromParts_column_compare() Assert.Equal(0, count); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE CAST([o].[OrderDate] AS datetimeoffset) > DATETIMEOFFSETFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 5, 12, 30, 1)"); +WHERE CAST([o].[OrderDate] AS datetimeoffset) > DATETIMEOFFSETFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 5, 12, 30, 1) +"""); } } @@ -1025,9 +1127,11 @@ public virtual void DateTimeOffsetFromParts_constant_compare() Assert.Equal(0, count); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE '2018-12-29T23:20:40.0000000+01:00' > DATETIMEOFFSETFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 50, 1, 0, 7)"); +WHERE '2018-12-29T23:20:40.0000000+01:00' > DATETIMEOFFSETFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 23, 59, 59, 50, 1, 0, 7) +"""); } } @@ -1050,7 +1154,8 @@ public virtual void DateTimeOffsetFromParts_compare_with_local_variable() Assert.Equal(0, count); AssertSql( - @"@__dateTimeOffset_0='1919-12-12T10:20:15.0000000+01:30' +""" +@__dateTimeOffset_0='1919-12-12T10:20:15.0000000+01:30' @__dateTimeOffset_Month_2='12' @__dateTimeOffset_Day_3='12' @__dateTimeOffset_Hour_4='10' @@ -1062,7 +1167,8 @@ public virtual void DateTimeOffsetFromParts_compare_with_local_variable() SELECT COUNT(*) FROM [Orders] AS [o] -WHERE @__dateTimeOffset_0 > DATETIMEOFFSETFROMPARTS(DATEPART(year, GETDATE()), @__dateTimeOffset_Month_2, @__dateTimeOffset_Day_3, @__dateTimeOffset_Hour_4, @__dateTimeOffset_Minute_5, @__dateTimeOffset_Second_6, @__fractions_7, @__hourOffset_8, @__minuteOffset_9, 7)"); +WHERE @__dateTimeOffset_0 > DATETIMEOFFSETFROMPARTS(DATEPART(year, GETDATE()), @__dateTimeOffset_Month_2, @__dateTimeOffset_Day_3, @__dateTimeOffset_Hour_4, @__dateTimeOffset_Minute_5, @__dateTimeOffset_Second_6, @__fractions_7, @__hourOffset_8, @__minuteOffset_9, 7) +"""); } } @@ -1078,9 +1184,11 @@ await AssertCount( c => c.OrderDate > new DateTime(DateTime.Now.Year, 12, 31, 12, 59, 0)); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE [o].[OrderDate] > SMALLDATETIMEFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 12, 59)"); +WHERE [o].[OrderDate] > SMALLDATETIMEFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 12, 59) +"""); } [ConditionalTheory] @@ -1095,9 +1203,11 @@ await AssertCount( c => new DateTime(2018, 12, 29, 23, 20, 0) > new DateTime(DateTime.Now.Year, 12, 31, 12, 59, 0)); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE '2018-12-29T23:20:00' > SMALLDATETIMEFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 12, 59)"); +WHERE '2018-12-29T23:20:00' > SMALLDATETIMEFROMPARTS(DATEPART(year, GETDATE()), 12, 31, 12, 59) +"""); } [ConditionalTheory] @@ -1114,7 +1224,8 @@ await AssertCount( c => dateTime > new DateTime(DateTime.Now.Year, dateTime.Month, dateTime.Day, dateTime.Hour, dateTime.Minute, 0)); AssertSql( - @"@__dateTime_0='1919-12-12T23:20:00.0000000' (DbType = DateTime) +""" +@__dateTime_0='1919-12-12T23:20:00.0000000' (DbType = DateTime) @__dateTime_Month_2='12' @__dateTime_Day_3='12' @__dateTime_Hour_4='23' @@ -1122,7 +1233,8 @@ await AssertCount( SELECT COUNT(*) FROM [Orders] AS [o] -WHERE @__dateTime_0 > SMALLDATETIMEFROMPARTS(DATEPART(year, GETDATE()), @__dateTime_Month_2, @__dateTime_Day_3, @__dateTime_Hour_4, @__dateTime_Minute_5)"); +WHERE @__dateTime_0 > SMALLDATETIMEFROMPARTS(DATEPART(year, GETDATE()), @__dateTime_Month_2, @__dateTime_Day_3, @__dateTime_Hour_4, @__dateTime_Minute_5) +"""); } [ConditionalTheory] @@ -1137,9 +1249,11 @@ await AssertCount( c => new TimeSpan(23, 59, 0) > new TimeSpan(0, 23, 59, 59, c.OrderID % 60)); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE '23:59:00' > TIMEFROMPARTS(23, 59, 59, [o].[OrderID] % 60, 3)"); +WHERE '23:59:00' > TIMEFROMPARTS(23, 59, 59, [o].[OrderID] % 60, 3) +"""); } [ConditionalTheory] @@ -1153,8 +1267,10 @@ await AssertQueryScalar( ss => ss.Set().Select(o => new TimeSpan(0, 23, 59, 59, o.OrderID % 60))); AssertSql( - @"SELECT TIMEFROMPARTS(23, 59, 59, [o].[OrderID] % 60, 3) -FROM [Orders] AS [o]"); +""" +SELECT TIMEFROMPARTS(23, 59, 59, [o].[OrderID] % 60, 3) +FROM [Orders] AS [o] +"""); } [ConditionalTheory] @@ -1169,9 +1285,11 @@ await AssertCount( c => c.OrderID % 10 == 8); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE ([o].[OrderID] % 10) = DATALENGTH([o].[OrderDate])"); +WHERE ([o].[OrderID] % 10) = DATALENGTH([o].[OrderDate]) +"""); } [ConditionalFact] @@ -1185,9 +1303,11 @@ public virtual void DataLength_constant_compare() Assert.Equal(0, count); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE 100 < DATALENGTH([o].[OrderDate])"); +WHERE 100 < DATALENGTH([o].[OrderDate]) +"""); } } @@ -1203,11 +1323,13 @@ public virtual void DataLength_compare_with_local_variable() Assert.Equal(0, count); AssertSql( - @"@__lenght_0='100' (Nullable = true) +""" +@__lenght_0='100' (Nullable = true) SELECT COUNT(*) FROM [Orders] AS [o] -WHERE @__lenght_0 < DATALENGTH([o].[OrderDate])"); +WHERE @__lenght_0 < DATALENGTH([o].[OrderDate]) +"""); } } @@ -1222,9 +1344,11 @@ public virtual void DataLength_all_constants() Assert.Equal(0, count); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE CAST(DATALENGTH(N'foo') AS int) = 3"); +WHERE CAST(DATALENGTH(N'foo') AS int) = 3 +"""); } } @@ -1233,9 +1357,11 @@ public override async Task Random_return_less_than_1(bool async) await base.Random_return_less_than_1(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE RAND() < 1.0E0"); +WHERE RAND() < 1.0E0 +"""); } public override async Task Random_return_greater_than_0(bool async) @@ -1243,9 +1369,11 @@ public override async Task Random_return_greater_than_0(bool async) await base.Random_return_greater_than_0(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -WHERE RAND() >= 0.0E0"); +WHERE RAND() >= 0.0E0 +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindEFPropertyIncludeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindEFPropertyIncludeQuerySqlServerTest.cs index b0dc6d4c18d..74a621e49e1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindEFPropertyIncludeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindEFPropertyIncludeQuerySqlServerTest.cs @@ -32,11 +32,13 @@ public override async Task Include_collection_with_filter_reordered(bool async) await base.Include_collection_with_filter_reordered(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key_with_first_or_default(bool async) @@ -44,14 +46,16 @@ public override async Task Include_collection_order_by_non_key_with_first_or_def await base.Include_collection_order_by_non_key_with_first_or_default(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_with_cycle_does_not_throw_when_AsTracking_NoTrackingWithIdentityResolution(bool async) @@ -59,12 +63,14 @@ public override async Task Include_with_cycle_does_not_throw_when_AsTracking_NoT await base.Include_with_cycle_does_not_throw_when_AsTracking_NoTrackingWithIdentityResolution(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [o].[OrderID] < 10800 -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_with_filter(bool async) @@ -72,11 +78,13 @@ public override async Task Include_collection_with_filter(bool async) await base.Include_collection_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_references_then_include_multi_level(bool async) @@ -84,11 +92,13 @@ public override async Task Include_references_then_include_multi_level(bool asyn await base.Include_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_order_by_collection_column(bool async) @@ -96,7 +106,8 @@ public override async Task Include_collection_order_by_collection_column(bool as await base.Include_collection_order_by_collection_column(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -112,7 +123,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderDate] DESC) DESC ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID]"); +ORDER BY [t].[c] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_alias_generation(bool async) @@ -120,11 +132,13 @@ public override async Task Include_collection_alias_generation(bool async) await base.Include_collection_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_collection_skip_take_no_order_by(bool async) @@ -132,7 +146,8 @@ public override async Task Include_collection_skip_take_no_order_by(bool async) await base.Include_collection_skip_take_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -143,7 +158,8 @@ ORDER BY (SELECT 1) OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_with_cross_join_clause_with_filter(bool async) @@ -151,7 +167,8 @@ public override async Task Include_collection_with_cross_join_clause_with_filter await base.Include_collection_with_cross_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] CROSS JOIN ( SELECT TOP(5) [o].[OrderID] @@ -160,7 +177,8 @@ ORDER BY [o].[OrderID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Join_Include_reference_GroupBy_Select(bool async) @@ -168,7 +186,8 @@ public override async Task Join_Include_reference_GroupBy_Select(bool async) await base.Join_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -184,7 +203,8 @@ FROM [Order Details] AS [o1] LEFT JOIN [Customers] AS [c] ON [o2].[CustomerID] = [c].[CustomerID] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_multi_level_reference_and_collection_predicate(bool async) @@ -192,7 +212,8 @@ public override async Task Include_multi_level_reference_and_collection_predicat await base.Include_multi_level_reference_and_collection_predicate(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] AS [CustomerID0], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] @@ -200,7 +221,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] = 10248 ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID0] = [o0].[CustomerID] -ORDER BY [t].[OrderID], [t].[CustomerID0]"); +ORDER BY [t].[OrderID], [t].[CustomerID0] +"""); } public override async Task Include_references_then_include_collection(bool async) @@ -208,12 +230,14 @@ public override async Task Include_references_then_include_collection(bool async await base.Include_references_then_include_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_on_additional_from_clause_with_filter(bool async) @@ -221,7 +245,8 @@ public override async Task Include_collection_on_additional_from_clause_with_fil await base.Include_collection_on_additional_from_clause_with_filter(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] CROSS JOIN ( SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] @@ -229,7 +254,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID], [t].[CustomerID]"); +ORDER BY [c].[CustomerID], [t].[CustomerID] +"""); } public override async Task Include_duplicate_reference3(bool async) @@ -237,7 +263,8 @@ public override async Task Include_duplicate_reference3(bool async) await base.Include_duplicate_reference3(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( @@ -252,7 +279,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t0].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key_with_take(bool async) @@ -260,7 +288,8 @@ public override async Task Include_collection_order_by_non_key_with_take(bool as await base.Include_collection_order_by_non_key_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -269,7 +298,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactTitle] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_collection_then_include_collection_predicate(bool async) @@ -277,7 +307,8 @@ public override async Task Include_collection_then_include_collection_predicate( await base.Include_collection_then_include_collection_predicate(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -288,7 +319,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Include_collection_take_no_order_by(bool async) @@ -296,7 +328,8 @@ public override async Task Include_collection_take_no_order_by(bool async) await base.Include_collection_take_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -304,7 +337,8 @@ SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName FROM [Customers] AS [c] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_principal_already_tracked(bool async) @@ -312,18 +346,22 @@ public override async Task Include_collection_principal_already_tracked(bool asy await base.Include_collection_principal_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_object(bool async) @@ -331,11 +369,13 @@ public override async Task Include_collection_OrderBy_object(bool async) await base.Include_collection_OrderBy_object(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[OrderID] < 10250 -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_duplicate_collection_result_operator2(bool async) @@ -343,7 +383,8 @@ public override async Task Include_duplicate_collection_result_operator2(bool as await base.Include_duplicate_collection_result_operator2(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [t1].[CustomerID], [t1].[Address], [t1].[City], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Country], [t1].[Fax], [t1].[Phone], [t1].[PostalCode], [t1].[Region], [t1].[CustomerID0], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[Address0], [t1].[City0], [t1].[CompanyName0], [t1].[ContactName0], [t1].[ContactTitle0], [t1].[Country0], [t1].[Fax0], [t1].[Phone0], [t1].[PostalCode0], [t1].[Region0] @@ -363,7 +404,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t1] LEFT JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0] +"""); } public override async Task Repro9735(bool async) @@ -371,7 +413,8 @@ public override async Task Repro9735(bool async) await base.Repro9735(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM ( @@ -393,7 +436,8 @@ ELSE N'' END ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID] +"""); } public override async Task Include_collection_single_or_default_no_result(bool async) @@ -401,14 +445,16 @@ public override async Task Include_collection_single_or_default_no_result(bool a await base.Include_collection_single_or_default_no_result(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI ?' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_with_cross_apply_with_filter(bool async) @@ -416,7 +462,8 @@ public override async Task Include_collection_with_cross_apply_with_filter(bool await base.Include_collection_with_cross_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] CROSS APPLY ( SELECT TOP(5) [o].[OrderID] @@ -426,7 +473,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_with_left_join_clause_with_filter(bool async) @@ -434,12 +482,14 @@ public override async Task Include_collection_with_left_join_clause_with_filter( await base.Include_collection_with_left_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_duplicate_collection(bool async) @@ -447,7 +497,8 @@ public override async Task Include_duplicate_collection(bool async) await base.Include_duplicate_collection(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( @@ -463,7 +514,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [t0].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID], [o].[OrderID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection(bool async) @@ -471,11 +523,13 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_then_include_collection_then_include_reference(bool async) @@ -483,7 +537,8 @@ public override async Task Include_collection_then_include_collection_then_inclu await base.Include_collection_then_include_collection_then_include_reference(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[OrderID] AS [OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[ProductID0], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice0], [t].[UnitsInStock] @@ -495,7 +550,8 @@ FROM [Order Details] AS [o0] ) AS [t] ON [o].[OrderID] = [t].[OrderID] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +"""); } public override async Task Include_reference_GroupBy_Select(bool async) @@ -503,7 +559,8 @@ public override async Task Include_reference_GroupBy_Select(bool async) await base.Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -519,7 +576,8 @@ FROM [Orders] AS [o0] WHERE [o0].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_multiple_references_multi_level_reverse(bool async) @@ -527,12 +585,14 @@ public override async Task Include_multiple_references_multi_level_reverse(bool await base.Include_multiple_references_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_with_join_clause_with_filter(bool async) @@ -540,12 +600,14 @@ public override async Task Include_collection_with_join_clause_with_filter(bool await base.Include_collection_with_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_OrderBy_list_does_not_contains(bool async) @@ -553,7 +615,8 @@ public override async Task Include_collection_OrderBy_list_does_not_contains(boo await base.Include_collection_OrderBy_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -570,7 +633,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_reference_dependent_already_tracked(bool async) @@ -578,14 +642,18 @@ public override async Task Include_reference_dependent_already_tracked(bool asyn await base.Include_reference_dependent_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_reference_with_filter(bool async) @@ -593,10 +661,12 @@ public override async Task Include_reference_with_filter(bool async) await base.Include_reference_with_filter(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_duplicate_reference(bool async) @@ -604,7 +674,8 @@ public override async Task Include_duplicate_reference(bool async) await base.Include_duplicate_reference(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM ( @@ -620,7 +691,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [t0].[CustomerID] = [c0].[CustomerID] -ORDER BY [t].[CustomerID], [t].[OrderID]"); +ORDER BY [t].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_with_complex_projection(bool async) @@ -628,9 +700,11 @@ public override async Task Include_with_complex_projection(bool async) await base.Include_with_complex_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id] +""" +SELECT [c].[CustomerID] AS [Id] FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key_with_skip(bool async) @@ -638,7 +712,8 @@ public override async Task Include_collection_order_by_non_key_with_skip(bool as await base.Include_collection_order_by_non_key_with_skip(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -649,7 +724,8 @@ ORDER BY [c].[ContactTitle] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_collection_on_join_clause_with_order_by_and_filter(bool async) @@ -657,12 +733,14 @@ public override async Task Include_collection_on_join_clause_with_order_by_and_f await base.Include_collection_on_join_clause_with_order_by_and_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Multi_level_includes_are_applied_with_take(bool async) @@ -670,7 +748,8 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async await base.Multi_level_includes_are_applied_with_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[CustomerID], [t1].[OrderID], [t1].[CustomerID], [t1].[EmployeeID], [t1].[OrderDate], [t1].[OrderID0], [t1].[ProductID], [t1].[Discount], [t1].[Quantity], [t1].[UnitPrice] FROM ( @@ -688,7 +767,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t1] ON [t0].[CustomerID] = [t1].[CustomerID] -ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0]"); +ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0] +"""); } public override async Task Include_multiple_references_then_include_collection_multi_level_reverse(bool async) @@ -696,14 +776,16 @@ public override async Task Include_multiple_references_then_include_collection_m await base.Include_multiple_references_then_include_collection_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -711,7 +793,8 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Products] AS [p] LEFT JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -719,7 +802,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 -ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID]"); +ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_collection_order_by_key(bool async) @@ -727,11 +811,13 @@ public override async Task Include_collection_order_by_key(bool async) await base.Include_collection_order_by_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter(bool async) @@ -739,7 +825,8 @@ public override async Task Include_collection_with_outer_apply_with_filter(bool await base.Include_collection_with_outer_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -749,7 +836,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_on_additional_from_clause2(bool async) @@ -757,7 +845,8 @@ public override async Task Include_collection_on_additional_from_clause2(bool as await base.Include_collection_on_additional_from_clause2(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -766,7 +855,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] CROSS JOIN [Customers] AS [c0] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_dependent_already_tracked(bool async) @@ -774,18 +864,22 @@ public override async Task Include_collection_dependent_already_tracked(bool asy await base.Include_collection_dependent_already_tracked(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'", +WHERE [o].[CustomerID] = N'ALFKI' +""", // - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_with_complex_projection_does_not_change_ordering_of_projection(bool async) @@ -793,7 +887,8 @@ public override async Task Include_with_complex_projection_does_not_change_order await base.Include_with_complex_projection_does_not_change_ordering_of_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id], ( +""" +SELECT [c].[CustomerID] AS [Id], ( SELECT COUNT(*) FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID]) AS [TotalOrders] @@ -802,7 +897,8 @@ FROM [Customers] AS [c] SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) > 2 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_multi_level_collection_and_then_include_reference_predicate(bool async) @@ -810,7 +906,8 @@ public override async Task Include_multi_level_collection_and_then_include_refer await base.Include_multi_level_collection_and_then_include_reference_predicate(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] FROM ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] @@ -821,7 +918,8 @@ LEFT JOIN ( FROM [Order Details] AS [o0] INNER JOIN [Products] AS [p] ON [o0].[ProductID] = [p].[ProductID] ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[ProductID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[ProductID] +"""); } public override async Task Multi_level_includes_are_applied_with_skip_take(bool async) @@ -829,7 +927,8 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool await base.Multi_level_includes_are_applied_with_skip_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[CustomerID], [t1].[OrderID], [t1].[CustomerID], [t1].[EmployeeID], [t1].[OrderDate], [t1].[OrderID0], [t1].[ProductID], [t1].[Discount], [t1].[Quantity], [t1].[UnitPrice] FROM ( @@ -848,7 +947,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t1] ON [t0].[CustomerID] = [t1].[CustomerID] -ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0]"); +ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0] +"""); } public override async Task Include_collection_OrderBy_empty_list_contains(bool async) @@ -856,7 +956,8 @@ public override async Task Include_collection_OrderBy_empty_list_contains(bool a await base.Include_collection_OrderBy_empty_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -867,7 +968,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_references_and_collection_multi_level(bool async) @@ -875,13 +977,15 @@ public override async Task Include_references_and_collection_multi_level(bool as await base.Include_references_and_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 AND [o].[UnitPrice] < 10.0 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_force_alias_uniquefication(bool async) @@ -889,11 +993,13 @@ public override async Task Include_collection_force_alias_uniquefication(bool as await base.Include_collection_force_alias_uniquefication(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter_non_equality(bool async) @@ -901,7 +1007,8 @@ public override async Task Include_collection_with_outer_apply_with_filter_non_e await base.Include_collection_with_outer_apply_with_filter_non_equality(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -911,7 +1018,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) @@ -919,7 +1027,8 @@ public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) await base.Include_in_let_followed_by_FirstOrDefault(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] @@ -931,7 +1040,8 @@ FROM [Orders] AS [o] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [t0].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_references_multi_level(bool async) @@ -939,11 +1049,13 @@ public override async Task Include_references_multi_level(bool async) await base.Include_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_then_include_collection(bool async) @@ -951,7 +1063,8 @@ public override async Task Include_collection_then_include_collection(bool async await base.Include_collection_then_include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID] AS [OrderID0], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] @@ -959,7 +1072,8 @@ FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0]"); +ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0] +"""); } public override async Task Include_collection_with_multiple_conditional_order_by(bool async) @@ -967,7 +1081,8 @@ public override async Task Include_collection_with_multiple_conditional_order_by await base.Include_collection_with_multiple_conditional_order_by(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM ( @@ -989,7 +1104,8 @@ ELSE N'' END ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID] +"""); } public override async Task Include_reference_when_entity_in_projection(bool async) @@ -997,10 +1113,12 @@ public override async Task Include_reference_when_entity_in_projection(bool asyn await base.Include_reference_when_entity_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_reference_single_or_default_when_no_result(bool async) @@ -1008,10 +1126,12 @@ public override async Task Include_reference_single_or_default_when_no_result(bo await base.Include_reference_single_or_default_when_no_result(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Include_reference_alias_generation(bool async) @@ -1019,10 +1139,12 @@ public override async Task Include_reference_alias_generation(bool async) await base.Include_reference_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_with_cycle_does_not_throw_when_AsNoTrackingWithIdentityResolution(bool async) @@ -1030,12 +1152,14 @@ public override async Task Include_with_cycle_does_not_throw_when_AsNoTrackingWi await base.Include_with_cycle_does_not_throw_when_AsNoTrackingWithIdentityResolution(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [o].[OrderID] < 10800 -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_references_then_include_collection_multi_level(bool async) @@ -1043,13 +1167,15 @@ public override async Task Include_references_then_include_collection_multi_leve await base.Include_references_then_include_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[ProductID] % 23) = 17 AND [o].[Quantity] < CAST(10 AS smallint) -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_reference_Join_GroupBy_Select(bool async) @@ -1057,7 +1183,8 @@ public override async Task Include_reference_Join_GroupBy_Select(bool async) await base.Include_reference_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1075,7 +1202,8 @@ FROM [Orders] AS [o1] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_when_projection(bool async) @@ -1083,8 +1211,10 @@ public override async Task Include_collection_when_projection(bool async) await base.Include_collection_when_projection(async); AssertSql( - @"SELECT [c].[CustomerID] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID] +FROM [Customers] AS [c] +"""); } public override async Task Include_reference_SelectMany_GroupBy_Select(bool async) @@ -1092,7 +1222,8 @@ public override async Task Include_reference_SelectMany_GroupBy_Select(bool asyn await base.Include_reference_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1110,7 +1241,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_multiple_references_then_include_collection_multi_level(bool async) @@ -1118,14 +1250,16 @@ public override async Task Include_multiple_references_then_include_collection_m await base.Include_multiple_references_then_include_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +"""); } public override async Task Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(bool async) @@ -1133,12 +1267,14 @@ public override async Task Outer_idenfier_correctly_determined_when_doing_includ await base.Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[City] = N'Seattle' -ORDER BY [c].[CustomerID], [o].[OrderID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID], [o0].[OrderID] +"""); } public override async Task SelectMany_Include_reference_GroupBy_Select(bool async) @@ -1146,7 +1282,8 @@ public override async Task SelectMany_Include_reference_GroupBy_Select(bool asyn await base.SelectMany_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1164,7 +1301,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_SelectMany_GroupBy_Select(bool async) @@ -1172,7 +1310,8 @@ public override async Task Include_collection_SelectMany_GroupBy_Select(bool asy await base.Include_collection_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1191,7 +1330,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID] +"""); } public override async Task Include_collection_OrderBy_list_contains(bool async) @@ -1199,7 +1339,8 @@ public override async Task Include_collection_OrderBy_list_contains(bool async) await base.Include_collection_OrderBy_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1216,7 +1357,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Multi_level_includes_are_applied_with_skip(bool async) @@ -1224,7 +1366,8 @@ public override async Task Multi_level_includes_are_applied_with_skip(bool async await base.Multi_level_includes_are_applied_with_skip(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( @@ -1239,7 +1382,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Include_collection_on_additional_from_clause(bool async) @@ -1247,7 +1391,8 @@ public override async Task Include_collection_on_additional_from_clause(bool asy await base.Include_collection_on_additional_from_clause(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [t].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1261,7 +1406,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ) AS [t0] LEFT JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID] +"""); } public override async Task Include_reference_distinct_is_server_evaluated(bool async) @@ -1269,13 +1415,15 @@ public override async Task Include_reference_distinct_is_server_evaluated(bool a await base.Include_reference_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( SELECT DISTINCT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10250 ) AS [t] -LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_collection_distinct_is_server_evaluated(bool async) @@ -1283,14 +1431,16 @@ public override async Task Include_collection_distinct_is_server_evaluated(bool await base.Include_collection_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_reference_when_projection(bool async) @@ -1298,8 +1448,10 @@ public override async Task Include_reference_when_projection(bool async) await base.Include_reference_when_projection(async); AssertSql( - @"SELECT [o].[CustomerID] -FROM [Orders] AS [o]"); +""" +SELECT [o].[CustomerID] +FROM [Orders] AS [o] +"""); } public override async Task Include_duplicate_collection_result_operator(bool async) @@ -1307,7 +1459,8 @@ public override async Task Include_duplicate_collection_result_operator(bool asy await base.Include_duplicate_collection_result_operator(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [t1].[CustomerID], [t1].[Address], [t1].[City], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Country], [t1].[Fax], [t1].[Phone], [t1].[PostalCode], [t1].[Region], [t1].[CustomerID0], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[Address0], [t1].[City0], [t1].[CompanyName0], [t1].[ContactName0], [t1].[ContactTitle0], [t1].[Country0], [t1].[Fax0], [t1].[Phone0], [t1].[PostalCode0], [t1].[Region0], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -1328,7 +1481,8 @@ ORDER BY [t].[CustomerID] ) AS [t1] LEFT JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [t1].[CustomerID0] = [o0].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0], [o].[OrderID]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0], [o].[OrderID] +"""); } public override async Task Include_reference(bool async) @@ -1336,10 +1490,12 @@ public override async Task Include_reference(bool async) await base.Include_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_multiple_references_and_collection_multi_level_reverse(bool async) @@ -1347,14 +1503,16 @@ public override async Task Include_multiple_references_and_collection_multi_leve await base.Include_multiple_references_and_collection_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_closes_reader(bool async) @@ -1362,16 +1520,20 @@ public override async Task Include_closes_reader(bool async) await base.Include_closes_reader(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] -FROM [Products] AS [p]"); +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +FROM [Products] AS [p] +"""); } public override async Task Include_with_skip(bool async) @@ -1379,7 +1541,8 @@ public override async Task Include_with_skip(bool async) await base.Include_with_skip(async); AssertSql( - @"@__p_0='80' +""" +@__p_0='80' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1389,7 +1552,8 @@ ORDER BY [c].[ContactName] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName], [t].[CustomerID]"); +ORDER BY [t].[ContactName], [t].[CustomerID] +"""); } public override async Task Include_collection_Join_GroupBy_Select(bool async) @@ -1397,7 +1561,8 @@ public override async Task Include_collection_Join_GroupBy_Select(bool async) await base.Include_collection_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1416,7 +1581,8 @@ FROM [Orders] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID] +"""); } public override async Task Include_collection_GroupBy_Select(bool async) @@ -1424,7 +1590,8 @@ public override async Task Include_collection_GroupBy_Select(bool async) await base.Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1441,7 +1608,8 @@ FROM [Orders] AS [o0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o1] ON [t0].[OrderID] = [o1].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [o1].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [o1].[OrderID] +"""); } public override async Task Include_collection_orderby_take(bool async) @@ -1449,7 +1617,8 @@ public override async Task Include_collection_orderby_take(bool async) await base.Include_collection_orderby_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1458,7 +1627,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Join_Include_collection_GroupBy_Select(bool async) @@ -1466,7 +1636,8 @@ public override async Task Join_Include_collection_GroupBy_Select(bool async) await base.Join_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1485,7 +1656,8 @@ FROM [Order Details] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key(bool async) @@ -1493,11 +1665,13 @@ public override async Task Include_collection_order_by_non_key(bool async) await base.Include_collection_order_by_non_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[PostalCode], [c].[CustomerID]"); +ORDER BY [c].[PostalCode], [c].[CustomerID] +"""); } public override async Task Include_when_result_operator(bool async) @@ -1505,12 +1679,14 @@ public override async Task Include_when_result_operator(bool async) await base.Include_when_result_operator(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Include_duplicate_reference2(bool async) @@ -1518,7 +1694,8 @@ public override async Task Include_duplicate_reference2(bool async) await base.Include_duplicate_reference2(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -1533,7 +1710,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_collection_and_reference(bool async) @@ -1541,12 +1719,14 @@ public override async Task Include_collection_and_reference(bool async) await base.Include_collection_and_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Include_multiple_references_multi_level(bool async) @@ -1554,12 +1734,14 @@ public override async Task Include_multiple_references_multi_level(bool async) await base.Include_multiple_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_references_and_collection_multi_level_predicate(bool async) @@ -1567,13 +1749,15 @@ public override async Task Include_references_and_collection_multi_level_predica await base.Include_references_and_collection_multi_level_predicate(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task SelectMany_Include_collection_GroupBy_Select(bool async) @@ -1581,7 +1765,8 @@ public override async Task SelectMany_Include_collection_GroupBy_Select(bool asy await base.SelectMany_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1600,7 +1785,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID] +"""); } public override async Task Include_collection_with_last(bool async) @@ -1608,14 +1794,16 @@ public override async Task Include_collection_with_last(bool async) await base.Include_collection_with_last(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_empty_list_does_not_contains(bool async) @@ -1623,7 +1811,8 @@ public override async Task Include_collection_OrderBy_empty_list_does_not_contai await base.Include_collection_OrderBy_empty_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1634,7 +1823,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_multiple_references_then_include_multi_level_reverse(bool async) @@ -1642,12 +1832,14 @@ public override async Task Include_multiple_references_then_include_multi_level_ await base.Include_multiple_references_then_include_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_reference_and_collection(bool async) @@ -1655,12 +1847,14 @@ public override async Task Include_reference_and_collection(bool async) await base.Include_reference_and_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(bool async) @@ -1668,14 +1862,16 @@ public override async Task Include_is_not_ignored_when_projection_contains_clien await base.Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [e0].[EmployeeID] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] WHERE [e].[EmployeeID] IN (1, 2) -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override async Task Include_reference_with_filter_reordered(bool async) @@ -1683,10 +1879,12 @@ public override async Task Include_reference_with_filter_reordered(bool async) await base.Include_reference_with_filter_reordered(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_collection_order_by_subquery(bool async) @@ -1694,7 +1892,8 @@ public override async Task Include_collection_order_by_subquery(bool async) await base.Include_collection_order_by_subquery(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -1710,7 +1909,8 @@ FROM [Orders] AS [o] ORDER BY [o].[EmployeeID]) ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_reference_and_collection_order_by(bool async) @@ -1718,12 +1918,14 @@ public override async Task Include_reference_and_collection_order_by(bool async) await base.Include_reference_and_collection_order_by(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Then_include_collection_order_by_collection_column(bool async) @@ -1731,7 +1933,8 @@ public override async Task Then_include_collection_order_by_collection_column(bo await base.Then_include_collection_order_by_collection_column(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -1751,7 +1954,8 @@ LEFT JOIN ( FROM [Orders] AS [o0] LEFT JOIN [Order Details] AS [o1] ON [o0].[OrderID] = [o1].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[c] DESC, [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Include_multiple_references_then_include_multi_level(bool async) @@ -1759,12 +1963,14 @@ public override async Task Include_multiple_references_then_include_multi_level( await base.Include_multiple_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_skip_no_order_by(bool async) @@ -1772,7 +1978,8 @@ public override async Task Include_collection_skip_no_order_by(bool async) await base.Include_collection_skip_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1782,7 +1989,8 @@ ORDER BY (SELECT 1) OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_multi_level_reference_then_include_collection_predicate(bool async) @@ -1790,7 +1998,8 @@ public override async Task Include_multi_level_reference_then_include_collection await base.Include_multi_level_reference_then_include_collection_predicate(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] AS [CustomerID0], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] @@ -1798,7 +2007,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] = 10248 ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID0] = [o0].[CustomerID] -ORDER BY [t].[OrderID], [t].[CustomerID0]"); +ORDER BY [t].[OrderID], [t].[CustomerID0] +"""); } public override async Task Include_multiple_references_and_collection_multi_level(bool async) @@ -1806,14 +2016,16 @@ public override async Task Include_multiple_references_and_collection_multi_leve await base.Include_multiple_references_and_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +"""); } public override async Task Include_where_skip_take_projection(bool async) @@ -1821,7 +2033,8 @@ public override async Task Include_where_skip_take_projection(bool async) await base.Include_where_skip_take_projection(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='2' SELECT [o0].[CustomerID] @@ -1833,7 +2046,8 @@ FROM [Order Details] AS [o] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [t].[ProductID]"); +ORDER BY [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_with_take(bool async) @@ -1841,7 +2055,8 @@ public override async Task Include_with_take(bool async) await base.Include_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1850,7 +2065,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName] DESC, [t].[CustomerID]"); +ORDER BY [t].[ContactName] DESC, [t].[CustomerID] +"""); } public override async Task Include_multiple_references(bool async) @@ -1858,11 +2074,13 @@ public override async Task Include_multiple_references(bool async) await base.Include_multiple_references(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_list(bool async) @@ -1870,7 +2088,8 @@ public override async Task Include_list(bool async) await base.Include_list(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Products] AS [p] LEFT JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -1878,7 +2097,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 AND [p].[UnitPrice] < 20.0 -ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID]"); +ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_empty_reference_sets_IsLoaded(bool async) @@ -1886,10 +2106,12 @@ public override async Task Include_empty_reference_sets_IsLoaded(bool async) await base.Include_empty_reference_sets_IsLoaded(async); AssertSql( - @"SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] +""" +SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] -WHERE [e0].[EmployeeID] IS NULL"); +WHERE [e0].[EmployeeID] IS NULL +"""); } public override async Task Include_references_then_include_collection_multi_level_predicate(bool async) @@ -1897,13 +2119,15 @@ public override async Task Include_references_then_include_collection_multi_leve await base.Include_references_then_include_collection_multi_level_predicate(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -1911,14 +2135,16 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' ORDER BY CASE WHEN [c].[CustomerID] LIKE N'S%' THEN 1 ELSE 2 -END, [c].[CustomerID]"); +END, [c].[CustomerID] +"""); } public override async Task Include_non_existing_navigation(bool async) @@ -1961,7 +2187,8 @@ public override async Task Filtered_include_with_multiple_ordering(bool async) await base.Filtered_include_with_multiple_ordering(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -1971,7 +2198,8 @@ ORDER BY [o].[OrderID] OFFSET 1 ROWS ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderDate] DESC"); +ORDER BY [c].[CustomerID], [t].[OrderDate] DESC +"""); } public override async Task Include_specified_on_non_entity_not_supported(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindFunctionsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindFunctionsQuerySqlServerTest.cs index 001968afb7e..1c11acea2a1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindFunctionsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindFunctionsQuerySqlServerTest.cs @@ -31,41 +31,53 @@ public override async Task TimeSpan_Compare_to_simple_zero(bool async, bool comp await base.TimeSpan_Compare_to_simple_zero(async, compareTo); AssertSql( - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] = @__myDatetime_0", +WHERE [o].[OrderDate] = @__myDatetime_0 +""", // - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] <> @__myDatetime_0 OR ([o].[OrderDate] IS NULL)", +WHERE [o].[OrderDate] <> @__myDatetime_0 OR ([o].[OrderDate] IS NULL) +""", // - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] > @__myDatetime_0", +WHERE [o].[OrderDate] > @__myDatetime_0 +""", // - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] <= @__myDatetime_0", +WHERE [o].[OrderDate] <= @__myDatetime_0 +""", // - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] > @__myDatetime_0", +WHERE [o].[OrderDate] > @__myDatetime_0 +""", // - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] <= @__myDatetime_0"); +WHERE [o].[OrderDate] <= @__myDatetime_0 +"""); } public override async Task String_StartsWith_Literal(bool async) @@ -73,9 +85,11 @@ public override async Task String_StartsWith_Literal(bool async) await base.String_StartsWith_Literal(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[ContactName] IS NOT NULL) AND ([c].[ContactName] LIKE N'M%')"); +WHERE ([c].[ContactName] IS NOT NULL) AND ([c].[ContactName] LIKE N'M%') +"""); } public override async Task String_StartsWith_Identity(bool async) @@ -83,9 +97,11 @@ public override async Task String_StartsWith_Identity(bool async) await base.String_StartsWith_Identity(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[ContactName] = N'' OR (([c].[ContactName] IS NOT NULL) AND LEFT([c].[ContactName], LEN([c].[ContactName])) = [c].[ContactName])"); +WHERE [c].[ContactName] = N'' OR (([c].[ContactName] IS NOT NULL) AND LEFT([c].[ContactName], LEN([c].[ContactName])) = [c].[ContactName]) +"""); } public override async Task String_StartsWith_Column(bool async) @@ -93,9 +109,11 @@ public override async Task String_StartsWith_Column(bool async) await base.String_StartsWith_Column(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[ContactName] = N'' OR (([c].[ContactName] IS NOT NULL) AND LEFT([c].[ContactName], LEN([c].[ContactName])) = [c].[ContactName])"); +WHERE [c].[ContactName] = N'' OR (([c].[ContactName] IS NOT NULL) AND LEFT([c].[ContactName], LEN([c].[ContactName])) = [c].[ContactName]) +"""); } public override async Task String_StartsWith_MethodCall(bool async) @@ -103,9 +121,11 @@ public override async Task String_StartsWith_MethodCall(bool async) await base.String_StartsWith_MethodCall(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[ContactName] IS NOT NULL) AND ([c].[ContactName] LIKE N'M%')"); +WHERE ([c].[ContactName] IS NOT NULL) AND ([c].[ContactName] LIKE N'M%') +"""); } public override async Task String_EndsWith_Literal(bool async) @@ -113,9 +133,11 @@ public override async Task String_EndsWith_Literal(bool async) await base.String_EndsWith_Literal(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[ContactName] IS NOT NULL) AND ([c].[ContactName] LIKE N'%b')"); +WHERE ([c].[ContactName] IS NOT NULL) AND ([c].[ContactName] LIKE N'%b') +"""); } public override async Task String_EndsWith_Identity(bool async) @@ -123,9 +145,11 @@ public override async Task String_EndsWith_Identity(bool async) await base.String_EndsWith_Identity(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[ContactName] = N'' OR (([c].[ContactName] IS NOT NULL) AND RIGHT([c].[ContactName], LEN([c].[ContactName])) = [c].[ContactName])"); +WHERE [c].[ContactName] = N'' OR (([c].[ContactName] IS NOT NULL) AND RIGHT([c].[ContactName], LEN([c].[ContactName])) = [c].[ContactName]) +"""); } public override async Task String_EndsWith_Column(bool async) @@ -133,9 +157,11 @@ public override async Task String_EndsWith_Column(bool async) await base.String_EndsWith_Column(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[ContactName] = N'' OR (([c].[ContactName] IS NOT NULL) AND RIGHT([c].[ContactName], LEN([c].[ContactName])) = [c].[ContactName])"); +WHERE [c].[ContactName] = N'' OR (([c].[ContactName] IS NOT NULL) AND RIGHT([c].[ContactName], LEN([c].[ContactName])) = [c].[ContactName]) +"""); } public override async Task String_EndsWith_MethodCall(bool async) @@ -143,9 +169,11 @@ public override async Task String_EndsWith_MethodCall(bool async) await base.String_EndsWith_MethodCall(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[ContactName] IS NOT NULL) AND ([c].[ContactName] LIKE N'%m')"); +WHERE ([c].[ContactName] IS NOT NULL) AND ([c].[ContactName] LIKE N'%m') +"""); } public override async Task String_Contains_Literal(bool async) @@ -157,9 +185,11 @@ await AssertQuery( entryCount: 34); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[ContactName] LIKE N'%M%'"); +WHERE [c].[ContactName] LIKE N'%M%' +"""); } public override async Task String_Contains_Identity(bool async) @@ -167,9 +197,11 @@ public override async Task String_Contains_Identity(bool async) await base.String_Contains_Identity(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[ContactName] LIKE N'') OR CHARINDEX([c].[ContactName], [c].[ContactName]) > 0"); +WHERE ([c].[ContactName] LIKE N'') OR CHARINDEX([c].[ContactName], [c].[ContactName]) > 0 +"""); } public override async Task String_Contains_Column(bool async) @@ -177,9 +209,11 @@ public override async Task String_Contains_Column(bool async) await base.String_Contains_Column(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[ContactName] LIKE N'') OR CHARINDEX([c].[ContactName], [c].[ContactName]) > 0"); +WHERE ([c].[ContactName] LIKE N'') OR CHARINDEX([c].[ContactName], [c].[ContactName]) > 0 +"""); } public override async Task String_Contains_constant_with_whitespace(bool async) @@ -187,9 +221,11 @@ public override async Task String_Contains_constant_with_whitespace(bool async) await base.String_Contains_constant_with_whitespace(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[ContactName] LIKE N'% %'"); +WHERE [c].[ContactName] LIKE N'% %' +"""); } public override async Task String_Contains_parameter_with_whitespace(bool async) @@ -197,29 +233,35 @@ public override async Task String_Contains_parameter_with_whitespace(bool async) await base.String_Contains_parameter_with_whitespace(async); AssertSql( - @"@__pattern_0=' ' (Size = 30) +""" +@__pattern_0=' ' (Size = 30) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE (@__pattern_0 LIKE N'') OR CHARINDEX(@__pattern_0, [c].[ContactName]) > 0"); +WHERE (@__pattern_0 LIKE N'') OR CHARINDEX(@__pattern_0, [c].[ContactName]) > 0 +"""); } public override async Task String_FirstOrDefault_MethodCall(bool async) { await base.String_FirstOrDefault_MethodCall(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE SUBSTRING([c].[ContactName], 1, 1) = N'A'"); +WHERE SUBSTRING([c].[ContactName], 1, 1) = N'A' +"""); } public override async Task String_LastOrDefault_MethodCall(bool async) { await base.String_LastOrDefault_MethodCall(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE SUBSTRING([c].[ContactName], LEN([c].[ContactName]), 1) = N's'"); +WHERE SUBSTRING([c].[ContactName], LEN([c].[ContactName]), 1) = N's' +"""); } public override async Task String_Contains_MethodCall(bool async) @@ -233,9 +275,11 @@ await AssertQuery( entryCount: 34); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[ContactName] LIKE N'%M%'"); +WHERE [c].[ContactName] LIKE N'%M%' +"""); } [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] @@ -244,9 +288,11 @@ public override async Task String_Join_over_non_nullable_column(bool async) await base.String_Join_over_non_nullable_column(async); AssertSql( - @"SELECT [c].[City], COALESCE(STRING_AGG([c].[CustomerID], N'|'), N'') AS [Customers] +""" +SELECT [c].[City], COALESCE(STRING_AGG([c].[CustomerID], N'|'), N'') AS [Customers] FROM [Customers] AS [c] -GROUP BY [c].[City]"); +GROUP BY [c].[City] +"""); } [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] @@ -255,9 +301,11 @@ public override async Task String_Join_over_nullable_column(bool async) await base.String_Join_over_nullable_column(async); AssertSql( - @"SELECT [c].[City], COALESCE(STRING_AGG(COALESCE([c].[Region], N''), N'|'), N'') AS [Regions] +""" +SELECT [c].[City], COALESCE(STRING_AGG(COALESCE([c].[Region], N''), N'|'), N'') AS [Regions] FROM [Customers] AS [c] -GROUP BY [c].[City]"); +GROUP BY [c].[City] +"""); } [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] @@ -266,11 +314,13 @@ public override async Task String_Join_with_predicate(bool async) await base.String_Join_with_predicate(async); AssertSql( - @"SELECT [c].[City], COALESCE(STRING_AGG(CASE +""" +SELECT [c].[City], COALESCE(STRING_AGG(CASE WHEN CAST(LEN([c].[ContactName]) AS int) > 10 THEN [c].[CustomerID] END, N'|'), N'') AS [Customers] FROM [Customers] AS [c] -GROUP BY [c].[City]"); +GROUP BY [c].[City] +"""); } [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] @@ -279,9 +329,11 @@ public override async Task String_Join_with_ordering(bool async) await base.String_Join_with_ordering(async); AssertSql( - @"SELECT [c].[City], COALESCE(STRING_AGG([c].[CustomerID], N'|') WITHIN GROUP (ORDER BY [c].[CustomerID] DESC), N'') AS [Customers] +""" +SELECT [c].[City], COALESCE(STRING_AGG([c].[CustomerID], N'|') WITHIN GROUP (ORDER BY [c].[CustomerID] DESC), N'') AS [Customers] FROM [Customers] AS [c] -GROUP BY [c].[City]"); +GROUP BY [c].[City] +"""); } [SqlServerCondition(SqlServerCondition.SupportsFunctions2017)] @@ -290,9 +342,11 @@ public override async Task String_Concat(bool async) await base.String_Concat(async); AssertSql( - @"SELECT [c].[City], COALESCE(STRING_AGG([c].[CustomerID], N''), N'') AS [Customers] +""" +SELECT [c].[City], COALESCE(STRING_AGG([c].[CustomerID], N''), N'') AS [Customers] FROM [Customers] AS [c] -GROUP BY [c].[City]"); +GROUP BY [c].[City] +"""); } public override async Task String_Compare_simple_zero(bool async) @@ -300,29 +354,41 @@ public override async Task String_Compare_simple_zero(bool async) await base.String_Compare_simple_zero(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <> N'ALFKI'", +WHERE [c].[CustomerID] <> N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > N'ALFKI'", +WHERE [c].[CustomerID] > N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= N'ALFKI'", +WHERE [c].[CustomerID] <= N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > N'ALFKI'", +WHERE [c].[CustomerID] > N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= N'ALFKI'"); +WHERE [c].[CustomerID] <= N'ALFKI' +"""); } public override async Task String_Compare_simple_one(bool async) @@ -330,29 +396,41 @@ public override async Task String_Compare_simple_one(bool async) await base.String_Compare_simple_one(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > N'ALFKI'", +WHERE [c].[CustomerID] > N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] < N'ALFKI'", +WHERE [c].[CustomerID] < N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= N'ALFKI'", +WHERE [c].[CustomerID] <= N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= N'ALFKI'", +WHERE [c].[CustomerID] <= N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] >= N'ALFKI'", +WHERE [c].[CustomerID] >= N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] >= N'ALFKI'"); +WHERE [c].[CustomerID] >= N'ALFKI' +"""); } public override async Task String_compare_with_parameter(bool async) @@ -360,41 +438,53 @@ public override async Task String_compare_with_parameter(bool async) await base.String_compare_with_parameter(async); AssertSql( - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > @__customer_CustomerID_0", +WHERE [c].[CustomerID] > @__customer_CustomerID_0 +""", // - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] < @__customer_CustomerID_0", +WHERE [c].[CustomerID] < @__customer_CustomerID_0 +""", // - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= @__customer_CustomerID_0", +WHERE [c].[CustomerID] <= @__customer_CustomerID_0 +""", // - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= @__customer_CustomerID_0", +WHERE [c].[CustomerID] <= @__customer_CustomerID_0 +""", // - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] >= @__customer_CustomerID_0", +WHERE [c].[CustomerID] >= @__customer_CustomerID_0 +""", // - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] >= @__customer_CustomerID_0"); +WHERE [c].[CustomerID] >= @__customer_CustomerID_0 +"""); } public override async Task String_Compare_simple_more_than_one(bool async) @@ -402,29 +492,35 @@ public override async Task String_Compare_simple_more_than_one(bool async) await base.String_Compare_simple_more_than_one(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE CASE WHEN [c].[CustomerID] = N'ALFKI' THEN 0 WHEN [c].[CustomerID] > N'ALFKI' THEN 1 WHEN [c].[CustomerID] < N'ALFKI' THEN -1 -END = 42", +END = 42 +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE CASE WHEN [c].[CustomerID] = N'ALFKI' THEN 0 WHEN [c].[CustomerID] > N'ALFKI' THEN 1 WHEN [c].[CustomerID] < N'ALFKI' THEN -1 -END > 42", +END > 42 +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE 42 > CASE WHEN [c].[CustomerID] = N'ALFKI' THEN 0 WHEN [c].[CustomerID] > N'ALFKI' THEN 1 WHEN [c].[CustomerID] < N'ALFKI' THEN -1 -END"); +END +"""); } public override async Task String_Compare_nested(bool async) @@ -432,29 +528,41 @@ public override async Task String_Compare_nested(bool async) await base.String_Compare_nested(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = (N'M' + [c].[CustomerID])", +WHERE [c].[CustomerID] = (N'M' + [c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <> UPPER([c].[CustomerID])", +WHERE [c].[CustomerID] <> UPPER([c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > REPLACE(N'ALFKI', N'ALF', [c].[CustomerID])", +WHERE [c].[CustomerID] > REPLACE(N'ALFKI', N'ALF', [c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= (N'M' + [c].[CustomerID])", +WHERE [c].[CustomerID] <= (N'M' + [c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > UPPER([c].[CustomerID])", +WHERE [c].[CustomerID] > UPPER([c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] < REPLACE(N'ALFKI', N'ALF', [c].[CustomerID])"); +WHERE [c].[CustomerID] < REPLACE(N'ALFKI', N'ALF', [c].[CustomerID]) +"""); } public override async Task String_Compare_multi_predicate(bool async) @@ -462,13 +570,17 @@ public override async Task String_Compare_multi_predicate(bool async) await base.String_Compare_multi_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] >= N'ALFKI' AND [c].[CustomerID] < N'CACTU'", +WHERE [c].[CustomerID] >= N'ALFKI' AND [c].[CustomerID] < N'CACTU' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[ContactTitle] = N'Owner' AND ([c].[Country] <> N'USA' OR ([c].[Country] IS NULL))"); +WHERE [c].[ContactTitle] = N'Owner' AND ([c].[Country] <> N'USA' OR ([c].[Country] IS NULL)) +"""); } public override async Task String_Compare_to_simple_zero(bool async) @@ -476,29 +588,41 @@ public override async Task String_Compare_to_simple_zero(bool async) await base.String_Compare_to_simple_zero(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <> N'ALFKI'", +WHERE [c].[CustomerID] <> N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > N'ALFKI'", +WHERE [c].[CustomerID] > N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= N'ALFKI'", +WHERE [c].[CustomerID] <= N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > N'ALFKI'", +WHERE [c].[CustomerID] > N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= N'ALFKI'"); +WHERE [c].[CustomerID] <= N'ALFKI' +"""); } public override async Task String_Compare_to_simple_one(bool async) @@ -506,29 +630,41 @@ public override async Task String_Compare_to_simple_one(bool async) await base.String_Compare_to_simple_one(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > N'ALFKI'", +WHERE [c].[CustomerID] > N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] < N'ALFKI'", +WHERE [c].[CustomerID] < N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= N'ALFKI'", +WHERE [c].[CustomerID] <= N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= N'ALFKI'", +WHERE [c].[CustomerID] <= N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] >= N'ALFKI'", +WHERE [c].[CustomerID] >= N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] >= N'ALFKI'"); +WHERE [c].[CustomerID] >= N'ALFKI' +"""); } public override async Task String_compare_to_with_parameter(bool async) @@ -536,41 +672,53 @@ public override async Task String_compare_to_with_parameter(bool async) await base.String_compare_to_with_parameter(async); AssertSql( - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > @__customer_CustomerID_0", +WHERE [c].[CustomerID] > @__customer_CustomerID_0 +""", // - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] < @__customer_CustomerID_0", +WHERE [c].[CustomerID] < @__customer_CustomerID_0 +""", // - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= @__customer_CustomerID_0", +WHERE [c].[CustomerID] <= @__customer_CustomerID_0 +""", // - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= @__customer_CustomerID_0", +WHERE [c].[CustomerID] <= @__customer_CustomerID_0 +""", // - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] >= @__customer_CustomerID_0", +WHERE [c].[CustomerID] >= @__customer_CustomerID_0 +""", // - @"@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customer_CustomerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] >= @__customer_CustomerID_0"); +WHERE [c].[CustomerID] >= @__customer_CustomerID_0 +"""); } public override async Task String_Compare_to_simple_more_than_one(bool async) @@ -578,29 +726,35 @@ public override async Task String_Compare_to_simple_more_than_one(bool async) await base.String_Compare_to_simple_more_than_one(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE CASE WHEN [c].[CustomerID] = N'ALFKI' THEN 0 WHEN [c].[CustomerID] > N'ALFKI' THEN 1 WHEN [c].[CustomerID] < N'ALFKI' THEN -1 -END = 42", +END = 42 +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE CASE WHEN [c].[CustomerID] = N'ALFKI' THEN 0 WHEN [c].[CustomerID] > N'ALFKI' THEN 1 WHEN [c].[CustomerID] < N'ALFKI' THEN -1 -END > 42", +END > 42 +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE 42 > CASE WHEN [c].[CustomerID] = N'ALFKI' THEN 0 WHEN [c].[CustomerID] > N'ALFKI' THEN 1 WHEN [c].[CustomerID] < N'ALFKI' THEN -1 -END"); +END +"""); } public override async Task String_Compare_to_nested(bool async) @@ -608,29 +762,41 @@ public override async Task String_Compare_to_nested(bool async) await base.String_Compare_to_nested(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = (N'M' + [c].[CustomerID])", +WHERE [c].[CustomerID] = (N'M' + [c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <> UPPER([c].[CustomerID])", +WHERE [c].[CustomerID] <> UPPER([c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > REPLACE(N'ALFKI', N'ALF', [c].[CustomerID])", +WHERE [c].[CustomerID] > REPLACE(N'ALFKI', N'ALF', [c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <= (N'M' + [c].[CustomerID])", +WHERE [c].[CustomerID] <= (N'M' + [c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] > UPPER([c].[CustomerID])", +WHERE [c].[CustomerID] > UPPER([c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] < REPLACE(N'ALFKI', N'ALF', [c].[CustomerID])"); +WHERE [c].[CustomerID] < REPLACE(N'ALFKI', N'ALF', [c].[CustomerID]) +"""); } public override async Task String_Compare_to_multi_predicate(bool async) @@ -638,13 +804,17 @@ public override async Task String_Compare_to_multi_predicate(bool async) await base.String_Compare_to_multi_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] >= N'ALFKI' AND [c].[CustomerID] < N'CACTU'", +WHERE [c].[CustomerID] >= N'ALFKI' AND [c].[CustomerID] < N'CACTU' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[ContactTitle] = N'Owner' AND ([c].[Country] <> N'USA' OR ([c].[Country] IS NULL))"); +WHERE [c].[ContactTitle] = N'Owner' AND ([c].[Country] <> N'USA' OR ([c].[Country] IS NULL)) +"""); } public override async Task DateTime_Compare_to_simple_zero(bool async, bool compareTo) @@ -652,41 +822,53 @@ public override async Task DateTime_Compare_to_simple_zero(bool async, bool comp await base.DateTime_Compare_to_simple_zero(async, compareTo); AssertSql( - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] = @__myDatetime_0", +WHERE [o].[OrderDate] = @__myDatetime_0 +""", // - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] <> @__myDatetime_0 OR ([o].[OrderDate] IS NULL)", +WHERE [o].[OrderDate] <> @__myDatetime_0 OR ([o].[OrderDate] IS NULL) +""", // - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] > @__myDatetime_0", +WHERE [o].[OrderDate] > @__myDatetime_0 +""", // - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] <= @__myDatetime_0", +WHERE [o].[OrderDate] <= @__myDatetime_0 +""", // - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] > @__myDatetime_0", +WHERE [o].[OrderDate] > @__myDatetime_0 +""", // - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] <= @__myDatetime_0"); +WHERE [o].[OrderDate] <= @__myDatetime_0 +"""); } public override async Task Int_Compare_to_simple_zero(bool async) @@ -694,41 +876,53 @@ public override async Task Int_Compare_to_simple_zero(bool async) await base.Int_Compare_to_simple_zero(async); AssertSql( - @"@__orderId_0='10250' +""" +@__orderId_0='10250' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] = @__orderId_0", +WHERE [o].[OrderID] = @__orderId_0 +""", // - @"@__orderId_0='10250' +""" +@__orderId_0='10250' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] <> @__orderId_0", +WHERE [o].[OrderID] <> @__orderId_0 +""", // - @"@__orderId_0='10250' +""" +@__orderId_0='10250' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] > @__orderId_0", +WHERE [o].[OrderID] > @__orderId_0 +""", // - @"@__orderId_0='10250' +""" +@__orderId_0='10250' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] <= @__orderId_0", +WHERE [o].[OrderID] <= @__orderId_0 +""", // - @"@__orderId_0='10250' +""" +@__orderId_0='10250' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] > @__orderId_0", +WHERE [o].[OrderID] > @__orderId_0 +""", // - @"@__orderId_0='10250' +""" +@__orderId_0='10250' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] <= @__orderId_0"); +WHERE [o].[OrderID] <= @__orderId_0 +"""); } public override async Task Where_math_abs1(bool async) @@ -736,9 +930,11 @@ public override async Task Where_math_abs1(bool async) await base.Where_math_abs1(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE ABS([p].[ProductID]) > 10"); +WHERE ABS([p].[ProductID]) > 10 +"""); } public override async Task Where_math_abs2(bool async) @@ -746,9 +942,11 @@ public override async Task Where_math_abs2(bool async) await base.Where_math_abs2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[UnitPrice] < 7.0 AND ABS([o].[Quantity]) > CAST(10 AS smallint)"); +WHERE [o].[UnitPrice] < 7.0 AND ABS([o].[Quantity]) > CAST(10 AS smallint) +"""); } public override async Task Where_math_abs3(bool async) @@ -756,9 +954,11 @@ public override async Task Where_math_abs3(bool async) await base.Where_math_abs3(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[Quantity] < CAST(5 AS smallint) AND ABS([o].[UnitPrice]) > 10.0"); +WHERE [o].[Quantity] < CAST(5 AS smallint) AND ABS([o].[UnitPrice]) > 10.0 +"""); } public override async Task Where_math_abs_uncorrelated(bool async) @@ -766,9 +966,11 @@ public override async Task Where_math_abs_uncorrelated(bool async) await base.Where_math_abs_uncorrelated(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[UnitPrice] < 7.0 AND 10 < [o].[ProductID]"); +WHERE [o].[UnitPrice] < 7.0 AND 10 < [o].[ProductID] +"""); } public override async Task Where_math_ceiling1(bool async) @@ -776,9 +978,11 @@ public override async Task Where_math_ceiling1(bool async) await base.Where_math_ceiling1(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[UnitPrice] < 7.0 AND CEILING(CAST([o].[Discount] AS float)) > 0.0E0"); +WHERE [o].[UnitPrice] < 7.0 AND CEILING(CAST([o].[Discount] AS float)) > 0.0E0 +"""); } public override async Task Where_math_ceiling2(bool async) @@ -786,9 +990,11 @@ public override async Task Where_math_ceiling2(bool async) await base.Where_math_ceiling2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[Quantity] < CAST(5 AS smallint) AND CEILING([o].[UnitPrice]) > 10.0"); +WHERE [o].[Quantity] < CAST(5 AS smallint) AND CEILING([o].[UnitPrice]) > 10.0 +"""); } public override async Task Where_math_floor(bool async) @@ -796,9 +1002,11 @@ public override async Task Where_math_floor(bool async) await base.Where_math_floor(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[Quantity] < CAST(5 AS smallint) AND FLOOR([o].[UnitPrice]) > 10.0"); +WHERE [o].[Quantity] < CAST(5 AS smallint) AND FLOOR([o].[UnitPrice]) > 10.0 +"""); } public override async Task Where_math_power(bool async) @@ -806,9 +1014,11 @@ public override async Task Where_math_power(bool async) await base.Where_math_power(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE POWER(CAST([o].[Discount] AS float), 3.0E0) > 0.004999999888241291E0"); +WHERE POWER(CAST([o].[Discount] AS float), 3.0E0) > 0.004999999888241291E0 +"""); } public override async Task Where_math_square(bool async) @@ -816,9 +1026,11 @@ public override async Task Where_math_square(bool async) await base.Where_math_square(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE POWER(CAST([o].[Discount] AS float), 2.0E0) > 0.05000000074505806E0"); +WHERE POWER(CAST([o].[Discount] AS float), 2.0E0) > 0.05000000074505806E0 +"""); } public override async Task Where_math_round(bool async) @@ -826,9 +1038,11 @@ public override async Task Where_math_round(bool async) await base.Where_math_round(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[Quantity] < CAST(5 AS smallint) AND ROUND([o].[UnitPrice], 0) > 10.0"); +WHERE [o].[Quantity] < CAST(5 AS smallint) AND ROUND([o].[UnitPrice], 0) > 10.0 +"""); } public override async Task Sum_over_round_works_correctly_in_projection(bool async) @@ -836,12 +1050,14 @@ public override async Task Sum_over_round_works_correctly_in_projection(bool asy await base.Sum_over_round_works_correctly_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], ( +""" +SELECT [o].[OrderID], ( SELECT COALESCE(SUM(ROUND([o0].[UnitPrice], 2)), 0.0) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [Sum] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Sum_over_round_works_correctly_in_projection_2(bool async) @@ -849,12 +1065,14 @@ public override async Task Sum_over_round_works_correctly_in_projection_2(bool a await base.Sum_over_round_works_correctly_in_projection_2(async); AssertSql( - @"SELECT [o].[OrderID], ( +""" +SELECT [o].[OrderID], ( SELECT COALESCE(SUM(ROUND([o0].[UnitPrice] * [o0].[UnitPrice], 2)), 0.0) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [Sum] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Sum_over_truncate_works_correctly_in_projection(bool async) @@ -862,12 +1080,14 @@ public override async Task Sum_over_truncate_works_correctly_in_projection(bool await base.Sum_over_truncate_works_correctly_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], ( +""" +SELECT [o].[OrderID], ( SELECT COALESCE(SUM(ROUND([o0].[UnitPrice], 0, 1)), 0.0) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [Sum] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Sum_over_truncate_works_correctly_in_projection_2(bool async) @@ -875,12 +1095,14 @@ public override async Task Sum_over_truncate_works_correctly_in_projection_2(boo await base.Sum_over_truncate_works_correctly_in_projection_2(async); AssertSql( - @"SELECT [o].[OrderID], ( +""" +SELECT [o].[OrderID], ( SELECT COALESCE(SUM(ROUND([o0].[UnitPrice] * [o0].[UnitPrice], 0, 1)), 0.0) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [Sum] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Select_math_round_int(bool async) @@ -888,9 +1110,11 @@ public override async Task Select_math_round_int(bool async) await base.Select_math_round_int(async); AssertSql( - @"SELECT ROUND(CAST([o].[OrderID] AS float), 0) AS [A] +""" +SELECT ROUND(CAST([o].[OrderID] AS float), 0) AS [A] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10250"); +WHERE [o].[OrderID] < 10250 +"""); } public override async Task Select_math_truncate_int(bool async) @@ -898,9 +1122,11 @@ public override async Task Select_math_truncate_int(bool async) await base.Select_math_truncate_int(async); AssertSql( - @"SELECT ROUND(CAST([o].[OrderID] AS float), 0, 1) AS [A] +""" +SELECT ROUND(CAST([o].[OrderID] AS float), 0, 1) AS [A] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10250"); +WHERE [o].[OrderID] < 10250 +"""); } public override async Task Where_math_round2(bool async) @@ -908,9 +1134,11 @@ public override async Task Where_math_round2(bool async) await base.Where_math_round2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE ROUND([o].[UnitPrice], 2) > 100.0"); +WHERE ROUND([o].[UnitPrice], 2) > 100.0 +"""); } public override async Task Where_math_truncate(bool async) @@ -918,9 +1146,11 @@ public override async Task Where_math_truncate(bool async) await base.Where_math_truncate(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[Quantity] < CAST(5 AS smallint) AND ROUND([o].[UnitPrice], 0, 1) > 10.0"); +WHERE [o].[Quantity] < CAST(5 AS smallint) AND ROUND([o].[UnitPrice], 0, 1) > 10.0 +"""); } public override async Task Where_math_exp(bool async) @@ -928,9 +1158,11 @@ public override async Task Where_math_exp(bool async) await base.Where_math_exp(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND EXP(CAST([o].[Discount] AS float)) > 1.0E0"); +WHERE [o].[OrderID] = 11077 AND EXP(CAST([o].[Discount] AS float)) > 1.0E0 +"""); } public override async Task Where_math_log10(bool async) @@ -938,9 +1170,11 @@ public override async Task Where_math_log10(bool async) await base.Where_math_log10(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG10(CAST([o].[Discount] AS float)) < 0.0E0"); +WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG10(CAST([o].[Discount] AS float)) < 0.0E0 +"""); } public override async Task Where_math_log(bool async) @@ -948,9 +1182,11 @@ public override async Task Where_math_log(bool async) await base.Where_math_log(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG(CAST([o].[Discount] AS float)) < 0.0E0"); +WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG(CAST([o].[Discount] AS float)) < 0.0E0 +"""); } public override async Task Where_math_log_new_base(bool async) @@ -958,9 +1194,11 @@ public override async Task Where_math_log_new_base(bool async) await base.Where_math_log_new_base(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG(CAST([o].[Discount] AS float), 7.0E0) < 0.0E0"); +WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG(CAST([o].[Discount] AS float), 7.0E0) < 0.0E0 +"""); } public override async Task Where_math_sqrt(bool async) @@ -968,9 +1206,11 @@ public override async Task Where_math_sqrt(bool async) await base.Where_math_sqrt(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND SQRT(CAST([o].[Discount] AS float)) > 0.0E0"); +WHERE [o].[OrderID] = 11077 AND SQRT(CAST([o].[Discount] AS float)) > 0.0E0 +"""); } public override async Task Where_math_acos(bool async) @@ -978,9 +1218,11 @@ public override async Task Where_math_acos(bool async) await base.Where_math_acos(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND ACOS(CAST([o].[Discount] AS float)) > 1.0E0"); +WHERE [o].[OrderID] = 11077 AND ACOS(CAST([o].[Discount] AS float)) > 1.0E0 +"""); } public override async Task Where_math_asin(bool async) @@ -988,9 +1230,11 @@ public override async Task Where_math_asin(bool async) await base.Where_math_asin(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND ASIN(CAST([o].[Discount] AS float)) > 0.0E0"); +WHERE [o].[OrderID] = 11077 AND ASIN(CAST([o].[Discount] AS float)) > 0.0E0 +"""); } public override async Task Where_math_atan(bool async) @@ -998,9 +1242,11 @@ public override async Task Where_math_atan(bool async) await base.Where_math_atan(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND ATAN(CAST([o].[Discount] AS float)) > 0.0E0"); +WHERE [o].[OrderID] = 11077 AND ATAN(CAST([o].[Discount] AS float)) > 0.0E0 +"""); } public override async Task Where_math_atan2(bool async) @@ -1008,9 +1254,11 @@ public override async Task Where_math_atan2(bool async) await base.Where_math_atan2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND ATN2(CAST([o].[Discount] AS float), 1.0E0) > 0.0E0"); +WHERE [o].[OrderID] = 11077 AND ATN2(CAST([o].[Discount] AS float), 1.0E0) > 0.0E0 +"""); } public override async Task Where_math_cos(bool async) @@ -1018,9 +1266,11 @@ public override async Task Where_math_cos(bool async) await base.Where_math_cos(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND COS(CAST([o].[Discount] AS float)) > 0.0E0"); +WHERE [o].[OrderID] = 11077 AND COS(CAST([o].[Discount] AS float)) > 0.0E0 +"""); } public override async Task Where_math_sin(bool async) @@ -1028,9 +1278,11 @@ public override async Task Where_math_sin(bool async) await base.Where_math_sin(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND SIN(CAST([o].[Discount] AS float)) > 0.0E0"); +WHERE [o].[OrderID] = 11077 AND SIN(CAST([o].[Discount] AS float)) > 0.0E0 +"""); } public override async Task Where_math_tan(bool async) @@ -1038,9 +1290,11 @@ public override async Task Where_math_tan(bool async) await base.Where_math_tan(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND TAN(CAST([o].[Discount] AS float)) > 0.0E0"); +WHERE [o].[OrderID] = 11077 AND TAN(CAST([o].[Discount] AS float)) > 0.0E0 +"""); } public override async Task Where_math_sign(bool async) @@ -1048,9 +1302,11 @@ public override async Task Where_math_sign(bool async) await base.Where_math_sign(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND SIGN([o].[Discount]) > 0"); +WHERE [o].[OrderID] = 11077 AND SIGN([o].[Discount]) > 0 +"""); } public override async Task Where_math_min(bool async) @@ -1074,9 +1330,11 @@ public override async Task Where_mathf_abs1(bool async) await base.Where_mathf_abs1(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE ABS(CAST([p].[ProductID] AS real)) > CAST(10 AS real)"); +WHERE ABS(CAST([p].[ProductID] AS real)) > CAST(10 AS real) +"""); } public override async Task Where_mathf_ceiling1(bool async) @@ -1084,9 +1342,11 @@ public override async Task Where_mathf_ceiling1(bool async) await base.Where_mathf_ceiling1(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[UnitPrice] < 7.0 AND CEILING([o].[Discount]) > CAST(0 AS real)"); +WHERE [o].[UnitPrice] < 7.0 AND CEILING([o].[Discount]) > CAST(0 AS real) +"""); } public override async Task Where_mathf_floor(bool async) @@ -1094,9 +1354,11 @@ public override async Task Where_mathf_floor(bool async) await base.Where_mathf_floor(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[Quantity] < CAST(5 AS smallint) AND FLOOR(CAST([o].[UnitPrice] AS real)) > CAST(10 AS real)"); +WHERE [o].[Quantity] < CAST(5 AS smallint) AND FLOOR(CAST([o].[UnitPrice] AS real)) > CAST(10 AS real) +"""); } public override async Task Where_mathf_power(bool async) @@ -1104,9 +1366,11 @@ public override async Task Where_mathf_power(bool async) await base.Where_mathf_power(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE POWER([o].[Discount], CAST(3 AS real)) > CAST(0.005 AS real)"); +WHERE POWER([o].[Discount], CAST(3 AS real)) > CAST(0.005 AS real) +"""); } public override async Task Where_mathf_square(bool async) @@ -1114,9 +1378,11 @@ public override async Task Where_mathf_square(bool async) await base.Where_mathf_square(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE POWER([o].[Discount], CAST(2 AS real)) > CAST(0.05 AS real)"); +WHERE POWER([o].[Discount], CAST(2 AS real)) > CAST(0.05 AS real) +"""); } public override async Task Where_mathf_round2(bool async) @@ -1124,9 +1390,11 @@ public override async Task Where_mathf_round2(bool async) await base.Where_mathf_round2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE CAST(ROUND(CAST([o].[UnitPrice] AS real), 2) AS real) > CAST(100 AS real)"); +WHERE CAST(ROUND(CAST([o].[UnitPrice] AS real), 2) AS real) > CAST(100 AS real) +"""); } public override async Task Select_mathf_round(bool async) @@ -1134,9 +1402,11 @@ public override async Task Select_mathf_round(bool async) await base.Select_mathf_round(async); AssertSql( - @"SELECT CAST(ROUND(CAST([o].[OrderID] AS real), 0) AS real) +""" +SELECT CAST(ROUND(CAST([o].[OrderID] AS real), 0) AS real) FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10250"); +WHERE [o].[OrderID] < 10250 +"""); } public override async Task Select_mathf_round2(bool async) @@ -1144,9 +1414,11 @@ public override async Task Select_mathf_round2(bool async) await base.Select_mathf_round2(async); AssertSql( - @"SELECT CAST(ROUND(CAST([o].[UnitPrice] AS real), 2) AS real) +""" +SELECT CAST(ROUND(CAST([o].[UnitPrice] AS real), 2) AS real) FROM [Order Details] AS [o] -WHERE [o].[Quantity] < CAST(5 AS smallint)"); +WHERE [o].[Quantity] < CAST(5 AS smallint) +"""); } public override async Task Where_mathf_truncate(bool async) @@ -1154,9 +1426,11 @@ public override async Task Where_mathf_truncate(bool async) await base.Where_mathf_truncate(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[Quantity] < CAST(5 AS smallint) AND CAST(ROUND(CAST([o].[UnitPrice] AS real), 0, 1) AS real) > CAST(10 AS real)"); +WHERE [o].[Quantity] < CAST(5 AS smallint) AND CAST(ROUND(CAST([o].[UnitPrice] AS real), 0, 1) AS real) > CAST(10 AS real) +"""); } public override async Task Select_mathf_truncate(bool async) @@ -1164,9 +1438,11 @@ public override async Task Select_mathf_truncate(bool async) await base.Select_mathf_truncate(async); AssertSql( - @"SELECT CAST(ROUND(CAST([o].[UnitPrice] AS real), 0, 1) AS real) +""" +SELECT CAST(ROUND(CAST([o].[UnitPrice] AS real), 0, 1) AS real) FROM [Order Details] AS [o] -WHERE [o].[Quantity] < CAST(5 AS smallint)"); +WHERE [o].[Quantity] < CAST(5 AS smallint) +"""); } public override async Task Where_mathf_exp(bool async) @@ -1174,9 +1450,11 @@ public override async Task Where_mathf_exp(bool async) await base.Where_mathf_exp(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND EXP([o].[Discount]) > CAST(1 AS real)"); +WHERE [o].[OrderID] = 11077 AND EXP([o].[Discount]) > CAST(1 AS real) +"""); } public override async Task Where_mathf_log10(bool async) @@ -1184,9 +1462,11 @@ public override async Task Where_mathf_log10(bool async) await base.Where_mathf_log10(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG10([o].[Discount]) < CAST(0 AS real)"); +WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG10([o].[Discount]) < CAST(0 AS real) +"""); } public override async Task Where_mathf_log(bool async) @@ -1194,9 +1474,11 @@ public override async Task Where_mathf_log(bool async) await base.Where_mathf_log(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG([o].[Discount]) < CAST(0 AS real)"); +WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG([o].[Discount]) < CAST(0 AS real) +"""); } public override async Task Where_mathf_log_new_base(bool async) @@ -1204,9 +1486,11 @@ public override async Task Where_mathf_log_new_base(bool async) await base.Where_mathf_log_new_base(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG([o].[Discount], CAST(7 AS real)) < CAST(0 AS real)"); +WHERE [o].[OrderID] = 11077 AND [o].[Discount] > CAST(0 AS real) AND LOG([o].[Discount], CAST(7 AS real)) < CAST(0 AS real) +"""); } public override async Task Where_mathf_sqrt(bool async) @@ -1214,9 +1498,11 @@ public override async Task Where_mathf_sqrt(bool async) await base.Where_mathf_sqrt(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND SQRT([o].[Discount]) > CAST(0 AS real)"); +WHERE [o].[OrderID] = 11077 AND SQRT([o].[Discount]) > CAST(0 AS real) +"""); } public override async Task Where_mathf_acos(bool async) @@ -1224,9 +1510,11 @@ public override async Task Where_mathf_acos(bool async) await base.Where_mathf_acos(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND ACOS([o].[Discount]) > CAST(1 AS real)"); +WHERE [o].[OrderID] = 11077 AND ACOS([o].[Discount]) > CAST(1 AS real) +"""); } public override async Task Where_mathf_asin(bool async) @@ -1234,9 +1522,11 @@ public override async Task Where_mathf_asin(bool async) await base.Where_mathf_asin(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND ASIN([o].[Discount]) > CAST(0 AS real)"); +WHERE [o].[OrderID] = 11077 AND ASIN([o].[Discount]) > CAST(0 AS real) +"""); } public override async Task Where_mathf_atan(bool async) @@ -1244,9 +1534,11 @@ public override async Task Where_mathf_atan(bool async) await base.Where_mathf_atan(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND ATAN([o].[Discount]) > CAST(0 AS real)"); +WHERE [o].[OrderID] = 11077 AND ATAN([o].[Discount]) > CAST(0 AS real) +"""); } public override async Task Where_mathf_atan2(bool async) @@ -1254,9 +1546,11 @@ public override async Task Where_mathf_atan2(bool async) await base.Where_mathf_atan2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND ATN2([o].[Discount], CAST(1 AS real)) > CAST(0 AS real)"); +WHERE [o].[OrderID] = 11077 AND ATN2([o].[Discount], CAST(1 AS real)) > CAST(0 AS real) +"""); } public override async Task Where_mathf_cos(bool async) @@ -1264,9 +1558,11 @@ public override async Task Where_mathf_cos(bool async) await base.Where_mathf_cos(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND COS([o].[Discount]) > CAST(0 AS real)"); +WHERE [o].[OrderID] = 11077 AND COS([o].[Discount]) > CAST(0 AS real) +"""); } public override async Task Where_mathf_sin(bool async) @@ -1274,9 +1570,11 @@ public override async Task Where_mathf_sin(bool async) await base.Where_mathf_sin(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND SIN([o].[Discount]) > CAST(0 AS real)"); +WHERE [o].[OrderID] = 11077 AND SIN([o].[Discount]) > CAST(0 AS real) +"""); } public override async Task Where_mathf_tan(bool async) @@ -1284,9 +1582,11 @@ public override async Task Where_mathf_tan(bool async) await base.Where_mathf_tan(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND TAN([o].[Discount]) > CAST(0 AS real)"); +WHERE [o].[OrderID] = 11077 AND TAN([o].[Discount]) > CAST(0 AS real) +"""); } public override async Task Where_mathf_sign(bool async) @@ -1294,9 +1594,11 @@ public override async Task Where_mathf_sign(bool async) await base.Where_mathf_sign(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 11077 AND SIGN([o].[Discount]) > 0"); +WHERE [o].[OrderID] = 11077 AND SIGN([o].[Discount]) > 0 +"""); } public override async Task Where_guid_newguid(bool async) @@ -1304,9 +1606,11 @@ public override async Task Where_guid_newguid(bool async) await base.Where_guid_newguid(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE NEWID() <> '00000000-0000-0000-0000-000000000000'"); +WHERE NEWID() <> '00000000-0000-0000-0000-000000000000' +"""); } public override async Task Where_string_to_upper(bool async) @@ -1314,9 +1618,11 @@ public override async Task Where_string_to_upper(bool async) await base.Where_string_to_upper(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE UPPER([c].[CustomerID]) = N'ALFKI'"); +WHERE UPPER([c].[CustomerID]) = N'ALFKI' +"""); } public override async Task Where_string_to_lower(bool async) @@ -1324,9 +1630,11 @@ public override async Task Where_string_to_lower(bool async) await base.Where_string_to_lower(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE LOWER([c].[CustomerID]) = N'alfki'"); +WHERE LOWER([c].[CustomerID]) = N'alfki' +"""); } public override async Task Where_functions_nested(bool async) @@ -1334,9 +1642,11 @@ public override async Task Where_functions_nested(bool async) await base.Where_functions_nested(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE POWER(CAST(CAST(LEN([c].[CustomerID]) AS int) AS float), 2.0E0) = 25.0E0"); +WHERE POWER(CAST(CAST(LEN([c].[CustomerID]) AS int) AS float), 2.0E0) = 25.0E0 +"""); } public override async Task Convert_ToBoolean(bool async) @@ -1344,37 +1654,53 @@ public override async Task Convert_ToBoolean(bool async) await base.Convert_ToBoolean(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(bit, [o].[OrderID] % 3)) = CAST(1 AS bit)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(bit, [o].[OrderID] % 3)) = CAST(1 AS bit) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(tinyint, [o].[OrderID] % 3)) = CAST(1 AS bit)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(tinyint, [o].[OrderID] % 3)) = CAST(1 AS bit) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(decimal(18, 2), [o].[OrderID] % 3)) = CAST(1 AS bit)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(decimal(18, 2), [o].[OrderID] % 3)) = CAST(1 AS bit) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(float, [o].[OrderID] % 3)) = CAST(1 AS bit)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(float, [o].[OrderID] % 3)) = CAST(1 AS bit) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CAST(CONVERT(float, [o].[OrderID] % 3) AS real)) = CAST(1 AS bit)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CAST(CONVERT(float, [o].[OrderID] % 3) AS real)) = CAST(1 AS bit) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(smallint, [o].[OrderID] % 3)) = CAST(1 AS bit)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(smallint, [o].[OrderID] % 3)) = CAST(1 AS bit) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(int, [o].[OrderID] % 3)) = CAST(1 AS bit)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(int, [o].[OrderID] % 3)) = CAST(1 AS bit) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(bigint, [o].[OrderID] % 3)) = CAST(1 AS bit)"); +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bit, CONVERT(bigint, [o].[OrderID] % 3)) = CAST(1 AS bit) +"""); } public override async Task Convert_ToByte(bool async) @@ -1382,41 +1708,59 @@ public override async Task Convert_ToByte(bool async) await base.Convert_ToByte(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(bit, [o].[OrderID] % 1)) >= CAST(0 AS tinyint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(bit, [o].[OrderID] % 1)) >= CAST(0 AS tinyint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(tinyint, [o].[OrderID] % 1)) >= CAST(0 AS tinyint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(tinyint, [o].[OrderID] % 1)) >= CAST(0 AS tinyint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= CAST(0 AS tinyint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= CAST(0 AS tinyint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(float, [o].[OrderID] % 1)) >= CAST(0 AS tinyint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(float, [o].[OrderID] % 1)) >= CAST(0 AS tinyint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= CAST(0 AS tinyint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= CAST(0 AS tinyint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(smallint, [o].[OrderID] % 1)) >= CAST(0 AS tinyint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(smallint, [o].[OrderID] % 1)) >= CAST(0 AS tinyint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(int, [o].[OrderID] % 1)) >= CAST(0 AS tinyint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(int, [o].[OrderID] % 1)) >= CAST(0 AS tinyint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(bigint, [o].[OrderID] % 1)) >= CAST(0 AS tinyint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(bigint, [o].[OrderID] % 1)) >= CAST(0 AS tinyint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= CAST(0 AS tinyint)"); +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(tinyint, CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= CAST(0 AS tinyint) +"""); } public override async Task Convert_ToDecimal(bool async) @@ -1424,41 +1768,59 @@ public override async Task Convert_ToDecimal(bool async) await base.Convert_ToDecimal(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(bit, [o].[OrderID] % 1)) >= 0.0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(bit, [o].[OrderID] % 1)) >= 0.0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(tinyint, [o].[OrderID] % 1)) >= 0.0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(tinyint, [o].[OrderID] % 1)) >= 0.0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= 0.0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= 0.0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(float, [o].[OrderID] % 1)) >= 0.0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(float, [o].[OrderID] % 1)) >= 0.0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= 0.0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= 0.0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(smallint, [o].[OrderID] % 1)) >= 0.0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(smallint, [o].[OrderID] % 1)) >= 0.0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(int, [o].[OrderID] % 1)) >= 0.0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(int, [o].[OrderID] % 1)) >= 0.0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(bigint, [o].[OrderID] % 1)) >= 0.0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(bigint, [o].[OrderID] % 1)) >= 0.0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= 0.0"); +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(decimal(18, 2), CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= 0.0 +"""); } public override async Task Convert_ToDouble(bool async) @@ -1466,41 +1828,59 @@ public override async Task Convert_ToDouble(bool async) await base.Convert_ToDouble(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(bit, [o].[OrderID] % 1)) >= 0.0E0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(bit, [o].[OrderID] % 1)) >= 0.0E0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(tinyint, [o].[OrderID] % 1)) >= 0.0E0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(tinyint, [o].[OrderID] % 1)) >= 0.0E0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= 0.0E0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= 0.0E0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(float, [o].[OrderID] % 1)) >= 0.0E0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(float, [o].[OrderID] % 1)) >= 0.0E0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= 0.0E0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= 0.0E0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(smallint, [o].[OrderID] % 1)) >= 0.0E0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(smallint, [o].[OrderID] % 1)) >= 0.0E0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(int, [o].[OrderID] % 1)) >= 0.0E0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(int, [o].[OrderID] % 1)) >= 0.0E0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(bigint, [o].[OrderID] % 1)) >= 0.0E0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(bigint, [o].[OrderID] % 1)) >= 0.0E0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= 0.0E0"); +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(float, CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= 0.0E0 +"""); } public override async Task Convert_ToInt16(bool async) @@ -1508,41 +1888,59 @@ public override async Task Convert_ToInt16(bool async) await base.Convert_ToInt16(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(bit, [o].[OrderID] % 1)) >= CAST(0 AS smallint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(bit, [o].[OrderID] % 1)) >= CAST(0 AS smallint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(tinyint, [o].[OrderID] % 1)) >= CAST(0 AS smallint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(tinyint, [o].[OrderID] % 1)) >= CAST(0 AS smallint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= CAST(0 AS smallint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= CAST(0 AS smallint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(float, [o].[OrderID] % 1)) >= CAST(0 AS smallint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(float, [o].[OrderID] % 1)) >= CAST(0 AS smallint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= CAST(0 AS smallint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= CAST(0 AS smallint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(smallint, [o].[OrderID] % 1)) >= CAST(0 AS smallint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(smallint, [o].[OrderID] % 1)) >= CAST(0 AS smallint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(int, [o].[OrderID] % 1)) >= CAST(0 AS smallint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(int, [o].[OrderID] % 1)) >= CAST(0 AS smallint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(bigint, [o].[OrderID] % 1)) >= CAST(0 AS smallint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(bigint, [o].[OrderID] % 1)) >= CAST(0 AS smallint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= CAST(0 AS smallint)"); +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(smallint, CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= CAST(0 AS smallint) +"""); } public override async Task Convert_ToInt32(bool async) @@ -1550,41 +1948,59 @@ public override async Task Convert_ToInt32(bool async) await base.Convert_ToInt32(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(bit, [o].[OrderID] % 1)) >= 0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(bit, [o].[OrderID] % 1)) >= 0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(tinyint, [o].[OrderID] % 1)) >= 0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(tinyint, [o].[OrderID] % 1)) >= 0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= 0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= 0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(float, [o].[OrderID] % 1)) >= 0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(float, [o].[OrderID] % 1)) >= 0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= 0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= 0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(smallint, [o].[OrderID] % 1)) >= 0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(smallint, [o].[OrderID] % 1)) >= 0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(int, [o].[OrderID] % 1)) >= 0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(int, [o].[OrderID] % 1)) >= 0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(bigint, [o].[OrderID] % 1)) >= 0", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(bigint, [o].[OrderID] % 1)) >= 0 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= 0"); +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(int, CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= 0 +"""); } public override async Task Convert_ToInt64(bool async) @@ -1592,41 +2008,59 @@ public override async Task Convert_ToInt64(bool async) await base.Convert_ToInt64(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(bit, [o].[OrderID] % 1)) >= CAST(0 AS bigint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(bit, [o].[OrderID] % 1)) >= CAST(0 AS bigint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(tinyint, [o].[OrderID] % 1)) >= CAST(0 AS bigint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(tinyint, [o].[OrderID] % 1)) >= CAST(0 AS bigint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= CAST(0 AS bigint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(decimal(18, 2), [o].[OrderID] % 1)) >= CAST(0 AS bigint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(float, [o].[OrderID] % 1)) >= CAST(0 AS bigint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(float, [o].[OrderID] % 1)) >= CAST(0 AS bigint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= CAST(0 AS bigint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) >= CAST(0 AS bigint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(smallint, [o].[OrderID] % 1)) >= CAST(0 AS bigint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(smallint, [o].[OrderID] % 1)) >= CAST(0 AS bigint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(int, [o].[OrderID] % 1)) >= CAST(0 AS bigint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(int, [o].[OrderID] % 1)) >= CAST(0 AS bigint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(bigint, [o].[OrderID] % 1)) >= CAST(0 AS bigint)", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(bigint, [o].[OrderID] % 1)) >= CAST(0 AS bigint) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= CAST(0 AS bigint)"); +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(bigint, CONVERT(nvarchar(max), [o].[OrderID] % 1)) >= CAST(0 AS bigint) +"""); } public override async Task Convert_ToString(bool async) @@ -1634,45 +2068,65 @@ public override async Task Convert_ToString(bool async) await base.Convert_ToString(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(bit, [o].[OrderID] % 1)) <> N'10'", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(bit, [o].[OrderID] % 1)) <> N'10' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(tinyint, [o].[OrderID] % 1)) <> N'10'", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(tinyint, [o].[OrderID] % 1)) <> N'10' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(decimal(18, 2), [o].[OrderID] % 1)) <> N'10'", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(decimal(18, 2), [o].[OrderID] % 1)) <> N'10' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(float, [o].[OrderID] % 1)) <> N'10'", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(float, [o].[OrderID] % 1)) <> N'10' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) <> N'10'", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CAST(CONVERT(float, [o].[OrderID] % 1) AS real)) <> N'10' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(smallint, [o].[OrderID] % 1)) <> N'10'", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(smallint, [o].[OrderID] % 1)) <> N'10' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(int, [o].[OrderID] % 1)) <> N'10'", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(int, [o].[OrderID] % 1)) <> N'10' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(bigint, [o].[OrderID] % 1)) <> N'10'", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(bigint, [o].[OrderID] % 1)) <> N'10' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(nvarchar(max), [o].[OrderID] % 1)) <> N'10'", +WHERE [o].[CustomerID] = N'ALFKI' AND CONVERT(nvarchar(max), CONVERT(nvarchar(max), [o].[OrderID] % 1)) <> N'10' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI' AND ((CONVERT(nvarchar(max), [o].[OrderDate]) LIKE N'%1997%') OR (CONVERT(nvarchar(max), [o].[OrderDate]) LIKE N'%1998%'))"); +WHERE [o].[CustomerID] = N'ALFKI' AND ((CONVERT(nvarchar(max), [o].[OrderDate]) LIKE N'%1997%') OR (CONVERT(nvarchar(max), [o].[OrderDate]) LIKE N'%1998%')) +"""); } public override async Task Indexof_with_emptystring(bool async) @@ -1680,8 +2134,10 @@ public override async Task Indexof_with_emptystring(bool async) await base.Indexof_with_emptystring(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Indexof_with_one_constant_arg(bool async) @@ -1689,9 +2145,11 @@ public override async Task Indexof_with_one_constant_arg(bool async) await base.Indexof_with_one_constant_arg(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE (CHARINDEX(N'a', [c].[ContactName]) - 1) = 1"); +WHERE (CHARINDEX(N'a', [c].[ContactName]) - 1) = 1 +"""); } public override async Task Indexof_with_one_parameter_arg(bool async) @@ -1699,14 +2157,16 @@ public override async Task Indexof_with_one_parameter_arg(bool async) await base.Indexof_with_one_parameter_arg(async); AssertSql( - @"@__pattern_0='a' (Size = 30) +""" +@__pattern_0='a' (Size = 30) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE CASE WHEN @__pattern_0 = N'' THEN 0 ELSE CHARINDEX(@__pattern_0, [c].[ContactName]) - 1 -END = 1"); +END = 1 +"""); } public override async Task Indexof_with_constant_starting_position(bool async) @@ -1714,9 +2174,11 @@ public override async Task Indexof_with_constant_starting_position(bool async) await base.Indexof_with_constant_starting_position(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE (CHARINDEX(N'a', [c].[ContactName], 3) - 1) = 4"); +WHERE (CHARINDEX(N'a', [c].[ContactName], 3) - 1) = 4 +"""); } public override async Task Indexof_with_parameter_starting_position(bool async) @@ -1724,11 +2186,13 @@ public override async Task Indexof_with_parameter_starting_position(bool async) await base.Indexof_with_parameter_starting_position(async); AssertSql( - @"@__start_0='2' +""" +@__start_0='2' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE (CHARINDEX(N'a', [c].[ContactName], @__start_0 + 1) - 1) = 4"); +WHERE (CHARINDEX(N'a', [c].[ContactName], @__start_0 + 1) - 1) = 4 +"""); } public override async Task Replace_with_emptystring(bool async) @@ -1736,9 +2200,11 @@ public override async Task Replace_with_emptystring(bool async) await base.Replace_with_emptystring(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE REPLACE([c].[ContactName], N'ia', N'') = N'Mar Anders'"); +WHERE REPLACE([c].[ContactName], N'ia', N'') = N'Mar Anders' +"""); } public override async Task Replace_using_property_arguments(bool async) @@ -1746,9 +2212,11 @@ public override async Task Replace_using_property_arguments(bool async) await base.Replace_using_property_arguments(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE REPLACE([c].[ContactName], [c].[ContactName], [c].[CustomerID]) = [c].[CustomerID]"); +WHERE REPLACE([c].[ContactName], [c].[ContactName], [c].[CustomerID]) = [c].[CustomerID] +"""); } public override async Task Substring_with_one_arg_with_zero_startindex(bool async) @@ -1756,9 +2224,11 @@ public override async Task Substring_with_one_arg_with_zero_startindex(bool asyn await base.Substring_with_one_arg_with_zero_startindex(async); AssertSql( - @"SELECT [c].[ContactName] +""" +SELECT [c].[ContactName] FROM [Customers] AS [c] -WHERE SUBSTRING([c].[CustomerID], 0 + 1, LEN([c].[CustomerID])) = N'ALFKI'"); +WHERE SUBSTRING([c].[CustomerID], 0 + 1, LEN([c].[CustomerID])) = N'ALFKI' +"""); } public override async Task Substring_with_one_arg_with_constant(bool async) @@ -1766,9 +2236,11 @@ public override async Task Substring_with_one_arg_with_constant(bool async) await base.Substring_with_one_arg_with_constant(async); AssertSql( - @"SELECT [c].[ContactName] +""" +SELECT [c].[ContactName] FROM [Customers] AS [c] -WHERE SUBSTRING([c].[CustomerID], 1 + 1, LEN([c].[CustomerID])) = N'LFKI'"); +WHERE SUBSTRING([c].[CustomerID], 1 + 1, LEN([c].[CustomerID])) = N'LFKI' +"""); } public override async Task Substring_with_one_arg_with_closure(bool async) @@ -1776,11 +2248,13 @@ public override async Task Substring_with_one_arg_with_closure(bool async) await base.Substring_with_one_arg_with_closure(async); AssertSql( - @"@__start_0='2' +""" +@__start_0='2' SELECT [c].[ContactName] FROM [Customers] AS [c] -WHERE SUBSTRING([c].[CustomerID], @__start_0 + 1, LEN([c].[CustomerID])) = N'FKI'"); +WHERE SUBSTRING([c].[CustomerID], @__start_0 + 1, LEN([c].[CustomerID])) = N'FKI' +"""); } public override async Task Substring_with_two_args_with_zero_startindex(bool async) @@ -1788,9 +2262,11 @@ public override async Task Substring_with_two_args_with_zero_startindex(bool asy await base.Substring_with_two_args_with_zero_startindex(async); AssertSql( - @"SELECT SUBSTRING([c].[ContactName], 0 + 1, 3) +""" +SELECT SUBSTRING([c].[ContactName], 0 + 1, 3) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Substring_with_two_args_with_zero_length(bool async) @@ -1798,9 +2274,11 @@ public override async Task Substring_with_two_args_with_zero_length(bool async) await base.Substring_with_two_args_with_zero_length(async); AssertSql( - @"SELECT SUBSTRING([c].[ContactName], 2 + 1, 0) +""" +SELECT SUBSTRING([c].[ContactName], 2 + 1, 0) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Substring_with_two_args_with_constant(bool async) @@ -1808,9 +2286,11 @@ public override async Task Substring_with_two_args_with_constant(bool async) await base.Substring_with_two_args_with_constant(async); AssertSql( - @"SELECT SUBSTRING([c].[ContactName], 1 + 1, 3) +""" +SELECT SUBSTRING([c].[ContactName], 1 + 1, 3) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Substring_with_two_args_with_closure(bool async) @@ -1818,11 +2298,13 @@ public override async Task Substring_with_two_args_with_closure(bool async) await base.Substring_with_two_args_with_closure(async); AssertSql( - @"@__start_0='2' +""" +@__start_0='2' SELECT SUBSTRING([c].[ContactName], @__start_0 + 1, 3) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Substring_with_two_args_with_Index_of(bool async) @@ -1830,9 +2312,11 @@ public override async Task Substring_with_two_args_with_Index_of(bool async) await base.Substring_with_two_args_with_Index_of(async); AssertSql( - @"SELECT SUBSTRING([c].[ContactName], (CHARINDEX(N'a', [c].[ContactName]) - 1) + 1, 3) +""" +SELECT SUBSTRING([c].[ContactName], (CHARINDEX(N'a', [c].[ContactName]) - 1) + 1, 3) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task IsNullOrEmpty_in_predicate(bool async) @@ -1840,9 +2324,11 @@ public override async Task IsNullOrEmpty_in_predicate(bool async) await base.IsNullOrEmpty_in_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[Region] IS NULL) OR ([c].[Region] LIKE N'')"); +WHERE ([c].[Region] IS NULL) OR ([c].[Region] LIKE N'') +"""); } public override async Task IsNullOrEmpty_in_projection(bool async) @@ -1850,11 +2336,13 @@ public override async Task IsNullOrEmpty_in_projection(bool async) await base.IsNullOrEmpty_in_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id], CASE +""" +SELECT [c].[CustomerID] AS [Id], CASE WHEN ([c].[Region] IS NULL) OR ([c].[Region] LIKE N'') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Value] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task IsNullOrEmpty_negated_in_predicate(bool async) @@ -1862,9 +2350,11 @@ public override async Task IsNullOrEmpty_negated_in_predicate(bool async) await base.IsNullOrEmpty_negated_in_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[Region] IS NOT NULL) AND NOT ([c].[Region] LIKE N'')"); +WHERE ([c].[Region] IS NOT NULL) AND NOT ([c].[Region] LIKE N'') +"""); } public override async Task IsNullOrEmpty_negated_in_projection(bool async) @@ -1872,11 +2362,13 @@ public override async Task IsNullOrEmpty_negated_in_projection(bool async) await base.IsNullOrEmpty_negated_in_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id], CASE +""" +SELECT [c].[CustomerID] AS [Id], CASE WHEN ([c].[Region] IS NOT NULL) AND NOT ([c].[Region] LIKE N'') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Value] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task IsNullOrWhiteSpace_in_predicate(bool async) @@ -1884,9 +2376,11 @@ public override async Task IsNullOrWhiteSpace_in_predicate(bool async) await base.IsNullOrWhiteSpace_in_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[Region] IS NULL) OR [c].[Region] = N''"); +WHERE ([c].[Region] IS NULL) OR [c].[Region] = N'' +"""); } public override async Task IsNullOrWhiteSpace_in_predicate_on_non_nullable_column(bool async) @@ -1894,9 +2388,11 @@ public override async Task IsNullOrWhiteSpace_in_predicate_on_non_nullable_colum await base.IsNullOrWhiteSpace_in_predicate_on_non_nullable_column(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N''"); +WHERE [c].[CustomerID] = N'' +"""); } public override async Task TrimStart_without_arguments_in_predicate(bool async) @@ -1904,9 +2400,11 @@ public override async Task TrimStart_without_arguments_in_predicate(bool async) await base.TrimStart_without_arguments_in_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE LTRIM([c].[ContactTitle]) = N'Owner'"); +WHERE LTRIM([c].[ContactTitle]) = N'Owner' +"""); } public override async Task TrimStart_with_char_argument_in_predicate(bool async) @@ -1930,9 +2428,11 @@ public override async Task TrimEnd_without_arguments_in_predicate(bool async) await base.TrimEnd_without_arguments_in_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE RTRIM([c].[ContactTitle]) = N'Owner'"); +WHERE RTRIM([c].[ContactTitle]) = N'Owner' +"""); } public override async Task TrimEnd_with_char_argument_in_predicate(bool async) @@ -1956,9 +2456,11 @@ public override async Task Trim_without_argument_in_predicate(bool async) await base.Trim_without_argument_in_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE LTRIM(RTRIM([c].[ContactTitle])) = N'Owner'"); +WHERE LTRIM(RTRIM([c].[ContactTitle])) = N'Owner' +"""); } public override async Task Trim_with_char_argument_in_predicate(bool async) @@ -1982,9 +2484,11 @@ public override async Task Order_by_length_twice(bool async) await base.Order_by_length_twice(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY CAST(LEN([c].[CustomerID]) AS int), [c].[CustomerID]"); +ORDER BY CAST(LEN([c].[CustomerID]) AS int), [c].[CustomerID] +"""); } public override async Task Order_by_length_twice_followed_by_projection_of_naked_collection_navigation(bool async) @@ -1992,10 +2496,12 @@ public override async Task Order_by_length_twice_followed_by_projection_of_naked await base.Order_by_length_twice_followed_by_projection_of_naked_collection_navigation(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY CAST(LEN([c].[CustomerID]) AS int), [c].[CustomerID]"); +ORDER BY CAST(LEN([c].[CustomerID]) AS int), [c].[CustomerID] +"""); } public override async Task Static_string_equals_in_predicate(bool async) @@ -2003,9 +2509,11 @@ public override async Task Static_string_equals_in_predicate(bool async) await base.Static_string_equals_in_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ANATR'"); +WHERE [c].[CustomerID] = N'ANATR' +"""); } public override async Task Static_equals_nullable_datetime_compared_to_non_nullable(bool async) @@ -2013,11 +2521,13 @@ public override async Task Static_equals_nullable_datetime_compared_to_non_nulla await base.Static_equals_nullable_datetime_compared_to_non_nullable(async); AssertSql( - @"@__arg_0='1996-07-04T00:00:00.0000000' (DbType = DateTime) +""" +@__arg_0='1996-07-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] = @__arg_0"); +WHERE [o].[OrderDate] = @__arg_0 +"""); } public override async Task Static_equals_int_compared_to_long(bool async) @@ -2025,9 +2535,11 @@ public override async Task Static_equals_int_compared_to_long(bool async) await base.Static_equals_int_compared_to_long(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Projecting_Math_Truncate_and_ordering_by_it_twice(bool async) @@ -2091,9 +2603,11 @@ public virtual async Task StandardDeviation(bool async) Assert.Equal(7.759999999999856, product9.PopulationStandardDeviation.Value, 5); AssertSql( - @"SELECT [o].[ProductID], STDEV([o].[UnitPrice]) AS [SampleStandardDeviation], STDEVP([o].[UnitPrice]) AS [PopulationStandardDeviation] +""" +SELECT [o].[ProductID], STDEV([o].[UnitPrice]) AS [SampleStandardDeviation], STDEVP([o].[UnitPrice]) AS [PopulationStandardDeviation] FROM [Order Details] AS [o] -GROUP BY [o].[ProductID]"); +GROUP BY [o].[ProductID] +"""); } [ConditionalTheory] @@ -2121,9 +2635,11 @@ public virtual async Task Variance(bool async) Assert.Equal(60.217599999997766, product9.PopulationStandardDeviation.Value, 5); AssertSql( - @"SELECT [o].[ProductID], VAR([o].[UnitPrice]) AS [SampleStandardDeviation], VARP([o].[UnitPrice]) AS [PopulationStandardDeviation] +""" +SELECT [o].[ProductID], VAR([o].[UnitPrice]) AS [SampleStandardDeviation], VARP([o].[UnitPrice]) AS [PopulationStandardDeviation] FROM [Order Details] AS [o] -GROUP BY [o].[ProductID]"); +GROUP BY [o].[ProductID] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindGroupByQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindGroupByQuerySqlServerTest.cs index c404f19f009..4a3e011f67d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindGroupByQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindGroupByQuerySqlServerTest.cs @@ -27,9 +27,11 @@ public override async Task GroupBy_Property_Select_Average(bool async) await base.GroupBy_Property_Select_Average(async); AssertSql( - @"SELECT AVG(CAST([o].[OrderID] AS float)) +""" +SELECT AVG(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); // Validating that we don't generate warning when translating GroupBy. See Issue#11157 Assert.DoesNotContain( @@ -49,9 +51,11 @@ public override async Task GroupBy_Property_Select_Count(bool async) await base.GroupBy_Property_Select_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_LongCount(bool async) @@ -59,9 +63,11 @@ public override async Task GroupBy_Property_Select_LongCount(bool async) await base.GroupBy_Property_Select_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Count_with_nulls(bool async) @@ -69,9 +75,11 @@ public override async Task GroupBy_Property_Select_Count_with_nulls(bool async) await base.GroupBy_Property_Select_Count_with_nulls(async); AssertSql( - @"SELECT [c].[City], COUNT(*) AS [Faxes] +""" +SELECT [c].[City], COUNT(*) AS [Faxes] FROM [Customers] AS [c] -GROUP BY [c].[City]"); +GROUP BY [c].[City] +"""); } public override async Task GroupBy_Property_Select_LongCount_with_nulls(bool async) @@ -79,9 +87,11 @@ public override async Task GroupBy_Property_Select_LongCount_with_nulls(bool asy await base.GroupBy_Property_Select_LongCount_with_nulls(async); AssertSql( - @"SELECT [c].[City], COUNT_BIG(*) AS [Faxes] +""" +SELECT [c].[City], COUNT_BIG(*) AS [Faxes] FROM [Customers] AS [c] -GROUP BY [c].[City]"); +GROUP BY [c].[City] +"""); } public override async Task GroupBy_Property_Select_Max(bool async) @@ -89,9 +99,11 @@ public override async Task GroupBy_Property_Select_Max(bool async) await base.GroupBy_Property_Select_Max(async); AssertSql( - @"SELECT MAX([o].[OrderID]) +""" +SELECT MAX([o].[OrderID]) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Min(bool async) @@ -99,9 +111,11 @@ public override async Task GroupBy_Property_Select_Min(bool async) await base.GroupBy_Property_Select_Min(async); AssertSql( - @"SELECT MIN([o].[OrderID]) +""" +SELECT MIN([o].[OrderID]) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Sum(bool async) @@ -109,9 +123,11 @@ public override async Task GroupBy_Property_Select_Sum(bool async) await base.GroupBy_Property_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Sum_Min_Max_Avg(bool async) @@ -119,9 +135,11 @@ public override async Task GroupBy_Property_Select_Sum_Min_Max_Avg(bool async) await base.GroupBy_Property_Select_Sum_Min_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Key_Average(bool async) @@ -129,9 +147,11 @@ public override async Task GroupBy_Property_Select_Key_Average(bool async) await base.GroupBy_Property_Select_Key_Average(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], AVG(CAST([o].[OrderID] AS float)) AS [Average] +""" +SELECT [o].[CustomerID] AS [Key], AVG(CAST([o].[OrderID] AS float)) AS [Average] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Key_Count(bool async) @@ -139,9 +159,11 @@ public override async Task GroupBy_Property_Select_Key_Count(bool async) await base.GroupBy_Property_Select_Key_Count(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count] +""" +SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Key_LongCount(bool async) @@ -149,9 +171,11 @@ public override async Task GroupBy_Property_Select_Key_LongCount(bool async) await base.GroupBy_Property_Select_Key_LongCount(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COUNT_BIG(*) AS [LongCount] +""" +SELECT [o].[CustomerID] AS [Key], COUNT_BIG(*) AS [LongCount] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Key_Max(bool async) @@ -159,9 +183,11 @@ public override async Task GroupBy_Property_Select_Key_Max(bool async) await base.GroupBy_Property_Select_Key_Max(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], MAX([o].[OrderID]) AS [Max] +""" +SELECT [o].[CustomerID] AS [Key], MAX([o].[OrderID]) AS [Max] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Key_Min(bool async) @@ -169,9 +195,11 @@ public override async Task GroupBy_Property_Select_Key_Min(bool async) await base.GroupBy_Property_Select_Key_Min(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], MIN([o].[OrderID]) AS [Min] +""" +SELECT [o].[CustomerID] AS [Key], MIN([o].[OrderID]) AS [Min] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Key_Sum(bool async) @@ -179,9 +207,11 @@ public override async Task GroupBy_Property_Select_Key_Sum(bool async) await base.GroupBy_Property_Select_Key_Sum(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] +""" +SELECT [o].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Key_Sum_Min_Max_Avg(bool async) @@ -189,9 +219,11 @@ public override async Task GroupBy_Property_Select_Key_Sum_Min_Max_Avg(bool asyn await base.GroupBy_Property_Select_Key_Sum_Min_Max_Avg(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT [o].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Sum_Min_Key_Max_Avg(bool async) @@ -199,9 +231,11 @@ public override async Task GroupBy_Property_Select_Sum_Min_Key_Max_Avg(bool asyn await base.GroupBy_Property_Select_Sum_Min_Key_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], [o].[CustomerID] AS [Key], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], [o].[CustomerID] AS [Key], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_key_multiple_times_and_aggregate(bool async) @@ -209,9 +243,11 @@ public override async Task GroupBy_Property_Select_key_multiple_times_and_aggreg await base.GroupBy_Property_Select_key_multiple_times_and_aggregate(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key1], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] +""" +SELECT [o].[CustomerID] AS [Key1], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Key_with_constant(bool async) @@ -219,12 +255,14 @@ public override async Task GroupBy_Property_Select_Key_with_constant(bool async) await base.GroupBy_Property_Select_Key_with_constant(async); AssertSql( - @"SELECT [t].[Name], [t].[CustomerID] AS [Value], COUNT(*) AS [Count] +""" +SELECT [t].[Name], [t].[CustomerID] AS [Value], COUNT(*) AS [Count] FROM ( SELECT [o].[CustomerID], N'CustomerID' AS [Name] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Name], [t].[CustomerID]"); +GROUP BY [t].[Name], [t].[CustomerID] +"""); } public override async Task GroupBy_aggregate_projecting_conditional_expression(bool async) @@ -232,7 +270,8 @@ public override async Task GroupBy_aggregate_projecting_conditional_expression(b await base.GroupBy_aggregate_projecting_conditional_expression(async); AssertSql( - @"SELECT [o].[OrderDate] AS [Key], CASE +""" +SELECT [o].[OrderDate] AS [Key], CASE WHEN COUNT(*) = 0 THEN 1 ELSE COALESCE(SUM(CASE WHEN ([o].[OrderID] % 2) = 0 THEN 1 @@ -240,7 +279,8 @@ ELSE 0 END), 0) / COUNT(*) END AS [SomeValue] FROM [Orders] AS [o] -GROUP BY [o].[OrderDate]"); +GROUP BY [o].[OrderDate] +"""); } public override async Task GroupBy_aggregate_projecting_conditional_expression_based_on_group_key(bool async) @@ -248,12 +288,14 @@ public override async Task GroupBy_aggregate_projecting_conditional_expression_b await base.GroupBy_aggregate_projecting_conditional_expression_based_on_group_key(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [o].[OrderDate] IS NULL THEN N'is null' ELSE N'is not null' END AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] FROM [Orders] AS [o] -GROUP BY [o].[OrderDate]"); +GROUP BY [o].[OrderDate] +"""); } public override async Task GroupBy_anonymous_Select_Average(bool async) @@ -261,9 +303,11 @@ public override async Task GroupBy_anonymous_Select_Average(bool async) await base.GroupBy_anonymous_Select_Average(async); AssertSql( - @"SELECT AVG(CAST([o].[OrderID] AS float)) +""" +SELECT AVG(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_anonymous_Select_Count(bool async) @@ -271,9 +315,11 @@ public override async Task GroupBy_anonymous_Select_Count(bool async) await base.GroupBy_anonymous_Select_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_anonymous_Select_LongCount(bool async) @@ -281,9 +327,11 @@ public override async Task GroupBy_anonymous_Select_LongCount(bool async) await base.GroupBy_anonymous_Select_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_anonymous_Select_Max(bool async) @@ -291,9 +339,11 @@ public override async Task GroupBy_anonymous_Select_Max(bool async) await base.GroupBy_anonymous_Select_Max(async); AssertSql( - @"SELECT MAX([o].[OrderID]) +""" +SELECT MAX([o].[OrderID]) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_anonymous_Select_Min(bool async) @@ -301,9 +351,11 @@ public override async Task GroupBy_anonymous_Select_Min(bool async) await base.GroupBy_anonymous_Select_Min(async); AssertSql( - @"SELECT MIN([o].[OrderID]) +""" +SELECT MIN([o].[OrderID]) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_anonymous_Select_Sum(bool async) @@ -311,9 +363,11 @@ public override async Task GroupBy_anonymous_Select_Sum(bool async) await base.GroupBy_anonymous_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_anonymous_Select_Sum_Min_Max_Avg(bool async) @@ -321,9 +375,11 @@ public override async Task GroupBy_anonymous_Select_Sum_Min_Max_Avg(bool async) await base.GroupBy_anonymous_Select_Sum_Min_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_anonymous_with_alias_Select_Key_Sum(bool async) @@ -331,9 +387,11 @@ public override async Task GroupBy_anonymous_with_alias_Select_Key_Sum(bool asyn await base.GroupBy_anonymous_with_alias_Select_Key_Sum(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] +""" +SELECT [o].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Composite_Select_Average(bool async) @@ -341,9 +399,11 @@ public override async Task GroupBy_Composite_Select_Average(bool async) await base.GroupBy_Composite_Select_Average(async); AssertSql( - @"SELECT AVG(CAST([o].[OrderID] AS float)) +""" +SELECT AVG(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Count(bool async) @@ -351,9 +411,11 @@ public override async Task GroupBy_Composite_Select_Count(bool async) await base.GroupBy_Composite_Select_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_LongCount(bool async) @@ -361,9 +423,11 @@ public override async Task GroupBy_Composite_Select_LongCount(bool async) await base.GroupBy_Composite_Select_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Max(bool async) @@ -371,9 +435,11 @@ public override async Task GroupBy_Composite_Select_Max(bool async) await base.GroupBy_Composite_Select_Max(async); AssertSql( - @"SELECT MAX([o].[OrderID]) +""" +SELECT MAX([o].[OrderID]) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Min(bool async) @@ -381,9 +447,11 @@ public override async Task GroupBy_Composite_Select_Min(bool async) await base.GroupBy_Composite_Select_Min(async); AssertSql( - @"SELECT MIN([o].[OrderID]) +""" +SELECT MIN([o].[OrderID]) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Sum(bool async) @@ -391,9 +459,11 @@ public override async Task GroupBy_Composite_Select_Sum(bool async) await base.GroupBy_Composite_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Sum_Min_Max_Avg(bool async) @@ -401,9 +471,11 @@ public override async Task GroupBy_Composite_Select_Sum_Min_Max_Avg(bool async) await base.GroupBy_Composite_Select_Sum_Min_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Key_Average(bool async) @@ -411,9 +483,11 @@ public override async Task GroupBy_Composite_Select_Key_Average(bool async) await base.GroupBy_Composite_Select_Key_Average(async); AssertSql( - @"SELECT [o].[CustomerID], [o].[EmployeeID], AVG(CAST([o].[OrderID] AS float)) AS [Average] +""" +SELECT [o].[CustomerID], [o].[EmployeeID], AVG(CAST([o].[OrderID] AS float)) AS [Average] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Key_Count(bool async) @@ -421,9 +495,11 @@ public override async Task GroupBy_Composite_Select_Key_Count(bool async) await base.GroupBy_Composite_Select_Key_Count(async); AssertSql( - @"SELECT [o].[CustomerID], [o].[EmployeeID], COUNT(*) AS [Count] +""" +SELECT [o].[CustomerID], [o].[EmployeeID], COUNT(*) AS [Count] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Key_LongCount(bool async) @@ -431,9 +507,11 @@ public override async Task GroupBy_Composite_Select_Key_LongCount(bool async) await base.GroupBy_Composite_Select_Key_LongCount(async); AssertSql( - @"SELECT [o].[CustomerID], [o].[EmployeeID], COUNT_BIG(*) AS [LongCount] +""" +SELECT [o].[CustomerID], [o].[EmployeeID], COUNT_BIG(*) AS [LongCount] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Key_Max(bool async) @@ -441,9 +519,11 @@ public override async Task GroupBy_Composite_Select_Key_Max(bool async) await base.GroupBy_Composite_Select_Key_Max(async); AssertSql( - @"SELECT [o].[CustomerID], [o].[EmployeeID], MAX([o].[OrderID]) AS [Max] +""" +SELECT [o].[CustomerID], [o].[EmployeeID], MAX([o].[OrderID]) AS [Max] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Key_Min(bool async) @@ -451,9 +531,11 @@ public override async Task GroupBy_Composite_Select_Key_Min(bool async) await base.GroupBy_Composite_Select_Key_Min(async); AssertSql( - @"SELECT [o].[CustomerID], [o].[EmployeeID], MIN([o].[OrderID]) AS [Min] +""" +SELECT [o].[CustomerID], [o].[EmployeeID], MIN([o].[OrderID]) AS [Min] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Key_Sum(bool async) @@ -461,9 +543,11 @@ public override async Task GroupBy_Composite_Select_Key_Sum(bool async) await base.GroupBy_Composite_Select_Key_Sum(async); AssertSql( - @"SELECT [o].[CustomerID], [o].[EmployeeID], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] +""" +SELECT [o].[CustomerID], [o].[EmployeeID], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Key_Sum_Min_Max_Avg(bool async) @@ -471,9 +555,11 @@ public override async Task GroupBy_Composite_Select_Key_Sum_Min_Max_Avg(bool asy await base.GroupBy_Composite_Select_Key_Sum_Min_Max_Avg(async); AssertSql( - @"SELECT [o].[CustomerID], [o].[EmployeeID], COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT [o].[CustomerID], [o].[EmployeeID], COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Sum_Min_Key_Max_Avg(bool async) @@ -481,9 +567,11 @@ public override async Task GroupBy_Composite_Select_Sum_Min_Key_Max_Avg(bool asy await base.GroupBy_Composite_Select_Sum_Min_Key_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], [o].[CustomerID], [o].[EmployeeID], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], [o].[CustomerID], [o].[EmployeeID], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Sum_Min_Key_flattened_Max_Avg(bool async) @@ -491,9 +579,11 @@ public override async Task GroupBy_Composite_Select_Sum_Min_Key_flattened_Max_Av await base.GroupBy_Composite_Select_Sum_Min_Key_flattened_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], [o].[CustomerID], [o].[EmployeeID], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], [o].[CustomerID], [o].[EmployeeID], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Dto_as_key_Select_Sum(bool async) @@ -501,9 +591,11 @@ public override async Task GroupBy_Dto_as_key_Select_Sum(bool async) await base.GroupBy_Dto_as_key_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], [o].[CustomerID], [o].[EmployeeID] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], [o].[CustomerID], [o].[EmployeeID] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Dto_as_element_selector_Select_Sum(bool async) @@ -511,9 +603,11 @@ public override async Task GroupBy_Dto_as_element_selector_Select_Sum(bool async await base.GroupBy_Dto_as_element_selector_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM(CAST([o].[EmployeeID] AS bigint)), CAST(0 AS bigint)) AS [Sum], [o].[CustomerID] AS [Key] +""" +SELECT COALESCE(SUM(CAST([o].[EmployeeID] AS bigint)), CAST(0 AS bigint)) AS [Sum], [o].[CustomerID] AS [Key] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Composite_Select_Dto_Sum_Min_Key_flattened_Max_Avg(bool async) @@ -521,9 +615,11 @@ public override async Task GroupBy_Composite_Select_Dto_Sum_Min_Key_flattened_Ma await base.GroupBy_Composite_Select_Dto_Sum_Min_Key_flattened_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], [o].[CustomerID] AS [CustomerId], [o].[EmployeeID] AS [EmployeeId], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], [o].[CustomerID] AS [CustomerId], [o].[EmployeeID] AS [EmployeeId], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Composite_Select_Sum_Min_part_Key_flattened_Max_Avg(bool async) @@ -531,9 +627,11 @@ public override async Task GroupBy_Composite_Select_Sum_Min_part_Key_flattened_M await base.GroupBy_Composite_Select_Sum_Min_part_Key_flattened_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], [o].[CustomerID], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], [o].[CustomerID], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID], [o].[EmployeeID]"); +GROUP BY [o].[CustomerID], [o].[EmployeeID] +"""); } public override async Task GroupBy_Constant_Select_Sum_Min_Key_Max_Avg(bool async) @@ -541,12 +639,14 @@ public override async Task GroupBy_Constant_Select_Sum_Min_Key_Max_Avg(bool asyn await base.GroupBy_Constant_Select_Sum_Min_Key_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum], MIN([t].[OrderID]) AS [Min], [t].[Key], MAX([t].[OrderID]) AS [Max], AVG(CAST([t].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum], MIN([t].[OrderID]) AS [Min], [t].[Key], MAX([t].[OrderID]) AS [Max], AVG(CAST([t].[OrderID] AS float)) AS [Avg] FROM ( SELECT [o].[OrderID], 2 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_Constant_with_element_selector_Select_Sum(bool async) @@ -554,12 +654,14 @@ public override async Task GroupBy_Constant_with_element_selector_Select_Sum(boo await base.GroupBy_Constant_with_element_selector_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] +""" +SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] FROM ( SELECT [o].[OrderID], 2 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_Constant_with_element_selector_Select_Sum2(bool async) @@ -567,12 +669,14 @@ public override async Task GroupBy_Constant_with_element_selector_Select_Sum2(bo await base.GroupBy_Constant_with_element_selector_Select_Sum2(async); AssertSql( - @"SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] +""" +SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] FROM ( SELECT [o].[OrderID], 2 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_Constant_with_element_selector_Select_Sum3(bool async) @@ -580,12 +684,14 @@ public override async Task GroupBy_Constant_with_element_selector_Select_Sum3(bo await base.GroupBy_Constant_with_element_selector_Select_Sum3(async); AssertSql( - @"SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] +""" +SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] FROM ( SELECT [o].[OrderID], 2 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_after_predicate_Constant_Select_Sum_Min_Key_Max_Avg(bool async) @@ -593,13 +699,15 @@ public override async Task GroupBy_after_predicate_Constant_Select_Sum_Min_Key_M await base.GroupBy_after_predicate_Constant_Select_Sum_Min_Key_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum], MIN([t].[OrderID]) AS [Min], [t].[Key] AS [Random], MAX([t].[OrderID]) AS [Max], AVG(CAST([t].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum], MIN([t].[OrderID]) AS [Min], [t].[Key] AS [Random], MAX([t].[OrderID]) AS [Max], AVG(CAST([t].[OrderID] AS float)) AS [Avg] FROM ( SELECT [o].[OrderID], 2 AS [Key] FROM [Orders] AS [o] WHERE [o].[OrderID] > 10500 ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_Constant_with_element_selector_Select_Sum_Min_Key_Max_Avg(bool async) @@ -607,12 +715,14 @@ public override async Task GroupBy_Constant_with_element_selector_Select_Sum_Min await base.GroupBy_Constant_with_element_selector_Select_Sum_Min_Key_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum], [t].[Key] +""" +SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum], [t].[Key] FROM ( SELECT [o].[OrderID], 2 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_constant_with_where_on_grouping_with_aggregate_operators(bool async) @@ -620,7 +730,8 @@ public override async Task GroupBy_constant_with_where_on_grouping_with_aggregat await base.GroupBy_constant_with_where_on_grouping_with_aggregate_operators(async); AssertSql( - @"SELECT MIN(CASE +""" +SELECT MIN(CASE WHEN 1 = [t].[Key] THEN [t].[OrderDate] END) AS [Min], MAX(CASE WHEN 1 = [t].[Key] THEN [t].[OrderDate] @@ -634,7 +745,8 @@ public override async Task GroupBy_constant_with_where_on_grouping_with_aggregat FROM [Orders] AS [o] ) AS [t] GROUP BY [t].[Key] -ORDER BY [t].[Key]"); +ORDER BY [t].[Key] +"""); } public override async Task GroupBy_param_Select_Sum_Min_Key_Max_Avg(bool async) @@ -642,14 +754,16 @@ public override async Task GroupBy_param_Select_Sum_Min_Key_Max_Avg(bool async) await base.GroupBy_param_Select_Sum_Min_Key_Max_Avg(async); AssertSql( - @"@__a_0='2' +""" +@__a_0='2' SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum], MIN([t].[OrderID]) AS [Min], [t].[Key], MAX([t].[OrderID]) AS [Max], AVG(CAST([t].[OrderID] AS float)) AS [Avg] FROM ( SELECT [o].[OrderID], @__a_0 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_param_with_element_selector_Select_Sum(bool async) @@ -657,14 +771,16 @@ public override async Task GroupBy_param_with_element_selector_Select_Sum(bool a await base.GroupBy_param_with_element_selector_Select_Sum(async); AssertSql( - @"@__a_0='2' +""" +@__a_0='2' SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] FROM ( SELECT [o].[OrderID], @__a_0 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_param_with_element_selector_Select_Sum2(bool async) @@ -672,14 +788,16 @@ public override async Task GroupBy_param_with_element_selector_Select_Sum2(bool await base.GroupBy_param_with_element_selector_Select_Sum2(async); AssertSql( - @"@__a_0='2' +""" +@__a_0='2' SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] FROM ( SELECT [o].[OrderID], @__a_0 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_param_with_element_selector_Select_Sum3(bool async) @@ -687,14 +805,16 @@ public override async Task GroupBy_param_with_element_selector_Select_Sum3(bool await base.GroupBy_param_with_element_selector_Select_Sum3(async); AssertSql( - @"@__a_0='2' +""" +@__a_0='2' SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] FROM ( SELECT [o].[OrderID], @__a_0 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_param_with_element_selector_Select_Sum_Min_Key_Max_Avg(bool async) @@ -702,14 +822,16 @@ public override async Task GroupBy_param_with_element_selector_Select_Sum_Min_Ke await base.GroupBy_param_with_element_selector_Select_Sum_Min_Key_Max_Avg(async); AssertSql( - @"@__a_0='2' +""" +@__a_0='2' SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum], [t].[Key] FROM ( SELECT [o].[OrderID], @__a_0 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_anonymous_key_type_mismatch_with_aggregate(bool async) @@ -717,13 +839,15 @@ public override async Task GroupBy_anonymous_key_type_mismatch_with_aggregate(bo await base.GroupBy_anonymous_key_type_mismatch_with_aggregate(async); AssertSql( - @"SELECT COUNT(*) AS [I0], [t].[I0] AS [I1] +""" +SELECT COUNT(*) AS [I0], [t].[I0] AS [I1] FROM ( SELECT DATEPART(year, [o].[OrderDate]) AS [I0] FROM [Orders] AS [o] ) AS [t] GROUP BY [t].[I0] -ORDER BY [t].[I0]"); +ORDER BY [t].[I0] +"""); } public override async Task GroupBy_Property_scalar_element_selector_Average(bool async) @@ -731,9 +855,11 @@ public override async Task GroupBy_Property_scalar_element_selector_Average(bool await base.GroupBy_Property_scalar_element_selector_Average(async); AssertSql( - @"SELECT AVG(CAST([o].[OrderID] AS float)) +""" +SELECT AVG(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_scalar_element_selector_Count(bool async) @@ -741,9 +867,11 @@ public override async Task GroupBy_Property_scalar_element_selector_Count(bool a await base.GroupBy_Property_scalar_element_selector_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_scalar_element_selector_LongCount(bool async) @@ -751,9 +879,11 @@ public override async Task GroupBy_Property_scalar_element_selector_LongCount(bo await base.GroupBy_Property_scalar_element_selector_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_scalar_element_selector_Max(bool async) @@ -761,9 +891,11 @@ public override async Task GroupBy_Property_scalar_element_selector_Max(bool asy await base.GroupBy_Property_scalar_element_selector_Max(async); AssertSql( - @"SELECT MAX([o].[OrderID]) +""" +SELECT MAX([o].[OrderID]) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_scalar_element_selector_Min(bool async) @@ -771,9 +903,11 @@ public override async Task GroupBy_Property_scalar_element_selector_Min(bool asy await base.GroupBy_Property_scalar_element_selector_Min(async); AssertSql( - @"SELECT MIN([o].[OrderID]) +""" +SELECT MIN([o].[OrderID]) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_scalar_element_selector_Sum(bool async) @@ -781,9 +915,11 @@ public override async Task GroupBy_Property_scalar_element_selector_Sum(bool asy await base.GroupBy_Property_scalar_element_selector_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_scalar_element_selector_Sum_Min_Max_Avg(bool async) @@ -791,9 +927,11 @@ public override async Task GroupBy_Property_scalar_element_selector_Sum_Min_Max_ await base.GroupBy_Property_scalar_element_selector_Sum_Min_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_anonymous_element_selector_Average(bool async) @@ -801,9 +939,11 @@ public override async Task GroupBy_Property_anonymous_element_selector_Average(b await base.GroupBy_Property_anonymous_element_selector_Average(async); AssertSql( - @"SELECT AVG(CAST([o].[OrderID] AS float)) +""" +SELECT AVG(CAST([o].[OrderID] AS float)) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_anonymous_element_selector_Count(bool async) @@ -811,9 +951,11 @@ public override async Task GroupBy_Property_anonymous_element_selector_Count(boo await base.GroupBy_Property_anonymous_element_selector_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_anonymous_element_selector_LongCount(bool async) @@ -821,9 +963,11 @@ public override async Task GroupBy_Property_anonymous_element_selector_LongCount await base.GroupBy_Property_anonymous_element_selector_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_anonymous_element_selector_Max(bool async) @@ -831,9 +975,11 @@ public override async Task GroupBy_Property_anonymous_element_selector_Max(bool await base.GroupBy_Property_anonymous_element_selector_Max(async); AssertSql( - @"SELECT MAX([o].[OrderID]) +""" +SELECT MAX([o].[OrderID]) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_anonymous_element_selector_Min(bool async) @@ -841,9 +987,11 @@ public override async Task GroupBy_Property_anonymous_element_selector_Min(bool await base.GroupBy_Property_anonymous_element_selector_Min(async); AssertSql( - @"SELECT MIN([o].[OrderID]) +""" +SELECT MIN([o].[OrderID]) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_anonymous_element_selector_Sum(bool async) @@ -851,9 +999,11 @@ public override async Task GroupBy_Property_anonymous_element_selector_Sum(bool await base.GroupBy_Property_anonymous_element_selector_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_anonymous_element_selector_Sum_Min_Max_Avg(bool async) @@ -861,9 +1011,11 @@ public override async Task GroupBy_Property_anonymous_element_selector_Sum_Min_M await base.GroupBy_Property_anonymous_element_selector_Sum_Min_Max_Avg(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[EmployeeID]) AS [Min], MAX([o].[EmployeeID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[EmployeeID]) AS [Min], MAX([o].[EmployeeID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_element_selector_complex_aggregate(bool async) @@ -871,9 +1023,11 @@ public override async Task GroupBy_element_selector_complex_aggregate(bool async await base.GroupBy_element_selector_complex_aggregate(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID] + 1), 0) +""" +SELECT COALESCE(SUM([o].[OrderID] + 1), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_element_selector_complex_aggregate2(bool async) @@ -881,9 +1035,11 @@ public override async Task GroupBy_element_selector_complex_aggregate2(bool asyn await base.GroupBy_element_selector_complex_aggregate2(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID] + 1), 0) +""" +SELECT COALESCE(SUM([o].[OrderID] + 1), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_element_selector_complex_aggregate3(bool async) @@ -891,9 +1047,11 @@ public override async Task GroupBy_element_selector_complex_aggregate3(bool asyn await base.GroupBy_element_selector_complex_aggregate3(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID] + 1), 0) +""" +SELECT COALESCE(SUM([o].[OrderID] + 1), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_element_selector_complex_aggregate4(bool async) @@ -901,9 +1059,11 @@ public override async Task GroupBy_element_selector_complex_aggregate4(bool asyn await base.GroupBy_element_selector_complex_aggregate4(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID] + 1), 0) +""" +SELECT COALESCE(SUM([o].[OrderID] + 1), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task Element_selector_with_case_block_repeated_inside_another_case_block_in_projection(bool async) @@ -911,7 +1071,8 @@ public override async Task Element_selector_with_case_block_repeated_inside_anot await base.Element_selector_with_case_block_repeated_inside_another_case_block_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], COALESCE(SUM(CASE +""" +SELECT [o].[OrderID], COALESCE(SUM(CASE WHEN [o].[CustomerID] = N'ALFKI' THEN CASE WHEN [o].[OrderID] > 1000 THEN [o].[OrderID] ELSE -[o].[OrderID] @@ -922,7 +1083,8 @@ WHEN [o].[OrderID] > 1000 THEN [o].[OrderID] END END), 0) AS [Aggregate] FROM [Orders] AS [o] -GROUP BY [o].[OrderID]"); +GROUP BY [o].[OrderID] +"""); } public override async Task GroupBy_conditional_properties(bool async) @@ -930,12 +1092,14 @@ public override async Task GroupBy_conditional_properties(bool async) await base.GroupBy_conditional_properties(async); AssertSql( - @"SELECT [t].[OrderMonth], [t].[CustomerID] AS [Customer], COUNT(*) AS [Count] +""" +SELECT [t].[OrderMonth], [t].[CustomerID] AS [Customer], COUNT(*) AS [Count] FROM ( SELECT [o].[CustomerID], NULL AS [OrderMonth] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[OrderMonth], [t].[CustomerID]"); +GROUP BY [t].[OrderMonth], [t].[CustomerID] +"""); } public override async Task GroupBy_empty_key_Aggregate(bool async) @@ -943,12 +1107,14 @@ public override async Task GroupBy_empty_key_Aggregate(bool async) await base.GroupBy_empty_key_Aggregate(async); AssertSql( - @"SELECT COALESCE(SUM([t].[OrderID]), 0) +""" +SELECT COALESCE(SUM([t].[OrderID]), 0) FROM ( SELECT [o].[OrderID], 1 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_empty_key_Aggregate_Key(bool async) @@ -956,12 +1122,14 @@ public override async Task GroupBy_empty_key_Aggregate_Key(bool async) await base.GroupBy_empty_key_Aggregate_Key(async); AssertSql( - @"SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] +""" +SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum] FROM ( SELECT [o].[OrderID], 1 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task OrderBy_GroupBy_Aggregate(bool async) @@ -969,9 +1137,11 @@ public override async Task OrderBy_GroupBy_Aggregate(bool async) await base.OrderBy_GroupBy_Aggregate(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task OrderBy_Skip_GroupBy_Aggregate(bool async) @@ -979,7 +1149,8 @@ public override async Task OrderBy_Skip_GroupBy_Aggregate(bool async) await base.OrderBy_Skip_GroupBy_Aggregate(async); AssertSql( - @"@__p_0='80' +""" +@__p_0='80' SELECT AVG(CAST([t].[OrderID] AS float)) FROM ( @@ -988,7 +1159,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS ) AS [t] -GROUP BY [t].[CustomerID]"); +GROUP BY [t].[CustomerID] +"""); } public override async Task OrderBy_Take_GroupBy_Aggregate(bool async) @@ -996,7 +1168,8 @@ public override async Task OrderBy_Take_GroupBy_Aggregate(bool async) await base.OrderBy_Take_GroupBy_Aggregate(async); AssertSql( - @"@__p_0='500' +""" +@__p_0='500' SELECT MIN([t].[OrderID]) FROM ( @@ -1004,7 +1177,8 @@ SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] -GROUP BY [t].[CustomerID]"); +GROUP BY [t].[CustomerID] +"""); } public override async Task OrderBy_Skip_Take_GroupBy_Aggregate(bool async) @@ -1012,7 +1186,8 @@ public override async Task OrderBy_Skip_Take_GroupBy_Aggregate(bool async) await base.OrderBy_Skip_Take_GroupBy_Aggregate(async); AssertSql( - @"@__p_0='80' +""" +@__p_0='80' @__p_1='500' SELECT MAX([t].[OrderID]) @@ -1022,7 +1197,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] -GROUP BY [t].[CustomerID]"); +GROUP BY [t].[CustomerID] +"""); } public override async Task Distinct_GroupBy_Aggregate(bool async) @@ -1030,12 +1206,14 @@ public override async Task Distinct_GroupBy_Aggregate(bool async) await base.Distinct_GroupBy_Aggregate(async); AssertSql( - @"SELECT [t].[CustomerID] AS [Key], COUNT(*) AS [c] +""" +SELECT [t].[CustomerID] AS [Key], COUNT(*) AS [c] FROM ( SELECT DISTINCT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[CustomerID]"); +GROUP BY [t].[CustomerID] +"""); } public override async Task Anonymous_projection_Distinct_GroupBy_Aggregate(bool async) @@ -1043,12 +1221,14 @@ public override async Task Anonymous_projection_Distinct_GroupBy_Aggregate(bool await base.Anonymous_projection_Distinct_GroupBy_Aggregate(async); AssertSql( - @"SELECT [t].[EmployeeID] AS [Key], COUNT(*) AS [c] +""" +SELECT [t].[EmployeeID] AS [Key], COUNT(*) AS [c] FROM ( SELECT DISTINCT [o].[OrderID], [o].[EmployeeID] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[EmployeeID]"); +GROUP BY [t].[EmployeeID] +"""); } public override async Task SelectMany_GroupBy_Aggregate(bool async) @@ -1056,10 +1236,12 @@ public override async Task SelectMany_GroupBy_Aggregate(bool async) await base.SelectMany_GroupBy_Aggregate(async); AssertSql( - @"SELECT [o].[EmployeeID] AS [Key], COUNT(*) AS [c] +""" +SELECT [o].[EmployeeID] AS [Key], COUNT(*) AS [c] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -GROUP BY [o].[EmployeeID]"); +GROUP BY [o].[EmployeeID] +"""); } public override async Task Join_GroupBy_Aggregate(bool async) @@ -1067,10 +1249,12 @@ public override async Task Join_GroupBy_Aggregate(bool async) await base.Join_GroupBy_Aggregate(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Key], AVG(CAST([o].[OrderID] AS float)) AS [Count] +""" +SELECT [c].[CustomerID] AS [Key], AVG(CAST([o].[OrderID] AS float)) AS [Count] FROM [Orders] AS [o] INNER JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -GROUP BY [c].[CustomerID]"); +GROUP BY [c].[CustomerID] +"""); } public override async Task GroupBy_required_navigation_member_Aggregate(bool async) @@ -1078,10 +1262,12 @@ public override async Task GroupBy_required_navigation_member_Aggregate(bool asy await base.GroupBy_required_navigation_member_Aggregate(async); AssertSql( - @"SELECT [o0].[CustomerID] AS [CustomerId], COUNT(*) AS [Count] +""" +SELECT [o0].[CustomerID] AS [CustomerId], COUNT(*) AS [Count] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -GROUP BY [o0].[CustomerID]"); +GROUP BY [o0].[CustomerID] +"""); } public override async Task Join_complex_GroupBy_Aggregate(bool async) @@ -1089,7 +1275,8 @@ public override async Task Join_complex_GroupBy_Aggregate(bool async) await base.Join_complex_GroupBy_Aggregate(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' @__p_1='10' @__p_2='50' @@ -1107,7 +1294,8 @@ WHERE [c].[CustomerID] NOT IN (N'DRACD', N'FOLKO') ORDER BY [c].[City] OFFSET @__p_1 ROWS FETCH NEXT @__p_2 ROWS ONLY ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -GROUP BY [t0].[CustomerID]"); +GROUP BY [t0].[CustomerID] +"""); } public override async Task GroupJoin_GroupBy_Aggregate(bool async) @@ -1115,11 +1303,13 @@ public override async Task GroupJoin_GroupBy_Aggregate(bool async) await base.GroupJoin_GroupBy_Aggregate(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], AVG(CAST([o].[OrderID] AS float)) AS [Average] +""" +SELECT [o].[CustomerID] AS [Key], AVG(CAST([o].[OrderID] AS float)) AS [Average] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [o].[OrderID] IS NOT NULL -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupJoin_GroupBy_Aggregate_2(bool async) @@ -1127,10 +1317,12 @@ public override async Task GroupJoin_GroupBy_Aggregate_2(bool async) await base.GroupJoin_GroupBy_Aggregate_2(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Key], MAX([c].[City]) AS [Max] +""" +SELECT [c].[CustomerID] AS [Key], MAX([c].[City]) AS [Max] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -GROUP BY [c].[CustomerID]"); +GROUP BY [c].[CustomerID] +"""); } public override async Task GroupJoin_GroupBy_Aggregate_3(bool async) @@ -1138,10 +1330,12 @@ public override async Task GroupJoin_GroupBy_Aggregate_3(bool async) await base.GroupJoin_GroupBy_Aggregate_3(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], AVG(CAST([o].[OrderID] AS float)) AS [Average] +""" +SELECT [o].[CustomerID] AS [Key], AVG(CAST([o].[OrderID] AS float)) AS [Average] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupJoin_GroupBy_Aggregate_4(bool async) @@ -1149,10 +1343,12 @@ public override async Task GroupJoin_GroupBy_Aggregate_4(bool async) await base.GroupJoin_GroupBy_Aggregate_4(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Value], MAX([c].[City]) AS [Max] +""" +SELECT [c].[CustomerID] AS [Value], MAX([c].[City]) AS [Max] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -GROUP BY [c].[CustomerID]"); +GROUP BY [c].[CustomerID] +"""); } public override async Task GroupJoin_GroupBy_Aggregate_5(bool async) @@ -1160,10 +1356,12 @@ public override async Task GroupJoin_GroupBy_Aggregate_5(bool async) await base.GroupJoin_GroupBy_Aggregate_5(async); AssertSql( - @"SELECT [o].[OrderID] AS [Value], AVG(CAST([o].[OrderID] AS float)) AS [Average] +""" +SELECT [o].[OrderID] AS [Value], AVG(CAST([o].[OrderID] AS float)) AS [Average] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -GROUP BY [o].[OrderID]"); +GROUP BY [o].[OrderID] +"""); } public override async Task GroupBy_optional_navigation_member_Aggregate(bool async) @@ -1171,10 +1369,12 @@ public override async Task GroupBy_optional_navigation_member_Aggregate(bool asy await base.GroupBy_optional_navigation_member_Aggregate(async); AssertSql( - @"SELECT [c].[Country], COUNT(*) AS [Count] +""" +SELECT [c].[Country], COUNT(*) AS [Count] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -GROUP BY [c].[Country]"); +GROUP BY [c].[Country] +"""); } public override async Task GroupJoin_complex_GroupBy_Aggregate(bool async) @@ -1182,7 +1382,8 @@ public override async Task GroupJoin_complex_GroupBy_Aggregate(bool async) await base.GroupJoin_complex_GroupBy_Aggregate(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='50' @__p_2='100' @@ -1201,7 +1402,8 @@ WHERE [o].[OrderID] < 10400 ORDER BY [o].[OrderDate] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] WHERE [t0].[OrderID] > 10300 -GROUP BY [t0].[CustomerID]"); +GROUP BY [t0].[CustomerID] +"""); } public override async Task Self_join_GroupBy_Aggregate(bool async) @@ -1209,11 +1411,13 @@ public override async Task Self_join_GroupBy_Aggregate(bool async) await base.Self_join_GroupBy_Aggregate(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], AVG(CAST([o0].[OrderID] AS float)) AS [Count] +""" +SELECT [o].[CustomerID] AS [Key], AVG(CAST([o0].[OrderID] AS float)) AS [Count] FROM [Orders] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[OrderID] < 10400 -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_multi_navigation_members_Aggregate(bool async) @@ -1221,11 +1425,13 @@ public override async Task GroupBy_multi_navigation_members_Aggregate(bool async await base.GroupBy_multi_navigation_members_Aggregate(async); AssertSql( - @"SELECT [o0].[CustomerID], [p].[ProductName], COUNT(*) AS [Count] +""" +SELECT [o0].[CustomerID], [p].[ProductName], COUNT(*) AS [Count] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -GROUP BY [o0].[CustomerID], [p].[ProductName]"); +GROUP BY [o0].[CustomerID], [p].[ProductName] +"""); } public override async Task Union_simple_groupby(bool async) @@ -1233,7 +1439,8 @@ public override async Task Union_simple_groupby(bool async) await base.Union_simple_groupby(async); AssertSql( - @"SELECT [t].[City] AS [Key], COUNT(*) AS [Total] +""" +SELECT [t].[City] AS [Key], COUNT(*) AS [Total] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -1243,7 +1450,8 @@ FROM [Customers] AS [c] FROM [Customers] AS [c0] WHERE [c0].[City] = N'México D.F.' ) AS [t] -GROUP BY [t].[City]"); +GROUP BY [t].[City] +"""); } public override async Task Select_anonymous_GroupBy_Aggregate(bool async) @@ -1251,10 +1459,12 @@ public override async Task Select_anonymous_GroupBy_Aggregate(bool async) await base.Select_anonymous_GroupBy_Aggregate(async); AssertSql( - @"SELECT MIN([o].[OrderDate]) AS [Min], MAX([o].[OrderDate]) AS [Max], COALESCE(SUM([o].[OrderID]), 0) AS [Sum], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT MIN([o].[OrderDate]) AS [Min], MAX([o].[OrderDate]) AS [Max], COALESCE(SUM([o].[OrderID]), 0) AS [Sum], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_principal_key_property_optimization(bool async) @@ -1262,10 +1472,12 @@ public override async Task GroupBy_principal_key_property_optimization(bool asyn await base.GroupBy_principal_key_property_optimization(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Key], COUNT(*) AS [Count] +""" +SELECT [c].[CustomerID] AS [Key], COUNT(*) AS [Count] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -GROUP BY [c].[CustomerID]"); +GROUP BY [c].[CustomerID] +"""); } public override async Task GroupBy_after_anonymous_projection_and_distinct_followed_by_another_anonymous_projection(bool async) @@ -1273,12 +1485,14 @@ public override async Task GroupBy_after_anonymous_projection_and_distinct_follo await base.GroupBy_after_anonymous_projection_and_distinct_followed_by_another_anonymous_projection(async); AssertSql( - @"SELECT [t].[CustomerID] AS [Key], COUNT(*) AS [Count] +""" +SELECT [t].[CustomerID] AS [Key], COUNT(*) AS [Count] FROM ( SELECT DISTINCT [o].[CustomerID], [o].[OrderID] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[CustomerID]"); +GROUP BY [t].[CustomerID] +"""); } public override async Task GroupBy_complex_key_aggregate(bool async) @@ -1286,13 +1500,15 @@ public override async Task GroupBy_complex_key_aggregate(bool async) await base.GroupBy_complex_key_aggregate(async); AssertSql( - @"SELECT [t].[Key], COUNT(*) AS [Count] +""" +SELECT [t].[Key], COUNT(*) AS [Count] FROM ( SELECT SUBSTRING([c].[CustomerID], 0 + 1, 1) AS [Key] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_complex_key_aggregate_2(bool async) @@ -1300,7 +1516,8 @@ public override async Task GroupBy_complex_key_aggregate_2(bool async) await base.GroupBy_complex_key_aggregate_2(async); AssertSql( - @"SELECT [t].[Key] AS [Month], COALESCE(SUM([t].[OrderID]), 0) AS [Total], ( +""" +SELECT [t].[Key] AS [Month], COALESCE(SUM([t].[OrderID]), 0) AS [Total], ( SELECT COALESCE(SUM([o0].[OrderID]), 0) FROM [Orders] AS [o0] WHERE DATEPART(month, [o0].[OrderDate]) = [t].[Key] OR (([o0].[OrderDate] IS NULL) AND ([t].[Key] IS NULL))) AS [Payment] @@ -1308,7 +1525,8 @@ WHERE DATEPART(month, [o0].[OrderDate]) = [t].[Key] OR (([o0].[OrderDate] IS NUL SELECT [o].[OrderID], DATEPART(month, [o].[OrderDate]) AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Select_collection_of_scalar_before_GroupBy_aggregate(bool async) @@ -1316,9 +1534,11 @@ public override async Task Select_collection_of_scalar_before_GroupBy_aggregate( await base.Select_collection_of_scalar_before_GroupBy_aggregate(async); AssertSql( - @"SELECT [c].[City] AS [Key], COUNT(*) AS [Count] +""" +SELECT [c].[City] AS [Key], COUNT(*) AS [Count] FROM [Customers] AS [c] -GROUP BY [c].[City]"); +GROUP BY [c].[City] +"""); } public override async Task GroupBy_OrderBy_key(bool async) @@ -1326,10 +1546,12 @@ public override async Task GroupBy_OrderBy_key(bool async) await base.GroupBy_OrderBy_key(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [c] +""" +SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [c] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -ORDER BY [o].[CustomerID]"); +ORDER BY [o].[CustomerID] +"""); } public override async Task GroupBy_OrderBy_count(bool async) @@ -1337,10 +1559,12 @@ public override async Task GroupBy_OrderBy_count(bool async) await base.GroupBy_OrderBy_count(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count] +""" +SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -ORDER BY COUNT(*), [o].[CustomerID]"); +ORDER BY COUNT(*), [o].[CustomerID] +"""); } public override async Task GroupBy_OrderBy_count_Select_sum(bool async) @@ -1348,10 +1572,12 @@ public override async Task GroupBy_OrderBy_count_Select_sum(bool async) await base.GroupBy_OrderBy_count_Select_sum(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] +""" +SELECT [o].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -ORDER BY COUNT(*), [o].[CustomerID]"); +ORDER BY COUNT(*), [o].[CustomerID] +"""); } public override async Task GroupBy_aggregate_Contains(bool async) @@ -1359,13 +1585,15 @@ public override async Task GroupBy_aggregate_Contains(bool async) await base.GroupBy_aggregate_Contains(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o0] GROUP BY [o0].[CustomerID] - HAVING COUNT(*) > 30 AND ([o0].[CustomerID] = [o].[CustomerID] OR (([o0].[CustomerID] IS NULL) AND ([o].[CustomerID] IS NULL))))"); + HAVING COUNT(*) > 30 AND ([o0].[CustomerID] = [o].[CustomerID] OR (([o0].[CustomerID] IS NULL) AND ([o].[CustomerID] IS NULL)))) +"""); } public override async Task GroupBy_aggregate_Pushdown(bool async) @@ -1373,7 +1601,8 @@ public override async Task GroupBy_aggregate_Pushdown(bool async) await base.GroupBy_aggregate_Pushdown(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' @__p_1='4' SELECT [t].[CustomerID] @@ -1385,7 +1614,8 @@ HAVING COUNT(*) > 10 ORDER BY [o].[CustomerID] ) AS [t] ORDER BY [t].[CustomerID] -OFFSET @__p_1 ROWS"); +OFFSET @__p_1 ROWS +"""); } public override async Task GroupBy_aggregate_using_grouping_key_Pushdown(bool async) @@ -1393,7 +1623,8 @@ public override async Task GroupBy_aggregate_using_grouping_key_Pushdown(bool as await base.GroupBy_aggregate_using_grouping_key_Pushdown(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' @__p_1='4' SELECT [t].[Key], [t].[Max] @@ -1405,7 +1636,8 @@ HAVING COUNT(*) > 10 ORDER BY [o].[CustomerID] ) AS [t] ORDER BY [t].[Key] -OFFSET @__p_1 ROWS"); +OFFSET @__p_1 ROWS +"""); } public override async Task GroupBy_aggregate_Pushdown_followed_by_projecting_Length(bool async) @@ -1413,7 +1645,8 @@ public override async Task GroupBy_aggregate_Pushdown_followed_by_projecting_Len await base.GroupBy_aggregate_Pushdown_followed_by_projecting_Length(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' @__p_1='4' SELECT CAST(LEN([t].[CustomerID]) AS int) @@ -1425,7 +1658,8 @@ HAVING COUNT(*) > 10 ORDER BY [o].[CustomerID] ) AS [t] ORDER BY [t].[CustomerID] -OFFSET @__p_1 ROWS"); +OFFSET @__p_1 ROWS +"""); } public override async Task GroupBy_aggregate_Pushdown_followed_by_projecting_constant(bool async) @@ -1433,7 +1667,8 @@ public override async Task GroupBy_aggregate_Pushdown_followed_by_projecting_con await base.GroupBy_aggregate_Pushdown_followed_by_projecting_constant(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' @__p_1='4' SELECT 5 @@ -1445,7 +1680,8 @@ HAVING COUNT(*) > 10 ORDER BY [o].[CustomerID] ) AS [t] ORDER BY [t].[CustomerID] -OFFSET @__p_1 ROWS"); +OFFSET @__p_1 ROWS +"""); } public override async Task GroupBy_filter_key(bool async) @@ -1453,10 +1689,12 @@ public override async Task GroupBy_filter_key(bool async) await base.GroupBy_filter_key(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [c] +""" +SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [c] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -HAVING [o].[CustomerID] = N'ALFKI'"); +HAVING [o].[CustomerID] = N'ALFKI' +"""); } public override async Task GroupBy_filter_count(bool async) @@ -1464,10 +1702,12 @@ public override async Task GroupBy_filter_count(bool async) await base.GroupBy_filter_count(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count] +""" +SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -HAVING COUNT(*) > 4"); +HAVING COUNT(*) > 4 +"""); } public override async Task GroupBy_count_filter(bool async) @@ -1475,13 +1715,15 @@ public override async Task GroupBy_count_filter(bool async) await base.GroupBy_count_filter(async); AssertSql( - @"SELECT [t].[Key] AS [Name], COUNT(*) AS [Count] +""" +SELECT [t].[Key] AS [Name], COUNT(*) AS [Count] FROM ( SELECT N'Order' AS [Key] FROM [Orders] AS [o] ) AS [t] GROUP BY [t].[Key] -HAVING COUNT(*) > 0"); +HAVING COUNT(*) > 0 +"""); } public override async Task GroupBy_filter_count_OrderBy_count_Select_sum(bool async) @@ -1489,11 +1731,13 @@ public override async Task GroupBy_filter_count_OrderBy_count_Select_sum(bool as await base.GroupBy_filter_count_OrderBy_count_Select_sum(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] +""" +SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count], COALESCE(SUM([o].[OrderID]), 0) AS [Sum] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 4 -ORDER BY COUNT(*), [o].[CustomerID]"); +ORDER BY COUNT(*), [o].[CustomerID] +"""); } public override async Task GroupBy_Aggregate_Join(bool async) @@ -1501,7 +1745,8 @@ public override async Task GroupBy_Aggregate_Join(bool async) await base.GroupBy_Aggregate_Join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT [o].[CustomerID], MAX([o].[OrderID]) AS [LastOrderID] FROM [Orders] AS [o] @@ -1509,7 +1754,8 @@ GROUP BY [o].[CustomerID] HAVING COUNT(*) > 5 ) AS [t] INNER JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -INNER JOIN [Orders] AS [o0] ON [t].[LastOrderID] = [o0].[OrderID]"); +INNER JOIN [Orders] AS [o0] ON [t].[LastOrderID] = [o0].[OrderID] +"""); } public override async Task GroupBy_Aggregate_Join_converted_from_SelectMany(bool async) @@ -1517,14 +1763,16 @@ public override async Task GroupBy_Aggregate_Join_converted_from_SelectMany(bool await base.GroupBy_Aggregate_Join_converted_from_SelectMany(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] INNER JOIN ( SELECT [o].[CustomerID], MAX([o].[OrderID]) AS [LastOrderID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 5 -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task GroupBy_Aggregate_LeftJoin_converted_from_SelectMany(bool async) @@ -1532,14 +1780,16 @@ public override async Task GroupBy_Aggregate_LeftJoin_converted_from_SelectMany( await base.GroupBy_Aggregate_LeftJoin_converted_from_SelectMany(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[CustomerID], MAX([o].[OrderID]) AS [LastOrderID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 5 -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Join_GroupBy_Aggregate_multijoins(bool async) @@ -1547,7 +1797,8 @@ public override async Task Join_GroupBy_Aggregate_multijoins(bool async) await base.Join_GroupBy_Aggregate_multijoins(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] INNER JOIN ( SELECT [o].[CustomerID], MAX([o].[OrderID]) AS [LastOrderID] @@ -1555,7 +1806,8 @@ FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 5 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -INNER JOIN [Orders] AS [o0] ON [t].[LastOrderID] = [o0].[OrderID]"); +INNER JOIN [Orders] AS [o0] ON [t].[LastOrderID] = [o0].[OrderID] +"""); } public override async Task Join_GroupBy_Aggregate_single_join(bool async) @@ -1563,14 +1815,16 @@ public override async Task Join_GroupBy_Aggregate_single_join(bool async) await base.Join_GroupBy_Aggregate_single_join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[LastOrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[LastOrderID] FROM [Customers] AS [c] INNER JOIN ( SELECT [o].[CustomerID], MAX([o].[OrderID]) AS [LastOrderID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 5 -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task Join_GroupBy_Aggregate_with_another_join(bool async) @@ -1578,7 +1832,8 @@ public override async Task Join_GroupBy_Aggregate_with_another_join(bool async) await base.Join_GroupBy_Aggregate_with_another_join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[LastOrderID], [o0].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[LastOrderID], [o0].[OrderID] FROM [Customers] AS [c] INNER JOIN ( SELECT [o].[CustomerID], MAX([o].[OrderID]) AS [LastOrderID] @@ -1586,7 +1841,8 @@ FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 5 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID]"); +INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] +"""); } public override async Task Join_GroupBy_Aggregate_distinct_single_join(bool async) @@ -1594,7 +1850,8 @@ public override async Task Join_GroupBy_Aggregate_distinct_single_join(bool asyn await base.Join_GroupBy_Aggregate_distinct_single_join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[LastOrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[LastOrderID] FROM [Customers] AS [c] INNER JOIN ( SELECT DISTINCT [t].[CustomerID], MAX([t].[OrderID]) AS [LastOrderID] @@ -1604,7 +1861,8 @@ FROM [Orders] AS [o] ) AS [t] GROUP BY [t].[CustomerID], [t].[Year] HAVING COUNT(*) > 5 -) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Join_GroupBy_Aggregate_with_left_join(bool async) @@ -1612,7 +1870,8 @@ public override async Task Join_GroupBy_Aggregate_with_left_join(bool async) await base.Join_GroupBy_Aggregate_with_left_join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[LastOrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[LastOrderID] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[CustomerID], MAX([o].[OrderID]) AS [LastOrderID] @@ -1620,7 +1879,8 @@ FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 5 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Join_GroupBy_Aggregate_in_subquery(bool async) @@ -1628,7 +1888,8 @@ public override async Task Join_GroupBy_Aggregate_in_subquery(bool async) await base.Join_GroupBy_Aggregate_in_subquery(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM [Orders] AS [o] INNER JOIN ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] @@ -1640,7 +1901,8 @@ GROUP BY [o0].[CustomerID] HAVING COUNT(*) > 5 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] ) AS [t0] ON [o].[CustomerID] = [t0].[CustomerID] -WHERE [o].[OrderID] < 10400"); +WHERE [o].[OrderID] < 10400 +"""); } public override async Task Join_GroupBy_Aggregate_on_key(bool async) @@ -1648,14 +1910,16 @@ public override async Task Join_GroupBy_Aggregate_on_key(bool async) await base.Join_GroupBy_Aggregate_on_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[LastOrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[LastOrderID] FROM [Customers] AS [c] INNER JOIN ( SELECT [o].[CustomerID] AS [Key], MAX([o].[OrderID]) AS [LastOrderID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 5 -) AS [t] ON [c].[CustomerID] = [t].[Key]"); +) AS [t] ON [c].[CustomerID] = [t].[Key] +"""); } public override async Task GroupBy_with_result_selector(bool async) @@ -1663,9 +1927,11 @@ public override async Task GroupBy_with_result_selector(bool async) await base.GroupBy_with_result_selector(async); AssertSql( - @"SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] +""" +SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], MIN([o].[OrderID]) AS [Min], MAX([o].[OrderID]) AS [Max], AVG(CAST([o].[OrderID] AS float)) AS [Avg] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Sum_constant(bool async) @@ -1673,9 +1939,11 @@ public override async Task GroupBy_Sum_constant(bool async) await base.GroupBy_Sum_constant(async); AssertSql( - @"SELECT COALESCE(SUM(1), 0) +""" +SELECT COALESCE(SUM(1), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Sum_constant_cast(bool async) @@ -1683,9 +1951,11 @@ public override async Task GroupBy_Sum_constant_cast(bool async) await base.GroupBy_Sum_constant_cast(async); AssertSql( - @"SELECT COALESCE(SUM(CAST(1 AS bigint)), CAST(0 AS bigint)) +""" +SELECT COALESCE(SUM(CAST(1 AS bigint)), CAST(0 AS bigint)) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task Distinct_GroupBy_OrderBy_key(bool async) @@ -1693,13 +1963,15 @@ public override async Task Distinct_GroupBy_OrderBy_key(bool async) await base.Distinct_GroupBy_OrderBy_key(async); AssertSql( - @"SELECT [t].[CustomerID] AS [Key], COUNT(*) AS [c] +""" +SELECT [t].[CustomerID] AS [Key], COUNT(*) AS [c] FROM ( SELECT DISTINCT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] ) AS [t] GROUP BY [t].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Select_nested_collection_with_groupby(bool async) @@ -1707,7 +1979,8 @@ public override async Task Select_nested_collection_with_groupby(bool async) await base.Select_nested_collection_with_groupby(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o] @@ -1722,7 +1995,8 @@ FROM [Orders] AS [o0] GROUP BY [o0].[OrderID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_uncorrelated_collection_with_groupby_works(bool async) @@ -1730,7 +2004,8 @@ public override async Task Select_uncorrelated_collection_with_groupby_works(boo await base.Select_uncorrelated_collection_with_groupby_works(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[OrderID] +""" +SELECT [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] OUTER APPLY ( SELECT [o].[OrderID] @@ -1738,7 +2013,8 @@ FROM [Orders] AS [o] GROUP BY [o].[OrderID] ) AS [t] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_uncorrelated_collection_with_groupby_multiple_collections_work(bool async) @@ -1746,7 +2022,8 @@ public override async Task Select_uncorrelated_collection_with_groupby_multiple_ await base.Select_uncorrelated_collection_with_groupby_multiple_collections_work(async); AssertSql( - @"SELECT [o].[OrderID], [t].[ProductID], [t0].[c], [t0].[ProductID] +""" +SELECT [o].[OrderID], [t].[ProductID], [t0].[c], [t0].[ProductID] FROM [Orders] AS [o] OUTER APPLY ( SELECT [p].[ProductID] @@ -1759,7 +2036,8 @@ FROM [Products] AS [p0] GROUP BY [p0].[ProductID] ) AS [t0] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') -ORDER BY [o].[OrderID], [t].[ProductID]"); +ORDER BY [o].[OrderID], [t].[ProductID] +"""); } public override async Task Select_GroupBy_All(bool async) @@ -1767,14 +2045,16 @@ public override async Task Select_GroupBy_All(bool async) await base.Select_GroupBy_All(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING [o].[CustomerID] <> N'ALFKI' OR ([o].[CustomerID] IS NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task GroupBy_Where_Average(bool async) @@ -1782,11 +2062,13 @@ public override async Task GroupBy_Where_Average(bool async) await base.GroupBy_Where_Average(async); AssertSql( - @"SELECT AVG(CASE +""" +SELECT AVG(CASE WHEN [o].[OrderID] < 10300 THEN CAST([o].[OrderID] AS float) END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Where_Count(bool async) @@ -1794,11 +2076,13 @@ public override async Task GroupBy_Where_Count(bool async) await base.GroupBy_Where_Count(async); AssertSql( - @"SELECT COUNT(CASE +""" +SELECT COUNT(CASE WHEN [o].[OrderID] < 10300 THEN 1 END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Where_LongCount(bool async) @@ -1806,11 +2090,13 @@ public override async Task GroupBy_Where_LongCount(bool async) await base.GroupBy_Where_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(CASE +""" +SELECT COUNT_BIG(CASE WHEN [o].[OrderID] < 10300 THEN 1 END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Where_Max(bool async) @@ -1818,11 +2104,13 @@ public override async Task GroupBy_Where_Max(bool async) await base.GroupBy_Where_Max(async); AssertSql( - @"SELECT MAX(CASE +""" +SELECT MAX(CASE WHEN [o].[OrderID] < 10300 THEN [o].[OrderID] END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Where_Min(bool async) @@ -1830,11 +2118,13 @@ public override async Task GroupBy_Where_Min(bool async) await base.GroupBy_Where_Min(async); AssertSql( - @"SELECT MIN(CASE +""" +SELECT MIN(CASE WHEN [o].[OrderID] < 10300 THEN [o].[OrderID] END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Where_Sum(bool async) @@ -1842,11 +2132,13 @@ public override async Task GroupBy_Where_Sum(bool async) await base.GroupBy_Where_Sum(async); AssertSql( - @"SELECT COALESCE(SUM(CASE +""" +SELECT COALESCE(SUM(CASE WHEN [o].[OrderID] < 10300 THEN [o].[OrderID] END), 0) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Where_Count_with_predicate(bool async) @@ -1854,11 +2146,13 @@ public override async Task GroupBy_Where_Count_with_predicate(bool async) await base.GroupBy_Where_Count_with_predicate(async); AssertSql( - @"SELECT COUNT(CASE +""" +SELECT COUNT(CASE WHEN [o].[OrderID] < 10300 AND ([o].[OrderDate] IS NOT NULL) AND DATEPART(year, [o].[OrderDate]) = 1997 THEN 1 END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Where_Where_Count(bool async) @@ -1866,11 +2160,13 @@ public override async Task GroupBy_Where_Where_Count(bool async) await base.GroupBy_Where_Where_Count(async); AssertSql( - @"SELECT COUNT(CASE +""" +SELECT COUNT(CASE WHEN [o].[OrderID] < 10300 AND ([o].[OrderDate] IS NOT NULL) AND DATEPART(year, [o].[OrderDate]) = 1997 THEN 1 END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Where_Select_Where_Count(bool async) @@ -1878,11 +2174,13 @@ public override async Task GroupBy_Where_Select_Where_Count(bool async) await base.GroupBy_Where_Select_Where_Count(async); AssertSql( - @"SELECT COUNT(CASE +""" +SELECT COUNT(CASE WHEN [o].[OrderID] < 10300 AND ([o].[OrderDate] IS NOT NULL) AND DATEPART(year, [o].[OrderDate]) = 1997 THEN 1 END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Where_Select_Where_Select_Min(bool async) @@ -1890,11 +2188,13 @@ public override async Task GroupBy_Where_Select_Where_Select_Min(bool async) await base.GroupBy_Where_Select_Where_Select_Min(async); AssertSql( - @"SELECT MIN(CASE +""" +SELECT MIN(CASE WHEN [o].[OrderID] < 10300 AND ([o].[OrderDate] IS NOT NULL) AND DATEPART(year, [o].[OrderDate]) = 1997 THEN [o].[OrderID] END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_multiple_Count_with_predicate(bool async) @@ -1902,13 +2202,15 @@ public override async Task GroupBy_multiple_Count_with_predicate(bool async) await base.GroupBy_multiple_Count_with_predicate(async); AssertSql( - @"SELECT [o].[CustomerID], COUNT(*) AS [All], COUNT(CASE +""" +SELECT [o].[CustomerID], COUNT(*) AS [All], COUNT(CASE WHEN [o].[OrderID] < 11000 THEN 1 END) AS [TenK], COUNT(CASE WHEN [o].[OrderID] < 12000 THEN 1 END) AS [EleventK] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_multiple_Sum_with_conditional_projection(bool async) @@ -1916,7 +2218,8 @@ public override async Task GroupBy_multiple_Sum_with_conditional_projection(bool await base.GroupBy_multiple_Sum_with_conditional_projection(async); AssertSql( - @"SELECT [o].[CustomerID], COALESCE(SUM(CASE +""" +SELECT [o].[CustomerID], COALESCE(SUM(CASE WHEN [o].[OrderID] < 11000 THEN [o].[OrderID] ELSE 0 END), 0) AS [TenK], COALESCE(SUM(CASE @@ -1924,7 +2227,8 @@ ELSE 0 ELSE 0 END), 0) AS [EleventK] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_multiple_Sum_with_Select_conditional_projection(bool async) @@ -1932,7 +2236,8 @@ public override async Task GroupBy_multiple_Sum_with_Select_conditional_projecti await base.GroupBy_multiple_Sum_with_Select_conditional_projection(async); AssertSql( - @"SELECT [o].[CustomerID], COALESCE(SUM(CASE +""" +SELECT [o].[CustomerID], COALESCE(SUM(CASE WHEN [o].[OrderID] < 11000 THEN [o].[OrderID] ELSE 0 END), 0) AS [TenK], COALESCE(SUM(CASE @@ -1940,7 +2245,8 @@ ELSE 0 ELSE 0 END), 0) AS [EleventK] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Key_as_part_of_element_selector(bool async) @@ -1948,9 +2254,11 @@ public override async Task GroupBy_Key_as_part_of_element_selector(bool async) await base.GroupBy_Key_as_part_of_element_selector(async); AssertSql( - @"SELECT [o].[OrderID] AS [Key], AVG(CAST([o].[OrderID] AS float)) AS [Avg], MAX([o].[OrderDate]) AS [Max] +""" +SELECT [o].[OrderID] AS [Key], AVG(CAST([o].[OrderID] AS float)) AS [Avg], MAX([o].[OrderDate]) AS [Max] FROM [Orders] AS [o] -GROUP BY [o].[OrderID]"); +GROUP BY [o].[OrderID] +"""); } public override async Task GroupBy_composite_Key_as_part_of_element_selector(bool async) @@ -1958,9 +2266,11 @@ public override async Task GroupBy_composite_Key_as_part_of_element_selector(boo await base.GroupBy_composite_Key_as_part_of_element_selector(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], AVG(CAST([o].[OrderID] AS float)) AS [Avg], MAX([o].[OrderDate]) AS [Max] +""" +SELECT [o].[OrderID], [o].[CustomerID], AVG(CAST([o].[OrderID] AS float)) AS [Avg], MAX([o].[OrderDate]) AS [Max] FROM [Orders] AS [o] -GROUP BY [o].[OrderID], [o].[CustomerID]"); +GROUP BY [o].[OrderID], [o].[CustomerID] +"""); } public override async Task GroupBy_with_aggregate_through_navigation_property(bool async) @@ -1968,13 +2278,15 @@ public override async Task GroupBy_with_aggregate_through_navigation_property(bo await base.GroupBy_with_aggregate_through_navigation_property(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MAX([c].[Region]) FROM [Orders] AS [o0] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] WHERE [o].[EmployeeID] = [o0].[EmployeeID] OR (([o].[EmployeeID] IS NULL) AND ([o0].[EmployeeID] IS NULL))) AS [max] FROM [Orders] AS [o] -GROUP BY [o].[EmployeeID]"); +GROUP BY [o].[EmployeeID] +"""); } public override async Task GroupBy_with_aggregate_containing_complex_where(bool async) @@ -1982,12 +2294,14 @@ public override async Task GroupBy_with_aggregate_containing_complex_where(bool await base.GroupBy_with_aggregate_containing_complex_where(async); AssertSql( - @"SELECT [o].[EmployeeID] AS [Key], ( +""" +SELECT [o].[EmployeeID] AS [Key], ( SELECT MAX([o0].[OrderID]) FROM [Orders] AS [o0] WHERE CAST([o0].[EmployeeID] AS bigint) = CAST((MAX([o].[OrderID]) * 6) AS bigint) OR (([o0].[EmployeeID] IS NULL) AND (MAX([o].[OrderID]) IS NULL))) AS [Max] FROM [Orders] AS [o] -GROUP BY [o].[EmployeeID]"); +GROUP BY [o].[EmployeeID] +"""); } public override async Task GroupBy_Shadow(bool async) @@ -1995,13 +2309,15 @@ public override async Task GroupBy_Shadow(bool async) await base.GroupBy_Shadow(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [e0].[Title] FROM [Employees] AS [e0] WHERE [e0].[Title] = N'Sales Representative' AND [e0].[EmployeeID] = 1 AND ([e].[Title] = [e0].[Title] OR (([e].[Title] IS NULL) AND ([e0].[Title] IS NULL)))) FROM [Employees] AS [e] WHERE [e].[Title] = N'Sales Representative' AND [e].[EmployeeID] = 1 -GROUP BY [e].[Title]"); +GROUP BY [e].[Title] +"""); } public override async Task GroupBy_Shadow2(bool async) @@ -2009,7 +2325,8 @@ public override async Task GroupBy_Shadow2(bool async) await base.GroupBy_Shadow2(async); AssertSql( - @"SELECT [t0].[EmployeeID], [t0].[City], [t0].[Country], [t0].[FirstName], [t0].[ReportsTo], [t0].[Title] +""" +SELECT [t0].[EmployeeID], [t0].[City], [t0].[Country], [t0].[FirstName], [t0].[ReportsTo], [t0].[Title] FROM ( SELECT [e].[Title] FROM [Employees] AS [e] @@ -2024,7 +2341,8 @@ FROM [Employees] AS [e0] WHERE [e0].[Title] = N'Sales Representative' AND [e0].[EmployeeID] = 1 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[Title] = [t0].[Title]"); +) AS [t0] ON [t].[Title] = [t0].[Title] +"""); } public override async Task GroupBy_Shadow3(bool async) @@ -2032,13 +2350,15 @@ public override async Task GroupBy_Shadow3(bool async) await base.GroupBy_Shadow3(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [e0].[Title] FROM [Employees] AS [e0] WHERE [e0].[EmployeeID] = 1 AND [e].[EmployeeID] = [e0].[EmployeeID]) FROM [Employees] AS [e] WHERE [e].[EmployeeID] = 1 -GROUP BY [e].[EmployeeID]"); +GROUP BY [e].[EmployeeID] +"""); } public override async Task GroupBy_select_grouping_list(bool async) @@ -2046,14 +2366,16 @@ public override async Task GroupBy_select_grouping_list(bool async) await base.GroupBy_select_grouping_list(async); AssertSql( - @"SELECT [t].[City], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] +""" +SELECT [t].[City], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM ( SELECT [c].[City] FROM [Customers] AS [c] GROUP BY [c].[City] ) AS [t] LEFT JOIN [Customers] AS [c0] ON [t].[City] = [c0].[City] -ORDER BY [t].[City]"); +ORDER BY [t].[City] +"""); } public override async Task GroupBy_select_grouping_array(bool async) @@ -2061,14 +2383,16 @@ public override async Task GroupBy_select_grouping_array(bool async) await base.GroupBy_select_grouping_array(async); AssertSql( - @"SELECT [t].[City], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] +""" +SELECT [t].[City], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM ( SELECT [c].[City] FROM [Customers] AS [c] GROUP BY [c].[City] ) AS [t] LEFT JOIN [Customers] AS [c0] ON [t].[City] = [c0].[City] -ORDER BY [t].[City]"); +ORDER BY [t].[City] +"""); } public override async Task GroupBy_select_grouping_composed_list(bool async) @@ -2076,7 +2400,8 @@ public override async Task GroupBy_select_grouping_composed_list(bool async) await base.GroupBy_select_grouping_composed_list(async); AssertSql( - @"SELECT [t].[City], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t].[City], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [c].[City] FROM [Customers] AS [c] @@ -2087,7 +2412,8 @@ LEFT JOIN ( FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'A%' ) AS [t0] ON [t].[City] = [t0].[City] -ORDER BY [t].[City]"); +ORDER BY [t].[City] +"""); } public override async Task GroupBy_select_grouping_composed_list_2(bool async) @@ -2095,14 +2421,16 @@ public override async Task GroupBy_select_grouping_composed_list_2(bool async) await base.GroupBy_select_grouping_composed_list_2(async); AssertSql( - @"SELECT [t].[City], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] +""" +SELECT [t].[City], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM ( SELECT [c].[City] FROM [Customers] AS [c] GROUP BY [c].[City] ) AS [t] LEFT JOIN [Customers] AS [c0] ON [t].[City] = [c0].[City] -ORDER BY [t].[City], [c0].[CustomerID]"); +ORDER BY [t].[City], [c0].[CustomerID] +"""); } public override async Task Select_GroupBy_SelectMany(bool async) @@ -2117,12 +2445,14 @@ public override async Task Count_after_GroupBy_aggregate(bool async) await base.Count_after_GroupBy_aggregate(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task LongCount_after_GroupBy_aggregate(bool async) @@ -2130,12 +2460,14 @@ public override async Task LongCount_after_GroupBy_aggregate(bool async) await base.LongCount_after_GroupBy_aggregate(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task GroupBy_Select_Distinct_aggregate(bool async) @@ -2143,9 +2475,11 @@ public override async Task GroupBy_Select_Distinct_aggregate(bool async) await base.GroupBy_Select_Distinct_aggregate(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], AVG(DISTINCT (CAST([o].[OrderID] AS float))) AS [Average], COUNT(DISTINCT ([o].[EmployeeID])) AS [Count], COUNT_BIG(DISTINCT ([o].[EmployeeID])) AS [LongCount], MAX(DISTINCT ([o].[OrderDate])) AS [Max], MIN(DISTINCT ([o].[OrderDate])) AS [Min], COALESCE(SUM(DISTINCT ([o].[OrderID])), 0) AS [Sum] +""" +SELECT [o].[CustomerID] AS [Key], AVG(DISTINCT (CAST([o].[OrderID] AS float))) AS [Average], COUNT(DISTINCT ([o].[EmployeeID])) AS [Count], COUNT_BIG(DISTINCT ([o].[EmployeeID])) AS [LongCount], MAX(DISTINCT ([o].[OrderDate])) AS [Max], MIN(DISTINCT ([o].[OrderDate])) AS [Min], COALESCE(SUM(DISTINCT ([o].[OrderID])), 0) AS [Sum] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_group_Distinct_Select_Distinct_aggregate(bool async) @@ -2153,9 +2487,11 @@ public override async Task GroupBy_group_Distinct_Select_Distinct_aggregate(bool await base.GroupBy_group_Distinct_Select_Distinct_aggregate(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], MAX(DISTINCT ([o].[OrderDate])) AS [Max] +""" +SELECT [o].[CustomerID] AS [Key], MAX(DISTINCT ([o].[OrderDate])) AS [Max] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_group_Where_Select_Distinct_aggregate(bool async) @@ -2163,11 +2499,13 @@ public override async Task GroupBy_group_Where_Select_Distinct_aggregate(bool as await base.GroupBy_group_Where_Select_Distinct_aggregate(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], MAX(DISTINCT (CASE +""" +SELECT [o].[CustomerID] AS [Key], MAX(DISTINCT (CASE WHEN [o].[OrderDate] IS NOT NULL THEN [o].[OrderDate] END)) AS [Max] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task MinMax_after_GroupBy_aggregate(bool async) @@ -2175,19 +2513,23 @@ public override async Task MinMax_after_GroupBy_aggregate(bool async) await base.MinMax_after_GroupBy_aggregate(async); AssertSql( - @"SELECT MIN([t].[c]) +""" +SELECT MIN([t].[c]) FROM ( SELECT COALESCE(SUM([o].[OrderID]), 0) AS [c] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -) AS [t]", +) AS [t] +""", // - @"SELECT MAX([t].[c]) +""" +SELECT MAX([t].[c]) FROM ( SELECT COALESCE(SUM([o].[OrderID]), 0) AS [c] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task All_after_GroupBy_aggregate(bool async) @@ -2195,14 +2537,16 @@ public override async Task All_after_GroupBy_aggregate(bool async) await base.All_after_GroupBy_aggregate(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING 0 = 1) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task All_after_GroupBy_aggregate2(bool async) @@ -2210,14 +2554,16 @@ public override async Task All_after_GroupBy_aggregate2(bool async) await base.All_after_GroupBy_aggregate2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COALESCE(SUM([o].[OrderID]), 0) < 0) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Any_after_GroupBy_aggregate(bool async) @@ -2225,13 +2571,15 @@ public override async Task Any_after_GroupBy_aggregate(bool async) await base.Any_after_GroupBy_aggregate(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o] GROUP BY [o].[CustomerID]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Count_after_GroupBy_without_aggregate(bool async) @@ -2239,12 +2587,14 @@ public override async Task Count_after_GroupBy_without_aggregate(bool async) await base.Count_after_GroupBy_without_aggregate(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task Count_with_predicate_after_GroupBy_without_aggregate(bool async) @@ -2252,13 +2602,15 @@ public override async Task Count_with_predicate_after_GroupBy_without_aggregate( await base.Count_with_predicate_after_GroupBy_without_aggregate(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 1 -) AS [t]"); +) AS [t] +"""); } public override async Task LongCount_after_GroupBy_without_aggregate(bool async) @@ -2266,12 +2618,14 @@ public override async Task LongCount_after_GroupBy_without_aggregate(bool async) await base.LongCount_after_GroupBy_without_aggregate(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task LongCount_with_predicate_after_GroupBy_without_aggregate(bool async) @@ -2279,13 +2633,15 @@ public override async Task LongCount_with_predicate_after_GroupBy_without_aggreg await base.LongCount_with_predicate_after_GroupBy_without_aggregate(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 1 -) AS [t]"); +) AS [t] +"""); } public override async Task Any_after_GroupBy_without_aggregate(bool async) @@ -2293,13 +2649,15 @@ public override async Task Any_after_GroupBy_without_aggregate(bool async) await base.Any_after_GroupBy_without_aggregate(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o] GROUP BY [o].[CustomerID]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Any_with_predicate_after_GroupBy_without_aggregate(bool async) @@ -2307,14 +2665,16 @@ public override async Task Any_with_predicate_after_GroupBy_without_aggregate(bo await base.Any_with_predicate_after_GroupBy_without_aggregate(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) > 1) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task All_with_predicate_after_GroupBy_without_aggregate(bool async) @@ -2322,14 +2682,16 @@ public override async Task All_with_predicate_after_GroupBy_without_aggregate(bo await base.All_with_predicate_after_GroupBy_without_aggregate(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Orders] AS [o] GROUP BY [o].[CustomerID] HAVING COUNT(*) <= 1) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task GroupBy_aggregate_followed_by_another_GroupBy_aggregate(bool async) @@ -2337,7 +2699,8 @@ public override async Task GroupBy_aggregate_followed_by_another_GroupBy_aggrega await base.GroupBy_aggregate_followed_by_another_GroupBy_aggregate(async); AssertSql( - @"SELECT [t0].[Key0] AS [Key], COALESCE(SUM([t0].[Count]), 0) AS [Count] +""" +SELECT [t0].[Key0] AS [Key], COALESCE(SUM([t0].[Count]), 0) AS [Count] FROM ( SELECT [t].[Count], 1 AS [Key0] FROM ( @@ -2346,7 +2709,8 @@ FROM [Orders] AS [o] GROUP BY [o].[CustomerID] ) AS [t] ) AS [t0] -GROUP BY [t0].[Key0]"); +GROUP BY [t0].[Key0] +"""); } public override async Task GroupBy_Count_in_projection(bool async) @@ -2354,7 +2718,8 @@ public override async Task GroupBy_Count_in_projection(bool async) await base.GroupBy_Count_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[OrderDate], CASE +""" +SELECT [o].[OrderID], [o].[OrderDate], CASE WHEN EXISTS ( SELECT 1 FROM [Order Details] AS [o0] @@ -2373,7 +2738,8 @@ GROUP BY [p].[ProductName] ELSE CAST(0 AS bit) END AS [HasMultipleProducts] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task GroupBy_nominal_type_count(bool async) @@ -2381,12 +2747,14 @@ public override async Task GroupBy_nominal_type_count(bool async) await base.GroupBy_nominal_type_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task GroupBy_based_on_renamed_property_simple(bool async) @@ -2394,9 +2762,11 @@ public override async Task GroupBy_based_on_renamed_property_simple(bool async) await base.GroupBy_based_on_renamed_property_simple(async); AssertSql( - @"SELECT [c].[City] AS [Renamed], COUNT(*) AS [Count] +""" +SELECT [c].[City] AS [Renamed], COUNT(*) AS [Count] FROM [Customers] AS [c] -GROUP BY [c].[City]"); +GROUP BY [c].[City] +"""); } public override async Task GroupBy_based_on_renamed_property_complex(bool async) @@ -2404,12 +2774,14 @@ public override async Task GroupBy_based_on_renamed_property_complex(bool async) await base.GroupBy_based_on_renamed_property_complex(async); AssertSql( - @"SELECT [t].[Renamed] AS [Key], COUNT(*) AS [Count] +""" +SELECT [t].[Renamed] AS [Key], COUNT(*) AS [Count] FROM ( SELECT DISTINCT [c].[City] AS [Renamed], [c].[CustomerID] FROM [Customers] AS [c] ) AS [t] -GROUP BY [t].[Renamed]"); +GROUP BY [t].[Renamed] +"""); } public override async Task Join_groupby_anonymous_orderby_anonymous_projection(bool async) @@ -2417,11 +2789,13 @@ public override async Task Join_groupby_anonymous_orderby_anonymous_projection(b await base.Join_groupby_anonymous_orderby_anonymous_projection(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] GROUP BY [c].[CustomerID], [o].[OrderDate] -ORDER BY [o].[OrderDate]"); +ORDER BY [o].[OrderDate] +"""); } public override async Task Odata_groupby_empty_key(bool async) @@ -2429,12 +2803,14 @@ public override async Task Odata_groupby_empty_key(bool async) await base.Odata_groupby_empty_key(async); AssertSql( - @"SELECT N'TotalAmount' AS [Name], COALESCE(SUM(CAST([t].[OrderID] AS decimal(18,2))), 0.0) AS [Value] +""" +SELECT N'TotalAmount' AS [Name], COALESCE(SUM(CAST([t].[OrderID] AS decimal(18,2))), 0.0) AS [Value] FROM ( SELECT [o].[OrderID], 1 AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_with_group_key_access_thru_navigation(bool async) @@ -2442,10 +2818,12 @@ public override async Task GroupBy_with_group_key_access_thru_navigation(bool as await base.GroupBy_with_group_key_access_thru_navigation(async); AssertSql( - @"SELECT [o0].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Aggregate] +""" +SELECT [o0].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Aggregate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -GROUP BY [o0].[CustomerID]"); +GROUP BY [o0].[CustomerID] +"""); } public override async Task GroupBy_with_group_key_access_thru_nested_navigation(bool async) @@ -2453,11 +2831,13 @@ public override async Task GroupBy_with_group_key_access_thru_nested_navigation( await base.GroupBy_with_group_key_access_thru_nested_navigation(async); AssertSql( - @"SELECT [c].[Country] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Aggregate] +""" +SELECT [c].[Country] AS [Key], COALESCE(SUM([o].[OrderID]), 0) AS [Aggregate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -GROUP BY [c].[Country]"); +GROUP BY [c].[Country] +"""); } public override async Task GroupBy_with_group_key_being_navigation(bool async) @@ -2465,10 +2845,12 @@ public override async Task GroupBy_with_group_key_being_navigation(bool async) await base.GroupBy_with_group_key_being_navigation(async); AssertSql( - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], COALESCE(SUM([o].[OrderID]), 0) AS [Aggregate] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], COALESCE(SUM([o].[OrderID]), 0) AS [Aggregate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -GROUP BY [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate]"); +GROUP BY [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +"""); } public override async Task GroupBy_with_group_key_being_nested_navigation(bool async) @@ -2476,11 +2858,13 @@ public override async Task GroupBy_with_group_key_being_nested_navigation(bool a await base.GroupBy_with_group_key_being_nested_navigation(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], COALESCE(SUM([o].[OrderID]), 0) AS [Aggregate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], COALESCE(SUM([o].[OrderID]), 0) AS [Aggregate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -GROUP BY [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region]"); +GROUP BY [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +"""); } public override async Task GroupBy_with_group_key_being_navigation_with_entity_key_projection(bool async) @@ -2488,10 +2872,12 @@ public override async Task GroupBy_with_group_key_being_navigation_with_entity_k await base.GroupBy_with_group_key_being_navigation_with_entity_key_projection(async); AssertSql( - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -GROUP BY [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate]"); +GROUP BY [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +"""); } public override async Task GroupBy_with_group_key_being_navigation_with_complex_projection(bool async) @@ -2506,7 +2892,8 @@ public override async Task GroupBy_with_order_by_skip_and_another_order_by(bool await base.GroupBy_with_order_by_skip_and_another_order_by(async); AssertSql( - @"@__p_0='80' +""" +@__p_0='80' SELECT COALESCE(SUM([t].[OrderID]), 0) FROM ( @@ -2515,7 +2902,8 @@ FROM [Orders] AS [o] ORDER BY [o].[CustomerID], [o].[OrderID] OFFSET @__p_0 ROWS ) AS [t] -GROUP BY [t].[CustomerID]"); +GROUP BY [t].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_Count_with_predicate(bool async) @@ -2523,11 +2911,13 @@ public override async Task GroupBy_Property_Select_Count_with_predicate(bool asy await base.GroupBy_Property_Select_Count_with_predicate(async); AssertSql( - @"SELECT COUNT(CASE +""" +SELECT COUNT(CASE WHEN [o].[OrderID] < 10300 THEN 1 END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_Property_Select_LongCount_with_predicate(bool async) @@ -2535,11 +2925,13 @@ public override async Task GroupBy_Property_Select_LongCount_with_predicate(bool await base.GroupBy_Property_Select_LongCount_with_predicate(async); AssertSql( - @"SELECT COUNT_BIG(CASE +""" +SELECT COUNT_BIG(CASE WHEN [o].[OrderID] < 10300 THEN 1 END) FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_orderby_projection_with_coalesce_operation(bool async) @@ -2547,10 +2939,12 @@ public override async Task GroupBy_orderby_projection_with_coalesce_operation(bo await base.GroupBy_orderby_projection_with_coalesce_operation(async); AssertSql( - @"SELECT COALESCE([c].[City], N'Unknown') AS [Locality], COUNT(*) AS [Count] +""" +SELECT COALESCE([c].[City], N'Unknown') AS [Locality], COUNT(*) AS [Count] FROM [Customers] AS [c] GROUP BY [c].[City] -ORDER BY COUNT(*) DESC, [c].[City]"); +ORDER BY COUNT(*) DESC, [c].[City] +"""); } public override async Task GroupBy_let_orderby_projection_with_coalesce_operation(bool async) @@ -2565,11 +2959,13 @@ public override async Task GroupBy_Min_Where_optional_relationship(bool async) await base.GroupBy_Min_Where_optional_relationship(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Key], COUNT(*) AS [Count] +""" +SELECT [c].[CustomerID] AS [Key], COUNT(*) AS [Count] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] GROUP BY [c].[CustomerID] -HAVING COUNT(*) <> 2"); +HAVING COUNT(*) <> 2 +"""); } public override async Task GroupBy_Min_Where_optional_relationship_2(bool async) @@ -2577,11 +2973,13 @@ public override async Task GroupBy_Min_Where_optional_relationship_2(bool async) await base.GroupBy_Min_Where_optional_relationship_2(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Key], COUNT(*) AS [Count] +""" +SELECT [c].[CustomerID] AS [Key], COUNT(*) AS [Count] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] GROUP BY [c].[CustomerID] -HAVING COUNT(*) < 2 OR COUNT(*) > 2"); +HAVING COUNT(*) < 2 OR COUNT(*) > 2 +"""); } public override async Task GroupBy_aggregate_over_a_subquery(bool async) @@ -2589,12 +2987,14 @@ public override async Task GroupBy_aggregate_over_a_subquery(bool async) await base.GroupBy_aggregate_over_a_subquery(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], ( +""" +SELECT [o].[CustomerID] AS [Key], ( SELECT COUNT(*) FROM [Customers] AS [c] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Count] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_aggregate_join_with_grouping_key(bool async) @@ -2602,13 +3002,15 @@ public override async Task GroupBy_aggregate_join_with_grouping_key(bool async) await base.GroupBy_aggregate_join_with_grouping_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[Count] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[Count] FROM ( SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] ) AS [t] -INNER JOIN [Customers] AS [c] ON [t].[Key] = [c].[CustomerID]"); +INNER JOIN [Customers] AS [c] ON [t].[Key] = [c].[CustomerID] +"""); } public override async Task GroupBy_aggregate_join_with_group_result(bool async) @@ -2616,13 +3018,15 @@ public override async Task GroupBy_aggregate_join_with_group_result(bool async) await base.GroupBy_aggregate_join_with_group_result(async); AssertSql( - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT [o].[CustomerID] AS [Key], MAX([o].[OrderDate]) AS [LastOrderDate] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] ) AS [t] -INNER JOIN [Orders] AS [o0] ON ([t].[Key] = [o0].[CustomerID] OR (([t].[Key] IS NULL) AND ([o0].[CustomerID] IS NULL))) AND ([t].[LastOrderDate] = [o0].[OrderDate] OR (([t].[LastOrderDate] IS NULL) AND ([o0].[OrderDate] IS NULL)))"); +INNER JOIN [Orders] AS [o0] ON ([t].[Key] = [o0].[CustomerID] OR (([t].[Key] IS NULL) AND ([o0].[CustomerID] IS NULL))) AND ([t].[LastOrderDate] = [o0].[OrderDate] OR (([t].[LastOrderDate] IS NULL) AND ([o0].[OrderDate] IS NULL))) +"""); } public override async Task GroupBy_aggregate_from_right_side_of_join(bool async) @@ -2630,7 +3034,8 @@ public override async Task GroupBy_aggregate_from_right_side_of_join(bool async) await base.GroupBy_aggregate_from_right_side_of_join(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[Max] FROM [Customers] AS [c] @@ -2640,7 +3045,8 @@ FROM [Orders] AS [o] GROUP BY [o].[CustomerID] ) AS [t] ON [c].[CustomerID] = [t].[Key] ORDER BY [t].[Max], [c].[CustomerID] -OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY +"""); } public override async Task GroupBy_aggregate_join_another_GroupBy_aggregate(bool async) @@ -2648,7 +3054,8 @@ public override async Task GroupBy_aggregate_join_another_GroupBy_aggregate(bool await base.GroupBy_aggregate_join_another_GroupBy_aggregate(async); AssertSql( - @"SELECT [t].[Key], [t].[Total], [t0].[ThatYear] +""" +SELECT [t].[Key], [t].[Total], [t0].[ThatYear] FROM ( SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Total] FROM [Orders] AS [o] @@ -2659,7 +3066,8 @@ INNER JOIN ( FROM [Orders] AS [o0] WHERE DATEPART(year, [o0].[OrderDate]) = 1997 GROUP BY [o0].[CustomerID] -) AS [t0] ON [t].[Key] = [t0].[Key]"); +) AS [t0] ON [t].[Key] = [t0].[Key] +"""); } public override async Task GroupBy_aggregate_after_skip_0_take_0(bool async) @@ -2667,13 +3075,15 @@ public override async Task GroupBy_aggregate_after_skip_0_take_0(bool async) await base.GroupBy_aggregate_after_skip_0_take_0(async); AssertSql( - @"SELECT [t].[CustomerID] AS [Key], COUNT(*) AS [Total] +""" +SELECT [t].[CustomerID] AS [Key], COUNT(*) AS [Total] FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] WHERE 0 = 1 ) AS [t] -GROUP BY [t].[CustomerID]"); +GROUP BY [t].[CustomerID] +"""); } public override async Task GroupBy_skip_0_take_0_aggregate(bool async) @@ -2681,11 +3091,13 @@ public override async Task GroupBy_skip_0_take_0_aggregate(bool async) await base.GroupBy_skip_0_take_0_aggregate(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Total] +""" +SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Total] FROM [Orders] AS [o] WHERE [o].[OrderID] > 10500 GROUP BY [o].[CustomerID] -HAVING 0 = 1"); +HAVING 0 = 1 +"""); } public override async Task GroupBy_aggregate_followed_another_GroupBy_aggregate(bool async) @@ -2693,7 +3105,8 @@ public override async Task GroupBy_aggregate_followed_another_GroupBy_aggregate( await base.GroupBy_aggregate_followed_another_GroupBy_aggregate(async); AssertSql( - @"SELECT [t0].[CustomerID] AS [Key], COUNT(*) AS [Count] +""" +SELECT [t0].[CustomerID] AS [Key], COUNT(*) AS [Count] FROM ( SELECT [t].[CustomerID] FROM ( @@ -2702,7 +3115,8 @@ FROM [Orders] AS [o] ) AS [t] GROUP BY [t].[CustomerID], [t].[Year] ) AS [t0] -GROUP BY [t0].[CustomerID]"); +GROUP BY [t0].[CustomerID] +"""); } public override async Task GroupBy_aggregate_without_selectMany_selecting_first(bool async) @@ -2710,14 +3124,16 @@ public override async Task GroupBy_aggregate_without_selectMany_selecting_first( await base.GroupBy_aggregate_without_selectMany_selecting_first(async); AssertSql( - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT MIN([o].[OrderID]) AS [c] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] ) AS [t] CROSS JOIN [Orders] AS [o0] -WHERE [o0].[OrderID] = [t].[c]"); +WHERE [o0].[OrderID] = [t].[c] +"""); } public override async Task GroupBy_aggregate_left_join_GroupBy_aggregate_left_join(bool async) @@ -2725,14 +3141,16 @@ public override async Task GroupBy_aggregate_left_join_GroupBy_aggregate_left_jo await base.GroupBy_aggregate_left_join_GroupBy_aggregate_left_join(async); AssertSql( - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT MIN([o].[OrderID]) AS [c] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] ) AS [t] CROSS JOIN [Orders] AS [o0] -WHERE [o0].[OrderID] = [t].[c]"); +WHERE [o0].[OrderID] = [t].[c] +"""); } public override async Task GroupBy_selecting_grouping_key_list(bool async) @@ -2740,14 +3158,16 @@ public override async Task GroupBy_selecting_grouping_key_list(bool async) await base.GroupBy_selecting_grouping_key_list(async); AssertSql( - @"SELECT [t].[CustomerID], [o0].[CustomerID], [o0].[OrderID] +""" +SELECT [t].[CustomerID], [o0].[CustomerID], [o0].[OrderID] FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task GroupBy_with_grouping_key_using_Like(bool async) @@ -2755,7 +3175,8 @@ public override async Task GroupBy_with_grouping_key_using_Like(bool async) await base.GroupBy_with_grouping_key_using_Like(async); AssertSql( - @"SELECT [t].[Key], COUNT(*) AS [Count] +""" +SELECT [t].[Key], COUNT(*) AS [Count] FROM ( SELECT CASE WHEN [o].[CustomerID] LIKE N'A%' THEN CAST(1 AS bit) @@ -2763,7 +3184,8 @@ ELSE CAST(0 AS bit) END AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_with_grouping_key_DateTime_Day(bool async) @@ -2771,12 +3193,14 @@ public override async Task GroupBy_with_grouping_key_DateTime_Day(bool async) await base.GroupBy_with_grouping_key_DateTime_Day(async); AssertSql( - @"SELECT [t].[Key], COUNT(*) AS [Count] +""" +SELECT [t].[Key], COUNT(*) AS [Count] FROM ( SELECT DATEPART(day, [o].[OrderDate]) AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task GroupBy_with_cast_inside_grouping_aggregate(bool async) @@ -2784,9 +3208,11 @@ public override async Task GroupBy_with_cast_inside_grouping_aggregate(bool asyn await base.GroupBy_with_cast_inside_grouping_aggregate(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count], COALESCE(SUM(CAST([o].[OrderID] AS bigint)), CAST(0 AS bigint)) AS [Sum] +""" +SELECT [o].[CustomerID] AS [Key], COUNT(*) AS [Count], COALESCE(SUM(CAST([o].[OrderID] AS bigint)), CAST(0 AS bigint)) AS [Sum] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task Complex_query_with_groupBy_in_subquery1(bool async) @@ -2794,7 +3220,8 @@ public override async Task Complex_query_with_groupBy_in_subquery1(bool async) await base.Complex_query_with_groupBy_in_subquery1(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[Sum], [t].[CustomerID] +""" +SELECT [c].[CustomerID], [t].[Sum], [t].[CustomerID] FROM [Customers] AS [c] OUTER APPLY ( SELECT COALESCE(SUM([o].[OrderID]), 0) AS [Sum], [o].[CustomerID] @@ -2802,7 +3229,8 @@ FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] GROUP BY [o].[CustomerID] ) AS [t] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Complex_query_with_groupBy_in_subquery2(bool async) @@ -2810,7 +3238,8 @@ public override async Task Complex_query_with_groupBy_in_subquery2(bool async) await base.Complex_query_with_groupBy_in_subquery2(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[Max], [t].[Sum], [t].[CustomerID] +""" +SELECT [c].[CustomerID], [t].[Max], [t].[Sum], [t].[CustomerID] FROM [Customers] AS [c] OUTER APPLY ( SELECT MAX(CAST(LEN([o].[CustomerID]) AS int)) AS [Max], COALESCE(SUM([o].[OrderID]), 0) AS [Sum], [o].[CustomerID] @@ -2818,7 +3247,8 @@ FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] GROUP BY [o].[CustomerID] ) AS [t] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Complex_query_with_groupBy_in_subquery3(bool async) @@ -2826,14 +3256,16 @@ public override async Task Complex_query_with_groupBy_in_subquery3(bool async) await base.Complex_query_with_groupBy_in_subquery3(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[Max], [t].[Sum], [t].[CustomerID] +""" +SELECT [c].[CustomerID], [t].[Max], [t].[Sum], [t].[CustomerID] FROM [Customers] AS [c] OUTER APPLY ( SELECT MAX(CAST(LEN([o].[CustomerID]) AS int)) AS [Max], COALESCE(SUM([o].[OrderID]), 0) AS [Sum], [o].[CustomerID] FROM [Orders] AS [o] GROUP BY [o].[CustomerID] ) AS [t] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Group_by_with_projection_into_DTO(bool async) @@ -2841,9 +3273,11 @@ public override async Task Group_by_with_projection_into_DTO(bool async) await base.Group_by_with_projection_into_DTO(async); AssertSql( - @"SELECT CAST([o].[OrderID] AS bigint) AS [Id], COUNT(*) AS [Count] +""" +SELECT CAST([o].[OrderID] AS bigint) AS [Id], COUNT(*) AS [Count] FROM [Orders] AS [o] -GROUP BY [o].[OrderID]"); +GROUP BY [o].[OrderID] +"""); } public override async Task Where_select_function_groupby_followed_by_another_select_with_aggregates(bool async) @@ -2851,7 +3285,8 @@ public override async Task Where_select_function_groupby_followed_by_another_sel await base.Where_select_function_groupby_followed_by_another_select_with_aggregates(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COALESCE(SUM(CASE +""" +SELECT [o].[CustomerID] AS [Key], COALESCE(SUM(CASE WHEN (2020 - DATEPART(year, [o].[OrderDate])) <= 30 THEN [o].[OrderID] ELSE 0 END), 0) AS [Sum1], COALESCE(SUM(CASE @@ -2860,7 +3295,8 @@ ELSE 0 END), 0) AS [Sum2] FROM [Orders] AS [o] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task Group_by_column_project_constant(bool async) @@ -2868,10 +3304,12 @@ public override async Task Group_by_column_project_constant(bool async) await base.Group_by_column_project_constant(async); AssertSql( - @"SELECT 42 +""" +SELECT 42 FROM [Orders] AS [o] GROUP BY [o].[CustomerID] -ORDER BY [o].[CustomerID]"); +ORDER BY [o].[CustomerID] +"""); } public override async Task Key_plus_key_in_projection(bool async) @@ -2879,10 +3317,12 @@ public override async Task Key_plus_key_in_projection(bool async) await base.Key_plus_key_in_projection(async); AssertSql( - @"SELECT [o].[OrderID] + [o].[OrderID] AS [Value], AVG(CAST([o].[OrderID] AS float)) AS [Average] +""" +SELECT [o].[OrderID] + [o].[OrderID] AS [Value], AVG(CAST([o].[OrderID] AS float)) AS [Average] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -GROUP BY [o].[OrderID]"); +GROUP BY [o].[OrderID] +"""); } public override async Task Group_by_with_arithmetic_operation_inside_aggregate(bool async) @@ -2890,9 +3330,11 @@ public override async Task Group_by_with_arithmetic_operation_inside_aggregate(b await base.Group_by_with_arithmetic_operation_inside_aggregate(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID] + CAST(LEN([o].[CustomerID]) AS int)), 0) AS [Sum] +""" +SELECT [o].[CustomerID] AS [Key], COALESCE(SUM([o].[OrderID] + CAST(LEN([o].[CustomerID]) AS int)), 0) AS [Sum] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_scalar_subquery(bool async) @@ -2900,7 +3342,8 @@ public override async Task GroupBy_scalar_subquery(bool async) await base.GroupBy_scalar_subquery(async); AssertSql( - @"SELECT [t].[Key], COUNT(*) AS [Count] +""" +SELECT [t].[Key], COUNT(*) AS [Count] FROM ( SELECT ( SELECT TOP(1) [c].[ContactName] @@ -2908,7 +3351,8 @@ FROM [Customers] AS [c] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Key] FROM [Orders] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task AsEnumerable_in_subquery_for_GroupBy(bool async) @@ -2916,7 +3360,8 @@ public override async Task AsEnumerable_in_subquery_for_GroupBy(bool async) await base.AsEnumerable_in_subquery_for_GroupBy(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t2].[OrderID], [t2].[CustomerID], [t2].[EmployeeID], [t2].[OrderDate], [t2].[CustomerID0] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t2].[OrderID], [t2].[CustomerID], [t2].[EmployeeID], [t2].[OrderDate], [t2].[CustomerID0] FROM [Customers] AS [c] OUTER APPLY ( SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[CustomerID] AS [CustomerID0] @@ -2937,7 +3382,8 @@ FROM [Orders] AS [o0] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] ) AS [t2] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t2].[CustomerID0]"); +ORDER BY [c].[CustomerID], [t2].[CustomerID0] +"""); } public override async Task GroupBy_aggregate_from_multiple_query_in_same_projection(bool async) @@ -2945,7 +3391,8 @@ public override async Task GroupBy_aggregate_from_multiple_query_in_same_project await base.GroupBy_aggregate_from_multiple_query_in_same_projection(async); AssertSql( - @"SELECT [t].[CustomerID], [t0].[Key], [t0].[C], [t0].[c0] +""" +SELECT [t].[CustomerID], [t0].[Key], [t0].[C], [t0].[c0] FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] @@ -2960,7 +3407,8 @@ FROM [Employees] AS [e] WHERE [e].[City] = N'Seattle' GROUP BY [e].[City] ORDER BY (SELECT 1) -) AS [t0]"); +) AS [t0] +"""); } public override async Task GroupBy_aggregate_from_multiple_query_in_same_projection_2(bool async) @@ -2968,14 +3416,16 @@ public override async Task GroupBy_aggregate_from_multiple_query_in_same_project await base.GroupBy_aggregate_from_multiple_query_in_same_projection_2(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COALESCE(( +""" +SELECT [o].[CustomerID] AS [Key], COALESCE(( SELECT TOP(1) COUNT(*) + MIN([o].[OrderID]) FROM [Employees] AS [e] WHERE [e].[City] = N'Seattle' GROUP BY [e].[City] ORDER BY (SELECT 1)), 0) AS [A] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_aggregate_from_multiple_query_in_same_projection_3(bool async) @@ -2983,7 +3433,8 @@ public override async Task GroupBy_aggregate_from_multiple_query_in_same_project await base.GroupBy_aggregate_from_multiple_query_in_same_projection_3(async); AssertSql( - @"SELECT [o].[CustomerID] AS [Key], COALESCE(( +""" +SELECT [o].[CustomerID] AS [Key], COALESCE(( SELECT TOP(1) COUNT(*) + ( SELECT COUNT(*) FROM [Orders] AS [o0] @@ -2996,7 +3447,8 @@ SELECT COUNT(*) FROM [Orders] AS [o0] WHERE [o].[CustomerID] = [o0].[CustomerID] OR ([o].[CustomerID] IS NULL AND [o0].[CustomerID] IS NULL))), 0) AS [A] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task GroupBy_scalar_aggregate_in_set_operation(bool async) @@ -3004,13 +3456,15 @@ public override async Task GroupBy_scalar_aggregate_in_set_operation(bool async) await base.GroupBy_scalar_aggregate_in_set_operation(async); AssertSql( - @"SELECT [c].[CustomerID], 0 AS [Sequence] +""" +SELECT [c].[CustomerID], 0 AS [Sequence] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' UNION SELECT [o].[CustomerID], 1 AS [Sequence] FROM [Orders] AS [o] -GROUP BY [o].[CustomerID]"); +GROUP BY [o].[CustomerID] +"""); } public override async Task Select_uncorrelated_collection_with_groupby_when_outer_is_distinct(bool async) @@ -3018,7 +3472,8 @@ public override async Task Select_uncorrelated_collection_with_groupby_when_oute await base.Select_uncorrelated_collection_with_groupby_when_outer_is_distinct(async); AssertSql( - @"SELECT [t].[City], [t0].[ProductID], [t1].[c], [t1].[ProductID] +""" +SELECT [t].[City], [t0].[ProductID], [t1].[c], [t1].[ProductID] FROM ( SELECT DISTINCT [c].[City] FROM [Orders] AS [o] @@ -3035,7 +3490,8 @@ SELECT COUNT(*) AS [c], [p0].[ProductID] FROM [Products] AS [p0] GROUP BY [p0].[ProductID] ) AS [t1] -ORDER BY [t].[City], [t0].[ProductID]"); +ORDER BY [t].[City], [t0].[ProductID] +"""); } public override async Task Select_correlated_collection_after_GroupBy_aggregate_when_identifier_does_not_change(bool async) @@ -3043,7 +3499,8 @@ public override async Task Select_correlated_collection_after_GroupBy_aggregate_ await base.Select_correlated_collection_after_GroupBy_aggregate_when_identifier_does_not_change(async); AssertSql( - @"SELECT [t].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT [c].[CustomerID] FROM [Customers] AS [c] @@ -3051,7 +3508,8 @@ GROUP BY [c].[CustomerID] HAVING [c].[CustomerID] LIKE N'F%' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Select_correlated_collection_after_GroupBy_aggregate_when_identifier_changes(bool async) @@ -3059,7 +3517,8 @@ public override async Task Select_correlated_collection_after_GroupBy_aggregate_ await base.Select_correlated_collection_after_GroupBy_aggregate_when_identifier_changes(async); AssertSql( - @"SELECT [t].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT [o].[CustomerID] FROM [Orders] AS [o] @@ -3067,7 +3526,8 @@ GROUP BY [o].[CustomerID] HAVING ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Select_correlated_collection_after_GroupBy_aggregate_when_identifier_changes_to_complex(bool async) @@ -3079,7 +3539,8 @@ public override async Task Complex_query_with_group_by_in_subquery5(bool async) await base.Complex_query_with_group_by_in_subquery5(async); AssertSql( - @"SELECT [t].[c], [t].[ProductID], [t0].[CustomerID], [t0].[City] +""" +SELECT [t].[c], [t].[ProductID], [t0].[CustomerID], [t0].[City] FROM ( SELECT COALESCE(SUM([o].[ProductID] + ([o].[OrderID] * 1000)), 0) AS [c], [o].[ProductID], MIN([o].[OrderID] / 100) AS [c0] FROM [Order Details] AS [o] @@ -3093,7 +3554,8 @@ OUTER APPLY ( FROM [Customers] AS [c0] WHERE CAST(LEN([c0].[CustomerID]) AS int) < [t].[c0] ) AS [t0] -ORDER BY [t].[ProductID], [t0].[CustomerID]"); +ORDER BY [t].[ProductID], [t0].[CustomerID] +"""); } public override async Task Complex_query_with_groupBy_in_subquery4(bool async) @@ -3101,7 +3563,8 @@ public override async Task Complex_query_with_groupBy_in_subquery4(bool async) await base.Complex_query_with_groupBy_in_subquery4(async); AssertSql( - @"SELECT [c].[CustomerID], [t1].[Sum], [t1].[Count], [t1].[Key] +""" +SELECT [c].[CustomerID], [t1].[Sum], [t1].[Count], [t1].[Key] FROM [Customers] AS [c] OUTER APPLY ( SELECT COALESCE(SUM([t].[OrderID]), 0) AS [Sum], ( @@ -3122,7 +3585,8 @@ FROM [Orders] AS [o] ) AS [t] GROUP BY [t].[Key] ) AS [t1] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task GroupBy_aggregate_SelectMany(bool async) @@ -3137,9 +3601,11 @@ public override async Task Final_GroupBy_property_entity(bool async) await base.Final_GroupBy_property_entity(async); AssertSql( - @"SELECT [c].[City], [c].[CustomerID], [c].[Address], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[City], [c].[CustomerID], [c].[Address], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[City]"); +ORDER BY [c].[City] +"""); } public override async Task Final_GroupBy_entity(bool async) @@ -3147,11 +3613,13 @@ public override async Task Final_GroupBy_entity(bool async) await base.Final_GroupBy_entity(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE [o].[OrderID] < 10500 -ORDER BY [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region]"); +ORDER BY [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +"""); } public override async Task Final_GroupBy_property_entity_non_nullable(bool async) @@ -3159,10 +3627,12 @@ public override async Task Final_GroupBy_property_entity_non_nullable(bool async await base.Final_GroupBy_property_entity_non_nullable(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] WHERE [o].[OrderID] < 10500 -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Final_GroupBy_property_anonymous_type(bool async) @@ -3170,9 +3640,11 @@ public override async Task Final_GroupBy_property_anonymous_type(bool async) await base.Final_GroupBy_property_anonymous_type(async); AssertSql( - @"SELECT [c].[City], [c].[ContactName], [c].[ContactTitle] +""" +SELECT [c].[City], [c].[ContactName], [c].[ContactTitle] FROM [Customers] AS [c] -ORDER BY [c].[City]"); +ORDER BY [c].[City] +"""); } public override async Task Final_GroupBy_multiple_properties_entity(bool async) @@ -3180,9 +3652,11 @@ public override async Task Final_GroupBy_multiple_properties_entity(bool async) await base.Final_GroupBy_multiple_properties_entity(async); AssertSql( - @"SELECT [c].[City], [c].[Region], [c].[CustomerID], [c].[Address], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode] +""" +SELECT [c].[City], [c].[Region], [c].[CustomerID], [c].[Address], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode] FROM [Customers] AS [c] -ORDER BY [c].[City], [c].[Region]"); +ORDER BY [c].[City], [c].[Region] +"""); } public override async Task Final_GroupBy_complex_key_entity(bool async) @@ -3190,12 +3664,14 @@ public override async Task Final_GroupBy_complex_key_entity(bool async) await base.Final_GroupBy_complex_key_entity(async); AssertSql( - @"SELECT [t].[City], [t].[Region], [t].[Constant], [t].[CustomerID], [t].[Address], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode] +""" +SELECT [t].[City], [t].[Region], [t].[Constant], [t].[CustomerID], [t].[Address], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], 1 AS [Constant] FROM [Customers] AS [c] ) AS [t] -ORDER BY [t].[City], [t].[Region], [t].[Constant]"); +ORDER BY [t].[City], [t].[Region], [t].[Constant] +"""); } public override async Task Final_GroupBy_nominal_type_entity(bool async) @@ -3203,12 +3679,14 @@ public override async Task Final_GroupBy_nominal_type_entity(bool async) await base.Final_GroupBy_nominal_type_entity(async); AssertSql( - @"SELECT [t].[City], [t].[Constant], [t].[CustomerID], [t].[Address], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] +""" +SELECT [t].[City], [t].[Constant], [t].[CustomerID], [t].[Address], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], 1 AS [Constant] FROM [Customers] AS [c] ) AS [t] -ORDER BY [t].[City], [t].[Constant]"); +ORDER BY [t].[City], [t].[Constant] +"""); } public override async Task Final_GroupBy_property_anonymous_type_element_selector(bool async) @@ -3216,9 +3694,11 @@ public override async Task Final_GroupBy_property_anonymous_type_element_selecto await base.Final_GroupBy_property_anonymous_type_element_selector(async); AssertSql( - @"SELECT [c].[City], [c].[ContactName], [c].[ContactTitle] +""" +SELECT [c].[City], [c].[ContactName], [c].[ContactTitle] FROM [Customers] AS [c] -ORDER BY [c].[City]"); +ORDER BY [c].[City] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection(bool async) @@ -3226,11 +3706,13 @@ public override async Task Final_GroupBy_property_entity_Include_collection(bool await base.Final_GroupBy_property_entity_Include_collection(async); AssertSql( - @"SELECT [c].[City], [c].[CustomerID], [c].[Address], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[City], [c].[CustomerID], [c].[Address], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[Country] = N'USA' -ORDER BY [c].[City], [c].[CustomerID]"); +ORDER BY [c].[City], [c].[CustomerID] +"""); } public override async Task Final_GroupBy_property_entity_projecting_collection(bool async) @@ -3238,11 +3720,13 @@ public override async Task Final_GroupBy_property_entity_projecting_collection(b await base.Final_GroupBy_property_entity_projecting_collection(async); AssertSql( - @"SELECT [c].[City], [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[City], [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[Country] = N'USA' -ORDER BY [c].[City], [c].[CustomerID]"); +ORDER BY [c].[City], [c].[CustomerID] +"""); } public override async Task Final_GroupBy_property_entity_projecting_collection_composed(bool async) @@ -3250,7 +3734,8 @@ public override async Task Final_GroupBy_property_entity_projecting_collection_c await base.Final_GroupBy_property_entity_projecting_collection_composed(async); AssertSql( - @"SELECT [c].[City], [c].[CustomerID], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[City], [c].[CustomerID], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -3258,7 +3743,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] < 11000 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[Country] = N'USA' -ORDER BY [c].[City], [c].[CustomerID]"); +ORDER BY [c].[City], [c].[CustomerID] +"""); } public override async Task Final_GroupBy_property_entity_projecting_collection_and_single_result(bool async) @@ -3266,7 +3752,8 @@ public override async Task Final_GroupBy_property_entity_projecting_collection_a await base.Final_GroupBy_property_entity_projecting_collection_and_single_result(async); AssertSql( - @"SELECT [c].[City], [c].[CustomerID], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] +""" +SELECT [c].[City], [c].[CustomerID], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -3282,7 +3769,8 @@ FROM [Orders] AS [o0] WHERE [t1].[row] <= 1 ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE [c].[Country] = N'USA' -ORDER BY [c].[City], [c].[CustomerID]"); +ORDER BY [c].[City], [c].[CustomerID] +"""); } public override async Task GroupBy_Where_with_grouping_result(bool async) @@ -3339,7 +3827,8 @@ public override async Task GroupBy_complex_key_without_aggregate(bool async) await base.GroupBy_complex_key_without_aggregate(async); AssertSql( - @"SELECT [t0].[Key], [t1].[OrderID], [t1].[CustomerID], [t1].[EmployeeID], [t1].[OrderDate], [t1].[CustomerID0] +""" +SELECT [t0].[Key], [t1].[OrderID], [t1].[CustomerID], [t1].[EmployeeID], [t1].[OrderDate], [t1].[CustomerID0] FROM ( SELECT [t].[Key] FROM ( @@ -3361,7 +3850,8 @@ FROM [Orders] AS [o0] ) AS [t2] WHERE 1 < [t2].[row] AND [t2].[row] <= 3 ) AS [t1] ON [t0].[Key] = [t1].[Key] -ORDER BY [t0].[Key], [t1].[OrderID]"); +ORDER BY [t0].[Key], [t1].[OrderID] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeNoTrackingQuerySqlServerTest.cs index 4b4ef9d6d2d..ec5fcce54a7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeNoTrackingQuerySqlServerTest.cs @@ -28,7 +28,8 @@ public override async Task Include_duplicate_reference3(bool async) await base.Include_duplicate_reference3(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( @@ -43,7 +44,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t0].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_collection_Join_GroupBy_Select(bool async) @@ -51,7 +53,8 @@ public override async Task Include_collection_Join_GroupBy_Select(bool async) await base.Include_collection_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -70,7 +73,8 @@ FROM [Orders] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID] +"""); } public override async Task Include_collection_with_filter(bool async) @@ -78,11 +82,13 @@ public override async Task Include_collection_with_filter(bool async) await base.Include_collection_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -90,14 +96,16 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' ORDER BY CASE WHEN [c].[CustomerID] LIKE N'S%' THEN 1 ELSE 2 -END, [c].[CustomerID]"); +END, [c].[CustomerID] +"""); } public override async Task Include_collection_then_include_collection_then_include_reference(bool async) @@ -105,7 +113,8 @@ public override async Task Include_collection_then_include_collection_then_inclu await base.Include_collection_then_include_collection_then_include_reference(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[OrderID] AS [OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[ProductID0], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice0], [t].[UnitsInStock] @@ -117,7 +126,8 @@ FROM [Order Details] AS [o0] ) AS [t] ON [o].[OrderID] = [t].[OrderID] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +"""); } public override async Task Include_reference_and_collection(bool async) @@ -125,12 +135,14 @@ public override async Task Include_reference_and_collection(bool async) await base.Include_reference_and_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Include_collection_with_cross_join_clause_with_filter(bool async) @@ -138,7 +150,8 @@ public override async Task Include_collection_with_cross_join_clause_with_filter await base.Include_collection_with_cross_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] CROSS JOIN ( SELECT TOP(5) [o].[OrderID] @@ -147,7 +160,8 @@ ORDER BY [o].[OrderID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_OrderBy_list_does_not_contains(bool async) @@ -155,7 +169,8 @@ public override async Task Include_collection_OrderBy_list_does_not_contains(boo await base.Include_collection_OrderBy_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -172,7 +187,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_alias_generation(bool async) @@ -180,11 +196,13 @@ public override async Task Include_collection_alias_generation(bool async) await base.Include_collection_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_multi_level_collection_and_then_include_reference_predicate(bool async) @@ -192,7 +210,8 @@ public override async Task Include_multi_level_collection_and_then_include_refer await base.Include_multi_level_collection_and_then_include_reference_predicate(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] FROM ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] @@ -203,7 +222,8 @@ LEFT JOIN ( FROM [Order Details] AS [o0] INNER JOIN [Products] AS [p] ON [o0].[ProductID] = [p].[ProductID] ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[ProductID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[ProductID] +"""); } public override async Task Include_collection_force_alias_uniquefication(bool async) @@ -211,11 +231,13 @@ public override async Task Include_collection_force_alias_uniquefication(bool as await base.Include_collection_force_alias_uniquefication(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_collection_then_include_collection_predicate(bool async) @@ -223,7 +245,8 @@ public override async Task Include_collection_then_include_collection_predicate( await base.Include_collection_then_include_collection_predicate(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -234,7 +257,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(bool async) @@ -242,12 +266,14 @@ public override async Task Outer_idenfier_correctly_determined_when_doing_includ await base.Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[City] = N'Seattle' -ORDER BY [c].[CustomerID], [o].[OrderID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_collection_then_include_collection(bool async) @@ -255,7 +281,8 @@ public override async Task Include_collection_then_include_collection(bool async await base.Include_collection_then_include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID] AS [OrderID0], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] @@ -263,7 +290,8 @@ FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0]"); +ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0] +"""); } public override async Task Include_reference_when_entity_in_projection(bool async) @@ -271,10 +299,12 @@ public override async Task Include_reference_when_entity_in_projection(bool asyn await base.Include_reference_when_entity_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_reference_Join_GroupBy_Select(bool async) @@ -282,7 +312,8 @@ public override async Task Include_reference_Join_GroupBy_Select(bool async) await base.Include_reference_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -300,7 +331,8 @@ FROM [Orders] AS [o1] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_when_result_operator(bool async) @@ -308,12 +340,14 @@ public override async Task Include_when_result_operator(bool async) await base.Include_when_result_operator(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Include_duplicate_collection_result_operator(bool async) @@ -321,7 +355,8 @@ public override async Task Include_duplicate_collection_result_operator(bool asy await base.Include_duplicate_collection_result_operator(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [t1].[CustomerID], [t1].[Address], [t1].[City], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Country], [t1].[Fax], [t1].[Phone], [t1].[PostalCode], [t1].[Region], [t1].[CustomerID0], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[Address0], [t1].[City0], [t1].[CompanyName0], [t1].[ContactName0], [t1].[ContactTitle0], [t1].[Country0], [t1].[Fax0], [t1].[Phone0], [t1].[PostalCode0], [t1].[Region0], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -342,7 +377,8 @@ ORDER BY [t].[CustomerID] ) AS [t1] LEFT JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [t1].[CustomerID0] = [o0].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0], [o].[OrderID]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0], [o].[OrderID] +"""); } public override async Task Include_duplicate_reference2(bool async) @@ -350,7 +386,8 @@ public override async Task Include_duplicate_reference2(bool async) await base.Include_duplicate_reference2(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -365,7 +402,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key_with_take(bool async) @@ -373,7 +411,8 @@ public override async Task Include_collection_order_by_non_key_with_take(bool as await base.Include_collection_order_by_non_key_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -382,7 +421,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactTitle] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_multiple_references(bool async) @@ -390,11 +430,13 @@ public override async Task Include_multiple_references(bool async) await base.Include_multiple_references(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_OrderBy_list_contains(bool async) @@ -402,7 +444,8 @@ public override async Task Include_collection_OrderBy_list_contains(bool async) await base.Include_collection_OrderBy_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -419,7 +462,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_multiple_references_multi_level_reverse(bool async) @@ -427,12 +471,14 @@ public override async Task Include_multiple_references_multi_level_reverse(bool await base.Include_multiple_references_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_list(bool async) @@ -440,7 +486,8 @@ public override async Task Include_list(bool async) await base.Include_list(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Products] AS [p] LEFT JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -448,7 +495,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 AND [p].[UnitPrice] < 20.0 -ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID]"); +ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_multiple_references_multi_level(bool async) @@ -456,12 +504,14 @@ public override async Task Include_multiple_references_multi_level(bool async) await base.Include_multiple_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Multi_level_includes_are_applied_with_skip(bool async) @@ -469,7 +519,8 @@ public override async Task Multi_level_includes_are_applied_with_skip(bool async await base.Multi_level_includes_are_applied_with_skip(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( @@ -484,7 +535,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Include_reference_dependent_already_tracked(bool async) @@ -492,14 +544,18 @@ public override async Task Include_reference_dependent_already_tracked(bool asyn await base.Include_reference_dependent_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_collection_skip_take_no_order_by(bool async) @@ -507,7 +563,8 @@ public override async Task Include_collection_skip_take_no_order_by(bool async) await base.Include_collection_skip_take_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -518,7 +575,8 @@ ORDER BY (SELECT 1) OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_with_complex_projection_does_not_change_ordering_of_projection(bool async) @@ -526,7 +584,8 @@ public override async Task Include_with_complex_projection_does_not_change_order await base.Include_with_complex_projection_does_not_change_ordering_of_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id], ( +""" +SELECT [c].[CustomerID] AS [Id], ( SELECT COUNT(*) FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID]) AS [TotalOrders] @@ -535,7 +594,8 @@ FROM [Customers] AS [c] SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) > 2 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_where_skip_take_projection(bool async) @@ -543,7 +603,8 @@ public override async Task Include_where_skip_take_projection(bool async) await base.Include_where_skip_take_projection(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='2' SELECT [o0].[CustomerID] @@ -555,7 +616,8 @@ FROM [Order Details] AS [o] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [t].[ProductID]"); +ORDER BY [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_collection_with_multiple_conditional_order_by(bool async) @@ -563,7 +625,8 @@ public override async Task Include_collection_with_multiple_conditional_order_by await base.Include_collection_with_multiple_conditional_order_by(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM ( @@ -585,7 +648,8 @@ ELSE N'' END ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID] +"""); } public override async Task Include_reference_with_filter(bool async) @@ -593,10 +657,12 @@ public override async Task Include_reference_with_filter(bool async) await base.Include_reference_with_filter(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_collection_on_additional_from_clause2(bool async) @@ -604,7 +670,8 @@ public override async Task Include_collection_on_additional_from_clause2(bool as await base.Include_collection_on_additional_from_clause2(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -613,7 +680,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] CROSS JOIN [Customers] AS [c0] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter(bool async) @@ -621,7 +689,8 @@ public override async Task Include_collection_with_outer_apply_with_filter(bool await base.Include_collection_with_outer_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -631,7 +700,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_reference_when_projection(bool async) @@ -639,8 +709,10 @@ public override async Task Include_reference_when_projection(bool async) await base.Include_reference_when_projection(async); AssertSql( - @"SELECT [o].[CustomerID] -FROM [Orders] AS [o]"); +""" +SELECT [o].[CustomerID] +FROM [Orders] AS [o] +"""); } public override async Task Include_references_then_include_multi_level(bool async) @@ -648,11 +720,13 @@ public override async Task Include_references_then_include_multi_level(bool asyn await base.Include_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_take_no_order_by(bool async) @@ -660,7 +734,8 @@ public override async Task Include_collection_take_no_order_by(bool async) await base.Include_collection_take_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -668,7 +743,8 @@ SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName FROM [Customers] AS [c] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_with_skip(bool async) @@ -676,7 +752,8 @@ public override async Task Include_with_skip(bool async) await base.Include_with_skip(async); AssertSql( - @"@__p_0='80' +""" +@__p_0='80' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -686,7 +763,8 @@ ORDER BY [c].[ContactName] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName], [t].[CustomerID]"); +ORDER BY [t].[ContactName], [t].[CustomerID] +"""); } public override async Task Multi_level_includes_are_applied_with_take(bool async) @@ -694,7 +772,8 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async await base.Multi_level_includes_are_applied_with_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[CustomerID], [t1].[OrderID], [t1].[CustomerID], [t1].[EmployeeID], [t1].[OrderDate], [t1].[OrderID0], [t1].[ProductID], [t1].[Discount], [t1].[Quantity], [t1].[UnitPrice] FROM ( @@ -712,7 +791,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t1] ON [t0].[CustomerID] = [t1].[CustomerID] -ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0]"); +ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0] +"""); } public override async Task Then_include_collection_order_by_collection_column(bool async) @@ -720,7 +800,8 @@ public override async Task Then_include_collection_order_by_collection_column(bo await base.Then_include_collection_order_by_collection_column(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -740,7 +821,8 @@ LEFT JOIN ( FROM [Orders] AS [o0] LEFT JOIN [Order Details] AS [o1] ON [o0].[OrderID] = [o1].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[c] DESC, [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Include_references_multi_level(bool async) @@ -748,11 +830,13 @@ public override async Task Include_references_multi_level(bool async) await base.Include_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_duplicate_collection_result_operator2(bool async) @@ -760,7 +844,8 @@ public override async Task Include_duplicate_collection_result_operator2(bool as await base.Include_duplicate_collection_result_operator2(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [t1].[CustomerID], [t1].[Address], [t1].[City], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Country], [t1].[Fax], [t1].[Phone], [t1].[PostalCode], [t1].[Region], [t1].[CustomerID0], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[Address0], [t1].[City0], [t1].[CompanyName0], [t1].[ContactName0], [t1].[ContactTitle0], [t1].[Country0], [t1].[Fax0], [t1].[Phone0], [t1].[PostalCode0], [t1].[Region0] @@ -780,7 +865,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t1] LEFT JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0] +"""); } public override async Task Include_collection_when_projection(bool async) @@ -788,8 +874,10 @@ public override async Task Include_collection_when_projection(bool async) await base.Include_collection_when_projection(async); AssertSql( - @"SELECT [c].[CustomerID] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID] +FROM [Customers] AS [c] +"""); } public override async Task Include_collection_GroupBy_Select(bool async) @@ -797,7 +885,8 @@ public override async Task Include_collection_GroupBy_Select(bool async) await base.Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -814,7 +903,8 @@ FROM [Orders] AS [o0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o1] ON [t0].[OrderID] = [o1].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [o1].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [o1].[OrderID] +"""); } public override async Task Include_collection_on_join_clause_with_order_by_and_filter(bool async) @@ -822,12 +912,14 @@ public override async Task Include_collection_on_join_clause_with_order_by_and_f await base.Include_collection_on_join_clause_with_order_by_and_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_with_take(bool async) @@ -835,7 +927,8 @@ public override async Task Include_with_take(bool async) await base.Include_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -844,7 +937,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName] DESC, [t].[CustomerID]"); +ORDER BY [t].[ContactName] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_principal_already_tracked(bool async) @@ -852,18 +946,22 @@ public override async Task Include_collection_principal_already_tracked(bool asy await base.Include_collection_principal_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_SelectMany_GroupBy_Select(bool async) @@ -871,7 +969,8 @@ public override async Task Include_collection_SelectMany_GroupBy_Select(bool asy await base.Include_collection_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -890,7 +989,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID] +"""); } public override async Task Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(bool async) @@ -898,14 +998,16 @@ public override async Task Include_is_not_ignored_when_projection_contains_clien await base.Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [e0].[EmployeeID] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] WHERE [e].[EmployeeID] IN (1, 2) -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override async Task Join_Include_collection_GroupBy_Select(bool async) @@ -913,7 +1015,8 @@ public override async Task Join_Include_collection_GroupBy_Select(bool async) await base.Join_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -932,7 +1035,8 @@ FROM [Order Details] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID] +"""); } public override async Task Include_duplicate_reference(bool async) @@ -940,7 +1044,8 @@ public override async Task Include_duplicate_reference(bool async) await base.Include_duplicate_reference(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM ( @@ -956,7 +1061,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [t0].[CustomerID] = [c0].[CustomerID] -ORDER BY [t].[CustomerID], [t].[OrderID]"); +ORDER BY [t].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection(bool async) @@ -964,11 +1070,13 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_order_by_subquery(bool async) @@ -976,7 +1084,8 @@ public override async Task Include_collection_order_by_subquery(bool async) await base.Include_collection_order_by_subquery(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -992,7 +1101,8 @@ FROM [Orders] AS [o] ORDER BY [o].[EmployeeID]) ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task SelectMany_Include_reference_GroupBy_Select(bool async) @@ -1000,7 +1110,8 @@ public override async Task SelectMany_Include_reference_GroupBy_Select(bool asyn await base.SelectMany_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1018,7 +1129,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_with_cross_apply_with_filter(bool async) @@ -1026,7 +1138,8 @@ public override async Task Include_collection_with_cross_apply_with_filter(bool await base.Include_collection_with_cross_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] CROSS APPLY ( SELECT TOP(5) [o].[OrderID] @@ -1036,7 +1149,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key(bool async) @@ -1044,11 +1158,13 @@ public override async Task Include_collection_order_by_non_key(bool async) await base.Include_collection_order_by_non_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[PostalCode], [c].[CustomerID]"); +ORDER BY [c].[PostalCode], [c].[CustomerID] +"""); } public override async Task Include_reference_GroupBy_Select(bool async) @@ -1056,7 +1172,8 @@ public override async Task Include_reference_GroupBy_Select(bool async) await base.Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1072,7 +1189,8 @@ FROM [Orders] AS [o0] WHERE [o0].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_order_by_key(bool async) @@ -1080,11 +1198,13 @@ public override async Task Include_collection_order_by_key(bool async) await base.Include_collection_order_by_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_with_complex_projection(bool async) @@ -1092,9 +1212,11 @@ public override async Task Include_with_complex_projection(bool async) await base.Include_with_complex_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id] +""" +SELECT [c].[CustomerID] AS [Id] FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter_non_equality(bool async) @@ -1102,7 +1224,8 @@ public override async Task Include_collection_with_outer_apply_with_filter_non_e await base.Include_collection_with_outer_apply_with_filter_non_equality(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -1112,7 +1235,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key_with_skip(bool async) @@ -1120,7 +1244,8 @@ public override async Task Include_collection_order_by_non_key_with_skip(bool as await base.Include_collection_order_by_non_key_with_skip(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1131,7 +1256,8 @@ ORDER BY [c].[ContactTitle] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_collection_on_additional_from_clause(bool async) @@ -1139,7 +1265,8 @@ public override async Task Include_collection_on_additional_from_clause(bool asy await base.Include_collection_on_additional_from_clause(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [t].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1153,7 +1280,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ) AS [t0] LEFT JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID] +"""); } public override async Task Repro9735(bool async) @@ -1161,7 +1289,8 @@ public override async Task Repro9735(bool async) await base.Repro9735(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM ( @@ -1183,7 +1312,8 @@ ELSE N'' END ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -1191,7 +1321,8 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Products] AS [p] LEFT JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -1199,7 +1330,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 -ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID]"); +ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_collection_with_filter_reordered(bool async) @@ -1207,11 +1339,13 @@ public override async Task Include_collection_with_filter_reordered(bool async) await base.Include_collection_with_filter_reordered(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Multi_level_includes_are_applied_with_skip_take(bool async) @@ -1219,7 +1353,8 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool await base.Multi_level_includes_are_applied_with_skip_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[CustomerID], [t1].[OrderID], [t1].[CustomerID], [t1].[EmployeeID], [t1].[OrderDate], [t1].[OrderID0], [t1].[ProductID], [t1].[Discount], [t1].[Quantity], [t1].[UnitPrice] FROM ( @@ -1238,7 +1373,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t1] ON [t0].[CustomerID] = [t1].[CustomerID] -ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0]"); +ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0] +"""); } public override async Task Include_collection_order_by_collection_column(bool async) @@ -1246,7 +1382,8 @@ public override async Task Include_collection_order_by_collection_column(bool as await base.Include_collection_order_by_collection_column(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -1262,7 +1399,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderDate] DESC) DESC ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID]"); +ORDER BY [t].[c] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_dependent_already_tracked(bool async) @@ -1270,18 +1408,22 @@ public override async Task Include_collection_dependent_already_tracked(bool asy await base.Include_collection_dependent_already_tracked(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'", +WHERE [o].[CustomerID] = N'ALFKI' +""", // - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_on_additional_from_clause_with_filter(bool async) @@ -1289,7 +1431,8 @@ public override async Task Include_collection_on_additional_from_clause_with_fil await base.Include_collection_on_additional_from_clause_with_filter(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] CROSS JOIN ( SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] @@ -1297,7 +1440,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID], [t].[CustomerID]"); +ORDER BY [c].[CustomerID], [t].[CustomerID] +"""); } public override async Task Include_collection_orderby_take(bool async) @@ -1305,7 +1449,8 @@ public override async Task Include_collection_orderby_take(bool async) await base.Include_collection_orderby_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1314,7 +1459,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_reference_with_filter_reordered(bool async) @@ -1322,10 +1468,12 @@ public override async Task Include_reference_with_filter_reordered(bool async) await base.Include_reference_with_filter_reordered(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_collection_and_reference(bool async) @@ -1333,12 +1481,14 @@ public override async Task Include_collection_and_reference(bool async) await base.Include_collection_and_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Include_collection_OrderBy_object(bool async) @@ -1346,11 +1496,13 @@ public override async Task Include_collection_OrderBy_object(bool async) await base.Include_collection_OrderBy_object(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[OrderID] < 10250 -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) @@ -1358,7 +1510,8 @@ public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) await base.Include_in_let_followed_by_FirstOrDefault(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] @@ -1370,7 +1523,8 @@ FROM [Orders] AS [o] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [t0].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key_with_first_or_default(bool async) @@ -1378,14 +1532,16 @@ public override async Task Include_collection_order_by_non_key_with_first_or_def await base.Include_collection_order_by_non_key_with_first_or_default(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_reference(bool async) @@ -1393,10 +1549,12 @@ public override async Task Include_reference(bool async) await base.Include_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_reference_distinct_is_server_evaluated(bool async) @@ -1404,13 +1562,15 @@ public override async Task Include_reference_distinct_is_server_evaluated(bool a await base.Include_reference_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( SELECT DISTINCT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10250 ) AS [t] -LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_closes_reader(bool async) @@ -1418,16 +1578,20 @@ public override async Task Include_closes_reader(bool async) await base.Include_closes_reader(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] -FROM [Products] AS [p]"); +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +FROM [Products] AS [p] +"""); } public override async Task Filtered_include_with_multiple_ordering(bool async) @@ -1435,7 +1599,8 @@ public override async Task Filtered_include_with_multiple_ordering(bool async) await base.Filtered_include_with_multiple_ordering(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -1445,7 +1610,8 @@ ORDER BY [o].[OrderID] OFFSET 1 ROWS ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderDate] DESC"); +ORDER BY [c].[CustomerID], [t].[OrderDate] DESC +"""); } public override async Task SelectMany_Include_collection_GroupBy_Select(bool async) @@ -1453,7 +1619,8 @@ public override async Task SelectMany_Include_collection_GroupBy_Select(bool asy await base.SelectMany_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1472,7 +1639,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID] +"""); } public override async Task Include_collection_single_or_default_no_result(bool async) @@ -1480,14 +1648,16 @@ public override async Task Include_collection_single_or_default_no_result(bool a await base.Include_collection_single_or_default_no_result(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI ?' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Join_Include_reference_GroupBy_Select(bool async) @@ -1495,7 +1665,8 @@ public override async Task Join_Include_reference_GroupBy_Select(bool async) await base.Join_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1511,7 +1682,8 @@ FROM [Order Details] AS [o1] LEFT JOIN [Customers] AS [c] ON [o2].[CustomerID] = [c].[CustomerID] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_skip_no_order_by(bool async) @@ -1519,7 +1691,8 @@ public override async Task Include_collection_skip_no_order_by(bool async) await base.Include_collection_skip_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1529,7 +1702,8 @@ ORDER BY (SELECT 1) OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_distinct_is_server_evaluated(bool async) @@ -1537,14 +1711,16 @@ public override async Task Include_collection_distinct_is_server_evaluated(bool await base.Include_collection_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_empty_reference_sets_IsLoaded(bool async) @@ -1552,10 +1728,12 @@ public override async Task Include_empty_reference_sets_IsLoaded(bool async) await base.Include_empty_reference_sets_IsLoaded(async); AssertSql( - @"SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] +""" +SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] -WHERE [e0].[EmployeeID] IS NULL"); +WHERE [e0].[EmployeeID] IS NULL +"""); } public override async Task Include_reference_alias_generation(bool async) @@ -1563,10 +1741,12 @@ public override async Task Include_reference_alias_generation(bool async) await base.Include_reference_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_with_last(bool async) @@ -1574,14 +1754,16 @@ public override async Task Include_collection_with_last(bool async) await base.Include_collection_with_last(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_duplicate_collection(bool async) @@ -1589,7 +1771,8 @@ public override async Task Include_duplicate_collection(bool async) await base.Include_duplicate_collection(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( @@ -1605,7 +1788,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [t0].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID], [o].[OrderID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_multiple_references_then_include_multi_level(bool async) @@ -1613,12 +1797,14 @@ public override async Task Include_multiple_references_then_include_multi_level( await base.Include_multiple_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_reference_single_or_default_when_no_result(bool async) @@ -1626,10 +1812,12 @@ public override async Task Include_reference_single_or_default_when_no_result(bo await base.Include_reference_single_or_default_when_no_result(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Include_collection_with_join_clause_with_filter(bool async) @@ -1637,12 +1825,14 @@ public override async Task Include_collection_with_join_clause_with_filter(bool await base.Include_collection_with_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_with_left_join_clause_with_filter(bool async) @@ -1650,12 +1840,14 @@ public override async Task Include_collection_with_left_join_clause_with_filter( await base.Include_collection_with_left_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_multiple_references_then_include_multi_level_reverse(bool async) @@ -1663,12 +1855,14 @@ public override async Task Include_multiple_references_then_include_multi_level_ await base.Include_multiple_references_then_include_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_reference_SelectMany_GroupBy_Select(bool async) @@ -1676,7 +1870,8 @@ public override async Task Include_reference_SelectMany_GroupBy_Select(bool asyn await base.Include_reference_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1694,7 +1889,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_multi_level_reference_and_collection_predicate(bool async) @@ -1842,7 +2038,8 @@ public override async Task Include_collection_OrderBy_empty_list_contains(bool a await base.Include_collection_OrderBy_empty_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1853,7 +2050,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_empty_list_does_not_contains(bool async) @@ -1861,7 +2059,8 @@ public override async Task Include_collection_OrderBy_empty_list_does_not_contai await base.Include_collection_OrderBy_empty_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1872,7 +2071,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeQuerySqlServerTest.cs index f91f2036b4e..e94e0b5774e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindIncludeQuerySqlServerTest.cs @@ -30,7 +30,8 @@ public override async Task Include_list(bool async) await base.Include_list(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Products] AS [p] LEFT JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -38,7 +39,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 AND [p].[UnitPrice] < 20.0 -ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID]"); +ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_reference(bool async) @@ -46,10 +48,12 @@ public override async Task Include_reference(bool async) await base.Include_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_when_result_operator(bool async) @@ -57,12 +61,14 @@ public override async Task Include_when_result_operator(bool async) await base.Include_when_result_operator(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Include_collection(bool async) @@ -70,11 +76,13 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_with_last(bool async) @@ -82,14 +90,16 @@ public override async Task Include_collection_with_last(bool async) await base.Include_collection_with_last(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_skip_no_order_by(bool async) @@ -97,7 +107,8 @@ public override async Task Include_collection_skip_no_order_by(bool async) await base.Include_collection_skip_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -107,7 +118,8 @@ ORDER BY (SELECT 1) OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_take_no_order_by(bool async) @@ -115,7 +127,8 @@ public override async Task Include_collection_take_no_order_by(bool async) await base.Include_collection_take_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -123,7 +136,8 @@ SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName FROM [Customers] AS [c] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_skip_take_no_order_by(bool async) @@ -131,7 +145,8 @@ public override async Task Include_collection_skip_take_no_order_by(bool async) await base.Include_collection_skip_take_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -142,7 +157,8 @@ ORDER BY (SELECT 1) OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_reference_and_collection(bool async) @@ -150,12 +166,14 @@ public override async Task Include_reference_and_collection(bool async) await base.Include_reference_and_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID] +"""); } [ConditionalFact] @@ -164,11 +182,13 @@ public void ToQueryString_for_include_reference_and_collection() using var context = CreateContext(); Assert.Equal( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID]", +ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID] +""", context.Set().Include(o => o.Customer).Include(o => o.OrderDetails).ToQueryString(), ignoreLineEndingDifferences: true, ignoreWhiteSpaceDifferences: true); @@ -179,11 +199,13 @@ public override async Task Include_references_multi_level(bool async) await base.Include_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_multiple_references_multi_level(bool async) @@ -191,12 +213,14 @@ public override async Task Include_multiple_references_multi_level(bool async) await base.Include_multiple_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_multiple_references_multi_level_reverse(bool async) @@ -204,12 +228,14 @@ public override async Task Include_multiple_references_multi_level_reverse(bool await base.Include_multiple_references_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_references_and_collection_multi_level(bool async) @@ -217,13 +243,15 @@ public override async Task Include_references_and_collection_multi_level(bool as await base.Include_references_and_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 AND [o].[UnitPrice] < 10.0 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_multi_level_reference_and_collection_predicate(bool async) @@ -231,7 +259,8 @@ public override async Task Include_multi_level_reference_and_collection_predicat await base.Include_multi_level_reference_and_collection_predicate(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] AS [CustomerID0], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] @@ -239,7 +268,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] = 10248 ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID0] = [o0].[CustomerID] -ORDER BY [t].[OrderID], [t].[CustomerID0]"); +ORDER BY [t].[OrderID], [t].[CustomerID0] +"""); } public override async Task Include_multi_level_collection_and_then_include_reference_predicate(bool async) @@ -247,7 +277,8 @@ public override async Task Include_multi_level_collection_and_then_include_refer await base.Include_multi_level_collection_and_then_include_reference_predicate(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] FROM ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] @@ -258,7 +289,8 @@ LEFT JOIN ( FROM [Order Details] AS [o0] INNER JOIN [Products] AS [p] ON [o0].[ProductID] = [p].[ProductID] ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[ProductID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[ProductID] +"""); } public override async Task Include_collection_alias_generation(bool async) @@ -266,11 +298,13 @@ public override async Task Include_collection_alias_generation(bool async) await base.Include_collection_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_collection_order_by_collection_column(bool async) @@ -278,7 +312,8 @@ public override async Task Include_collection_order_by_collection_column(bool as await base.Include_collection_order_by_collection_column(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -294,7 +329,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderDate] DESC) DESC ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID]"); +ORDER BY [t].[c] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_order_by_key(bool async) @@ -302,11 +338,13 @@ public override async Task Include_collection_order_by_key(bool async) await base.Include_collection_order_by_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key(bool async) @@ -314,11 +352,13 @@ public override async Task Include_collection_order_by_non_key(bool async) await base.Include_collection_order_by_non_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[PostalCode], [c].[CustomerID]"); +ORDER BY [c].[PostalCode], [c].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key_with_take(bool async) @@ -326,7 +366,8 @@ public override async Task Include_collection_order_by_non_key_with_take(bool as await base.Include_collection_order_by_non_key_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -335,7 +376,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactTitle] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key_with_skip(bool async) @@ -343,7 +385,8 @@ public override async Task Include_collection_order_by_non_key_with_skip(bool as await base.Include_collection_order_by_non_key_with_skip(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -354,7 +397,8 @@ ORDER BY [c].[ContactTitle] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key_with_first_or_default(bool async) @@ -362,14 +406,16 @@ public override async Task Include_collection_order_by_non_key_with_first_or_def await base.Include_collection_order_by_non_key_with_first_or_default(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_order_by_subquery(bool async) @@ -377,7 +423,8 @@ public override async Task Include_collection_order_by_subquery(bool async) await base.Include_collection_order_by_subquery(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -393,7 +440,8 @@ FROM [Orders] AS [o] ORDER BY [o].[EmployeeID]) ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_principal_already_tracked(bool async) @@ -401,18 +449,22 @@ public override async Task Include_collection_principal_already_tracked(bool asy await base.Include_collection_principal_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_with_filter(bool async) @@ -420,11 +472,13 @@ public override async Task Include_collection_with_filter(bool async) await base.Include_collection_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_with_filter_reordered(bool async) @@ -432,11 +486,13 @@ public override async Task Include_collection_with_filter_reordered(bool async) await base.Include_collection_with_filter_reordered(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_then_include_collection(bool async) @@ -444,7 +500,8 @@ public override async Task Include_collection_then_include_collection(bool async await base.Include_collection_then_include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID] AS [OrderID0], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] @@ -452,7 +509,8 @@ FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0]"); +ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0] +"""); } public override async Task Include_collection_then_include_collection_then_include_reference(bool async) @@ -460,7 +518,8 @@ public override async Task Include_collection_then_include_collection_then_inclu await base.Include_collection_then_include_collection_then_include_reference(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[OrderID] AS [OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[ProductID0], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice0], [t].[UnitsInStock] @@ -472,7 +531,8 @@ FROM [Order Details] AS [o0] ) AS [t] ON [o].[OrderID] = [t].[OrderID] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +"""); } public override async Task Include_collection_when_projection(bool async) @@ -480,8 +540,10 @@ public override async Task Include_collection_when_projection(bool async) await base.Include_collection_when_projection(async); AssertSql( - @"SELECT [c].[CustomerID] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID] +FROM [Customers] AS [c] +"""); } public override async Task Include_collection_with_join_clause_with_filter(bool async) @@ -489,12 +551,14 @@ public override async Task Include_collection_with_join_clause_with_filter(bool await base.Include_collection_with_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_with_left_join_clause_with_filter(bool async) @@ -502,12 +566,14 @@ public override async Task Include_collection_with_left_join_clause_with_filter( await base.Include_collection_with_left_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_with_cross_join_clause_with_filter(bool async) @@ -515,7 +581,8 @@ public override async Task Include_collection_with_cross_join_clause_with_filter await base.Include_collection_with_cross_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] CROSS JOIN ( SELECT TOP(5) [o].[OrderID] @@ -524,7 +591,8 @@ ORDER BY [o].[OrderID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_with_cross_apply_with_filter(bool async) @@ -532,7 +600,8 @@ public override async Task Include_collection_with_cross_apply_with_filter(bool await base.Include_collection_with_cross_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] CROSS APPLY ( SELECT TOP(5) [o].[OrderID] @@ -542,7 +611,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter(bool async) @@ -550,7 +620,8 @@ public override async Task Include_collection_with_outer_apply_with_filter(bool await base.Include_collection_with_outer_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -560,7 +631,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_on_additional_from_clause_with_filter(bool async) @@ -568,7 +640,8 @@ public override async Task Include_collection_on_additional_from_clause_with_fil await base.Include_collection_on_additional_from_clause_with_filter(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] CROSS JOIN ( SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] @@ -576,7 +649,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID], [t].[CustomerID]"); +ORDER BY [c].[CustomerID], [t].[CustomerID] +"""); } public override async Task Include_collection_on_additional_from_clause(bool async) @@ -584,7 +658,8 @@ public override async Task Include_collection_on_additional_from_clause(bool asy await base.Include_collection_on_additional_from_clause(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [t].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -598,7 +673,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ) AS [t0] LEFT JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID] +"""); } public override async Task Include_duplicate_collection(bool async) @@ -606,7 +682,8 @@ public override async Task Include_duplicate_collection(bool async) await base.Include_duplicate_collection(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( @@ -622,7 +699,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [t0].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID], [o].[OrderID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_duplicate_collection_result_operator(bool async) @@ -630,7 +708,8 @@ public override async Task Include_duplicate_collection_result_operator(bool asy await base.Include_duplicate_collection_result_operator(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [t1].[CustomerID], [t1].[Address], [t1].[City], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Country], [t1].[Fax], [t1].[Phone], [t1].[PostalCode], [t1].[Region], [t1].[CustomerID0], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[Address0], [t1].[City0], [t1].[CompanyName0], [t1].[ContactName0], [t1].[ContactTitle0], [t1].[Country0], [t1].[Fax0], [t1].[Phone0], [t1].[PostalCode0], [t1].[Region0], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -651,7 +730,8 @@ ORDER BY [t].[CustomerID] ) AS [t1] LEFT JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [t1].[CustomerID0] = [o0].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0], [o].[OrderID]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0], [o].[OrderID] +"""); } public override async Task Include_collection_on_join_clause_with_order_by_and_filter(bool async) @@ -659,12 +739,14 @@ public override async Task Include_collection_on_join_clause_with_order_by_and_f await base.Include_collection_on_join_clause_with_order_by_and_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter_non_equality(bool async) @@ -672,7 +754,8 @@ public override async Task Include_collection_with_outer_apply_with_filter_non_e await base.Include_collection_with_outer_apply_with_filter_non_equality(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -682,7 +765,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_on_additional_from_clause2(bool async) @@ -690,7 +774,8 @@ public override async Task Include_collection_on_additional_from_clause2(bool as await base.Include_collection_on_additional_from_clause2(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -699,7 +784,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] CROSS JOIN [Customers] AS [c0] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_where_skip_take_projection(bool async) @@ -707,7 +793,8 @@ public override async Task Include_where_skip_take_projection(bool async) await base.Include_where_skip_take_projection(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='2' SELECT [o0].[CustomerID] @@ -719,7 +806,8 @@ FROM [Order Details] AS [o] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [t].[ProductID]"); +ORDER BY [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_duplicate_collection_result_operator2(bool async) @@ -727,7 +815,8 @@ public override async Task Include_duplicate_collection_result_operator2(bool as await base.Include_duplicate_collection_result_operator2(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [t1].[CustomerID], [t1].[Address], [t1].[City], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Country], [t1].[Fax], [t1].[Phone], [t1].[PostalCode], [t1].[Region], [t1].[CustomerID0], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[Address0], [t1].[City0], [t1].[CompanyName0], [t1].[ContactName0], [t1].[ContactTitle0], [t1].[Country0], [t1].[Fax0], [t1].[Phone0], [t1].[PostalCode0], [t1].[Region0] @@ -747,7 +836,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t1] LEFT JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0] +"""); } public override async Task Include_multiple_references(bool async) @@ -755,11 +845,13 @@ public override async Task Include_multiple_references(bool async) await base.Include_multiple_references(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_reference_alias_generation(bool async) @@ -767,10 +859,12 @@ public override async Task Include_reference_alias_generation(bool async) await base.Include_reference_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_duplicate_reference(bool async) @@ -778,7 +872,8 @@ public override async Task Include_duplicate_reference(bool async) await base.Include_duplicate_reference(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM ( @@ -794,7 +889,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [t0].[CustomerID] = [c0].[CustomerID] -ORDER BY [t].[CustomerID], [t].[OrderID]"); +ORDER BY [t].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_duplicate_reference2(bool async) @@ -802,7 +898,8 @@ public override async Task Include_duplicate_reference2(bool async) await base.Include_duplicate_reference2(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -817,7 +914,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_duplicate_reference3(bool async) @@ -825,7 +923,8 @@ public override async Task Include_duplicate_reference3(bool async) await base.Include_duplicate_reference3(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( @@ -840,7 +939,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t0].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_reference_when_projection(bool async) @@ -848,8 +948,10 @@ public override async Task Include_reference_when_projection(bool async) await base.Include_reference_when_projection(async); AssertSql( - @"SELECT [o].[CustomerID] -FROM [Orders] AS [o]"); +""" +SELECT [o].[CustomerID] +FROM [Orders] AS [o] +"""); } public override async Task Include_reference_with_filter_reordered(bool async) @@ -857,10 +959,12 @@ public override async Task Include_reference_with_filter_reordered(bool async) await base.Include_reference_with_filter_reordered(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_reference_with_filter(bool async) @@ -868,10 +972,12 @@ public override async Task Include_reference_with_filter(bool async) await base.Include_reference_with_filter(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_collection_dependent_already_tracked(bool async) @@ -879,18 +985,22 @@ public override async Task Include_collection_dependent_already_tracked(bool asy await base.Include_collection_dependent_already_tracked(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'", +WHERE [o].[CustomerID] = N'ALFKI' +""", // - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_reference_dependent_already_tracked(bool async) @@ -898,14 +1008,18 @@ public override async Task Include_reference_dependent_already_tracked(bool asyn await base.Include_reference_dependent_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_with_complex_projection(bool async) @@ -913,9 +1027,11 @@ public override async Task Include_with_complex_projection(bool async) await base.Include_with_complex_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id] +""" +SELECT [c].[CustomerID] AS [Id] FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_with_complex_projection_does_not_change_ordering_of_projection(bool async) @@ -923,7 +1039,8 @@ public override async Task Include_with_complex_projection_does_not_change_order await base.Include_with_complex_projection_does_not_change_ordering_of_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id], ( +""" +SELECT [c].[CustomerID] AS [Id], ( SELECT COUNT(*) FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID]) AS [TotalOrders] @@ -932,7 +1049,8 @@ FROM [Customers] AS [c] SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) > 2 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_with_take(bool async) @@ -940,7 +1058,8 @@ public override async Task Include_with_take(bool async) await base.Include_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -949,7 +1068,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName] DESC, [t].[CustomerID]"); +ORDER BY [t].[ContactName] DESC, [t].[CustomerID] +"""); } public override async Task Include_with_skip(bool async) @@ -957,7 +1077,8 @@ public override async Task Include_with_skip(bool async) await base.Include_with_skip(async); AssertSql( - @"@__p_0='80' +""" +@__p_0='80' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -967,7 +1088,8 @@ ORDER BY [c].[ContactName] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName], [t].[CustomerID]"); +ORDER BY [t].[ContactName], [t].[CustomerID] +"""); } public override async Task Include_collection_with_multiple_conditional_order_by(bool async) @@ -975,7 +1097,8 @@ public override async Task Include_collection_with_multiple_conditional_order_by await base.Include_collection_with_multiple_conditional_order_by(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM ( @@ -997,7 +1120,8 @@ ELSE N'' END ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID] +"""); } public override async Task Then_include_collection_order_by_collection_column(bool async) @@ -1005,7 +1129,8 @@ public override async Task Then_include_collection_order_by_collection_column(bo await base.Then_include_collection_order_by_collection_column(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -1025,7 +1150,8 @@ LEFT JOIN ( FROM [Orders] AS [o0] LEFT JOIN [Order Details] AS [o1] ON [o0].[OrderID] = [o1].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[c] DESC, [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -1033,14 +1159,16 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' ORDER BY CASE WHEN [c].[CustomerID] LIKE N'S%' THEN 1 ELSE 2 -END, [c].[CustomerID]"); +END, [c].[CustomerID] +"""); } public override async Task Include_collection_GroupBy_Select(bool async) @@ -1048,7 +1176,8 @@ public override async Task Include_collection_GroupBy_Select(bool async) await base.Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1065,7 +1194,8 @@ FROM [Orders] AS [o0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o1] ON [t0].[OrderID] = [o1].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [o1].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [o1].[OrderID] +"""); } public override async Task Include_reference_GroupBy_Select(bool async) @@ -1073,7 +1203,8 @@ public override async Task Include_reference_GroupBy_Select(bool async) await base.Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1089,7 +1220,8 @@ FROM [Orders] AS [o0] WHERE [o0].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_Join_GroupBy_Select(bool async) @@ -1097,7 +1229,8 @@ public override async Task Include_collection_Join_GroupBy_Select(bool async) await base.Include_collection_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1116,7 +1249,8 @@ FROM [Orders] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID] +"""); } public override async Task Include_reference_Join_GroupBy_Select(bool async) @@ -1124,7 +1258,8 @@ public override async Task Include_reference_Join_GroupBy_Select(bool async) await base.Include_reference_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1142,7 +1277,8 @@ FROM [Orders] AS [o1] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Join_Include_collection_GroupBy_Select(bool async) @@ -1150,7 +1286,8 @@ public override async Task Join_Include_collection_GroupBy_Select(bool async) await base.Join_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1169,7 +1306,8 @@ FROM [Order Details] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID] +"""); } public override async Task Join_Include_reference_GroupBy_Select(bool async) @@ -1177,7 +1315,8 @@ public override async Task Join_Include_reference_GroupBy_Select(bool async) await base.Join_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1193,7 +1332,8 @@ FROM [Order Details] AS [o1] LEFT JOIN [Customers] AS [c] ON [o2].[CustomerID] = [c].[CustomerID] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_SelectMany_GroupBy_Select(bool async) @@ -1201,7 +1341,8 @@ public override async Task Include_collection_SelectMany_GroupBy_Select(bool asy await base.Include_collection_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1220,7 +1361,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID] +"""); } public override async Task Include_reference_SelectMany_GroupBy_Select(bool async) @@ -1228,7 +1370,8 @@ public override async Task Include_reference_SelectMany_GroupBy_Select(bool asyn await base.Include_reference_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1246,7 +1389,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task SelectMany_Include_collection_GroupBy_Select(bool async) @@ -1254,7 +1398,8 @@ public override async Task SelectMany_Include_collection_GroupBy_Select(bool asy await base.SelectMany_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1273,7 +1418,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID] +"""); } public override async Task SelectMany_Include_reference_GroupBy_Select(bool async) @@ -1281,7 +1427,8 @@ public override async Task SelectMany_Include_reference_GroupBy_Select(bool asyn await base.SelectMany_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1299,7 +1446,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_reference_distinct_is_server_evaluated(bool async) @@ -1307,13 +1455,15 @@ public override async Task Include_reference_distinct_is_server_evaluated(bool a await base.Include_reference_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( SELECT DISTINCT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10250 ) AS [t] -LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_collection_distinct_is_server_evaluated(bool async) @@ -1321,14 +1471,16 @@ public override async Task Include_collection_distinct_is_server_evaluated(bool await base.Include_collection_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_object(bool async) @@ -1336,11 +1488,13 @@ public override async Task Include_collection_OrderBy_object(bool async) await base.Include_collection_OrderBy_object(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[OrderID] < 10250 -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_collection_OrderBy_empty_list_contains(bool async) @@ -1348,7 +1502,8 @@ public override async Task Include_collection_OrderBy_empty_list_contains(bool a await base.Include_collection_OrderBy_empty_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1359,7 +1514,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_empty_list_does_not_contains(bool async) @@ -1367,7 +1523,8 @@ public override async Task Include_collection_OrderBy_empty_list_does_not_contai await base.Include_collection_OrderBy_empty_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1378,7 +1535,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_list_contains(bool async) @@ -1386,7 +1544,8 @@ public override async Task Include_collection_OrderBy_list_contains(bool async) await base.Include_collection_OrderBy_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1403,7 +1562,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_list_does_not_contains(bool async) @@ -1411,7 +1571,8 @@ public override async Task Include_collection_OrderBy_list_does_not_contains(boo await base.Include_collection_OrderBy_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1428,7 +1589,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(bool async) @@ -1436,14 +1598,16 @@ public override async Task Include_is_not_ignored_when_projection_contains_clien await base.Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [e0].[EmployeeID] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] WHERE [e].[EmployeeID] IN (1, 2) -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override async Task Multi_level_includes_are_applied_with_skip(bool async) @@ -1451,7 +1615,8 @@ public override async Task Multi_level_includes_are_applied_with_skip(bool async await base.Multi_level_includes_are_applied_with_skip(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( @@ -1466,7 +1631,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Multi_level_includes_are_applied_with_take(bool async) @@ -1474,7 +1640,8 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async await base.Multi_level_includes_are_applied_with_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[CustomerID], [t1].[OrderID], [t1].[CustomerID], [t1].[EmployeeID], [t1].[OrderDate], [t1].[OrderID0], [t1].[ProductID], [t1].[Discount], [t1].[Quantity], [t1].[UnitPrice] FROM ( @@ -1492,7 +1659,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t1] ON [t0].[CustomerID] = [t1].[CustomerID] -ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0]"); +ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0] +"""); } public override async Task Multi_level_includes_are_applied_with_skip_take(bool async) @@ -1500,7 +1668,8 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool await base.Multi_level_includes_are_applied_with_skip_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[CustomerID], [t1].[OrderID], [t1].[CustomerID], [t1].[EmployeeID], [t1].[OrderDate], [t1].[OrderID0], [t1].[ProductID], [t1].[Discount], [t1].[Quantity], [t1].[UnitPrice] FROM ( @@ -1519,7 +1688,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t1] ON [t0].[CustomerID] = [t1].[CustomerID] -ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0]"); +ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0] +"""); } public override async Task Filtered_include_with_multiple_ordering(bool async) @@ -1527,7 +1697,8 @@ public override async Task Filtered_include_with_multiple_ordering(bool async) await base.Filtered_include_with_multiple_ordering(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -1537,7 +1708,8 @@ ORDER BY [o].[OrderID] OFFSET 1 ROWS ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderDate] DESC"); +ORDER BY [c].[CustomerID], [t].[OrderDate] DESC +"""); } public override async Task Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(bool async) @@ -1545,12 +1717,14 @@ public override async Task Outer_idenfier_correctly_determined_when_doing_includ await base.Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[City] = N'Seattle' -ORDER BY [c].[CustomerID], [o].[OrderID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) @@ -1558,7 +1732,8 @@ public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) await base.Include_in_let_followed_by_FirstOrDefault(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] @@ -1570,7 +1745,8 @@ FROM [Orders] AS [o] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [t0].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID], [o0].[OrderID] +"""); } public override async Task Repro9735(bool async) @@ -1578,7 +1754,8 @@ public override async Task Repro9735(bool async) await base.Repro9735(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM ( @@ -1600,7 +1777,8 @@ ELSE N'' END ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID] +"""); } public override async Task Include_closes_reader(bool async) @@ -1608,16 +1786,20 @@ public override async Task Include_closes_reader(bool async) await base.Include_closes_reader(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] -FROM [Products] AS [p]"); +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +FROM [Products] AS [p] +"""); } public override async Task Include_multiple_references_and_collection_multi_level(bool async) @@ -1625,14 +1807,16 @@ public override async Task Include_multiple_references_and_collection_multi_leve await base.Include_multiple_references_and_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +"""); } public override async Task Include_reference_single_or_default_when_no_result(bool async) @@ -1640,10 +1824,12 @@ public override async Task Include_reference_single_or_default_when_no_result(bo await base.Include_reference_single_or_default_when_no_result(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Include_empty_reference_sets_IsLoaded(bool async) @@ -1651,10 +1837,12 @@ public override async Task Include_empty_reference_sets_IsLoaded(bool async) await base.Include_empty_reference_sets_IsLoaded(async); AssertSql( - @"SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] +""" +SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] -WHERE [e0].[EmployeeID] IS NULL"); +WHERE [e0].[EmployeeID] IS NULL +"""); } public override async Task Include_collection_orderby_take(bool async) @@ -1662,7 +1850,8 @@ public override async Task Include_collection_orderby_take(bool async) await base.Include_collection_orderby_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1671,7 +1860,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -1679,7 +1869,8 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Products] AS [p] LEFT JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -1687,7 +1878,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 -ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID]"); +ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_references_then_include_multi_level(bool async) @@ -1695,11 +1887,13 @@ public override async Task Include_references_then_include_multi_level(bool asyn await base.Include_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_with_cycle_does_not_throw_when_AsNoTrackingWithIdentityResolution(bool async) @@ -1707,12 +1901,14 @@ public override async Task Include_with_cycle_does_not_throw_when_AsNoTrackingWi await base.Include_with_cycle_does_not_throw_when_AsNoTrackingWithIdentityResolution(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [o].[OrderID] < 10800 -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_references_then_include_collection_multi_level(bool async) @@ -1720,13 +1916,15 @@ public override async Task Include_references_then_include_collection_multi_leve await base.Include_references_then_include_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[ProductID] % 23) = 17 AND [o].[Quantity] < CAST(10 AS smallint) -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_force_alias_uniquefication(bool async) @@ -1734,11 +1932,13 @@ public override async Task Include_collection_force_alias_uniquefication(bool as await base.Include_collection_force_alias_uniquefication(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_multiple_references_then_include_multi_level(bool async) @@ -1746,12 +1946,14 @@ public override async Task Include_multiple_references_then_include_multi_level( await base.Include_multiple_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_multiple_references_then_include_collection_multi_level_reverse(bool async) @@ -1759,14 +1961,16 @@ public override async Task Include_multiple_references_then_include_collection_m await base.Include_multiple_references_then_include_collection_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_reference_and_collection_order_by(bool async) @@ -1774,12 +1978,14 @@ public override async Task Include_reference_and_collection_order_by(bool async) await base.Include_reference_and_collection_order_by(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_single_or_default_no_result(bool async) @@ -1787,14 +1993,16 @@ public override async Task Include_collection_single_or_default_no_result(bool a await base.Include_collection_single_or_default_no_result(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI ?' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_then_include_collection_predicate(bool async) @@ -1802,7 +2010,8 @@ public override async Task Include_collection_then_include_collection_predicate( await base.Include_collection_then_include_collection_predicate(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -1813,7 +2022,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Include_references_then_include_collection(bool async) @@ -1821,12 +2031,14 @@ public override async Task Include_references_then_include_collection(bool async await base.Include_references_then_include_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_and_reference(bool async) @@ -1834,12 +2046,14 @@ public override async Task Include_collection_and_reference(bool async) await base.Include_collection_and_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Include_with_cycle_does_not_throw_when_AsTracking_NoTrackingWithIdentityResolution(bool async) @@ -1847,12 +2061,14 @@ public override async Task Include_with_cycle_does_not_throw_when_AsTracking_NoT await base.Include_with_cycle_does_not_throw_when_AsTracking_NoTrackingWithIdentityResolution(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [o].[OrderID] < 10800 -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_multiple_references_then_include_collection_multi_level(bool async) @@ -1860,14 +2076,16 @@ public override async Task Include_multiple_references_then_include_collection_m await base.Include_multiple_references_then_include_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +"""); } public override async Task Include_references_and_collection_multi_level_predicate(bool async) @@ -1875,13 +2093,15 @@ public override async Task Include_references_and_collection_multi_level_predica await base.Include_references_and_collection_multi_level_predicate(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_references_then_include_collection_multi_level_predicate(bool async) @@ -1889,13 +2109,15 @@ public override async Task Include_references_then_include_collection_multi_leve await base.Include_references_then_include_collection_multi_level_predicate(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_multi_level_reference_then_include_collection_predicate(bool async) @@ -1903,7 +2125,8 @@ public override async Task Include_multi_level_reference_then_include_collection await base.Include_multi_level_reference_then_include_collection_predicate(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] AS [CustomerID0], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] @@ -1911,7 +2134,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] = 10248 ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID0] = [o0].[CustomerID] -ORDER BY [t].[OrderID], [t].[CustomerID0]"); +ORDER BY [t].[OrderID], [t].[CustomerID0] +"""); } public override async Task Include_reference_when_entity_in_projection(bool async) @@ -1919,10 +2143,12 @@ public override async Task Include_reference_when_entity_in_projection(bool asyn await base.Include_reference_when_entity_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_multiple_references_then_include_multi_level_reverse(bool async) @@ -1930,12 +2156,14 @@ public override async Task Include_multiple_references_then_include_multi_level_ await base.Include_multiple_references_then_include_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_multiple_references_and_collection_multi_level_reverse(bool async) @@ -1943,14 +2171,16 @@ public override async Task Include_multiple_references_and_collection_multi_leve await base.Include_multiple_references_and_collection_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_with_last_no_orderby(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindJoinQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindJoinQuerySqlServerTest.cs index 18bf48e2439..8be046bcb4f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindJoinQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindJoinQuerySqlServerTest.cs @@ -26,9 +26,11 @@ public override async Task Join_customers_orders_projection(bool async) await base.Join_customers_orders_projection(async); AssertSql( - @"SELECT [c].[ContactName], [o].[OrderID] +""" +SELECT [c].[ContactName], [o].[OrderID] FROM [Customers] AS [c] -INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task Join_customers_orders_entities(bool async) @@ -36,10 +38,12 @@ public override async Task Join_customers_orders_entities(bool async) await base.Join_customers_orders_entities(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Join_select_many(bool async) @@ -47,11 +51,13 @@ public override async Task Join_select_many(bool async) await base.Join_select_many(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] CROSS JOIN [Employees] AS [e] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Client_Join_select_many(bool async) @@ -66,9 +72,11 @@ public override async Task Join_customers_orders_select(bool async) await base.Join_customers_orders_select(async); AssertSql( - @"SELECT [c].[ContactName], [o].[OrderID] +""" +SELECT [c].[ContactName], [o].[OrderID] FROM [Customers] AS [c] -INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task Join_customers_orders_with_subquery(bool async) @@ -76,10 +84,12 @@ public override async Task Join_customers_orders_with_subquery(bool async) await base.Join_customers_orders_with_subquery(async); AssertSql( - @"SELECT [c].[ContactName], [o].[OrderID] +""" +SELECT [c].[ContactName], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Join_customers_orders_with_subquery_with_take(bool async) @@ -87,7 +97,8 @@ public override async Task Join_customers_orders_with_subquery_with_take(bool as await base.Join_customers_orders_with_subquery_with_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [c].[ContactName], [t].[OrderID] FROM [Customers] AS [c] @@ -96,7 +107,8 @@ SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -WHERE [t].[CustomerID] = N'ALFKI'"); +WHERE [t].[CustomerID] = N'ALFKI' +"""); } public override async Task Join_customers_orders_with_subquery_anonymous_property_method(bool async) @@ -104,10 +116,12 @@ public override async Task Join_customers_orders_with_subquery_anonymous_propert await base.Join_customers_orders_with_subquery_anonymous_property_method(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Join_customers_orders_with_subquery_anonymous_property_method_with_take(bool async) @@ -115,7 +129,8 @@ public override async Task Join_customers_orders_with_subquery_anonymous_propert await base.Join_customers_orders_with_subquery_anonymous_property_method_with_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] @@ -124,7 +139,8 @@ SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[Order FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -WHERE [t].[CustomerID] = N'ALFKI'"); +WHERE [t].[CustomerID] = N'ALFKI' +"""); } public override async Task Join_customers_orders_with_subquery_predicate(bool async) @@ -132,14 +148,16 @@ public override async Task Join_customers_orders_with_subquery_predicate(bool as await base.Join_customers_orders_with_subquery_predicate(async); AssertSql( - @"SELECT [c].[ContactName], [t].[OrderID] +""" +SELECT [c].[ContactName], [t].[OrderID] FROM [Customers] AS [c] INNER JOIN ( SELECT [o].[OrderID], [o].[CustomerID] FROM [Orders] AS [o] WHERE [o].[OrderID] > 0 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -WHERE [t].[CustomerID] = N'ALFKI'"); +WHERE [t].[CustomerID] = N'ALFKI' +"""); } public override async Task Join_customers_orders_with_subquery_predicate_with_take(bool async) @@ -147,7 +165,8 @@ public override async Task Join_customers_orders_with_subquery_predicate_with_ta await base.Join_customers_orders_with_subquery_predicate_with_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [c].[ContactName], [t].[OrderID] FROM [Customers] AS [c] @@ -157,7 +176,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] > 0 ORDER BY [o].[OrderID] ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -WHERE [t].[CustomerID] = N'ALFKI'"); +WHERE [t].[CustomerID] = N'ALFKI' +"""); } public override async Task Join_composite_key(bool async) @@ -165,10 +185,12 @@ public override async Task Join_composite_key(bool async) await base.Join_composite_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] AND [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Join_complex_condition(bool async) @@ -176,14 +198,16 @@ public override async Task Join_complex_condition(bool async) await base.Join_complex_condition(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] CROSS JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10250 ) AS [t] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Join_same_collection_multiple(bool async) @@ -191,10 +215,12 @@ public override async Task Join_same_collection_multiple(bool async) await base.Join_same_collection_multiple(async); AssertSql( - @"SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] +""" +SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c] INNER JOIN [Customers] AS [c0] ON [c].[CustomerID] = [c0].[CustomerID] -INNER JOIN [Customers] AS [c1] ON [c].[CustomerID] = [c1].[CustomerID]"); +INNER JOIN [Customers] AS [c1] ON [c].[CustomerID] = [c1].[CustomerID] +"""); } public override async Task Join_same_collection_force_alias_uniquefication(bool async) @@ -202,10 +228,12 @@ public override async Task Join_same_collection_force_alias_uniquefication(bool await base.Join_same_collection_force_alias_uniquefication(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[CustomerID] = [o0].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task GroupJoin_simple(bool async) @@ -213,10 +241,12 @@ public override async Task GroupJoin_simple(bool async) await base.GroupJoin_simple(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task GroupJoin_simple2(bool async) @@ -224,9 +254,11 @@ public override async Task GroupJoin_simple2(bool async) await base.GroupJoin_simple2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task GroupJoin_simple3(bool async) @@ -234,9 +266,11 @@ public override async Task GroupJoin_simple3(bool async) await base.GroupJoin_simple3(async); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Customers] AS [c] -INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task GroupJoin_simple_ordering(bool async) @@ -244,11 +278,13 @@ public override async Task GroupJoin_simple_ordering(bool async) await base.GroupJoin_simple_ordering(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[City]"); +ORDER BY [c].[City] +"""); } public override async Task GroupJoin_simple_subquery(bool async) @@ -256,7 +292,8 @@ public override async Task GroupJoin_simple_subquery(bool async) await base.GroupJoin_simple_subquery(async); AssertSql( - @"@__p_0='4' +""" +@__p_0='4' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] @@ -264,7 +301,8 @@ INNER JOIN ( SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] ORDER BY [o].[OrderID] -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task GroupJoin_as_final_operator(bool async) @@ -272,7 +310,8 @@ public override async Task GroupJoin_as_final_operator(bool async) await base.GroupJoin_as_final_operator(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -280,7 +319,8 @@ FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Unflattened_GroupJoin_composed(bool async) @@ -288,7 +328,8 @@ public override async Task Unflattened_GroupJoin_composed(bool async) await base.Unflattened_GroupJoin_composed(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -296,7 +337,8 @@ FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ) AS [t] WHERE ([c].[CustomerID] LIKE N'F%') AND [c].[City] = N'Lisboa' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Unflattened_GroupJoin_composed_2(bool async) @@ -304,7 +346,8 @@ public override async Task Unflattened_GroupJoin_composed_2(bool async) await base.Unflattened_GroupJoin_composed_2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM [Customers] AS [c] INNER JOIN ( SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] @@ -317,7 +360,8 @@ FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ) AS [t0] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[CustomerID]"); +ORDER BY [c].[CustomerID], [t].[CustomerID] +"""); } public override async Task GroupJoin_DefaultIfEmpty(bool async) @@ -325,10 +369,12 @@ public override async Task GroupJoin_DefaultIfEmpty(bool async) await base.GroupJoin_DefaultIfEmpty(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task GroupJoin_DefaultIfEmpty_multiple(bool async) @@ -336,11 +382,13 @@ public override async Task GroupJoin_DefaultIfEmpty_multiple(bool async) await base.GroupJoin_DefaultIfEmpty_multiple(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task GroupJoin_DefaultIfEmpty2(bool async) @@ -348,13 +396,15 @@ public override async Task GroupJoin_DefaultIfEmpty2(bool async) await base.GroupJoin_DefaultIfEmpty2(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Employees] AS [e] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -) AS [t] ON [e].[EmployeeID] = [t].[EmployeeID]"); +) AS [t] ON [e].[EmployeeID] = [t].[EmployeeID] +"""); } public override async Task GroupJoin_DefaultIfEmpty3(bool async) @@ -362,7 +412,8 @@ public override async Task GroupJoin_DefaultIfEmpty3(bool async) await base.GroupJoin_DefaultIfEmpty3(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -371,7 +422,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task GroupJoin_Where(bool async) @@ -379,10 +431,12 @@ public override async Task GroupJoin_Where(bool async) await base.GroupJoin_Where(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task GroupJoin_Where_OrderBy(bool async) @@ -390,11 +444,13 @@ public override async Task GroupJoin_Where_OrderBy(bool async) await base.GroupJoin_Where_OrderBy(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [o].[CustomerID] = N'ALFKI' OR [c].[CustomerID] = N'ANATR' -ORDER BY [c].[City]"); +ORDER BY [c].[City] +"""); } public override async Task GroupJoin_DefaultIfEmpty_Where(bool async) @@ -402,10 +458,12 @@ public override async Task GroupJoin_DefaultIfEmpty_Where(bool async) await base.GroupJoin_DefaultIfEmpty_Where(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE ([o].[OrderID] IS NOT NULL) AND [o].[CustomerID] = N'ALFKI'"); +WHERE ([o].[OrderID] IS NOT NULL) AND [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Join_GroupJoin_DefaultIfEmpty_Where(bool async) @@ -413,11 +471,13 @@ public override async Task Join_GroupJoin_DefaultIfEmpty_Where(bool async) await base.Join_GroupJoin_DefaultIfEmpty_Where(async); AssertSql( - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] -WHERE ([o0].[OrderID] IS NOT NULL) AND [o0].[CustomerID] = N'ALFKI'"); +WHERE ([o0].[OrderID] IS NOT NULL) AND [o0].[CustomerID] = N'ALFKI' +"""); } public override async Task GroupJoin_DefaultIfEmpty_Project(bool async) @@ -425,9 +485,11 @@ public override async Task GroupJoin_DefaultIfEmpty_Project(bool async) await base.GroupJoin_DefaultIfEmpty_Project(async); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Customers] AS [c] -LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task GroupJoin_SelectMany_subquery_with_filter(bool async) @@ -435,13 +497,15 @@ public override async Task GroupJoin_SelectMany_subquery_with_filter(bool async) await base.GroupJoin_SelectMany_subquery_with_filter(async); AssertSql( - @"SELECT [c].[ContactName], [t].[OrderID] +""" +SELECT [c].[ContactName], [t].[OrderID] FROM [Customers] AS [c] INNER JOIN ( SELECT [o].[OrderID], [o].[CustomerID] FROM [Orders] AS [o] WHERE [o].[OrderID] > 5 -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task GroupJoin_SelectMany_subquery_with_filter_orderby(bool async) @@ -449,13 +513,15 @@ public override async Task GroupJoin_SelectMany_subquery_with_filter_orderby(boo await base.GroupJoin_SelectMany_subquery_with_filter_orderby(async); AssertSql( - @"SELECT [c].[ContactName], [t].[OrderID] +""" +SELECT [c].[ContactName], [t].[OrderID] FROM [Customers] AS [c] CROSS APPLY ( SELECT [o].[OrderID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] > 5 -) AS [t]"); +) AS [t] +"""); } public override async Task GroupJoin_SelectMany_subquery_with_filter_and_DefaultIfEmpty(bool async) @@ -463,14 +529,16 @@ public override async Task GroupJoin_SelectMany_subquery_with_filter_and_Default await base.GroupJoin_SelectMany_subquery_with_filter_and_DefaultIfEmpty(async); AssertSql( - @"SELECT [c].[ContactName], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[ContactName], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] > 5 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task GroupJoin_SelectMany_subquery_with_filter_orderby_and_DefaultIfEmpty(bool async) @@ -478,14 +546,16 @@ public override async Task GroupJoin_SelectMany_subquery_with_filter_orderby_and await base.GroupJoin_SelectMany_subquery_with_filter_orderby_and_DefaultIfEmpty(async); AssertSql( - @"SELECT [c].[ContactName], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[ContactName], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] > 5 ) AS [t] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task GroupJoin_Subquery_with_Take_Then_SelectMany_Where(bool async) @@ -493,7 +563,8 @@ public override async Task GroupJoin_Subquery_with_Take_Then_SelectMany_Where(bo await base.GroupJoin_Subquery_with_Take_Then_SelectMany_Where(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' SELECT [c].[CustomerID], [t0].[OrderID] FROM [Customers] AS [c] @@ -505,7 +576,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CustomerID] LIKE N'A%') -) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Inner_join_with_tautology_predicate_converts_to_cross_join(bool async) @@ -513,7 +585,8 @@ public override async Task Inner_join_with_tautology_predicate_converts_to_cross await base.Inner_join_with_tautology_predicate_converts_to_cross_join(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t0].[OrderID] FROM ( @@ -526,7 +599,8 @@ SELECT TOP(@__p_0) [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t0] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Left_join_with_tautology_predicate_doesnt_convert_to_cross_join(bool async) @@ -534,7 +608,8 @@ public override async Task Left_join_with_tautology_predicate_doesnt_convert_to_ await base.Left_join_with_tautology_predicate_doesnt_convert_to_cross_join(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t0].[OrderID] FROM ( @@ -547,7 +622,8 @@ SELECT TOP(@__p_0) [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t0] ON 1 = 1 -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task SelectMany_with_client_eval(bool async) @@ -555,14 +631,16 @@ public override async Task SelectMany_with_client_eval(bool async) await base.SelectMany_with_client_eval(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[ContactName] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[ContactName] FROM [Customers] AS [c] CROSS APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[ContactName] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ) AS [t] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task SelectMany_with_client_eval_with_collection_shaper(bool async) @@ -570,7 +648,8 @@ public override async Task SelectMany_with_client_eval_with_collection_shaper(bo await base.SelectMany_with_client_eval_with_collection_shaper(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[ContactName] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[ContactName] FROM [Customers] AS [c] CROSS APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[ContactName] @@ -579,7 +658,8 @@ FROM [Orders] AS [o] ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID], [o0].[OrderID] +"""); } public override async Task SelectMany_with_client_eval_with_collection_shaper_ignored(bool async) @@ -587,14 +667,16 @@ public override async Task SelectMany_with_client_eval_with_collection_shaper_ig await base.SelectMany_with_client_eval_with_collection_shaper_ignored(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[ContactName] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[ContactName] FROM [Customers] AS [c] CROSS APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[ContactName] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ) AS [t] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task SelectMany_with_client_eval_with_constructor(bool async) @@ -602,7 +684,8 @@ public override async Task SelectMany_with_client_eval_with_constructor(bool asy await base.SelectMany_with_client_eval_with_constructor(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[City], [t0].[OrderID], [t0].[ProductID], [t0].[OrderID0] +""" +SELECT [c].[CustomerID], [c].[City], [t0].[OrderID], [t0].[ProductID], [t0].[OrderID0] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[ProductID], [o].[OrderID] AS [OrderID0], [o].[CustomerID] @@ -614,7 +697,8 @@ WHERE [o0].[OrderID] < 11000 ) AS [t] ON [o].[OrderID] = [t].[OrderID] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID], [t0].[OrderID0], [t0].[OrderID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID0], [t0].[OrderID] +"""); } public override async Task SelectMany_with_selecting_outer_entity(bool async) @@ -622,13 +706,15 @@ public override async Task SelectMany_with_selecting_outer_entity(bool async) await base.SelectMany_with_selecting_outer_entity(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM [Customers] AS [c] CROSS APPLY ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task SelectMany_with_selecting_outer_element(bool async) @@ -636,13 +722,15 @@ public override async Task SelectMany_with_selecting_outer_element(bool async) await base.SelectMany_with_selecting_outer_element(async); AssertSql( - @"SELECT [t].[c] +""" +SELECT [t].[c] FROM [Customers] AS [c] CROSS APPLY ( SELECT [c].[CustomerID] + COALESCE([c].[City], N'') AS [c] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task SelectMany_with_selecting_outer_entity_column_and_inner_column(bool async) @@ -650,7 +738,8 @@ public override async Task SelectMany_with_selecting_outer_entity_column_and_inn await base.SelectMany_with_selecting_outer_entity_column_and_inner_column(async); AssertSql( - @"SELECT [t].[City], [t].[OrderDate] +""" +SELECT [t].[City], [t].[OrderDate] FROM [Customers] AS [c] CROSS APPLY ( SELECT [c].[City], [o].[OrderDate] @@ -659,7 +748,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] OFFSET 0 ROWS ) AS [t] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task SelectMany_correlated_subquery_take(bool async) @@ -667,7 +757,8 @@ public override async Task SelectMany_correlated_subquery_take(bool async) await base.SelectMany_correlated_subquery_take(async); AssertSql( - @"SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM [Customers] AS [c] INNER JOIN ( SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] @@ -676,7 +767,8 @@ INNER JOIN ( FROM [Customers] AS [c0] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Distinct_SelectMany_correlated_subquery_take(bool async) @@ -684,7 +776,8 @@ public override async Task Distinct_SelectMany_correlated_subquery_take(bool asy await base.Distinct_SelectMany_correlated_subquery_take(async); AssertSql( - @"SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT DISTINCT [c].[CustomerID] FROM [Customers] AS [c] @@ -696,7 +789,8 @@ INNER JOIN ( FROM [Customers] AS [c0] ) AS [t1] WHERE [t1].[row] <= 2 -) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Distinct_SelectMany_correlated_subquery_take_2(bool async) @@ -704,7 +798,8 @@ public override async Task Distinct_SelectMany_correlated_subquery_take_2(bool a await base.Distinct_SelectMany_correlated_subquery_take_2(async); AssertSql( - @"SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -716,7 +811,8 @@ INNER JOIN ( FROM [Customers] AS [c0] ) AS [t1] WHERE [t1].[row] <= 2 -) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Take_SelectMany_correlated_subquery_take(bool async) @@ -724,7 +820,8 @@ public override async Task Take_SelectMany_correlated_subquery_take(bool async) await base.Take_SelectMany_correlated_subquery_take(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( @@ -740,7 +837,8 @@ FROM [Customers] AS [c0] ) AS [t1] WHERE [t1].[row] <= 2 ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Take_in_collection_projection_with_FirstOrDefault_on_top_level(bool async) @@ -748,7 +846,8 @@ public override async Task Take_in_collection_projection_with_FirstOrDefault_on_ await base.Take_in_collection_projection_with_FirstOrDefault_on_top_level(async); AssertSql( - @"SELECT [t].[CustomerID], [t0].[Title], [t0].[OrderID], [t0].[CustomerID] +""" +SELECT [t].[CustomerID], [t0].[Title], [t0].[OrderID], [t0].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] @@ -766,7 +865,8 @@ ORDER BY [o].[OrderDate] ) AS [t1] LEFT JOIN [Customers] AS [c0] ON [t1].[CustomerID] = [c0].[CustomerID] ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[OrderDate], [t0].[OrderID]"); +ORDER BY [t].[CustomerID], [t0].[OrderDate], [t0].[OrderID] +"""); } public override async Task Condition_on_entity_with_include(bool async) @@ -774,13 +874,15 @@ public override async Task Condition_on_entity_with_include(bool async) await base.Condition_on_entity_with_include(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [o].[OrderID] IS NOT NULL THEN [o].[OrderID] ELSE -1 END AS [a] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task Join_customers_orders_entities_same_entity_twice(bool async) @@ -788,9 +890,11 @@ public override async Task Join_customers_orders_entities_same_entity_twice(bool await base.Join_customers_orders_entities_same_entity_twice(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task Join_local_collection_int_closure_is_cached_correctly(bool async) @@ -819,9 +923,11 @@ public override async Task GroupJoin_customers_employees_shadow(bool async) await base.GroupJoin_customers_employees_shadow(async); AssertSql( - @"SELECT [e].[Title], [e].[EmployeeID] AS [Id] +""" +SELECT [e].[Title], [e].[EmployeeID] AS [Id] FROM [Customers] AS [c] -INNER JOIN [Employees] AS [e] ON [c].[City] = [e].[City]"); +INNER JOIN [Employees] AS [e] ON [c].[City] = [e].[City] +"""); } public override async Task GroupJoin_customers_employees_subquery_shadow(bool async) @@ -829,9 +935,11 @@ public override async Task GroupJoin_customers_employees_subquery_shadow(bool as await base.GroupJoin_customers_employees_subquery_shadow(async); AssertSql( - @"SELECT [e].[Title], [e].[EmployeeID] AS [Id] +""" +SELECT [e].[Title], [e].[EmployeeID] AS [Id] FROM [Customers] AS [c] -INNER JOIN [Employees] AS [e] ON [c].[City] = [e].[City]"); +INNER JOIN [Employees] AS [e] ON [c].[City] = [e].[City] +"""); } public override async Task GroupJoin_customers_employees_subquery_shadow_take(bool async) @@ -839,7 +947,8 @@ public override async Task GroupJoin_customers_employees_subquery_shadow_take(bo await base.GroupJoin_customers_employees_subquery_shadow_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[Title], [t].[EmployeeID] AS [Id] FROM [Customers] AS [c] @@ -847,7 +956,8 @@ INNER JOIN ( SELECT TOP(@__p_0) [e].[EmployeeID], [e].[City], [e].[Title] FROM [Employees] AS [e] ORDER BY [e].[City] -) AS [t] ON [c].[City] = [t].[City]"); +) AS [t] ON [c].[City] = [t].[City] +"""); } public override async Task GroupJoin_projection(bool async) @@ -855,10 +965,12 @@ public override async Task GroupJoin_projection(bool async) await base.GroupJoin_projection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task GroupJoin_subquery_projection_outer_mixed(bool async) @@ -866,14 +978,16 @@ public override async Task GroupJoin_subquery_projection_outer_mixed(bool async) await base.GroupJoin_subquery_projection_outer_mixed(async); AssertSql( - @"SELECT [c].[CustomerID] AS [A], [t].[CustomerID] AS [B], [o0].[CustomerID] AS [C] +""" +SELECT [c].[CustomerID] AS [A], [t].[CustomerID] AS [B], [o0].[CustomerID] AS [C] FROM [Customers] AS [c] CROSS JOIN ( SELECT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] -INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID]"); +INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindKeylessEntitiesQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindKeylessEntitiesQuerySqlServerTest.cs index d04a3d2555d..b8d928af77d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindKeylessEntitiesQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindKeylessEntitiesQuerySqlServerTest.cs @@ -29,7 +29,9 @@ public override async Task KeylessEntity_simple(bool async) await base.KeylessEntity_simple(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] +"""); } public override async Task KeylessEntity_where_simple(bool async) @@ -37,11 +39,13 @@ public override async Task KeylessEntity_where_simple(bool async) await base.KeylessEntity_where_simple(async); AssertSql( - @"SELECT [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle] +""" +SELECT [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ) AS [m] -WHERE [m].[City] = N'London'"); +WHERE [m].[City] = N'London' +"""); } public override async Task KeylessEntity_by_database_view(bool async) @@ -49,8 +53,10 @@ public override async Task KeylessEntity_by_database_view(bool async) await base.KeylessEntity_by_database_view(async); AssertSql( - @"SELECT [a].[CategoryName], [a].[ProductID], [a].[ProductName] -FROM [Alphabetical list of products] AS [a]"); +""" +SELECT [a].[CategoryName], [a].[ProductID], [a].[ProductName] +FROM [Alphabetical list of products] AS [a] +"""); } public override async Task KeylessEntity_with_nav_defining_query(bool async) @@ -59,9 +65,11 @@ public override async Task KeylessEntity_with_nav_defining_query(bool async) await Assert.ThrowsAsync(() => base.KeylessEntity_with_nav_defining_query(async)); AssertSql( - @"SELECT [c].[CompanyName], [c].[OrderCount], [c].[SearchTerm] +""" +SELECT [c].[CompanyName], [c].[OrderCount], [c].[SearchTerm] FROM [CustomerQueryWithQueryFilter] AS [c] -WHERE [c].[OrderCount] > 0"); +WHERE [c].[OrderCount] > 0 +"""); } public override async Task KeylessEntity_with_mixed_tracking(bool async) @@ -69,11 +77,13 @@ public override async Task KeylessEntity_with_mixed_tracking(bool async) await base.KeylessEntity_with_mixed_tracking(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [m].[CustomerID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [m].[CustomerID] FROM [Customers] AS [c] INNER JOIN ( - select * from ""Orders"" -) AS [m] ON [c].[CustomerID] = [m].[CustomerID]"); + select * from "Orders" +) AS [m] ON [c].[CustomerID] = [m].[CustomerID] +"""); } public override async Task KeylessEntity_with_defining_query(bool async) @@ -81,11 +91,13 @@ public override async Task KeylessEntity_with_defining_query(bool async) await base.KeylessEntity_with_defining_query(async); AssertSql( - @"SELECT [m].[CustomerID] +""" +SELECT [m].[CustomerID] FROM ( - select * from ""Orders"" + select * from "Orders" ) AS [m] -WHERE [m].[CustomerID] = N'ALFKI'"); +WHERE [m].[CustomerID] = N'ALFKI' +"""); } public override async Task KeylessEntity_select_where_navigation(bool async) @@ -93,12 +105,14 @@ public override async Task KeylessEntity_select_where_navigation(bool async) await base.KeylessEntity_select_where_navigation(async); AssertSql( - @"SELECT [m].[CustomerID] +""" +SELECT [m].[CustomerID] FROM ( - select * from ""Orders"" + select * from "Orders" ) AS [m] LEFT JOIN [Customers] AS [c] ON [m].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] = N'Seattle'"); +WHERE [c].[City] = N'Seattle' +"""); } public override async Task KeylessEntity_select_where_navigation_multi_level(bool async) @@ -106,15 +120,17 @@ public override async Task KeylessEntity_select_where_navigation_multi_level(boo await base.KeylessEntity_select_where_navigation_multi_level(async); AssertSql( - @"SELECT [m].[CustomerID] +""" +SELECT [m].[CustomerID] FROM ( - select * from ""Orders"" + select * from "Orders" ) AS [m] LEFT JOIN [Customers] AS [c] ON [m].[CustomerID] = [c].[CustomerID] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE ([c].[CustomerID] IS NOT NULL) AND [c].[CustomerID] = [o].[CustomerID])"); + WHERE ([c].[CustomerID] IS NOT NULL) AND [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task Auto_initialized_view_set(bool async) @@ -122,7 +138,9 @@ public override async Task Auto_initialized_view_set(bool async) await base.Auto_initialized_view_set(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] +"""); } public override async Task KeylessEntity_groupby(bool async) @@ -130,11 +148,13 @@ public override async Task KeylessEntity_groupby(bool async) await base.KeylessEntity_groupby(async); AssertSql( - @"SELECT [m].[City] AS [Key], COUNT(*) AS [Count], COALESCE(SUM(CAST(LEN([m].[Address]) AS int)), 0) AS [Sum] +""" +SELECT [m].[City] AS [Key], COUNT(*) AS [Count], COALESCE(SUM(CAST(LEN([m].[Address]) AS int)), 0) AS [Sum] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ) AS [m] -GROUP BY [m].[City]"); +GROUP BY [m].[City] +"""); } public override async Task Entity_mapped_to_view_on_right_side_of_join(bool async) @@ -142,9 +162,11 @@ public override async Task Entity_mapped_to_view_on_right_side_of_join(bool asyn await base.Entity_mapped_to_view_on_right_side_of_join(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [a].[CategoryName], [a].[ProductID], [a].[ProductName] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [a].[CategoryName], [a].[ProductID], [a].[ProductName] FROM [Orders] AS [o] -LEFT JOIN [Alphabetical list of products] AS [a] ON [o].[CustomerID] = [a].[CategoryName]"); +LEFT JOIN [Alphabetical list of products] AS [a] ON [o].[CustomerID] = [a].[CategoryName] +"""); } public override async Task Collection_correlated_with_keyless_entity_in_predicate_works(bool async) @@ -152,7 +174,8 @@ public override async Task Collection_correlated_with_keyless_entity_in_predicat await base.Collection_correlated_with_keyless_entity_in_predicate_works(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) [m].[City], [m].[ContactName] FROM ( @@ -162,7 +185,8 @@ WHERE EXISTS ( SELECT 1 FROM [Customers] AS [c] WHERE [c].[City] = [m].[City] OR (([c].[City] IS NULL) AND ([m].[City] IS NULL))) -ORDER BY [m].[ContactName]"); +ORDER BY [m].[ContactName] +"""); } public override async Task Projecting_collection_correlated_with_keyless_entity_throws(bool async) @@ -198,12 +222,14 @@ public override async Task KeylessEntity_with_included_nav(bool async) await base.KeylessEntity_with_included_nav(async); AssertSql( - @"SELECT [m].[CustomerID], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [m].[CustomerID], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( - select * from ""Orders"" + select * from "Orders" ) AS [m] LEFT JOIN [Customers] AS [c] ON [m].[CustomerID] = [c].[CustomerID] -WHERE [m].[CustomerID] = N'ALFKI'"); +WHERE [m].[CustomerID] = N'ALFKI' +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindMiscellaneousQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindMiscellaneousQuerySqlServerTest.cs index 6b12ef2f6fb..6eeca47c4c9 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindMiscellaneousQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindMiscellaneousQuerySqlServerTest.cs @@ -32,13 +32,17 @@ public override async Task Shaper_command_caching_when_parameter_names_different await base.Shaper_command_caching_when_parameter_names_different(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Can_convert_manually_build_expression_with_default(bool async) @@ -46,13 +50,17 @@ public override async Task Can_convert_manually_build_expression_with_default(bo await base.Can_convert_manually_build_expression_with_default(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[City] IS NOT NULL", +WHERE [c].[City] IS NOT NULL +""", // - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[City] IS NOT NULL"); +WHERE [c].[City] IS NOT NULL +"""); } public override async Task Lifting_when_subquery_nested_order_by_anonymous(bool async) @@ -60,7 +68,8 @@ public override async Task Lifting_when_subquery_nested_order_by_anonymous(bool await base.Lifting_when_subquery_nested_order_by_anonymous(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] @@ -73,7 +82,8 @@ ORDER BY [c].[CustomerID] ) AS [t] CROSS JOIN [Customers] AS [c0] ) AS [t0] ON [o].[CustomerID] = [t0].[CustomerID] -ORDER BY [t0].[CustomerID]"); +ORDER BY [t0].[CustomerID] +"""); } public override async Task Lifting_when_subquery_nested_order_by_simple(bool async) @@ -81,7 +91,8 @@ public override async Task Lifting_when_subquery_nested_order_by_simple(bool asy await base.Lifting_when_subquery_nested_order_by_simple(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] @@ -94,7 +105,8 @@ ORDER BY [c].[CustomerID] ) AS [t] CROSS JOIN [Customers] AS [c0] ) AS [t0] ON [o].[CustomerID] = [t0].[CustomerID] -ORDER BY [t0].[CustomerID]"); +ORDER BY [t0].[CustomerID] +"""); } private static T Scoper(Func getter) @@ -105,11 +117,13 @@ public override async Task Local_dictionary(bool async) await base.Local_dictionary(async); AssertSql( - @"@__p_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__p_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__p_0"); +WHERE [c].[CustomerID] = @__p_0 +"""); } public override async Task Entity_equality_self(bool async) @@ -117,8 +131,10 @@ public override async Task Entity_equality_self(bool async) await base.Entity_equality_self(async); AssertSql( - @"SELECT [c].[CustomerID] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID] +FROM [Customers] AS [c] +"""); } public override async Task Entity_equality_local(bool async) @@ -126,11 +142,13 @@ public override async Task Entity_equality_local(bool async) await base.Entity_equality_local(async); AssertSql( - @"@__entity_equality_local_0_CustomerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__entity_equality_local_0_CustomerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__entity_equality_local_0_CustomerID"); +WHERE [c].[CustomerID] = @__entity_equality_local_0_CustomerID +"""); } public override async Task Entity_equality_local_composite_key(bool async) @@ -138,12 +156,14 @@ public override async Task Entity_equality_local_composite_key(bool async) await base.Entity_equality_local_composite_key(async); AssertSql( - @"@__entity_equality_local_0_OrderID='10248' (Nullable = true) +""" +@__entity_equality_local_0_OrderID='10248' (Nullable = true) @__entity_equality_local_0_ProductID='11' (Nullable = true) SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = @__entity_equality_local_0_OrderID AND [o].[ProductID] = @__entity_equality_local_0_ProductID"); +WHERE [o].[OrderID] = @__entity_equality_local_0_OrderID AND [o].[ProductID] = @__entity_equality_local_0_ProductID +"""); } public override async Task Entity_equality_local_double_check(bool async) @@ -151,11 +171,13 @@ public override async Task Entity_equality_local_double_check(bool async) await base.Entity_equality_local_double_check(async); AssertSql( - @"@__entity_equality_local_0_CustomerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__entity_equality_local_0_CustomerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__entity_equality_local_0_CustomerID AND @__entity_equality_local_0_CustomerID = [c].[CustomerID]"); +WHERE [c].[CustomerID] = @__entity_equality_local_0_CustomerID AND @__entity_equality_local_0_CustomerID = [c].[CustomerID] +"""); } public override async Task Join_with_entity_equality_local_on_both_sources(bool async) @@ -163,7 +185,8 @@ public override async Task Join_with_entity_equality_local_on_both_sources(bool await base.Join_with_entity_equality_local_on_both_sources(async); AssertSql( - @"@__entity_equality_local_0_CustomerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__entity_equality_local_0_CustomerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID] FROM [Customers] AS [c] @@ -172,7 +195,8 @@ INNER JOIN ( FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = @__entity_equality_local_0_CustomerID ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -WHERE [c].[CustomerID] = @__entity_equality_local_0_CustomerID"); +WHERE [c].[CustomerID] = @__entity_equality_local_0_CustomerID +"""); } public override async Task Entity_equality_local_inline(bool async) @@ -180,9 +204,11 @@ public override async Task Entity_equality_local_inline(bool async) await base.Entity_equality_local_inline(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ANATR'"); +WHERE [c].[CustomerID] = N'ANATR' +"""); } public override async Task Entity_equality_local_inline_composite_key(bool async) @@ -190,9 +216,11 @@ public override async Task Entity_equality_local_inline_composite_key(bool async await base.Entity_equality_local_inline_composite_key(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE [o].[OrderID] = 10248 AND [o].[ProductID] = 11"); +WHERE [o].[OrderID] = 10248 AND [o].[ProductID] = 11 +"""); } public override async Task Entity_equality_null(bool async) @@ -200,9 +228,11 @@ public override async Task Entity_equality_null(bool async) await base.Entity_equality_null(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Entity_equality_null_composite_key(bool async) @@ -210,9 +240,11 @@ public override async Task Entity_equality_null_composite_key(bool async) await base.Entity_equality_null_composite_key(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Entity_equality_not_null(bool async) @@ -220,8 +252,10 @@ public override async Task Entity_equality_not_null(bool async) await base.Entity_equality_not_null(async); AssertSql( - @"SELECT [c].[CustomerID] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID] +FROM [Customers] AS [c] +"""); } public override async Task Entity_equality_not_null_composite_key(bool async) @@ -229,8 +263,10 @@ public override async Task Entity_equality_not_null_composite_key(bool async) await base.Entity_equality_not_null_composite_key(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] -FROM [Order Details] AS [o]"); +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +FROM [Order Details] AS [o] +"""); } public override async Task Entity_equality_through_nested_anonymous_type_projection(bool async) @@ -238,10 +274,12 @@ public override async Task Entity_equality_through_nested_anonymous_type_project await base.Entity_equality_through_nested_anonymous_type_projection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[CustomerID] IS NOT NULL"); +WHERE [c].[CustomerID] IS NOT NULL +"""); } public override async Task Entity_equality_through_DTO_projection(bool async) @@ -249,10 +287,12 @@ public override async Task Entity_equality_through_DTO_projection(bool async) await base.Entity_equality_through_DTO_projection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[CustomerID] IS NOT NULL"); +WHERE [c].[CustomerID] IS NOT NULL +"""); } public override async Task Entity_equality_through_subquery(bool async) @@ -260,12 +300,14 @@ public override async Task Entity_equality_through_subquery(bool async) await base.Entity_equality_through_subquery(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task Entity_equality_through_include(bool async) @@ -273,9 +315,11 @@ public override async Task Entity_equality_through_include(bool async) await base.Entity_equality_through_include(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Entity_equality_orderby(bool async) @@ -283,9 +327,11 @@ public override async Task Entity_equality_orderby(bool async) await base.Entity_equality_orderby(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Entity_equality_orderby_descending_composite_key(bool async) @@ -293,9 +339,11 @@ public override async Task Entity_equality_orderby_descending_composite_key(bool await base.Entity_equality_orderby_descending_composite_key(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] -ORDER BY [o].[OrderID] DESC, [o].[ProductID] DESC"); +ORDER BY [o].[OrderID] DESC, [o].[ProductID] DESC +"""); } public override async Task Entity_equality_orderby_subquery(bool async) @@ -303,12 +351,14 @@ public override async Task Entity_equality_orderby_subquery(bool async) await base.Entity_equality_orderby_subquery(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY ( SELECT TOP(1) [o].[OrderID] FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task Entity_equality_orderby_descending_subquery_composite_key(bool async) @@ -316,7 +366,8 @@ public override async Task Entity_equality_orderby_descending_subquery_composite await base.Entity_equality_orderby_descending_subquery_composite_key(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] ORDER BY ( SELECT TOP(1) [o0].[OrderID] @@ -324,7 +375,8 @@ FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) DESC, ( SELECT TOP(1) [o1].[ProductID] FROM [Order Details] AS [o1] - WHERE [o].[OrderID] = [o1].[OrderID]) DESC"); + WHERE [o].[OrderID] = [o1].[OrderID]) DESC +"""); } public override async Task Default_if_empty_top_level(bool async) @@ -332,7 +384,8 @@ public override async Task Default_if_empty_top_level(bool async) await base.Default_if_empty_top_level(async); AssertSql( - @"SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] +""" +SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( SELECT NULL AS [empty] ) AS [e0] @@ -340,7 +393,8 @@ LEFT JOIN ( SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE [e].[EmployeeID] = -1 -) AS [t] ON 1 = 1"); +) AS [t] ON 1 = 1 +"""); } public override async Task Join_with_default_if_empty_on_both_sources(bool async) @@ -348,7 +402,8 @@ public override async Task Join_with_default_if_empty_on_both_sources(bool async await base.Join_with_default_if_empty_on_both_sources(async); AssertSql( - @"SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] +""" +SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( SELECT NULL AS [empty] ) AS [e0] @@ -367,7 +422,8 @@ LEFT JOIN ( FROM [Employees] AS [e2] WHERE [e2].[EmployeeID] = -1 ) AS [t1] ON 1 = 1 -) AS [t0] ON [t].[EmployeeID] = [t0].[EmployeeID]"); +) AS [t0] ON [t].[EmployeeID] = [t0].[EmployeeID] +"""); } public override async Task Default_if_empty_top_level_followed_by_projecting_constant(bool async) @@ -375,7 +431,8 @@ public override async Task Default_if_empty_top_level_followed_by_projecting_con await base.Default_if_empty_top_level_followed_by_projecting_constant(async); AssertSql( - @"SELECT N'Foo' +""" +SELECT N'Foo' FROM ( SELECT NULL AS [empty] ) AS [e0] @@ -383,7 +440,8 @@ LEFT JOIN ( SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE [e].[EmployeeID] = -1 -) AS [t] ON 1 = 1"); +) AS [t] ON 1 = 1 +"""); } public override async Task Default_if_empty_top_level_positive(bool async) @@ -391,7 +449,8 @@ public override async Task Default_if_empty_top_level_positive(bool async) await base.Default_if_empty_top_level_positive(async); AssertSql( - @"SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] +""" +SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( SELECT NULL AS [empty] ) AS [e0] @@ -399,7 +458,8 @@ LEFT JOIN ( SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE [e].[EmployeeID] > 0 -) AS [t] ON 1 = 1"); +) AS [t] ON 1 = 1 +"""); } public override async Task Default_if_empty_top_level_projection(bool async) @@ -407,7 +467,8 @@ public override async Task Default_if_empty_top_level_projection(bool async) await base.Default_if_empty_top_level_projection(async); AssertSql( - @"SELECT COALESCE([t].[EmployeeID], 0) +""" +SELECT COALESCE([t].[EmployeeID], 0) FROM ( SELECT NULL AS [empty] ) AS [e0] @@ -415,7 +476,8 @@ LEFT JOIN ( SELECT [e].[EmployeeID] FROM [Employees] AS [e] WHERE [e].[EmployeeID] = -1 -) AS [t] ON 1 = 1"); +) AS [t] ON 1 = 1 +"""); } public override async Task Where_query_composition(bool async) @@ -423,7 +485,8 @@ public override async Task Where_query_composition(bool async) await base.Where_query_composition(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE [e].[FirstName] = ( SELECT TOP(1) [e0].[FirstName] @@ -431,7 +494,8 @@ FROM [Employees] AS [e0] ORDER BY [e0].[EmployeeID]) OR (([e].[FirstName] IS NULL) AND (( SELECT TOP(1) [e0].[FirstName] FROM [Employees] AS [e0] - ORDER BY [e0].[EmployeeID]) IS NULL))"); + ORDER BY [e0].[EmployeeID]) IS NULL)) +"""); } public override async Task Where_query_composition_is_null(bool async) @@ -439,7 +503,8 @@ public override async Task Where_query_composition_is_null(bool async) await base.Where_query_composition_is_null(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( @@ -451,7 +516,8 @@ WHERE NOT (EXISTS ( SELECT 1 FROM [Employees] AS [e0] WHERE [e0].[EmployeeID] = [t].[ReportsTo])) -ORDER BY [t].[EmployeeID]"); +ORDER BY [t].[EmployeeID] +"""); } public override async Task Where_query_composition_is_not_null(bool async) @@ -459,7 +525,8 @@ public override async Task Where_query_composition_is_not_null(bool async) await base.Where_query_composition_is_not_null(async); AssertSql( - @"@__p_0='4' +""" +@__p_0='4' @__p_1='3' SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] @@ -473,7 +540,8 @@ WHERE EXISTS ( SELECT 1 FROM [Employees] AS [e0] WHERE [e0].[EmployeeID] = [t].[ReportsTo]) -ORDER BY [t].[EmployeeID]"); +ORDER BY [t].[EmployeeID] +"""); } public override async Task Where_query_composition_entity_equality_one_element_SingleOrDefault(bool async) @@ -481,12 +549,14 @@ public override async Task Where_query_composition_entity_equality_one_element_S await base.Where_query_composition_entity_equality_one_element_SingleOrDefault(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] = [e].[ReportsTo]) = 0"); + WHERE [e0].[EmployeeID] = [e].[ReportsTo]) = 0 +"""); } public override async Task Where_query_composition_entity_equality_one_element_Single(bool async) @@ -494,12 +564,14 @@ public override async Task Where_query_composition_entity_equality_one_element_S await base.Where_query_composition_entity_equality_one_element_Single(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] = [e].[ReportsTo]) = 0"); + WHERE [e0].[EmployeeID] = [e].[ReportsTo]) = 0 +"""); } public override async Task Where_query_composition_entity_equality_one_element_FirstOrDefault(bool async) @@ -507,12 +579,14 @@ public override async Task Where_query_composition_entity_equality_one_element_F await base.Where_query_composition_entity_equality_one_element_FirstOrDefault(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] = [e].[ReportsTo]) = 0"); + WHERE [e0].[EmployeeID] = [e].[ReportsTo]) = 0 +"""); } public override async Task Where_query_composition_entity_equality_one_element_First(bool async) @@ -520,12 +594,14 @@ public override async Task Where_query_composition_entity_equality_one_element_F await base.Where_query_composition_entity_equality_one_element_First(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] = [e].[ReportsTo]) = 0"); + WHERE [e0].[EmployeeID] = [e].[ReportsTo]) = 0 +"""); } public override async Task Where_query_composition_entity_equality_no_elements_SingleOrDefault(bool async) @@ -533,12 +609,14 @@ public override async Task Where_query_composition_entity_equality_no_elements_S await base.Where_query_composition_entity_equality_no_elements_SingleOrDefault(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] = 42) = 0"); + WHERE [e0].[EmployeeID] = 42) = 0 +"""); } public override async Task Where_query_composition_entity_equality_no_elements_Single(bool async) @@ -546,12 +624,14 @@ public override async Task Where_query_composition_entity_equality_no_elements_S await base.Where_query_composition_entity_equality_no_elements_Single(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] = 42) = 0"); + WHERE [e0].[EmployeeID] = 42) = 0 +"""); } public override async Task Where_query_composition_entity_equality_no_elements_FirstOrDefault(bool async) @@ -559,12 +639,14 @@ public override async Task Where_query_composition_entity_equality_no_elements_F await base.Where_query_composition_entity_equality_no_elements_FirstOrDefault(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] = 42) = 0"); + WHERE [e0].[EmployeeID] = 42) = 0 +"""); } public override async Task Where_query_composition_entity_equality_no_elements_First(bool async) @@ -572,12 +654,14 @@ public override async Task Where_query_composition_entity_equality_no_elements_F await base.Where_query_composition_entity_equality_no_elements_First(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] = 42) = 0"); + WHERE [e0].[EmployeeID] = 42) = 0 +"""); } public override async Task Where_query_composition_entity_equality_multiple_elements_SingleOrDefault(bool async) @@ -585,12 +669,14 @@ public override async Task Where_query_composition_entity_equality_multiple_elem await base.Where_query_composition_entity_equality_multiple_elements_SingleOrDefault(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] <> [e].[ReportsTo] OR ([e].[ReportsTo] IS NULL)) = 0"); + WHERE [e0].[EmployeeID] <> [e].[ReportsTo] OR ([e].[ReportsTo] IS NULL)) = 0 +"""); } public override async Task Where_query_composition_entity_equality_multiple_elements_Single(bool async) @@ -598,12 +684,14 @@ public override async Task Where_query_composition_entity_equality_multiple_elem await base.Where_query_composition_entity_equality_multiple_elements_Single(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] <> [e].[ReportsTo] OR ([e].[ReportsTo] IS NULL)) = 0"); + WHERE [e0].[EmployeeID] <> [e].[ReportsTo] OR ([e].[ReportsTo] IS NULL)) = 0 +"""); } public override async Task Where_query_composition_entity_equality_multiple_elements_FirstOrDefault(bool async) @@ -611,12 +699,14 @@ public override async Task Where_query_composition_entity_equality_multiple_elem await base.Where_query_composition_entity_equality_multiple_elements_FirstOrDefault(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] <> [e].[ReportsTo] OR ([e].[ReportsTo] IS NULL)) = 0"); + WHERE [e0].[EmployeeID] <> [e].[ReportsTo] OR ([e].[ReportsTo] IS NULL)) = 0 +"""); } public override async Task Where_query_composition_entity_equality_multiple_elements_First(bool async) @@ -624,12 +714,14 @@ public override async Task Where_query_composition_entity_equality_multiple_elem await base.Where_query_composition_entity_equality_multiple_elements_First(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE ( SELECT TOP(1) [e0].[EmployeeID] FROM [Employees] AS [e0] - WHERE [e0].[EmployeeID] <> [e].[ReportsTo] OR ([e].[ReportsTo] IS NULL)) = 0"); + WHERE [e0].[EmployeeID] <> [e].[ReportsTo] OR ([e].[ReportsTo] IS NULL)) = 0 +"""); } public override async Task Where_query_composition2(bool async) @@ -637,7 +729,8 @@ public override async Task Where_query_composition2(bool async) await base.Where_query_composition2(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( @@ -650,7 +743,8 @@ FROM [Employees] AS [e0] ORDER BY [e0].[EmployeeID]) OR (([t].[FirstName] IS NULL) AND (( SELECT TOP(1) [e0].[FirstName] FROM [Employees] AS [e0] - ORDER BY [e0].[EmployeeID]) IS NULL))"); + ORDER BY [e0].[EmployeeID]) IS NULL)) +"""); } public override async Task Where_query_composition2_FirstOrDefault(bool async) @@ -658,7 +752,8 @@ public override async Task Where_query_composition2_FirstOrDefault(bool async) await base.Where_query_composition2_FirstOrDefault(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( @@ -671,7 +766,8 @@ FROM [Employees] AS [e0] ORDER BY [e0].[EmployeeID]) OR (([t].[FirstName] IS NULL) AND (( SELECT TOP(1) [e0].[FirstName] FROM [Employees] AS [e0] - ORDER BY [e0].[EmployeeID]) IS NULL))"); + ORDER BY [e0].[EmployeeID]) IS NULL)) +"""); } public override async Task Where_query_composition2_FirstOrDefault_with_anonymous(bool async) @@ -679,7 +775,8 @@ public override async Task Where_query_composition2_FirstOrDefault_with_anonymou await base.Where_query_composition2_FirstOrDefault_with_anonymous(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( @@ -692,7 +789,8 @@ FROM [Employees] AS [e0] ORDER BY [e0].[EmployeeID]) OR (([t].[FirstName] IS NULL) AND (( SELECT TOP(1) [e0].[FirstName] FROM [Employees] AS [e0] - ORDER BY [e0].[EmployeeID]) IS NULL))"); + ORDER BY [e0].[EmployeeID]) IS NULL)) +"""); } public override async Task Select_Subquery_Single(bool async) @@ -700,7 +798,8 @@ public override async Task Select_Subquery_Single(bool async) await base.Select_Subquery_Single(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -716,7 +815,8 @@ FROM [Orders] AS [o0] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[ProductID], [t].[OrderID]"); +ORDER BY [t].[ProductID], [t].[OrderID] +"""); } public override async Task Select_Where_Subquery_Deep_Single(bool async) @@ -724,7 +824,8 @@ public override async Task Select_Where_Subquery_Deep_Single(bool async) await base.Select_Where_Subquery_Deep_Single(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] @@ -734,7 +835,8 @@ SELECT TOP(1) [c].[City] FROM [Customers] AS [c] WHERE [o0].[CustomerID] = [c].[CustomerID]) FROM [Orders] AS [o0] - WHERE [o].[OrderID] = [o0].[OrderID]) = N'Seattle'"); + WHERE [o].[OrderID] = [o0].[OrderID]) = N'Seattle' +"""); } public override async Task Select_Where_Subquery_Deep_First(bool async) @@ -742,7 +844,8 @@ public override async Task Select_Where_Subquery_Deep_First(bool async) await base.Select_Where_Subquery_Deep_First(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] @@ -752,7 +855,8 @@ SELECT TOP(1) [c].[City] FROM [Customers] AS [c] WHERE [o0].[CustomerID] = [c].[CustomerID]) FROM [Orders] AS [o0] - WHERE [o].[OrderID] = [o0].[OrderID]) = N'Seattle'"); + WHERE [o].[OrderID] = [o0].[OrderID]) = N'Seattle' +"""); } public override async Task Select_Where_Subquery_Equality(bool async) @@ -760,7 +864,8 @@ public override async Task Select_Where_Subquery_Equality(bool async) await base.Select_Where_Subquery_Equality(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM ( @@ -794,7 +899,8 @@ FROM [Orders] AS [o1] INNER JOIN [Customers] AS [c0] ON [o1].[CustomerID] = [c0].[CustomerID] WHERE [o1].[OrderID] = [t0].[OrderID] ORDER BY [o1].[OrderID], [c0].[CustomerID]) IS NULL))) > 0 -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Where_subquery_anon(bool async) @@ -802,7 +908,8 @@ public override async Task Where_subquery_anon(bool async) await base.Where_subquery_anon(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -816,7 +923,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t0] WHERE [t].[EmployeeID] = [t0].[EmployeeID] -ORDER BY [t].[EmployeeID]"); +ORDER BY [t].[EmployeeID] +"""); } public override async Task Where_subquery_anon_nested(bool async) @@ -824,7 +932,8 @@ public override async Task Where_subquery_anon_nested(bool async) await base.Where_subquery_anon_nested(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t1].[CustomerID], [t1].[Address], [t1].[City], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Country], [t1].[Fax], [t1].[Phone], [t1].[PostalCode], [t1].[Region] FROM ( @@ -843,7 +952,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t1] WHERE [t].[City] = N'Seattle' -ORDER BY [t].[EmployeeID]"); +ORDER BY [t].[EmployeeID] +"""); } public override async Task OrderBy_SelectMany(bool async) @@ -851,7 +961,8 @@ public override async Task OrderBy_SelectMany(bool async) await base.OrderBy_SelectMany(async); AssertSql( - @"SELECT [c].[ContactName], [t].[OrderID] +""" +SELECT [c].[ContactName], [t].[OrderID] FROM [Customers] AS [c] CROSS JOIN ( SELECT TOP(3) [o].[OrderID], [o].[CustomerID] @@ -859,7 +970,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] WHERE [c].[CustomerID] = [t].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Let_any_subquery_anonymous(bool async) @@ -867,7 +979,8 @@ public override async Task Let_any_subquery_anonymous(bool async) await base.Let_any_subquery_anonymous(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], CASE +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o] @@ -876,7 +989,8 @@ ELSE CAST(0 AS bit) END AS [hasOrders] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task OrderBy_arithmetic(bool async) @@ -884,9 +998,11 @@ public override async Task OrderBy_arithmetic(bool async) await base.OrderBy_arithmetic(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -ORDER BY [e].[EmployeeID] - [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] - [e].[EmployeeID] +"""); } public override async Task OrderBy_condition_comparison(bool async) @@ -894,12 +1010,14 @@ public override async Task OrderBy_condition_comparison(bool async) await base.OrderBy_condition_comparison(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] ORDER BY CASE WHEN [p].[UnitsInStock] > CAST(0 AS smallint) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END, [p].[ProductID]"); +END, [p].[ProductID] +"""); } public override async Task OrderBy_ternary_conditions(bool async) @@ -918,7 +1036,8 @@ public override async Task OrderBy_any(bool async) await base.OrderBy_any(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY CASE WHEN EXISTS ( @@ -926,7 +1045,8 @@ SELECT 1 FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] > 11000) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END, [c].[CustomerID]"); +END, [c].[CustomerID] +"""); } public override async Task Skip(bool async) @@ -934,12 +1054,14 @@ public override async Task Skip(bool async) await base.Skip(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] -OFFSET @__p_0 ROWS"); +OFFSET @__p_0 ROWS +"""); } public override async Task Skip_no_orderby(bool async) @@ -947,12 +1069,14 @@ public override async Task Skip_no_orderby(bool async) await base.Skip_no_orderby(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY (SELECT 1) -OFFSET @__p_0 ROWS"); +OFFSET @__p_0 ROWS +"""); } public override async Task Skip_orderby_const(bool async) @@ -960,12 +1084,14 @@ public override async Task Skip_orderby_const(bool async) await base.Skip_orderby_const(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY (SELECT 1) -OFFSET @__p_0 ROWS"); +OFFSET @__p_0 ROWS +"""); } public override async Task Skip_Take(bool async) @@ -973,13 +1099,15 @@ public override async Task Skip_Take(bool async) await base.Skip_Take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[ContactName] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task Join_Customers_Orders_Skip_Take(bool async) @@ -987,14 +1115,16 @@ public override async Task Join_Customers_Orders_Skip_Take(bool async) await base.Join_Customers_Orders_Skip_Take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [c].[ContactName], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task Join_Customers_Orders_Skip_Take_followed_by_constant_projection(bool async) @@ -1002,14 +1132,16 @@ public override async Task Join_Customers_Orders_Skip_Take_followed_by_constant_ await base.Join_Customers_Orders_Skip_Take_followed_by_constant_projection(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT N'Foo' FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task Join_Customers_Orders_Projection_With_String_Concat_Skip_Take(bool async) @@ -1017,14 +1149,16 @@ public override async Task Join_Customers_Orders_Projection_With_String_Concat_S await base.Join_Customers_Orders_Projection_With_String_Concat_Skip_Take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT (COALESCE([c].[ContactName], N'') + N' ') + COALESCE([c].[ContactTitle], N'') AS [Contact], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task Join_Customers_Orders_Orders_Skip_Take_Same_Properties(bool async) @@ -1032,7 +1166,8 @@ public override async Task Join_Customers_Orders_Orders_Skip_Take_Same_Propertie await base.Join_Customers_Orders_Orders_Skip_Take_Same_Properties(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [o].[OrderID], [c].[CustomerID] AS [CustomerIDA], [c0].[CustomerID] AS [CustomerIDB], [c].[ContactName] AS [ContactNameA], [c0].[ContactName] AS [ContactNameB] @@ -1040,7 +1175,8 @@ FROM [Orders] AS [o] INNER JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] INNER JOIN [Customers] AS [c0] ON [o].[CustomerID] = [c0].[CustomerID] ORDER BY [o].[OrderID] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task Ternary_should_not_evaluate_both_sides(bool async) @@ -1048,12 +1184,14 @@ public override async Task Ternary_should_not_evaluate_both_sides(bool async) await base.Ternary_should_not_evaluate_both_sides(async); AssertSql( - @"@__p_0='none' (Size = 4000) +""" +@__p_0='none' (Size = 4000) @__p_1='none' (Size = 4000) @__p_2='none' (Size = 4000) SELECT [c].[CustomerID], @__p_0 AS [Data1], @__p_1 AS [Data2], @__p_2 AS [Data3] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Ternary_should_not_evaluate_both_sides_with_parameter(bool async) @@ -1061,8 +1199,10 @@ public override async Task Ternary_should_not_evaluate_both_sides_with_parameter await base.Ternary_should_not_evaluate_both_sides_with_parameter(async); AssertSql( - @"SELECT CAST(1 AS bit) AS [Data1] -FROM [Orders] AS [o]"); +""" +SELECT CAST(1 AS bit) AS [Data1] +FROM [Orders] AS [o] +"""); } public override async Task Take_Skip(bool async) @@ -1070,7 +1210,8 @@ public override async Task Take_Skip(bool async) await base.Take_Skip(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] @@ -1080,7 +1221,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactName] ) AS [t] ORDER BY [t].[ContactName] -OFFSET @__p_1 ROWS"); +OFFSET @__p_1 ROWS +"""); } public override async Task Take_Skip_Distinct(bool async) @@ -1088,7 +1230,8 @@ public override async Task Take_Skip_Distinct(bool async) await base.Take_Skip_Distinct(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT DISTINCT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] @@ -1101,7 +1244,8 @@ ORDER BY [c].[ContactName] ) AS [t] ORDER BY [t].[ContactName] OFFSET @__p_1 ROWS -) AS [t0]"); +) AS [t0] +"""); } public override async Task Take_Skip_Distinct_Caching(bool async) @@ -1109,7 +1253,8 @@ public override async Task Take_Skip_Distinct_Caching(bool async) await base.Take_Skip_Distinct_Caching(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT DISTINCT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] @@ -1122,9 +1267,11 @@ ORDER BY [c].[ContactName] ) AS [t] ORDER BY [t].[ContactName] OFFSET @__p_1 ROWS -) AS [t0]", +) AS [t0] +""", // - @"@__p_0='15' +""" +@__p_0='15' @__p_1='10' SELECT DISTINCT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] @@ -1137,7 +1284,8 @@ ORDER BY [c].[ContactName] ) AS [t] ORDER BY [t].[ContactName] OFFSET @__p_1 ROWS -) AS [t0]"); +) AS [t0] +"""); } public override async Task Take_Distinct_Count(bool async) @@ -1145,7 +1293,8 @@ public override async Task Take_Distinct_Count(bool async) await base.Take_Distinct_Count(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT COUNT(*) FROM ( @@ -1154,7 +1303,8 @@ SELECT COUNT(*) SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] ) AS [t] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Take_Where_Distinct_Count(bool async) @@ -1162,7 +1312,8 @@ public override async Task Take_Where_Distinct_Count(bool async) await base.Take_Where_Distinct_Count(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT COUNT(*) FROM ( @@ -1172,7 +1323,8 @@ SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[Order FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'FRANK' ) AS [t] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Queryable_simple(bool async) @@ -1180,8 +1332,10 @@ public override async Task Queryable_simple(bool async) await base.Queryable_simple(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Queryable_simple_anonymous(bool async) @@ -1189,8 +1343,10 @@ public override async Task Queryable_simple_anonymous(bool async) await base.Queryable_simple_anonymous(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Queryable_nested_simple(bool async) @@ -1198,8 +1354,10 @@ public override async Task Queryable_nested_simple(bool async) await base.Queryable_nested_simple(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Queryable_simple_anonymous_projection_subquery(bool async) @@ -1207,10 +1365,12 @@ public override async Task Queryable_simple_anonymous_projection_subquery(bool a await base.Queryable_simple_anonymous_projection_subquery(async); AssertSql( - @"@__p_0='91' +""" +@__p_0='91' SELECT TOP(@__p_0) [c].[City] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Queryable_simple_anonymous_subquery(bool async) @@ -1218,10 +1378,12 @@ public override async Task Queryable_simple_anonymous_subquery(bool async) await base.Queryable_simple_anonymous_subquery(async); AssertSql( - @"@__p_0='91' +""" +@__p_0='91' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Take_simple(bool async) @@ -1229,11 +1391,13 @@ public override async Task Take_simple(bool async) await base.Take_simple(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Take_simple_parameterized(bool async) @@ -1241,11 +1405,13 @@ public override async Task Take_simple_parameterized(bool async) await base.Take_simple_parameterized(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Take_simple_projection(bool async) @@ -1253,11 +1419,13 @@ public override async Task Take_simple_projection(bool async) await base.Take_simple_projection(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [c].[City] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Take_subquery_projection(bool async) @@ -1265,11 +1433,13 @@ public override async Task Take_subquery_projection(bool async) await base.Take_subquery_projection(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) [c].[City] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task OrderBy_Take_Count(bool async) @@ -1277,14 +1447,16 @@ public override async Task OrderBy_Take_Count(bool async) await base.OrderBy_Take_Count(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT COUNT(*) FROM ( SELECT TOP(@__p_0) [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] -) AS [t]"); +) AS [t] +"""); } public override async Task Take_OrderBy_Count(bool async) @@ -1292,13 +1464,15 @@ public override async Task Take_OrderBy_Count(bool async) await base.Take_OrderBy_Count(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT COUNT(*) FROM ( SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Any_simple(bool async) @@ -1306,12 +1480,14 @@ public override async Task Any_simple(bool async) await base.Any_simple(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Any_predicate(bool async) @@ -1319,13 +1495,15 @@ public override async Task Any_predicate(bool async) await base.Any_predicate(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c] WHERE ([c].[ContactName] IS NOT NULL) AND ([c].[ContactName] LIKE N'A%')) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Any_nested_negated(bool async) @@ -1333,12 +1511,14 @@ public override async Task Any_nested_negated(bool async) await base.Any_nested_negated(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')))"); + WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%'))) +"""); } public override async Task Any_nested_negated2(bool async) @@ -1346,12 +1526,14 @@ public override async Task Any_nested_negated2(bool async) await base.Any_nested_negated2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ([c].[City] <> N'London' OR ([c].[City] IS NULL)) AND NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')))"); + WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%'))) +"""); } public override async Task Any_nested_negated3(bool async) @@ -1359,12 +1541,14 @@ public override async Task Any_nested_negated3(bool async) await base.Any_nested_negated3(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%'))) AND ([c].[City] <> N'London' OR ([c].[City] IS NULL))"); + WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%'))) AND ([c].[City] <> N'London' OR ([c].[City] IS NULL)) +"""); } public override async Task Any_nested(bool async) @@ -1372,12 +1556,14 @@ public override async Task Any_nested(bool async) await base.Any_nested(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%'))"); + WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')) +"""); } public override async Task Any_nested2(bool async) @@ -1385,12 +1571,14 @@ public override async Task Any_nested2(bool async) await base.Any_nested2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ([c].[City] <> N'London' OR ([c].[City] IS NULL)) AND EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%'))"); + WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')) +"""); } public override async Task Any_nested3(bool async) @@ -1398,12 +1586,14 @@ public override async Task Any_nested3(bool async) await base.Any_nested3(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')) AND ([c].[City] <> N'London' OR ([c].[City] IS NULL))"); + WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')) AND ([c].[City] <> N'London' OR ([c].[City] IS NULL)) +"""); } public override async Task Any_with_multiple_conditions_still_uses_exists(bool async) @@ -1411,12 +1601,14 @@ public override async Task Any_with_multiple_conditions_still_uses_exists(bool a await base.Any_with_multiple_conditions_still_uses_exists(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' AND EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[EmployeeID] = 1)"); + WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[EmployeeID] = 1) +"""); } public override async Task All_top_level(bool async) @@ -1424,13 +1616,15 @@ public override async Task All_top_level(bool async) await base.All_top_level(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Customers] AS [c] WHERE ([c].[ContactName] IS NULL) OR NOT ([c].[ContactName] LIKE N'A%')) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task All_top_level_column(bool async) @@ -1438,13 +1632,15 @@ public override async Task All_top_level_column(bool async) await base.All_top_level_column(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Customers] AS [c] WHERE ([c].[ContactName] <> N'' OR ([c].[ContactName] IS NULL)) AND (([c].[ContactName] IS NULL) OR LEFT([c].[ContactName], LEN([c].[ContactName])) <> [c].[ContactName])) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task All_top_level_subquery(bool async) @@ -1452,7 +1648,8 @@ public override async Task All_top_level_subquery(bool async) await base.All_top_level_subquery(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Customers] AS [c] @@ -1464,7 +1661,8 @@ SELECT 1 FROM [Customers] AS [c1] WHERE [c].[CustomerID] = [c1].[CustomerID])))) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task All_top_level_subquery_ef_property(bool async) @@ -1472,7 +1670,8 @@ public override async Task All_top_level_subquery_ef_property(bool async) await base.All_top_level_subquery_ef_property(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Customers] AS [c] @@ -1484,7 +1683,8 @@ SELECT 1 FROM [Customers] AS [c1] WHERE [c].[CustomerID] = [c1].[CustomerID])))) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Where_select_many_or(bool async) @@ -1492,10 +1692,12 @@ public override async Task Where_select_many_or(bool async) await base.Where_select_many_or(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE [c].[City] = N'London' OR [e].[City] = N'London'"); +WHERE [c].[City] = N'London' OR [e].[City] = N'London' +"""); } public override async Task Where_select_many_or2(bool async) @@ -1503,10 +1705,12 @@ public override async Task Where_select_many_or2(bool async) await base.Where_select_many_or2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE [c].[City] IN (N'London', N'Berlin')"); +WHERE [c].[City] IN (N'London', N'Berlin') +"""); } public override async Task Where_select_many_or3(bool async) @@ -1514,10 +1718,12 @@ public override async Task Where_select_many_or3(bool async) await base.Where_select_many_or3(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE [c].[City] IN (N'London', N'Berlin', N'Seattle')"); +WHERE [c].[City] IN (N'London', N'Berlin', N'Seattle') +"""); } public override async Task Where_select_many_or4(bool async) @@ -1525,10 +1731,12 @@ public override async Task Where_select_many_or4(bool async) await base.Where_select_many_or4(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE [c].[City] IN (N'London', N'Berlin', N'Seattle', N'Lisboa')"); +WHERE [c].[City] IN (N'London', N'Berlin', N'Seattle', N'Lisboa') +"""); } public override async Task Where_select_many_or_with_parameter(bool async) @@ -1536,13 +1744,15 @@ public override async Task Where_select_many_or_with_parameter(bool async) await base.Where_select_many_or_with_parameter(async); AssertSql( - @"@__london_0='London' (Size = 4000) +""" +@__london_0='London' (Size = 4000) @__lisboa_1='Lisboa' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE [c].[City] = @__london_0 OR [c].[City] = N'Berlin' OR [c].[City] = N'Seattle' OR [c].[City] = @__lisboa_1"); +WHERE [c].[City] = @__london_0 OR [c].[City] = N'Berlin' OR [c].[City] = N'Seattle' OR [c].[City] = @__lisboa_1 +"""); } public override async Task SelectMany_simple_subquery(bool async) @@ -1550,14 +1760,16 @@ public override async Task SelectMany_simple_subquery(bool async) await base.SelectMany_simple_subquery(async); AssertSql( - @"@__p_0='9' +""" +@__p_0='9' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( SELECT TOP(@__p_0) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] ) AS [t] -CROSS JOIN [Customers] AS [c]"); +CROSS JOIN [Customers] AS [c] +"""); } public override async Task SelectMany_simple1(bool async) @@ -1565,9 +1777,11 @@ public override async Task SelectMany_simple1(bool async) await base.SelectMany_simple1(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -CROSS JOIN [Customers] AS [c]"); +CROSS JOIN [Customers] AS [c] +"""); } public override async Task SelectMany_simple2(bool async) @@ -1575,10 +1789,12 @@ public override async Task SelectMany_simple2(bool async) await base.SelectMany_simple2(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e0].[FirstName] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e0].[FirstName] FROM [Employees] AS [e] CROSS JOIN [Customers] AS [c] -CROSS JOIN [Employees] AS [e0]"); +CROSS JOIN [Employees] AS [e0] +"""); } public override async Task SelectMany_entity_deep(bool async) @@ -1586,11 +1802,13 @@ public override async Task SelectMany_entity_deep(bool async) await base.SelectMany_entity_deep(async); AssertSql( - @"SELECT [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title], [e1].[EmployeeID], [e1].[City], [e1].[Country], [e1].[FirstName], [e1].[ReportsTo], [e1].[Title], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e2].[EmployeeID], [e2].[City], [e2].[Country], [e2].[FirstName], [e2].[ReportsTo], [e2].[Title] +""" +SELECT [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title], [e1].[EmployeeID], [e1].[City], [e1].[Country], [e1].[FirstName], [e1].[ReportsTo], [e1].[Title], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e2].[EmployeeID], [e2].[City], [e2].[Country], [e2].[FirstName], [e2].[ReportsTo], [e2].[Title] FROM [Employees] AS [e] CROSS JOIN [Employees] AS [e0] CROSS JOIN [Employees] AS [e1] -CROSS JOIN [Employees] AS [e2]"); +CROSS JOIN [Employees] AS [e2] +"""); } public override async Task SelectMany_projection1(bool async) @@ -1598,9 +1816,11 @@ public override async Task SelectMany_projection1(bool async) await base.SelectMany_projection1(async); AssertSql( - @"SELECT [e].[City], [e0].[Country] +""" +SELECT [e].[City], [e0].[Country] FROM [Employees] AS [e] -CROSS JOIN [Employees] AS [e0]"); +CROSS JOIN [Employees] AS [e0] +"""); } public override async Task SelectMany_projection2(bool async) @@ -1608,10 +1828,12 @@ public override async Task SelectMany_projection2(bool async) await base.SelectMany_projection2(async); AssertSql( - @"SELECT [e].[City], [e0].[Country], [e1].[FirstName] +""" +SELECT [e].[City], [e0].[Country], [e1].[FirstName] FROM [Employees] AS [e] CROSS JOIN [Employees] AS [e0] -CROSS JOIN [Employees] AS [e1]"); +CROSS JOIN [Employees] AS [e1] +"""); } public override async Task SelectMany_Count(bool async) @@ -1619,9 +1841,11 @@ public override async Task SelectMany_Count(bool async) await base.SelectMany_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -CROSS JOIN [Orders] AS [o]"); +CROSS JOIN [Orders] AS [o] +"""); } public override async Task SelectMany_LongCount(bool async) @@ -1629,9 +1853,11 @@ public override async Task SelectMany_LongCount(bool async) await base.SelectMany_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM [Customers] AS [c] -CROSS JOIN [Orders] AS [o]"); +CROSS JOIN [Orders] AS [o] +"""); } public override async Task SelectMany_OrderBy_ThenBy_Any(bool async) @@ -1639,13 +1865,15 @@ public override async Task SelectMany_OrderBy_ThenBy_Any(bool async) await base.SelectMany_OrderBy_ThenBy_Any(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Join_Where_Count(bool async) @@ -1653,10 +1881,12 @@ public override async Task Join_Where_Count(bool async) await base.Join_Where_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Where_Join_Any(bool async) @@ -1664,12 +1894,14 @@ public override async Task Where_Join_Any(bool async) await base.Where_Join_Any(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' AND EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderDate] = '2008-10-24T00:00:00.000')"); + WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderDate] = '2008-10-24T00:00:00.000') +"""); } public override async Task Where_Join_Exists(bool async) @@ -1705,9 +1937,11 @@ public override async Task Join_OrderBy_Count(bool async) await base.Join_OrderBy_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task Multiple_joins_Where_Order_Any(bool async) @@ -1715,7 +1949,8 @@ public override async Task Multiple_joins_Where_Order_Any(bool async) await base.Multiple_joins_Where_Order_Any(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c] @@ -1723,7 +1958,8 @@ FROM [Customers] AS [c] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[City] = N'London') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Where_join_select(bool async) @@ -1731,10 +1967,12 @@ public override async Task Where_join_select(bool async) await base.Where_join_select(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Where_orderby_join_select(bool async) @@ -1742,11 +1980,13 @@ public override async Task Where_orderby_join_select(bool async) await base.Where_orderby_join_select(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] <> N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_join_orderby_join_select(bool async) @@ -1754,12 +1994,14 @@ public override async Task Where_join_orderby_join_select(bool async) await base.Where_join_orderby_join_select(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] <> N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_select_many(bool async) @@ -1767,10 +2009,12 @@ public override async Task Where_select_many(bool async) await base.Where_select_many(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Where_orderby_select_many(bool async) @@ -1778,11 +2022,13 @@ public override async Task Where_orderby_select_many(bool async) await base.Where_orderby_select_many(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task SelectMany_cartesian_product_with_ordering(bool async) @@ -1790,11 +2036,13 @@ public override async Task SelectMany_cartesian_product_with_ordering(bool async await base.SelectMany_cartesian_product_with_ordering(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[City] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[City] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] WHERE [c].[City] = [e].[City] OR (([c].[City] IS NULL) AND ([e].[City] IS NULL)) -ORDER BY [e].[City], [c].[CustomerID] DESC"); +ORDER BY [e].[City], [c].[CustomerID] DESC +"""); } public override async Task SelectMany_Joined_DefaultIfEmpty(bool async) @@ -1802,9 +2050,11 @@ public override async Task SelectMany_Joined_DefaultIfEmpty(bool async) await base.SelectMany_Joined_DefaultIfEmpty(async); AssertSql( - @"SELECT [c].[ContactName], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[ContactName], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] -LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task SelectMany_Joined_DefaultIfEmpty2(bool async) @@ -1812,9 +2062,11 @@ public override async Task SelectMany_Joined_DefaultIfEmpty2(bool async) await base.SelectMany_Joined_DefaultIfEmpty2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] -LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task SelectMany_Joined_DefaultIfEmpty3(bool async) @@ -1822,7 +2074,8 @@ public override async Task SelectMany_Joined_DefaultIfEmpty3(bool async) await base.SelectMany_Joined_DefaultIfEmpty3(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -1831,7 +2084,8 @@ WHERE EXISTS ( SELECT 1 FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) -) AS [t] ON [c].[CustomerID] = [t].[CustomerID]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID] +"""); } public override async Task SelectMany_Joined_Take(bool async) @@ -1839,7 +2093,8 @@ public override async Task SelectMany_Joined_Take(bool async) await base.SelectMany_Joined_Take(async); AssertSql( - @"SELECT [c].[ContactName], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] +""" +SELECT [c].[ContactName], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM [Customers] AS [c] INNER JOIN ( SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] @@ -1848,7 +2103,8 @@ INNER JOIN ( FROM [Orders] AS [o] ) AS [t] WHERE [t].[row] <= 4 -) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Take_with_single(bool async) @@ -1856,7 +2112,8 @@ public override async Task Take_with_single(bool async) await base.Take_with_single(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(2) [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -1864,7 +2121,8 @@ SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Take_with_single_select_many(bool async) @@ -1872,7 +2130,8 @@ public override async Task Take_with_single_select_many(bool async) await base.Take_with_single_select_many(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(2) [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t].[OrderID], [t].[CustomerID0], [t].[EmployeeID], [t].[OrderDate] FROM ( @@ -1881,7 +2140,8 @@ FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] ORDER BY [c].[CustomerID], [o].[OrderID] ) AS [t] -ORDER BY [t].[CustomerID], [t].[OrderID]"); +ORDER BY [t].[CustomerID], [t].[OrderID] +"""); } public override async Task Distinct_Skip(bool async) @@ -1889,7 +2149,8 @@ public override async Task Distinct_Skip(bool async) await base.Distinct_Skip(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -1897,7 +2158,8 @@ public override async Task Distinct_Skip(bool async) FROM [Customers] AS [c] ) AS [t] ORDER BY [t].[CustomerID] -OFFSET @__p_0 ROWS"); +OFFSET @__p_0 ROWS +"""); } public override async Task Distinct_Skip_Take(bool async) @@ -1905,7 +2167,8 @@ public override async Task Distinct_Skip_Take(bool async) await base.Distinct_Skip_Take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] @@ -1914,7 +2177,8 @@ public override async Task Distinct_Skip_Take(bool async) FROM [Customers] AS [c] ) AS [t] ORDER BY [t].[ContactName] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task Skip_Distinct(bool async) @@ -1922,7 +2186,8 @@ public override async Task Skip_Distinct(bool async) await base.Skip_Distinct(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT DISTINCT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -1930,7 +2195,8 @@ public override async Task Skip_Distinct(bool async) FROM [Customers] AS [c] ORDER BY [c].[ContactName] OFFSET @__p_0 ROWS -) AS [t]"); +) AS [t] +"""); } public override async Task Skip_Take_Distinct(bool async) @@ -1938,7 +2204,8 @@ public override async Task Skip_Take_Distinct(bool async) await base.Skip_Take_Distinct(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' SELECT DISTINCT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] @@ -1947,7 +2214,8 @@ public override async Task Skip_Take_Distinct(bool async) FROM [Customers] AS [c] ORDER BY [c].[ContactName] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY -) AS [t]"); +) AS [t] +"""); } public override async Task Skip_Take_Any(bool async) @@ -1955,7 +2223,8 @@ public override async Task Skip_Take_Any(bool async) await base.Skip_Take_Any(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' SELECT CASE @@ -1965,7 +2234,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactName] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Skip_Take_All(bool async) @@ -1973,7 +2243,8 @@ public override async Task Skip_Take_All(bool async) await base.Skip_Take_All(async); AssertSql( - @"@__p_0='4' +""" +@__p_0='4' @__p_1='7' SELECT CASE @@ -1987,7 +2258,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] WHERE NOT ([t].[CustomerID] LIKE N'B%')) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Take_All(bool async) @@ -1995,7 +2267,8 @@ public override async Task Take_All(bool async) await base.Take_All(async); AssertSql( - @"@__p_0='4' +""" +@__p_0='4' SELECT CASE WHEN NOT EXISTS ( @@ -2007,7 +2280,8 @@ ORDER BY [c].[CustomerID] ) AS [t] WHERE NOT ([t].[CustomerID] LIKE N'A%')) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Skip_Take_Any_with_predicate(bool async) @@ -2015,7 +2289,8 @@ public override async Task Skip_Take_Any_with_predicate(bool async) await base.Skip_Take_Any_with_predicate(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='7' SELECT CASE @@ -2029,7 +2304,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] WHERE [t].[CustomerID] LIKE N'C%') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Take_Any_with_predicate(bool async) @@ -2037,7 +2313,8 @@ public override async Task Take_Any_with_predicate(bool async) await base.Take_Any_with_predicate(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT CASE WHEN EXISTS ( @@ -2049,7 +2326,8 @@ ORDER BY [c].[CustomerID] ) AS [t] WHERE [t].[CustomerID] LIKE N'B%') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task OrderBy(bool async) @@ -2057,9 +2335,11 @@ public override async Task OrderBy(bool async) await base.OrderBy(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task OrderBy_true(bool async) @@ -2067,8 +2347,10 @@ public override async Task OrderBy_true(bool async) await base.OrderBy_true(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task OrderBy_integer(bool async) @@ -2076,8 +2358,10 @@ public override async Task OrderBy_integer(bool async) await base.OrderBy_integer(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task OrderBy_parameter(bool async) @@ -2085,8 +2369,10 @@ public override async Task OrderBy_parameter(bool async) await base.OrderBy_parameter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task OrderBy_anon(bool async) @@ -2094,9 +2380,11 @@ public override async Task OrderBy_anon(bool async) await base.OrderBy_anon(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task OrderBy_anon2(bool async) @@ -2104,9 +2392,11 @@ public override async Task OrderBy_anon2(bool async) await base.OrderBy_anon2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Distinct_Take(bool async) @@ -2114,14 +2404,16 @@ public override async Task Distinct_Take(bool async) await base.Distinct_Take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT TOP(@__p_0) [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM ( SELECT DISTINCT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] ) AS [t] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Distinct_Take_Count(bool async) @@ -2129,13 +2421,15 @@ public override async Task Distinct_Take_Count(bool async) await base.Distinct_Take_Count(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT COUNT(*) FROM ( SELECT DISTINCT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task OrderBy_shadow(bool async) @@ -2143,9 +2437,11 @@ public override async Task OrderBy_shadow(bool async) await base.OrderBy_shadow(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -ORDER BY [e].[Title], [e].[EmployeeID]"); +ORDER BY [e].[Title], [e].[EmployeeID] +"""); } public override async Task OrderBy_multiple(bool async) @@ -2153,10 +2449,12 @@ public override async Task OrderBy_multiple(bool async) await base.OrderBy_multiple(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[Country], [c].[City]"); +ORDER BY [c].[Country], [c].[City] +"""); } public override async Task OrderBy_ThenBy_Any(bool async) @@ -2164,12 +2462,14 @@ public override async Task OrderBy_ThenBy_Any(bool async) await base.OrderBy_ThenBy_Any(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task OrderBy_correlated_subquery1(bool async) @@ -2177,7 +2477,8 @@ public override async Task OrderBy_correlated_subquery1(bool async) await base.OrderBy_correlated_subquery1(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ORDER BY CASE @@ -2186,7 +2487,8 @@ SELECT 1 FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = [c].[CustomerID]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END, [c].[CustomerID]"); +END, [c].[CustomerID] +"""); } public override async Task OrderBy_correlated_subquery2(bool async) @@ -2194,7 +2496,8 @@ public override async Task OrderBy_correlated_subquery2(bool async) await base.OrderBy_correlated_subquery2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] <= 10250 AND (( SELECT TOP(1) [c].[City] @@ -2214,7 +2517,8 @@ SELECT 1 FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = N'ALFKI') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) - END) IS NULL))"); + END) IS NULL)) +"""); } public override async Task Where_subquery_recursive_trivial(bool async) @@ -2222,7 +2526,8 @@ public override async Task Where_subquery_recursive_trivial(bool async) await base.Where_subquery_recursive_trivial(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE EXISTS ( SELECT 1 @@ -2230,7 +2535,8 @@ FROM [Employees] AS [e0] WHERE EXISTS ( SELECT 1 FROM [Employees] AS [e1])) -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override async Task Select_DTO_distinct_translated_to_server(bool async) @@ -2238,9 +2544,11 @@ public override async Task Select_DTO_distinct_translated_to_server(bool async) await base.Select_DTO_distinct_translated_to_server(async); AssertSql( - @"SELECT DISTINCT 1 +""" +SELECT DISTINCT 1 FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Select_DTO_constructor_distinct_translated_to_server(bool async) @@ -2248,9 +2556,11 @@ public override async Task Select_DTO_constructor_distinct_translated_to_server( await base.Select_DTO_constructor_distinct_translated_to_server(async); AssertSql( - @"SELECT DISTINCT [o].[CustomerID] +""" +SELECT DISTINCT [o].[CustomerID] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Select_DTO_constructor_distinct_with_navigation_translated_to_server(bool async) @@ -2258,10 +2568,12 @@ public override async Task Select_DTO_constructor_distinct_with_navigation_trans await base.Select_DTO_constructor_distinct_with_navigation_translated_to_server(async); AssertSql( - @"SELECT DISTINCT [c].[City] +""" +SELECT DISTINCT [c].[City] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Select_DTO_constructor_distinct_with_collection_projection_translated_to_server(bool async) @@ -2269,14 +2581,16 @@ public override async Task Select_DTO_constructor_distinct_with_collection_proje await base.Select_DTO_constructor_distinct_with_collection_projection_translated_to_server(async); AssertSql( - @"SELECT [t].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT DISTINCT [o].[CustomerID] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task @@ -2288,14 +2602,16 @@ await Assert.ThrowsAsync( .Select_DTO_constructor_distinct_with_collection_projection_translated_to_server_with_binding_after_client_eval(async)); AssertSql( - @"SELECT [t].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT DISTINCT [o].[CustomerID] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Select_DTO_with_member_init_distinct_translated_to_server(bool async) @@ -2303,9 +2619,11 @@ public override async Task Select_DTO_with_member_init_distinct_translated_to_se await base.Select_DTO_with_member_init_distinct_translated_to_server(async); AssertSql( - @"SELECT DISTINCT [o].[CustomerID] AS [Id], [o].[OrderID] AS [Count] +""" +SELECT DISTINCT [o].[CustomerID] AS [Id], [o].[OrderID] AS [Count] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Select_nested_collection_count_using_DTO(bool async) @@ -2313,12 +2631,14 @@ public override async Task Select_nested_collection_count_using_DTO(bool async) await base.Select_nested_collection_count_using_DTO(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id], ( +""" +SELECT [c].[CustomerID] AS [Id], ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Count] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Select_DTO_with_member_init_distinct_in_subquery_translated_to_server(bool async) @@ -2326,13 +2646,15 @@ public override async Task Select_DTO_with_member_init_distinct_in_subquery_tran await base.Select_DTO_with_member_init_distinct_in_subquery_translated_to_server(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +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 DISTINCT [o].[CustomerID] AS [Id], [o].[OrderID] AS [Count] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 ) AS [t] -INNER JOIN [Customers] AS [c] ON [t].[Id] = [c].[CustomerID]"); +INNER JOIN [Customers] AS [c] ON [t].[Id] = [c].[CustomerID] +"""); } public override async Task Select_DTO_with_member_init_distinct_in_subquery_translated_to_server_2(bool async) @@ -2340,13 +2662,15 @@ public override async Task Select_DTO_with_member_init_distinct_in_subquery_tran await base.Select_DTO_with_member_init_distinct_in_subquery_translated_to_server_2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +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 DISTINCT [o].[CustomerID] AS [Id], [o].[OrderID] AS [Count] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 ) AS [t] -INNER JOIN [Customers] AS [c] ON [t].[Id] = [c].[CustomerID]"); +INNER JOIN [Customers] AS [c] ON [t].[Id] = [c].[CustomerID] +"""); } public override async Task Select_DTO_with_member_init_distinct_in_subquery_used_in_projection_translated_to_server(bool async) @@ -2354,14 +2678,16 @@ public override async Task Select_DTO_with_member_init_distinct_in_subquery_used await base.Select_DTO_with_member_init_distinct_in_subquery_used_in_projection_translated_to_server(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[Id], [t].[Count] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[Id], [t].[Count] FROM [Customers] AS [c] CROSS JOIN ( SELECT DISTINCT [o].[CustomerID] AS [Id], [o].[OrderID] AS [Count] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 ) AS [t] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Select_correlated_subquery_filtered(bool async) @@ -2369,11 +2695,13 @@ public override async Task Select_correlated_subquery_filtered(bool async) await base.Select_correlated_subquery_filtered(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_correlated_subquery_ordered(bool async) @@ -2381,7 +2709,8 @@ public override async Task Select_correlated_subquery_ordered(bool async) await base.Select_correlated_subquery_ordered(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -2395,7 +2724,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID], [t].[CustomerID] OFFSET 100 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[CustomerID0]"); +ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[CustomerID0] +"""); } public override async Task Where_subquery_on_bool(bool async) @@ -2403,12 +2733,14 @@ public override async Task Where_subquery_on_bool(bool async) await base.Where_subquery_on_bool(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] WHERE EXISTS ( SELECT 1 FROM [Products] AS [p0] - WHERE [p0].[ProductName] = N'Chai')"); + WHERE [p0].[ProductName] = N'Chai') +"""); } public override async Task Where_subquery_on_collection(bool async) @@ -2416,12 +2748,14 @@ public override async Task Where_subquery_on_collection(bool async) await base.Where_subquery_on_collection(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] WHERE EXISTS ( SELECT 1 FROM [Order Details] AS [o] - WHERE [o].[ProductID] = [p].[ProductID] AND [o].[Quantity] = CAST(5 AS smallint))"); + WHERE [o].[ProductID] = [p].[ProductID] AND [o].[Quantity] = CAST(5 AS smallint)) +"""); } public override async Task Select_many_cross_join_same_collection(bool async) @@ -2429,9 +2763,11 @@ public override async Task Select_many_cross_join_same_collection(bool async) await base.Select_many_cross_join_same_collection(async); AssertSql( - @"SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] +""" +SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c] -CROSS JOIN [Customers] AS [c0]"); +CROSS JOIN [Customers] AS [c0] +"""); } public override async Task OrderBy_null_coalesce_operator(bool async) @@ -2439,9 +2775,11 @@ public override async Task OrderBy_null_coalesce_operator(bool async) await base.OrderBy_null_coalesce_operator(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY COALESCE([c].[Region], N'ZZ'), [c].[CustomerID]"); +ORDER BY COALESCE([c].[Region], N'ZZ'), [c].[CustomerID] +"""); } public override async Task Select_null_coalesce_operator(bool async) @@ -2457,12 +2795,14 @@ public override async Task OrderBy_conditional_operator(bool async) await base.OrderBy_conditional_operator(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY CASE WHEN [c].[Region] IS NULL THEN N'ZZ' ELSE [c].[Region] -END, [c].[CustomerID]"); +END, [c].[CustomerID] +"""); } public override async Task Null_Coalesce_Short_Circuit(bool async) @@ -2470,13 +2810,15 @@ public override async Task Null_Coalesce_Short_Circuit(bool async) await base.Null_Coalesce_Short_Circuit(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], @__p_0 AS [Test] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -) AS [t]"); +) AS [t] +"""); } public override async Task Null_Coalesce_Short_Circuit_with_server_correlated_leftover(bool async) @@ -2484,8 +2826,10 @@ public override async Task Null_Coalesce_Short_Circuit_with_server_correlated_le await base.Null_Coalesce_Short_Circuit_with_server_correlated_leftover(async); AssertSql( - @"SELECT CAST(0 AS bit) AS [Result] -FROM [Customers] AS [c]"); +""" +SELECT CAST(0 AS bit) AS [Result] +FROM [Customers] AS [c] +"""); } public override async Task OrderBy_conditional_operator_where_condition_false(bool async) @@ -2493,9 +2837,11 @@ public override async Task OrderBy_conditional_operator_where_condition_false(bo await base.OrderBy_conditional_operator_where_condition_false(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[City]"); +ORDER BY [c].[City] +"""); } public override async Task OrderBy_comparison_operator(bool async) @@ -2503,12 +2849,14 @@ public override async Task OrderBy_comparison_operator(bool async) await base.OrderBy_comparison_operator(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY CASE WHEN [c].[Region] = N'ASK' AND ([c].[Region] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Projection_null_coalesce_operator(bool async) @@ -2516,8 +2864,10 @@ public override async Task Projection_null_coalesce_operator(bool async) await base.Projection_null_coalesce_operator(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[CompanyName], COALESCE([c].[Region], N'ZZ') AS [Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[CompanyName], COALESCE([c].[Region], N'ZZ') AS [Region] +FROM [Customers] AS [c] +"""); } public override async Task Filter_coalesce_operator(bool async) @@ -2525,9 +2875,11 @@ public override async Task Filter_coalesce_operator(bool async) await base.Filter_coalesce_operator(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE COALESCE([c].[CompanyName], [c].[ContactName]) = N'The Big Cheese'"); +WHERE COALESCE([c].[CompanyName], [c].[ContactName]) = N'The Big Cheese' +"""); } public override async Task Take_skip_null_coalesce_operator(bool async) @@ -2535,7 +2887,8 @@ public override async Task Take_skip_null_coalesce_operator(bool async) await base.Take_skip_null_coalesce_operator(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT DISTINCT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] @@ -2548,7 +2901,8 @@ ORDER BY COALESCE([c].[Region], N'ZZ') ) AS [t] ORDER BY [t].[c] OFFSET @__p_1 ROWS -) AS [t0]"); +) AS [t0] +"""); } public override async Task Select_take_null_coalesce_operator(bool async) @@ -2565,7 +2919,8 @@ public override async Task Select_take_skip_null_coalesce_operator(bool async) await base.Select_take_skip_null_coalesce_operator(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[CustomerID], [t].[CompanyName], COALESCE([t].[Region], N'ZZ') AS [Region] @@ -2575,7 +2930,8 @@ FROM [Customers] AS [c] ORDER BY COALESCE([c].[Region], N'ZZ') ) AS [t] ORDER BY [t].[c] -OFFSET @__p_1 ROWS"); +OFFSET @__p_1 ROWS +"""); } public override async Task Select_take_skip_null_coalesce_operator2(bool async) @@ -2583,7 +2939,8 @@ public override async Task Select_take_skip_null_coalesce_operator2(bool async) await base.Select_take_skip_null_coalesce_operator2(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[CustomerID], [t].[CompanyName], [t].[Region] @@ -2593,7 +2950,8 @@ FROM [Customers] AS [c] ORDER BY COALESCE([c].[Region], N'ZZ') ) AS [t] ORDER BY [t].[c] -OFFSET @__p_1 ROWS"); +OFFSET @__p_1 ROWS +"""); } public override async Task Select_take_skip_null_coalesce_operator3(bool async) @@ -2601,7 +2959,8 @@ public override async Task Select_take_skip_null_coalesce_operator3(bool async) await base.Select_take_skip_null_coalesce_operator3(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] @@ -2611,7 +2970,8 @@ FROM [Customers] AS [c] ORDER BY COALESCE([c].[Region], N'ZZ') ) AS [t] ORDER BY [t].[c] -OFFSET @__p_1 ROWS"); +OFFSET @__p_1 ROWS +"""); } public override async Task Selected_column_can_coalesce(bool async) @@ -2619,9 +2979,11 @@ public override async Task Selected_column_can_coalesce(bool async) await base.Selected_column_can_coalesce(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY COALESCE([c].[Region], N'ZZ')"); +ORDER BY COALESCE([c].[Region], N'ZZ') +"""); } public override async Task DateTime_parse_is_inlined(bool async) @@ -2629,9 +2991,11 @@ public override async Task DateTime_parse_is_inlined(bool async) await base.DateTime_parse_is_inlined(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] > '1998-01-01T12:00:00.000'"); +WHERE [o].[OrderDate] > '1998-01-01T12:00:00.000' +"""); } public override async Task DateTime_parse_is_parameterized_when_from_closure(bool async) @@ -2639,11 +3003,13 @@ public override async Task DateTime_parse_is_parameterized_when_from_closure(boo await base.DateTime_parse_is_parameterized_when_from_closure(async); AssertSql( - @"@__Parse_0='1998-01-01T12:00:00.0000000' (Nullable = true) (DbType = DateTime) +""" +@__Parse_0='1998-01-01T12:00:00.0000000' (Nullable = true) (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] > @__Parse_0"); +WHERE [o].[OrderDate] > @__Parse_0 +"""); } public override async Task New_DateTime_is_inlined(bool async) @@ -2651,9 +3017,11 @@ public override async Task New_DateTime_is_inlined(bool async) await base.New_DateTime_is_inlined(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] > '1998-01-01T12:00:00.000'"); +WHERE [o].[OrderDate] > '1998-01-01T12:00:00.000' +"""); } public override async Task New_DateTime_is_parameterized_when_from_closure(bool async) @@ -2661,17 +3029,21 @@ public override async Task New_DateTime_is_parameterized_when_from_closure(bool await base.New_DateTime_is_parameterized_when_from_closure(async); AssertSql( - @"@__p_0='1998-01-01T12:00:00.0000000' (Nullable = true) (DbType = DateTime) +""" +@__p_0='1998-01-01T12:00:00.0000000' (Nullable = true) (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] > @__p_0", +WHERE [o].[OrderDate] > @__p_0 +""", // - @"@__p_0='1998-01-01T11:00:00.0000000' (Nullable = true) (DbType = DateTime) +""" +@__p_0='1998-01-01T11:00:00.0000000' (Nullable = true) (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] > @__p_0"); +WHERE [o].[OrderDate] > @__p_0 +"""); } public override async Task Environment_newline_is_funcletized(bool async) @@ -2679,12 +3051,14 @@ public override async Task Environment_newline_is_funcletized(bool async) await base.Environment_newline_is_funcletized(async); AssertSql( - @"@__NewLine_0=' +""" +@__NewLine_0=' ' (Size = 5) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE (@__NewLine_0 LIKE N'') OR CHARINDEX(@__NewLine_0, [c].[CustomerID]) > 0"); +WHERE (@__NewLine_0 LIKE N'') OR CHARINDEX(@__NewLine_0, [c].[CustomerID]) > 0 +"""); } public override async Task Concat_string_int(bool async) @@ -2692,8 +3066,10 @@ public override async Task Concat_string_int(bool async) await base.Concat_string_int(async); AssertSql( - @"SELECT CAST([o].[OrderID] AS nchar(5)) + COALESCE([o].[CustomerID], N'') -FROM [Orders] AS [o]"); +""" +SELECT CAST([o].[OrderID] AS nchar(5)) + COALESCE([o].[CustomerID], N'') +FROM [Orders] AS [o] +"""); } public override async Task Concat_int_string(bool async) @@ -2701,8 +3077,10 @@ public override async Task Concat_int_string(bool async) await base.Concat_int_string(async); AssertSql( - @"SELECT COALESCE([o].[CustomerID], N'') + CAST([o].[OrderID] AS nchar(5)) -FROM [Orders] AS [o]"); +""" +SELECT COALESCE([o].[CustomerID], N'') + CAST([o].[OrderID] AS nchar(5)) +FROM [Orders] AS [o] +"""); } public override async Task Concat_parameter_string_int(bool async) @@ -2710,10 +3088,12 @@ public override async Task Concat_parameter_string_int(bool async) await base.Concat_parameter_string_int(async); AssertSql( - @"@__parameter_0='-' (Size = 4000) +""" +@__parameter_0='-' (Size = 4000) SELECT @__parameter_0 + CAST([o].[OrderID] AS nvarchar(max)) -FROM [Orders] AS [o]"); +FROM [Orders] AS [o] +"""); } public override async Task Concat_constant_string_int(bool async) @@ -2721,8 +3101,10 @@ public override async Task Concat_constant_string_int(bool async) await base.Concat_constant_string_int(async); AssertSql( - @"SELECT N'-' + CAST([o].[OrderID] AS nvarchar(max)) -FROM [Orders] AS [o]"); +""" +SELECT N'-' + CAST([o].[OrderID] AS nvarchar(max)) +FROM [Orders] AS [o] +"""); } public override async Task String_concat_with_navigation1(bool async) @@ -2730,9 +3112,11 @@ public override async Task String_concat_with_navigation1(bool async) await base.String_concat_with_navigation1(async); AssertSql( - @"SELECT (COALESCE([o].[CustomerID], N'') + N' ') + COALESCE([c].[City], N'') +""" +SELECT (COALESCE([o].[CustomerID], N'') + N' ') + COALESCE([c].[City], N'') FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task String_concat_with_navigation2(bool async) @@ -2740,9 +3124,11 @@ public override async Task String_concat_with_navigation2(bool async) await base.String_concat_with_navigation2(async); AssertSql( - @"SELECT (COALESCE([c].[City], N'') + N' ') + COALESCE([c].[City], N'') +""" +SELECT (COALESCE([c].[City], N'') + N' ') + COALESCE([c].[City], N'') FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Select_bitwise_or(bool async) @@ -2750,7 +3136,8 @@ public override async Task Select_bitwise_or(bool async) await base.Select_bitwise_or(async); AssertSql( - @"SELECT [c].[CustomerID], CASE +""" +SELECT [c].[CustomerID], CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END | CASE @@ -2758,7 +3145,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [Value] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_bitwise_or_multiple(bool async) @@ -2766,7 +3154,8 @@ public override async Task Select_bitwise_or_multiple(bool async) await base.Select_bitwise_or_multiple(async); AssertSql( - @"SELECT [c].[CustomerID], (CASE +""" +SELECT [c].[CustomerID], (CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END | CASE @@ -2777,7 +3166,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [Value] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_bitwise_and(bool async) @@ -2785,7 +3175,8 @@ public override async Task Select_bitwise_and(bool async) await base.Select_bitwise_and(async); AssertSql( - @"SELECT [c].[CustomerID], CASE +""" +SELECT [c].[CustomerID], CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END & CASE @@ -2793,7 +3184,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [Value] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_bitwise_and_or(bool async) @@ -2801,7 +3193,8 @@ public override async Task Select_bitwise_and_or(bool async) await base.Select_bitwise_and_or(async); AssertSql( - @"SELECT [c].[CustomerID], (CASE +""" +SELECT [c].[CustomerID], (CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END & CASE @@ -2812,7 +3205,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [Value] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_bitwise_or_with_logical_or(bool async) @@ -2820,7 +3214,8 @@ public override async Task Where_bitwise_or_with_logical_or(bool async) await base.Where_bitwise_or_with_logical_or(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE (CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) @@ -2828,7 +3223,8 @@ ELSE CAST(0 AS bit) END | CASE WHEN [c].[CustomerID] = N'ANATR' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END) = CAST(1 AS bit) OR [c].[CustomerID] = N'ANTON'"); +END) = CAST(1 AS bit) OR [c].[CustomerID] = N'ANTON' +"""); } public override async Task Where_bitwise_and_with_logical_and(bool async) @@ -2836,7 +3232,8 @@ public override async Task Where_bitwise_and_with_logical_and(bool async) await base.Where_bitwise_and_with_logical_and(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE (CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) @@ -2844,7 +3241,8 @@ ELSE CAST(0 AS bit) END & CASE WHEN [c].[CustomerID] = N'ANATR' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END) = CAST(1 AS bit) AND [c].[CustomerID] = N'ANTON'"); +END) = CAST(1 AS bit) AND [c].[CustomerID] = N'ANTON' +"""); } public override async Task Where_bitwise_or_with_logical_and(bool async) @@ -2852,7 +3250,8 @@ public override async Task Where_bitwise_or_with_logical_and(bool async) await base.Where_bitwise_or_with_logical_and(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE (CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) @@ -2860,7 +3259,8 @@ ELSE CAST(0 AS bit) END | CASE WHEN [c].[CustomerID] = N'ANATR' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END) = CAST(1 AS bit) AND [c].[Country] = N'Germany'"); +END) = CAST(1 AS bit) AND [c].[Country] = N'Germany' +"""); } public override async Task Where_bitwise_and_with_logical_or(bool async) @@ -2868,7 +3268,8 @@ public override async Task Where_bitwise_and_with_logical_or(bool async) await base.Where_bitwise_and_with_logical_or(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE (CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) @@ -2876,7 +3277,8 @@ ELSE CAST(0 AS bit) END & CASE WHEN [c].[CustomerID] = N'ANATR' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END) = CAST(1 AS bit) OR [c].[CustomerID] = N'ANTON'"); +END) = CAST(1 AS bit) OR [c].[CustomerID] = N'ANTON' +"""); } public override async Task Where_bitwise_binary_not(bool async) @@ -2884,11 +3286,13 @@ public override async Task Where_bitwise_binary_not(bool async) await base.Where_bitwise_binary_not(async); AssertSql( - @"@__negatedId_0='-10249' +""" +@__negatedId_0='-10249' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE ~[o].[OrderID] = @__negatedId_0"); +WHERE ~[o].[OrderID] = @__negatedId_0 +"""); } public override async Task Where_bitwise_binary_and(bool async) @@ -2896,9 +3300,11 @@ public override async Task Where_bitwise_binary_and(bool async) await base.Where_bitwise_binary_and(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE ([o].[OrderID] & 10248) = 10248"); +WHERE ([o].[OrderID] & 10248) = 10248 +"""); } public override async Task Where_bitwise_binary_or(bool async) @@ -2906,9 +3312,11 @@ public override async Task Where_bitwise_binary_or(bool async) await base.Where_bitwise_binary_or(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE ([o].[OrderID] | 10248) = 10248"); +WHERE ([o].[OrderID] | 10248) = 10248 +"""); } public override async Task Select_bitwise_or_with_logical_or(bool async) @@ -2916,7 +3324,8 @@ public override async Task Select_bitwise_or_with_logical_or(bool async) await base.Select_bitwise_or_with_logical_or(async); AssertSql( - @"SELECT [c].[CustomerID], CASE +""" +SELECT [c].[CustomerID], CASE WHEN (CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -2927,7 +3336,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [Value] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_bitwise_and_with_logical_and(bool async) @@ -2935,7 +3345,8 @@ public override async Task Select_bitwise_and_with_logical_and(bool async) await base.Select_bitwise_and_with_logical_and(async); AssertSql( - @"SELECT [c].[CustomerID], CASE +""" +SELECT [c].[CustomerID], CASE WHEN (CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -2946,7 +3357,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [Value] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Handle_materialization_properly_when_more_than_two_query_sources_are_involved(bool async) @@ -2954,11 +3366,13 @@ public override async Task Handle_materialization_properly_when_more_than_two_qu await base.Handle_materialization_properly_when_more_than_two_query_sources_are_involved(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] CROSS JOIN [Employees] AS [e] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Parameter_extraction_short_circuits_1(bool async) @@ -2966,16 +3380,20 @@ public override async Task Parameter_extraction_short_circuits_1(bool async) await base.Parameter_extraction_short_circuits_1(async); AssertSql( - @"@__dateFilter_Value_Month_0='7' +""" +@__dateFilter_Value_Month_0='7' @__dateFilter_Value_Year_1='1996' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10400 AND ([o].[OrderDate] IS NOT NULL) AND DATEPART(month, [o].[OrderDate]) = @__dateFilter_Value_Month_0 AND DATEPART(year, [o].[OrderDate]) = @__dateFilter_Value_Year_1", +WHERE [o].[OrderID] < 10400 AND ([o].[OrderDate] IS NOT NULL) AND DATEPART(month, [o].[OrderDate]) = @__dateFilter_Value_Month_0 AND DATEPART(year, [o].[OrderDate]) = @__dateFilter_Value_Year_1 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10400"); +WHERE [o].[OrderID] < 10400 +"""); } public override async Task Parameter_extraction_short_circuits_2(bool async) @@ -2983,16 +3401,20 @@ public override async Task Parameter_extraction_short_circuits_2(bool async) await base.Parameter_extraction_short_circuits_2(async); AssertSql( - @"@__dateFilter_Value_Month_0='7' +""" +@__dateFilter_Value_Month_0='7' @__dateFilter_Value_Year_1='1996' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10400 AND ([o].[OrderDate] IS NOT NULL) AND DATEPART(month, [o].[OrderDate]) = @__dateFilter_Value_Month_0 AND DATEPART(year, [o].[OrderDate]) = @__dateFilter_Value_Year_1", +WHERE [o].[OrderID] < 10400 AND ([o].[OrderDate] IS NOT NULL) AND DATEPART(month, [o].[OrderDate]) = @__dateFilter_Value_Month_0 AND DATEPART(year, [o].[OrderDate]) = @__dateFilter_Value_Year_1 +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Parameter_extraction_short_circuits_3(bool async) @@ -3000,15 +3422,19 @@ public override async Task Parameter_extraction_short_circuits_3(bool async) await base.Parameter_extraction_short_circuits_3(async); AssertSql( - @"@__dateFilter_Value_Month_0='7' +""" +@__dateFilter_Value_Month_0='7' @__dateFilter_Value_Year_1='1996' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10400 OR (([o].[OrderDate] IS NOT NULL) AND DATEPART(month, [o].[OrderDate]) = @__dateFilter_Value_Month_0 AND DATEPART(year, [o].[OrderDate]) = @__dateFilter_Value_Year_1)", +WHERE [o].[OrderID] < 10400 OR (([o].[OrderDate] IS NOT NULL) AND DATEPART(month, [o].[OrderDate]) = @__dateFilter_Value_Month_0 AND DATEPART(year, [o].[OrderDate]) = @__dateFilter_Value_Year_1) +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] -FROM [Orders] AS [o]"); +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +FROM [Orders] AS [o] +"""); } public override async Task Subquery_member_pushdown_does_not_change_original_subquery_model(bool async) @@ -3016,7 +3442,8 @@ public override async Task Subquery_member_pushdown_does_not_change_original_sub await base.Subquery_member_pushdown_does_not_change_original_subquery_model(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[OrderID] AS [OrderId], ( SELECT TOP(1) [c0].[City] @@ -3030,7 +3457,8 @@ ORDER BY [o].[OrderID] ORDER BY ( SELECT TOP(1) [c].[City] FROM [Customers] AS [c] - WHERE [c].[CustomerID] = [t].[CustomerID])"); + WHERE [c].[CustomerID] = [t].[CustomerID]) +"""); } public override async Task Subquery_member_pushdown_does_not_change_original_subquery_model2(bool async) @@ -3038,7 +3466,8 @@ public override async Task Subquery_member_pushdown_does_not_change_original_sub await base.Subquery_member_pushdown_does_not_change_original_subquery_model2(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[OrderID] AS [OrderId], ( SELECT TOP(1) [c0].[City] @@ -3052,7 +3481,8 @@ ORDER BY [o].[OrderID] ORDER BY ( SELECT TOP(1) [c].[City] FROM [Customers] AS [c] - WHERE [c].[CustomerID] = [t].[CustomerID])"); + WHERE [c].[CustomerID] = [t].[CustomerID]) +"""); } public override async Task Query_expression_with_to_string_and_contains(bool async) @@ -3060,9 +3490,11 @@ public override async Task Query_expression_with_to_string_and_contains(bool asy await base.Query_expression_with_to_string_and_contains(async); AssertSql( - @"SELECT [o].[CustomerID] +""" +SELECT [o].[CustomerID] FROM [Orders] AS [o] -WHERE ([o].[OrderDate] IS NOT NULL) AND (CONVERT(varchar(10), [o].[EmployeeID]) LIKE N'%10%')"); +WHERE ([o].[OrderDate] IS NOT NULL) AND (CONVERT(varchar(10), [o].[EmployeeID]) LIKE N'%10%') +"""); } public override async Task Select_expression_long_to_string(bool async) @@ -3070,9 +3502,11 @@ public override async Task Select_expression_long_to_string(bool async) await base.Select_expression_long_to_string(async); AssertSql( - @"SELECT CONVERT(varchar(20), CAST([o].[OrderID] AS bigint)) AS [ShipName] +""" +SELECT CONVERT(varchar(20), CAST([o].[OrderID] AS bigint)) AS [ShipName] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Select_expression_int_to_string(bool async) @@ -3080,9 +3514,11 @@ public override async Task Select_expression_int_to_string(bool async) await base.Select_expression_int_to_string(async); AssertSql( - @"SELECT CONVERT(varchar(11), [o].[OrderID]) AS [ShipName] +""" +SELECT CONVERT(varchar(11), [o].[OrderID]) AS [ShipName] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task ToString_with_formatter_is_evaluated_on_the_client(bool async) @@ -3090,13 +3526,17 @@ public override async Task ToString_with_formatter_is_evaluated_on_the_client(bo await base.ToString_with_formatter_is_evaluated_on_the_client(async); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL", +WHERE [o].[OrderDate] IS NOT NULL +""", // - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Select_expression_other_to_string(bool async) @@ -3104,9 +3544,11 @@ public override async Task Select_expression_other_to_string(bool async) await base.Select_expression_other_to_string(async); AssertSql( - @"SELECT CONVERT(varchar(100), [o].[OrderDate]) AS [ShipName] +""" +SELECT CONVERT(varchar(100), [o].[OrderDate]) AS [ShipName] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Select_expression_date_add_year(bool async) @@ -3114,9 +3556,11 @@ public override async Task Select_expression_date_add_year(bool async) await base.Select_expression_date_add_year(async); AssertSql( - @"SELECT DATEADD(year, CAST(1 AS int), [o].[OrderDate]) AS [OrderDate] +""" +SELECT DATEADD(year, CAST(1 AS int), [o].[OrderDate]) AS [OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Select_expression_datetime_add_month(bool async) @@ -3124,9 +3568,11 @@ public override async Task Select_expression_datetime_add_month(bool async) await base.Select_expression_datetime_add_month(async); AssertSql( - @"SELECT DATEADD(month, CAST(1 AS int), [o].[OrderDate]) AS [OrderDate] +""" +SELECT DATEADD(month, CAST(1 AS int), [o].[OrderDate]) AS [OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Select_expression_datetime_add_hour(bool async) @@ -3134,9 +3580,11 @@ public override async Task Select_expression_datetime_add_hour(bool async) await base.Select_expression_datetime_add_hour(async); AssertSql( - @"SELECT DATEADD(hour, CAST(1.0E0 AS int), [o].[OrderDate]) AS [OrderDate] +""" +SELECT DATEADD(hour, CAST(1.0E0 AS int), [o].[OrderDate]) AS [OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Select_expression_datetime_add_minute(bool async) @@ -3144,9 +3592,11 @@ public override async Task Select_expression_datetime_add_minute(bool async) await base.Select_expression_datetime_add_minute(async); AssertSql( - @"SELECT DATEADD(minute, CAST(1.0E0 AS int), [o].[OrderDate]) AS [OrderDate] +""" +SELECT DATEADD(minute, CAST(1.0E0 AS int), [o].[OrderDate]) AS [OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Select_expression_datetime_add_second(bool async) @@ -3154,9 +3604,11 @@ public override async Task Select_expression_datetime_add_second(bool async) await base.Select_expression_datetime_add_second(async); AssertSql( - @"SELECT DATEADD(second, CAST(1.0E0 AS int), [o].[OrderDate]) AS [OrderDate] +""" +SELECT DATEADD(second, CAST(1.0E0 AS int), [o].[OrderDate]) AS [OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Select_expression_date_add_milliseconds_above_the_range(bool async) @@ -3164,9 +3616,11 @@ public override async Task Select_expression_date_add_milliseconds_above_the_ran await base.Select_expression_date_add_milliseconds_above_the_range(async); AssertSql( - @"SELECT [o].[OrderDate] +""" +SELECT [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Select_expression_date_add_milliseconds_below_the_range(bool async) @@ -3174,9 +3628,11 @@ public override async Task Select_expression_date_add_milliseconds_below_the_ran await base.Select_expression_date_add_milliseconds_below_the_range(async); AssertSql( - @"SELECT [o].[OrderDate] +""" +SELECT [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Select_expression_date_add_milliseconds_large_number_divided(bool async) @@ -3184,11 +3640,13 @@ public override async Task Select_expression_date_add_milliseconds_large_number_ await base.Select_expression_date_add_milliseconds_large_number_divided(async); AssertSql( - @"@__millisecondsPerDay_0='86400000' +""" +@__millisecondsPerDay_0='86400000' SELECT DATEADD(millisecond, CAST(CAST((CAST(DATEPART(millisecond, [o].[OrderDate]) AS bigint) % @__millisecondsPerDay_0) AS float) AS int), DATEADD(day, CAST(CAST((CAST(DATEPART(millisecond, [o].[OrderDate]) AS bigint) / @__millisecondsPerDay_0) AS float) AS int), [o].[OrderDate])) AS [OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Add_minutes_on_constant_value(bool async) @@ -3196,10 +3654,12 @@ public override async Task Add_minutes_on_constant_value(bool async) await base.Add_minutes_on_constant_value(async); AssertSql( - @"SELECT DATEADD(minute, CAST(CAST(([o].[OrderID] % 25) AS float) AS int), '1900-01-01T00:00:00.000') AS [Test] +""" +SELECT DATEADD(minute, CAST(CAST(([o].[OrderID] % 25) AS float) AS int), '1900-01-01T00:00:00.000') AS [Test] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10500 -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_expression_references_are_updated_correctly_with_subquery(bool async) @@ -3207,11 +3667,13 @@ public override async Task Select_expression_references_are_updated_correctly_wi await base.Select_expression_references_are_updated_correctly_with_subquery(async); AssertSql( - @"@__nextYear_0='2017' +""" +@__nextYear_0='2017' SELECT DISTINCT DATEPART(year, [o].[OrderDate]) FROM [Orders] AS [o] -WHERE ([o].[OrderDate] IS NOT NULL) AND DATEPART(year, [o].[OrderDate]) < @__nextYear_0"); +WHERE ([o].[OrderDate] IS NOT NULL) AND DATEPART(year, [o].[OrderDate]) < @__nextYear_0 +"""); } public override async Task DefaultIfEmpty_without_group_join(bool async) @@ -3219,7 +3681,8 @@ public override async Task DefaultIfEmpty_without_group_join(bool async) await base.DefaultIfEmpty_without_group_join(async); AssertSql( - @"SELECT [t].[CustomerID] +""" +SELECT [t].[CustomerID] FROM ( SELECT NULL AS [empty] ) AS [e] @@ -3228,7 +3691,8 @@ SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[City] = N'London' ) AS [t] ON 1 = 1 -WHERE [t].[CustomerID] IS NOT NULL"); +WHERE [t].[CustomerID] IS NOT NULL +"""); } public override async Task DefaultIfEmpty_in_subquery(bool async) @@ -3236,10 +3700,12 @@ public override async Task DefaultIfEmpty_in_subquery(bool async) await base.DefaultIfEmpty_in_subquery(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID] +""" +SELECT [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [o].[OrderID] IS NOT NULL"); +WHERE [o].[OrderID] IS NOT NULL +"""); } public override async Task DefaultIfEmpty_in_subquery_not_correlated(bool async) @@ -3247,7 +3713,8 @@ public override async Task DefaultIfEmpty_in_subquery_not_correlated(bool async) await base.DefaultIfEmpty_in_subquery_not_correlated(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID] +""" +SELECT [c].[CustomerID], [t0].[OrderID] FROM [Customers] AS [c] CROSS JOIN ( SELECT [t].[OrderID] @@ -3259,7 +3726,8 @@ SELECT [o].[OrderID] FROM [Orders] AS [o] WHERE [o].[OrderID] > 15000 ) AS [t] ON 1 = 1 -) AS [t0]"); +) AS [t0] +"""); } public override async Task DefaultIfEmpty_in_subquery_nested(bool async) @@ -3267,7 +3735,8 @@ public override async Task DefaultIfEmpty_in_subquery_nested(bool async) await base.DefaultIfEmpty_in_subquery_nested(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [t0].[OrderID], [o0].[OrderDate] FROM [Customers] AS [c] CROSS JOIN ( SELECT [t].[OrderID] @@ -3282,7 +3751,8 @@ WHERE [o].[OrderID] > 15000 ) AS [t0] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[City] = N'Seattle' AND ([t0].[OrderID] IS NOT NULL) AND ([o0].[OrderID] IS NOT NULL) -ORDER BY [t0].[OrderID], [o0].[OrderDate]"); +ORDER BY [t0].[OrderID], [o0].[OrderDate] +"""); } public override async Task DefaultIfEmpty_in_subquery_nested_filter_order_comparison(bool async) @@ -3290,7 +3760,8 @@ public override async Task DefaultIfEmpty_in_subquery_nested_filter_order_compar await base.DefaultIfEmpty_in_subquery_nested_filter_order_comparison(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID], [t1].[OrderDate] +""" +SELECT [c].[CustomerID], [t0].[OrderID], [t1].[OrderDate] FROM [Customers] AS [c] CROSS JOIN ( SELECT [t].[OrderID] @@ -3309,7 +3780,8 @@ FROM [Orders] AS [o0] WHERE [o0].[OrderID] <= CAST(LEN([c].[CustomerID]) AS int) ) AS [t1] WHERE [c].[City] = N'Seattle' AND ([t0].[OrderID] IS NOT NULL) AND ([t1].[OrderID] IS NOT NULL) -ORDER BY [t0].[OrderID], [t1].[OrderDate]"); +ORDER BY [t0].[OrderID], [t1].[OrderDate] +"""); } public override async Task OrderBy_skip_take(bool async) @@ -3317,13 +3789,15 @@ public override async Task OrderBy_skip_take(bool async) await base.OrderBy_skip_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='8' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[ContactTitle], [c].[ContactName] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task OrderBy_skip_skip_take(bool async) @@ -3331,7 +3805,8 @@ public override async Task OrderBy_skip_skip_take(bool async) await base.OrderBy_skip_skip_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='8' @__p_2='3' @@ -3343,7 +3818,8 @@ FROM [Customers] AS [c] OFFSET @__p_0 ROWS ) AS [t] ORDER BY [t].[ContactTitle], [t].[ContactName] -OFFSET @__p_1 ROWS FETCH NEXT @__p_2 ROWS ONLY"); +OFFSET @__p_1 ROWS FETCH NEXT @__p_2 ROWS ONLY +"""); } public override async Task OrderBy_skip_take_take(bool async) @@ -3351,7 +3827,8 @@ public override async Task OrderBy_skip_take_take(bool async) await base.OrderBy_skip_take_take(async); AssertSql( - @"@__p_2='3' +""" +@__p_2='3' @__p_0='5' @__p_1='8' @@ -3362,7 +3839,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactTitle], [c].[ContactName] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] -ORDER BY [t].[ContactTitle], [t].[ContactName]"); +ORDER BY [t].[ContactTitle], [t].[ContactName] +"""); } public override async Task OrderBy_skip_take_take_take_take(bool async) @@ -3370,7 +3848,8 @@ public override async Task OrderBy_skip_take_take_take_take(bool async) await base.OrderBy_skip_take_take_take_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_3='8' @__p_2='10' @__p_1='15' @@ -3390,7 +3869,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t0] ORDER BY [t0].[ContactTitle], [t0].[ContactName] ) AS [t1] -ORDER BY [t1].[ContactTitle], [t1].[ContactName]"); +ORDER BY [t1].[ContactTitle], [t1].[ContactName] +"""); } public override async Task OrderBy_skip_take_skip_take_skip(bool async) @@ -3398,7 +3878,8 @@ public override async Task OrderBy_skip_take_skip_take_skip(bool async) await base.OrderBy_skip_take_skip_take_skip(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='15' @__p_2='2' @__p_3='8' @@ -3416,7 +3897,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY OFFSET @__p_2 ROWS FETCH NEXT @__p_3 ROWS ONLY ) AS [t0] ORDER BY [t0].[ContactTitle], [t0].[ContactName] -OFFSET @__p_0 ROWS"); +OFFSET @__p_0 ROWS +"""); } public override async Task OrderBy_skip_take_distinct(bool async) @@ -3424,7 +3906,8 @@ public override async Task OrderBy_skip_take_distinct(bool async) await base.OrderBy_skip_take_distinct(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='15' SELECT DISTINCT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] @@ -3433,7 +3916,8 @@ public override async Task OrderBy_skip_take_distinct(bool async) FROM [Customers] AS [c] ORDER BY [c].[ContactTitle], [c].[ContactName] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY -) AS [t]"); +) AS [t] +"""); } public override async Task OrderBy_coalesce_take_distinct(bool async) @@ -3441,14 +3925,16 @@ public override async Task OrderBy_coalesce_take_distinct(bool async) await base.OrderBy_coalesce_take_distinct(async); AssertSql( - @"@__p_0='15' +""" +@__p_0='15' SELECT DISTINCT [t].[ProductID], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice], [t].[UnitsInStock] FROM ( SELECT TOP(@__p_0) [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] ORDER BY COALESCE([p].[UnitPrice], 0.0) -) AS [t]"); +) AS [t] +"""); } public override async Task OrderBy_coalesce_skip_take_distinct(bool async) @@ -3456,7 +3942,8 @@ public override async Task OrderBy_coalesce_skip_take_distinct(bool async) await base.OrderBy_coalesce_skip_take_distinct(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='15' SELECT DISTINCT [t].[ProductID], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice], [t].[UnitsInStock] @@ -3465,7 +3952,8 @@ public override async Task OrderBy_coalesce_skip_take_distinct(bool async) FROM [Products] AS [p] ORDER BY COALESCE([p].[UnitPrice], 0.0) OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY -) AS [t]"); +) AS [t] +"""); } public override async Task OrderBy_coalesce_skip_take_distinct_take(bool async) @@ -3473,7 +3961,8 @@ public override async Task OrderBy_coalesce_skip_take_distinct_take(bool async) await base.OrderBy_coalesce_skip_take_distinct_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='15' SELECT DISTINCT TOP(@__p_0) [t].[ProductID], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice], [t].[UnitsInStock] @@ -3482,7 +3971,8 @@ SELECT DISTINCT TOP(@__p_0) [t].[ProductID], [t].[Discontinued], [t].[ProductNam FROM [Products] AS [p] ORDER BY COALESCE([p].[UnitPrice], 0.0) OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY -) AS [t]"); +) AS [t] +"""); } public override async Task OrderBy_skip_take_distinct_orderby_take(bool async) @@ -3490,7 +3980,8 @@ public override async Task OrderBy_skip_take_distinct_orderby_take(bool async) await base.OrderBy_skip_take_distinct_orderby_take(async); AssertSql( - @"@__p_2='8' +""" +@__p_2='8' @__p_0='5' @__p_1='15' @@ -3504,7 +3995,8 @@ FROM [Customers] AS [c] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] ) AS [t0] -ORDER BY [t0].[ContactTitle]"); +ORDER BY [t0].[ContactTitle] +"""); } public override async Task No_orderby_added_for_fully_translated_manually_constructed_LOJ(bool async) @@ -3512,9 +4004,11 @@ public override async Task No_orderby_added_for_fully_translated_manually_constr await base.No_orderby_added_for_fully_translated_manually_constructed_LOJ(async); AssertSql( - @"SELECT [e].[City] AS [City1], [e0].[City] AS [City2] +""" +SELECT [e].[City] AS [City1], [e0].[City] AS [City2] FROM [Employees] AS [e] -LEFT JOIN [Employees] AS [e0] ON [e].[EmployeeID] = [e0].[ReportsTo]"); +LEFT JOIN [Employees] AS [e0] ON [e].[EmployeeID] = [e0].[ReportsTo] +"""); } public override async Task No_orderby_added_for_client_side_GroupJoin_dependent_to_principal_LOJ(bool async) @@ -3552,13 +4046,17 @@ public override async Task Contains_with_DateTime_Date(bool async) await base.Contains_with_DateTime_Date(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE CONVERT(date, [o].[OrderDate]) IN ('1996-07-04T00:00:00.000', '1996-07-16T00:00:00.000')", +WHERE CONVERT(date, [o].[OrderDate]) IN ('1996-07-04T00:00:00.000', '1996-07-16T00:00:00.000') +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE CONVERT(date, [o].[OrderDate]) = '1996-07-04T00:00:00.000'"); +WHERE CONVERT(date, [o].[OrderDate]) = '1996-07-04T00:00:00.000' +"""); } public override async Task Contains_with_subquery_involving_join_binds_to_correct_table(bool async) @@ -3566,13 +4064,15 @@ public override async Task Contains_with_subquery_involving_join_binds_to_correc await base.Contains_with_subquery_involving_join_binds_to_correct_table(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] > 11000 AND EXISTS ( SELECT 1 FROM [Order Details] AS [o0] INNER JOIN [Products] AS [p] ON [o0].[ProductID] = [p].[ProductID] - WHERE [p].[ProductName] = N'Chai' AND [o0].[OrderID] = [o].[OrderID])"); + WHERE [p].[ProductName] = N'Chai' AND [o0].[OrderID] = [o].[OrderID]) +"""); } public override async Task Complex_query_with_repeated_query_model_compiles_correctly(bool async) @@ -3580,14 +4080,16 @@ public override async Task Complex_query_with_repeated_query_model_compiles_corr await base.Complex_query_with_repeated_query_model_compiles_correctly(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' AND EXISTS ( SELECT 1 FROM [Customers] AS [c0] WHERE EXISTS ( SELECT 1 - FROM [Customers] AS [c1]))"); + FROM [Customers] AS [c1])) +"""); } public override async Task Complex_query_with_repeated_nested_query_model_compiles_correctly(bool async) @@ -3595,7 +4097,8 @@ public override async Task Complex_query_with_repeated_nested_query_model_compil await base.Complex_query_with_repeated_nested_query_model_compiles_correctly(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' AND EXISTS ( SELECT 1 @@ -3609,7 +4112,8 @@ SELECT DISTINCT 1 SELECT TOP(10) [c2].[CustomerID], [c2].[Address], [c2].[City], [c2].[CompanyName], [c2].[ContactName], [c2].[ContactTitle], [c2].[Country], [c2].[Fax], [c2].[Phone], [c2].[PostalCode], [c2].[Region] FROM [Customers] AS [c2] ORDER BY [c2].[CustomerID] - ) AS [t])))"); + ) AS [t]))) +"""); } public override async Task Anonymous_member_distinct_where(bool async) @@ -3617,9 +4121,11 @@ public override async Task Anonymous_member_distinct_where(bool async) await base.Anonymous_member_distinct_where(async); AssertSql( - @"SELECT DISTINCT [c].[CustomerID] +""" +SELECT DISTINCT [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Anonymous_member_distinct_orderby(bool async) @@ -3627,12 +4133,14 @@ public override async Task Anonymous_member_distinct_orderby(bool async) await base.Anonymous_member_distinct_orderby(async); AssertSql( - @"SELECT [t].[CustomerID] +""" +SELECT [t].[CustomerID] FROM ( SELECT DISTINCT [c].[CustomerID] FROM [Customers] AS [c] ) AS [t] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Anonymous_member_distinct_result(bool async) @@ -3640,12 +4148,14 @@ public override async Task Anonymous_member_distinct_result(bool async) await base.Anonymous_member_distinct_result(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT DISTINCT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -) AS [t]"); +) AS [t] +"""); } public override async Task Anonymous_complex_distinct_where(bool async) @@ -3653,9 +4163,11 @@ public override async Task Anonymous_complex_distinct_where(bool async) await base.Anonymous_complex_distinct_where(async); AssertSql( - @"SELECT DISTINCT [c].[CustomerID] + COALESCE([c].[City], N'') AS [A] +""" +SELECT DISTINCT [c].[CustomerID] + COALESCE([c].[City], N'') AS [A] FROM [Customers] AS [c] -WHERE ([c].[CustomerID] + COALESCE([c].[City], N'')) = N'ALFKIBerlin'"); +WHERE ([c].[CustomerID] + COALESCE([c].[City], N'')) = N'ALFKIBerlin' +"""); } public override async Task Anonymous_complex_distinct_orderby(bool async) @@ -3663,12 +4175,14 @@ public override async Task Anonymous_complex_distinct_orderby(bool async) await base.Anonymous_complex_distinct_orderby(async); AssertSql( - @"SELECT [t].[A] +""" +SELECT [t].[A] FROM ( SELECT DISTINCT [c].[CustomerID] + COALESCE([c].[City], N'') AS [A] FROM [Customers] AS [c] ) AS [t] -ORDER BY [t].[A]"); +ORDER BY [t].[A] +"""); } public override async Task Anonymous_complex_distinct_result(bool async) @@ -3676,12 +4190,14 @@ public override async Task Anonymous_complex_distinct_result(bool async) await base.Anonymous_complex_distinct_result(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT DISTINCT [c].[CustomerID] + COALESCE([c].[City], N'') AS [A] FROM [Customers] AS [c] WHERE [c].[CustomerID] + COALESCE([c].[City], N'') LIKE N'A%' -) AS [t]"); +) AS [t] +"""); } public override async Task Anonymous_complex_orderby(bool async) @@ -3689,9 +4205,11 @@ public override async Task Anonymous_complex_orderby(bool async) await base.Anonymous_complex_orderby(async); AssertSql( - @"SELECT [c].[CustomerID] + COALESCE([c].[City], N'') AS [A] +""" +SELECT [c].[CustomerID] + COALESCE([c].[City], N'') AS [A] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID] + COALESCE([c].[City], N'')"); +ORDER BY [c].[CustomerID] + COALESCE([c].[City], N'') +"""); } public override async Task Anonymous_subquery_orderby(bool async) @@ -3699,7 +4217,8 @@ public override async Task Anonymous_subquery_orderby(bool async) await base.Anonymous_subquery_orderby(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [o1].[OrderDate] FROM [Orders] AS [o1] WHERE [c].[CustomerID] = [o1].[CustomerID] @@ -3713,7 +4232,8 @@ ORDER BY ( SELECT TOP(1) [o0].[OrderDate] FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID] - ORDER BY [o0].[OrderID] DESC)"); + ORDER BY [o0].[OrderID] DESC) +"""); } public override async Task DTO_member_distinct_where(bool async) @@ -3721,9 +4241,11 @@ public override async Task DTO_member_distinct_where(bool async) await base.DTO_member_distinct_where(async); AssertSql( - @"SELECT DISTINCT [c].[CustomerID] AS [Property] +""" +SELECT DISTINCT [c].[CustomerID] AS [Property] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task DTO_member_distinct_orderby(bool async) @@ -3731,12 +4253,14 @@ public override async Task DTO_member_distinct_orderby(bool async) await base.DTO_member_distinct_orderby(async); AssertSql( - @"SELECT [t].[Property] +""" +SELECT [t].[Property] FROM ( SELECT DISTINCT [c].[CustomerID] AS [Property] FROM [Customers] AS [c] ) AS [t] -ORDER BY [t].[Property]"); +ORDER BY [t].[Property] +"""); } public override async Task DTO_member_distinct_result(bool async) @@ -3744,12 +4268,14 @@ public override async Task DTO_member_distinct_result(bool async) await base.DTO_member_distinct_result(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT DISTINCT [c].[CustomerID] AS [Property] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -) AS [t]"); +) AS [t] +"""); } public override async Task DTO_complex_distinct_where(bool async) @@ -3757,9 +4283,11 @@ public override async Task DTO_complex_distinct_where(bool async) await base.DTO_complex_distinct_where(async); AssertSql( - @"SELECT DISTINCT [c].[CustomerID] + COALESCE([c].[City], N'') AS [Property] +""" +SELECT DISTINCT [c].[CustomerID] + COALESCE([c].[City], N'') AS [Property] FROM [Customers] AS [c] -WHERE ([c].[CustomerID] + COALESCE([c].[City], N'')) = N'ALFKIBerlin'"); +WHERE ([c].[CustomerID] + COALESCE([c].[City], N'')) = N'ALFKIBerlin' +"""); } public override async Task DTO_complex_distinct_orderby(bool async) @@ -3767,12 +4295,14 @@ public override async Task DTO_complex_distinct_orderby(bool async) await base.DTO_complex_distinct_orderby(async); AssertSql( - @"SELECT [t].[Property] +""" +SELECT [t].[Property] FROM ( SELECT DISTINCT [c].[CustomerID] + COALESCE([c].[City], N'') AS [Property] FROM [Customers] AS [c] ) AS [t] -ORDER BY [t].[Property]"); +ORDER BY [t].[Property] +"""); } public override async Task DTO_complex_distinct_result(bool async) @@ -3780,12 +4310,14 @@ public override async Task DTO_complex_distinct_result(bool async) await base.DTO_complex_distinct_result(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT DISTINCT [c].[CustomerID] + COALESCE([c].[City], N'') AS [Property] FROM [Customers] AS [c] WHERE [c].[CustomerID] + COALESCE([c].[City], N'') LIKE N'A%' -) AS [t]"); +) AS [t] +"""); } public override async Task DTO_complex_orderby(bool async) @@ -3801,7 +4333,8 @@ public override async Task DTO_subquery_orderby(bool async) await base.DTO_subquery_orderby(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [o1].[OrderDate] FROM [Orders] AS [o1] WHERE [c].[CustomerID] = [o1].[CustomerID] @@ -3815,7 +4348,8 @@ ORDER BY ( SELECT TOP(1) [o0].[OrderDate] FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID] - ORDER BY [o0].[OrderID] DESC)"); + ORDER BY [o0].[OrderID] DESC) +"""); } public override async Task Include_with_orderby_skip_preserves_ordering(bool async) @@ -3823,7 +4357,8 @@ public override async Task Include_with_orderby_skip_preserves_ordering(bool asy await base.Include_with_orderby_skip_preserves_ordering(async); AssertSql( - @"@__p_0='40' +""" +@__p_0='40' @__p_1='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -3835,7 +4370,8 @@ WHERE [c].[CustomerID] NOT IN (N'VAFFE', N'DRACD') OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[City], [t].[CustomerID]"); +ORDER BY [t].[City], [t].[CustomerID] +"""); } public override async Task Int16_parameter_can_be_used_for_int_column(bool async) @@ -3843,9 +4379,11 @@ public override async Task Int16_parameter_can_be_used_for_int_column(bool async await base.Int16_parameter_can_be_used_for_int_column(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] = 10300"); +WHERE [o].[OrderID] = 10300 +"""); } public override async Task Subquery_is_null_translated_correctly(bool async) @@ -3853,13 +4391,15 @@ public override async Task Subquery_is_null_translated_correctly(bool async) await base.Subquery_is_null_translated_correctly(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ( SELECT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderID] DESC) IS NULL"); + ORDER BY [o].[OrderID] DESC) IS NULL +"""); } public override async Task Subquery_is_not_null_translated_correctly(bool async) @@ -3867,13 +4407,15 @@ public override async Task Subquery_is_not_null_translated_correctly(bool async) await base.Subquery_is_not_null_translated_correctly(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ( SELECT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderID] DESC) IS NOT NULL"); + ORDER BY [o].[OrderID] DESC) IS NOT NULL +"""); } public override async Task Select_take_average(bool async) @@ -3881,14 +4423,16 @@ public override async Task Select_take_average(bool async) await base.Select_take_average(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT AVG(CAST([t].[OrderID] AS float)) FROM ( SELECT TOP(@__p_0) [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_take_count(bool async) @@ -3896,13 +4440,15 @@ public override async Task Select_take_count(bool async) await base.Select_take_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT(*) FROM ( SELECT TOP(@__p_0) [c].[CustomerID] FROM [Customers] AS [c] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_orderBy_take_count(bool async) @@ -3910,14 +4456,16 @@ public override async Task Select_orderBy_take_count(bool async) await base.Select_orderBy_take_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT(*) FROM ( SELECT TOP(@__p_0) [c].[CustomerID], [c].[Country] FROM [Customers] AS [c] ORDER BY [c].[Country] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_take_long_count(bool async) @@ -3925,13 +4473,15 @@ public override async Task Select_take_long_count(bool async) await base.Select_take_long_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT_BIG(*) FROM ( SELECT TOP(@__p_0) [c].[CustomerID] FROM [Customers] AS [c] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_orderBy_take_long_count(bool async) @@ -3939,14 +4489,16 @@ public override async Task Select_orderBy_take_long_count(bool async) await base.Select_orderBy_take_long_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT_BIG(*) FROM ( SELECT TOP(@__p_0) [c].[CustomerID], [c].[Country] FROM [Customers] AS [c] ORDER BY [c].[Country] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_take_max(bool async) @@ -3954,14 +4506,16 @@ public override async Task Select_take_max(bool async) await base.Select_take_max(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT MAX([t].[OrderID]) FROM ( SELECT TOP(@__p_0) [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_take_min(bool async) @@ -3969,14 +4523,16 @@ public override async Task Select_take_min(bool async) await base.Select_take_min(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT MIN([t].[OrderID]) FROM ( SELECT TOP(@__p_0) [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_take_sum(bool async) @@ -3984,14 +4540,16 @@ public override async Task Select_take_sum(bool async) await base.Select_take_sum(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT COALESCE(SUM([t].[OrderID]), 0) FROM ( SELECT TOP(@__p_0) [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_skip_average(bool async) @@ -3999,7 +4557,8 @@ public override async Task Select_skip_average(bool async) await base.Select_skip_average(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT AVG(CAST([t].[OrderID] AS float)) FROM ( @@ -4007,7 +4566,8 @@ SELECT [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS -) AS [t]"); +) AS [t] +"""); } public override async Task Select_skip_count(bool async) @@ -4015,7 +4575,8 @@ public override async Task Select_skip_count(bool async) await base.Select_skip_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT(*) FROM ( @@ -4023,7 +4584,8 @@ SELECT [c].[CustomerID] FROM [Customers] AS [c] ORDER BY (SELECT 1) OFFSET @__p_0 ROWS -) AS [t]"); +) AS [t] +"""); } public override async Task Select_orderBy_skip_count(bool async) @@ -4031,7 +4593,8 @@ public override async Task Select_orderBy_skip_count(bool async) await base.Select_orderBy_skip_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT(*) FROM ( @@ -4039,7 +4602,8 @@ SELECT COUNT(*) FROM [Customers] AS [c] ORDER BY [c].[Country] OFFSET @__p_0 ROWS -) AS [t]"); +) AS [t] +"""); } public override async Task Select_skip_long_count(bool async) @@ -4047,7 +4611,8 @@ public override async Task Select_skip_long_count(bool async) await base.Select_skip_long_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT_BIG(*) FROM ( @@ -4055,7 +4620,8 @@ SELECT [c].[CustomerID] FROM [Customers] AS [c] ORDER BY (SELECT 1) OFFSET @__p_0 ROWS -) AS [t]"); +) AS [t] +"""); } public override async Task Select_orderBy_skip_long_count(bool async) @@ -4063,7 +4629,8 @@ public override async Task Select_orderBy_skip_long_count(bool async) await base.Select_orderBy_skip_long_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT_BIG(*) FROM ( @@ -4071,7 +4638,8 @@ SELECT COUNT_BIG(*) FROM [Customers] AS [c] ORDER BY [c].[Country] OFFSET @__p_0 ROWS -) AS [t]"); +) AS [t] +"""); } public override async Task Select_skip_max(bool async) @@ -4079,7 +4647,8 @@ public override async Task Select_skip_max(bool async) await base.Select_skip_max(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT MAX([t].[OrderID]) FROM ( @@ -4087,7 +4656,8 @@ SELECT [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS -) AS [t]"); +) AS [t] +"""); } public override async Task Select_skip_min(bool async) @@ -4095,7 +4665,8 @@ public override async Task Select_skip_min(bool async) await base.Select_skip_min(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT MIN([t].[OrderID]) FROM ( @@ -4103,7 +4674,8 @@ SELECT [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS -) AS [t]"); +) AS [t] +"""); } public override async Task Select_skip_sum(bool async) @@ -4111,7 +4683,8 @@ public override async Task Select_skip_sum(bool async) await base.Select_skip_sum(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT COALESCE(SUM([t].[OrderID]), 0) FROM ( @@ -4119,7 +4692,8 @@ SELECT [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS -) AS [t]"); +) AS [t] +"""); } public override async Task Select_distinct_average(bool async) @@ -4127,11 +4701,13 @@ public override async Task Select_distinct_average(bool async) await base.Select_distinct_average(async); AssertSql( - @"SELECT AVG(CAST([t].[OrderID] AS float)) +""" +SELECT AVG(CAST([t].[OrderID] AS float)) FROM ( SELECT DISTINCT [o].[OrderID] FROM [Orders] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_distinct_count(bool async) @@ -4139,11 +4715,13 @@ public override async Task Select_distinct_count(bool async) await base.Select_distinct_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_distinct_long_count(bool async) @@ -4151,11 +4729,13 @@ public override async Task Select_distinct_long_count(bool async) await base.Select_distinct_long_count(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_distinct_max(bool async) @@ -4163,11 +4743,13 @@ public override async Task Select_distinct_max(bool async) await base.Select_distinct_max(async); AssertSql( - @"SELECT MAX([t].[OrderID]) +""" +SELECT MAX([t].[OrderID]) FROM ( SELECT DISTINCT [o].[OrderID] FROM [Orders] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_distinct_min(bool async) @@ -4175,11 +4757,13 @@ public override async Task Select_distinct_min(bool async) await base.Select_distinct_min(async); AssertSql( - @"SELECT MIN([t].[OrderID]) +""" +SELECT MIN([t].[OrderID]) FROM ( SELECT DISTINCT [o].[OrderID] FROM [Orders] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_distinct_sum(bool async) @@ -4187,11 +4771,13 @@ public override async Task Select_distinct_sum(bool async) await base.Select_distinct_sum(async); AssertSql( - @"SELECT COALESCE(SUM([t].[OrderID]), 0) +""" +SELECT COALESCE(SUM([t].[OrderID]), 0) FROM ( SELECT DISTINCT [o].[OrderID] FROM [Orders] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Comparing_to_fixed_string_parameter(bool async) @@ -4199,12 +4785,14 @@ public override async Task Comparing_to_fixed_string_parameter(bool async) await base.Comparing_to_fixed_string_parameter(async); AssertSql( - @"@__prefix_0='A' (Size = 4000) +""" +@__prefix_0='A' (Size = 4000) @__prefix_0_1='A' (Size = 5) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE @__prefix_0 = N'' OR LEFT([c].[CustomerID], LEN(@__prefix_0_1)) = @__prefix_0"); +WHERE @__prefix_0 = N'' OR LEFT([c].[CustomerID], LEN(@__prefix_0_1)) = @__prefix_0 +"""); } public override async Task Comparing_entities_using_Equals(bool async) @@ -4212,11 +4800,13 @@ public override async Task Comparing_entities_using_Equals(bool async) await base.Comparing_entities_using_Equals(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id1], [c0].[CustomerID] AS [Id2] +""" +SELECT [c].[CustomerID] AS [Id1], [c0].[CustomerID] AS [Id2] FROM [Customers] AS [c] CROSS JOIN [Customers] AS [c0] WHERE ([c].[CustomerID] LIKE N'ALFKI%') AND [c].[CustomerID] = [c0].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Comparing_different_entity_types_using_Equals(bool async) @@ -4224,10 +4814,12 @@ public override async Task Comparing_different_entity_types_using_Equals(bool as await base.Comparing_different_entity_types_using_Equals(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Comparing_entity_to_null_using_Equals(bool async) @@ -4235,10 +4827,12 @@ public override async Task Comparing_entity_to_null_using_Equals(bool async) await base.Comparing_entity_to_null_using_Equals(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Comparing_navigations_using_Equals(bool async) @@ -4246,13 +4840,15 @@ public override async Task Comparing_navigations_using_Equals(bool async) await base.Comparing_navigations_using_Equals(async); AssertSql( - @"SELECT [o].[OrderID] AS [Id1], [o0].[OrderID] AS [Id2] +""" +SELECT [o].[OrderID] AS [Id1], [o0].[OrderID] AS [Id2] FROM [Orders] AS [o] CROSS JOIN [Orders] AS [o0] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [o0].[CustomerID] = [c0].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') AND ([c].[CustomerID] = [c0].[CustomerID] OR (([c].[CustomerID] IS NULL) AND ([c0].[CustomerID] IS NULL))) -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Comparing_navigations_using_static_Equals(bool async) @@ -4260,13 +4856,15 @@ public override async Task Comparing_navigations_using_static_Equals(bool async) await base.Comparing_navigations_using_static_Equals(async); AssertSql( - @"SELECT [o].[OrderID] AS [Id1], [o0].[OrderID] AS [Id2] +""" +SELECT [o].[OrderID] AS [Id1], [o0].[OrderID] AS [Id2] FROM [Orders] AS [o] CROSS JOIN [Orders] AS [o0] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [o0].[CustomerID] = [c0].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') AND ([c].[CustomerID] = [c0].[CustomerID] OR (([c].[CustomerID] IS NULL) AND ([c0].[CustomerID] IS NULL))) -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Comparing_non_matching_entities_using_Equals(bool async) @@ -4274,10 +4872,12 @@ public override async Task Comparing_non_matching_entities_using_Equals(bool asy await base.Comparing_non_matching_entities_using_Equals(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id1], [o].[OrderID] AS [Id2] +""" +SELECT [c].[CustomerID] AS [Id1], [o].[OrderID] AS [Id2] FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Comparing_non_matching_collection_navigations_using_Equals(bool async) @@ -4285,10 +4885,12 @@ public override async Task Comparing_non_matching_collection_navigations_using_E await base.Comparing_non_matching_collection_navigations_using_Equals(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id1], [o].[OrderID] AS [Id2] +""" +SELECT [c].[CustomerID] AS [Id1], [o].[OrderID] AS [Id2] FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Comparing_collection_navigation_to_null(bool async) @@ -4296,9 +4898,11 @@ public override async Task Comparing_collection_navigation_to_null(bool async) await base.Comparing_collection_navigation_to_null(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Comparing_collection_navigation_to_null_complex(bool async) @@ -4306,12 +4910,14 @@ public override async Task Comparing_collection_navigation_to_null_complex(bool await base.Comparing_collection_navigation_to_null_complex(async); AssertSql( - @"SELECT [o].[ProductID], [o].[OrderID] +""" +SELECT [o].[ProductID], [o].[OrderID] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] WHERE [o].[OrderID] < 10250 AND ([c].[CustomerID] IS NOT NULL) -ORDER BY [o].[OrderID], [o].[ProductID]"); +ORDER BY [o].[OrderID], [o].[ProductID] +"""); } public override async Task Compare_collection_navigation_with_itself(bool async) @@ -4319,9 +4925,11 @@ public override async Task Compare_collection_navigation_with_itself(bool async) await base.Compare_collection_navigation_with_itself(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Compare_two_collection_navigations_with_different_query_sources(bool async) @@ -4329,10 +4937,12 @@ public override async Task Compare_two_collection_navigations_with_different_que await base.Compare_two_collection_navigations_with_different_query_sources(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id1], [c0].[CustomerID] AS [Id2] +""" +SELECT [c].[CustomerID] AS [Id1], [c0].[CustomerID] AS [Id2] FROM [Customers] AS [c] CROSS JOIN [Customers] AS [c0] -WHERE [c].[CustomerID] = N'ALFKI' AND [c0].[CustomerID] = N'ALFKI' AND [c].[CustomerID] = [c0].[CustomerID]"); +WHERE [c].[CustomerID] = N'ALFKI' AND [c0].[CustomerID] = N'ALFKI' AND [c].[CustomerID] = [c0].[CustomerID] +"""); } public override async Task Compare_two_collection_navigations_using_equals(bool async) @@ -4340,10 +4950,12 @@ public override async Task Compare_two_collection_navigations_using_equals(bool await base.Compare_two_collection_navigations_using_equals(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id1], [c0].[CustomerID] AS [Id2] +""" +SELECT [c].[CustomerID] AS [Id1], [c0].[CustomerID] AS [Id2] FROM [Customers] AS [c] CROSS JOIN [Customers] AS [c0] -WHERE [c].[CustomerID] = N'ALFKI' AND [c0].[CustomerID] = N'ALFKI' AND [c].[CustomerID] = [c0].[CustomerID]"); +WHERE [c].[CustomerID] = N'ALFKI' AND [c0].[CustomerID] = N'ALFKI' AND [c].[CustomerID] = [c0].[CustomerID] +"""); } public override async Task Compare_two_collection_navigations_with_different_property_chains(bool async) @@ -4351,12 +4963,14 @@ public override async Task Compare_two_collection_navigations_with_different_pro await base.Compare_two_collection_navigations_with_different_property_chains(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id1], [o].[OrderID] AS [Id2] +""" +SELECT [c].[CustomerID] AS [Id1], [o].[OrderID] AS [Id2] FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] LEFT JOIN [Customers] AS [c0] ON [o].[CustomerID] = [c0].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' AND [c].[CustomerID] = [c0].[CustomerID] -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task OrderBy_ThenBy_same_column_different_direction(bool async) @@ -4364,10 +4978,12 @@ public override async Task OrderBy_ThenBy_same_column_different_direction(bool a await base.OrderBy_ThenBy_same_column_different_direction(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task OrderBy_OrderBy_same_column_different_direction(bool async) @@ -4375,10 +4991,12 @@ public override async Task OrderBy_OrderBy_same_column_different_direction(bool await base.OrderBy_OrderBy_same_column_different_direction(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID] DESC"); +ORDER BY [c].[CustomerID] DESC +"""); } public override async Task Complex_nested_query_doesnt_try_binding_to_grandparent_when_parent_returns_complex_result(bool async) @@ -4386,7 +5004,8 @@ public override async Task Complex_nested_query_doesnt_try_binding_to_grandparen await base.Complex_nested_query_doesnt_try_binding_to_grandparent_when_parent_returns_complex_result(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[InnerOrder], [t].[Id], [t].[OrderID] +""" +SELECT [c].[CustomerID], [t].[InnerOrder], [t].[Id], [t].[OrderID] FROM [Customers] AS [c] OUTER APPLY ( SELECT ( @@ -4397,7 +5016,8 @@ FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ) AS [t] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Complex_nested_query_properly_binds_to_grandparent_when_parent_returns_scalar_result(bool async) @@ -4405,7 +5025,8 @@ public override async Task Complex_nested_query_properly_binds_to_grandparent_wh await base.Complex_nested_query_properly_binds_to_grandparent_when_parent_returns_scalar_result(async); AssertSql( - @"SELECT [c].[CustomerID], ( +""" +SELECT [c].[CustomerID], ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND ( @@ -4413,7 +5034,8 @@ SELECT COUNT(*) FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID]) > 0) AS [OuterOrders] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task OrderBy_Dto_projection_skip_take(bool async) @@ -4421,13 +5043,15 @@ public override async Task OrderBy_Dto_projection_skip_take(bool async) await base.OrderBy_Dto_projection_skip_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' SELECT [c].[CustomerID] AS [Id] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task Join_take_count_works(bool async) @@ -4435,7 +5059,8 @@ public override async Task Join_take_count_works(bool async) await base.Join_take_count_works(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT COUNT(*) FROM ( @@ -4447,7 +5072,8 @@ FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] ON [o].[CustomerID] = [t].[CustomerID] WHERE [o].[OrderID] > 690 AND [o].[OrderID] < 710 -) AS [t0]"); +) AS [t0] +"""); } public override async Task OrderBy_empty_list_contains(bool async) @@ -4455,8 +5081,10 @@ public override async Task OrderBy_empty_list_contains(bool async) await base.OrderBy_empty_list_contains(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task OrderBy_empty_list_does_not_contains(bool async) @@ -4464,8 +5092,10 @@ public override async Task OrderBy_empty_list_does_not_contains(bool async) await base.OrderBy_empty_list_does_not_contains(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Manual_expression_tree_typed_null_equality(bool async) @@ -4473,10 +5103,12 @@ public override async Task Manual_expression_tree_typed_null_equality(bool async await base.Manual_expression_tree_typed_null_equality(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Let_subquery_with_multiple_occurrences(bool async) @@ -4484,7 +5116,8 @@ public override async Task Let_subquery_with_multiple_occurrences(bool async) await base.Let_subquery_with_multiple_occurrences(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o1] WHERE [o].[OrderID] = [o1].[OrderID] AND [o1].[Quantity] < CAST(10 AS smallint)) AS [Count] @@ -4492,7 +5125,8 @@ FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 FROM [Order Details] AS [o0] - WHERE [o].[OrderID] = [o0].[OrderID] AND [o0].[Quantity] < CAST(10 AS smallint))"); + WHERE [o].[OrderID] = [o0].[OrderID] AND [o0].[Quantity] < CAST(10 AS smallint)) +"""); } public override async Task Let_entity_equality_to_null(bool async) @@ -4500,7 +5134,8 @@ public override async Task Let_entity_equality_to_null(bool async) await base.Let_entity_equality_to_null(async); AssertSql( - @"SELECT [c].[CustomerID], ( +""" +SELECT [c].[CustomerID], ( SELECT TOP(1) [o0].[OrderDate] FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID] @@ -4509,7 +5144,8 @@ FROM [Customers] AS [c] WHERE ([c].[CustomerID] LIKE N'A%') AND EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task Let_entity_equality_to_other_entity(bool async) @@ -4517,7 +5153,8 @@ public override async Task Let_entity_equality_to_other_entity(bool async) await base.Let_entity_equality_to_other_entity(async); AssertSql( - @"SELECT [c].[CustomerID], ( +""" +SELECT [c].[CustomerID], ( SELECT TOP(1) [o0].[OrderDate] FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID] @@ -4531,7 +5168,8 @@ FROM [Orders] AS [o] SELECT TOP(1) [o].[OrderID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderDate]) IS NULL))"); + ORDER BY [o].[OrderDate]) IS NULL)) +"""); } public override async Task Collection_navigation_equal_to_null_for_subquery(bool async) @@ -4539,12 +5177,14 @@ public override async Task Collection_navigation_equal_to_null_for_subquery(bool await base.Collection_navigation_equal_to_null_for_subquery(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]))"); + WHERE [c].[CustomerID] = [o].[CustomerID])) +"""); } public override async Task Dependent_to_principal_navigation_equal_to_null_for_subquery(bool async) @@ -4552,14 +5192,16 @@ public override async Task Dependent_to_principal_navigation_equal_to_null_for_s await base.Dependent_to_principal_navigation_equal_to_null_for_subquery(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ( SELECT TOP(1) [c0].[CustomerID] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c0] ON [o].[CustomerID] = [c0].[CustomerID] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderID]) IS NULL"); + ORDER BY [o].[OrderID]) IS NULL +"""); } public override async Task Collection_navigation_equality_rewrite_for_subquery(bool async) @@ -4574,12 +5216,14 @@ public override async Task Inner_parameter_in_nested_lambdas_gets_preserved(bool await base.Inner_parameter_in_nested_lambdas_gets_preserved(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ( SELECT COUNT(*) FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID] AND [c].[CustomerID] = [o].[CustomerID]) > 0"); + WHERE [c].[CustomerID] = [o].[CustomerID] AND [c].[CustomerID] = [o].[CustomerID]) > 0 +"""); } public override async Task Convert_to_nullable_on_nullable_value_is_ignored(bool async) @@ -4587,8 +5231,10 @@ public override async Task Convert_to_nullable_on_nullable_value_is_ignored(bool await base.Convert_to_nullable_on_nullable_value_is_ignored(async); AssertSql( - @"SELECT [o].[OrderDate] -FROM [Orders] AS [o]"); +""" +SELECT [o].[OrderDate] +FROM [Orders] AS [o] +"""); } public override async Task Navigation_inside_interpolated_string_is_expanded(bool async) @@ -4596,9 +5242,11 @@ public override async Task Navigation_inside_interpolated_string_is_expanded(boo await base.Navigation_inside_interpolated_string_is_expanded(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task OrderBy_object_type_server_evals(bool async) @@ -4606,14 +5254,16 @@ public override async Task OrderBy_object_type_server_evals(bool async) await base.OrderBy_object_type_server_evals(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='20' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] ORDER BY [o].[OrderID], [o].[OrderDate], [c].[CustomerID], [c].[City] -OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY +"""); } public override async Task AsQueryable_in_query_server_evals(bool async) @@ -4621,7 +5271,8 @@ public override async Task AsQueryable_in_query_server_evals(bool async) await base.AsQueryable_in_query_server_evals(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderDate], [t0].[OrderID] +""" +SELECT [c].[CustomerID], [t0].[OrderDate], [t0].[OrderID] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderDate], [t].[OrderID], [t].[CustomerID] @@ -4632,7 +5283,8 @@ WHERE DATEPART(year, [o].[OrderDate]) = 1998 ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] -ORDER BY [c].[CustomerID], [t0].[CustomerID], [t0].[OrderID]"); +ORDER BY [c].[CustomerID], [t0].[CustomerID], [t0].[OrderID] +"""); } public override async Task Subquery_DefaultIfEmpty_Any(bool async) @@ -4640,7 +5292,8 @@ public override async Task Subquery_DefaultIfEmpty_Any(bool async) await base.Subquery_DefaultIfEmpty_Any(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM ( @@ -4652,7 +5305,8 @@ FROM [Employees] AS [e] WHERE [e].[EmployeeID] = -1 ) AS [t] ON 1 = 1) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Projection_skip_collection_projection(bool async) @@ -4660,7 +5314,8 @@ public override async Task Projection_skip_collection_projection(bool async) await base.Projection_skip_collection_projection(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[OrderID], [o0].[ProductID], [o0].[OrderID] FROM ( @@ -4671,7 +5326,8 @@ ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [o0].[OrderID]"); +ORDER BY [t].[OrderID], [o0].[OrderID] +"""); } public override async Task Projection_take_collection_projection(bool async) @@ -4679,7 +5335,8 @@ public override async Task Projection_take_collection_projection(bool async) await base.Projection_take_collection_projection(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[OrderID], [o0].[ProductID], [o0].[OrderID] FROM ( @@ -4689,7 +5346,8 @@ WHERE [o].[OrderID] < 10300 ORDER BY [o].[OrderID] ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [o0].[OrderID]"); +ORDER BY [t].[OrderID], [o0].[OrderID] +"""); } public override async Task Projection_skip_take_collection_projection(bool async) @@ -4697,7 +5355,8 @@ public override async Task Projection_skip_take_collection_projection(bool async await base.Projection_skip_take_collection_projection(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' SELECT [t].[OrderID], [o0].[ProductID], [o0].[OrderID] @@ -4709,7 +5368,8 @@ ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [o0].[OrderID]"); +ORDER BY [t].[OrderID], [o0].[OrderID] +"""); } public override async Task Projection_skip_projection(bool async) @@ -4717,7 +5377,8 @@ public override async Task Projection_skip_projection(bool async) await base.Projection_skip_projection(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [c].[City] FROM ( @@ -4728,7 +5389,8 @@ ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Projection_take_projection(bool async) @@ -4736,7 +5398,8 @@ public override async Task Projection_take_projection(bool async) await base.Projection_take_projection(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [c].[City] FROM ( @@ -4746,7 +5409,8 @@ WHERE [o].[OrderID] < 10300 ORDER BY [o].[OrderID] ) AS [t] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Projection_skip_take_projection(bool async) @@ -4754,7 +5418,8 @@ public override async Task Projection_skip_take_projection(bool async) await base.Projection_skip_take_projection(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' SELECT [c].[City] @@ -4766,7 +5431,8 @@ ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Collection_projection_skip(bool async) @@ -4774,7 +5440,8 @@ public override async Task Collection_projection_skip(bool async) await base.Collection_projection_skip(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM ( @@ -4785,7 +5452,8 @@ ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [o0].[OrderID]"); +ORDER BY [t].[OrderID], [o0].[OrderID] +"""); } public override async Task Collection_projection_take(bool async) @@ -4793,7 +5461,8 @@ public override async Task Collection_projection_take(bool async) await base.Collection_projection_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM ( @@ -4803,7 +5472,8 @@ WHERE [o].[OrderID] < 10300 ORDER BY [o].[OrderID] ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [o0].[OrderID]"); +ORDER BY [t].[OrderID], [o0].[OrderID] +"""); } public override async Task Collection_projection_skip_take(bool async) @@ -4811,7 +5481,8 @@ public override async Task Collection_projection_skip_take(bool async) await base.Collection_projection_skip_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' @__p_1='10' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] @@ -4823,7 +5494,8 @@ ORDER BY [o].[OrderID] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [o0].[OrderID]"); +ORDER BY [t].[OrderID], [o0].[OrderID] +"""); } public override async Task Anonymous_projection_skip_empty_collection_FirstOrDefault(bool async) @@ -4831,7 +5503,8 @@ public override async Task Anonymous_projection_skip_empty_collection_FirstOrDef await base.Anonymous_projection_skip_empty_collection_FirstOrDefault(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -4848,7 +5521,8 @@ LEFT JOIN ( FROM [Orders] AS [o] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Anonymous_projection_take_empty_collection_FirstOrDefault(bool async) @@ -4856,7 +5530,8 @@ public override async Task Anonymous_projection_take_empty_collection_FirstOrDef await base.Anonymous_projection_take_empty_collection_FirstOrDefault(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -4871,7 +5546,8 @@ LEFT JOIN ( FROM [Orders] AS [o] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Anonymous_projection_skip_take_empty_collection_FirstOrDefault(bool async) @@ -4879,7 +5555,8 @@ public override async Task Anonymous_projection_skip_take_empty_collection_First await base.Anonymous_projection_skip_take_empty_collection_FirstOrDefault(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='1' SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] @@ -4897,7 +5574,8 @@ LEFT JOIN ( FROM [Orders] AS [o] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Checked_context_with_arithmetic_does_not_fail(bool isAsync) @@ -4905,10 +5583,12 @@ public override async Task Checked_context_with_arithmetic_does_not_fail(bool is await base.Checked_context_with_arithmetic_does_not_fail(isAsync); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] WHERE ([o].[Quantity] + CAST(1 AS smallint)) = CAST(5 AS smallint) AND ([o].[Quantity] - CAST(1 AS smallint)) = CAST(3 AS smallint) AND ([o].[Quantity] * CAST(1 AS smallint)) = [o].[Quantity] -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Checked_context_with_case_to_same_nullable_type_does_not_fail(bool isAsync) @@ -4916,8 +5596,10 @@ public override async Task Checked_context_with_case_to_same_nullable_type_does_ await base.Checked_context_with_case_to_same_nullable_type_does_not_fail(isAsync); AssertSql( - @"SELECT MAX([o].[Quantity]) -FROM [Order Details] AS [o]"); +""" +SELECT MAX([o].[Quantity]) +FROM [Order Details] AS [o] +"""); } public override async Task Entity_equality_with_null_coalesce_client_side(bool async) @@ -4925,11 +5607,13 @@ public override async Task Entity_equality_with_null_coalesce_client_side(bool a await base.Entity_equality_with_null_coalesce_client_side(async); AssertSql( - @"@__entity_equality_p_0_CustomerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__entity_equality_p_0_CustomerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__entity_equality_p_0_CustomerID"); +WHERE [c].[CustomerID] = @__entity_equality_p_0_CustomerID +"""); } public override async Task Entity_equality_contains_with_list_of_null(bool async) @@ -4937,9 +5621,11 @@ public override async Task Entity_equality_contains_with_list_of_null(bool async await base.Entity_equality_contains_with_list_of_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task MemberInitExpression_NewExpression_is_funcletized_even_when_bindings_are_not_evaluatable(bool async) @@ -4947,9 +5633,11 @@ public override async Task MemberInitExpression_NewExpression_is_funcletized_eve await base.MemberInitExpression_NewExpression_is_funcletized_even_when_bindings_are_not_evaluatable(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Projecting_collection_split(bool async) @@ -4957,16 +5645,20 @@ public override async Task Projecting_collection_split(bool async) await base.Projecting_collection_split(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Projecting_collection_then_include_split(bool async) @@ -4974,23 +5666,29 @@ public override async Task Projecting_collection_then_include_split(bool async) await base.Projecting_collection_then_include_split(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Single_non_scalar_projection_after_skip_uses_join(bool async) @@ -4998,7 +5696,8 @@ public override async Task Single_non_scalar_projection_after_skip_uses_join(boo await base.Single_non_scalar_projection_after_skip_uses_join(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] @@ -5007,7 +5706,8 @@ LEFT JOIN ( FROM [Orders] AS [o] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 3 -) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID]"); +) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] +"""); } public override async Task Select_distinct_Select_with_client_bindings(bool async) @@ -5015,12 +5715,14 @@ public override async Task Select_distinct_Select_with_client_bindings(bool asyn await base.Select_distinct_Select_with_client_bindings(async); AssertSql( - @"SELECT [t].[c] +""" +SELECT [t].[c] FROM ( SELECT DISTINCT DATEPART(year, [o].[OrderDate]) AS [c] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10000 -) AS [t]"); +) AS [t] +"""); } public override async Task ToList_over_string(bool async) @@ -5028,9 +5730,11 @@ public override async Task ToList_over_string(bool async) await base.ToList_over_string(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task ToArray_over_string(bool async) @@ -5038,9 +5742,11 @@ public override async Task ToArray_over_string(bool async) await base.ToArray_over_string(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task AsEnumerable_over_string(bool async) @@ -5048,9 +5754,11 @@ public override async Task AsEnumerable_over_string(bool async) await base.AsEnumerable_over_string(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Pending_selector_in_cardinality_reducing_method_is_applied_before_expanding_collection_navigation_member( @@ -5059,7 +5767,8 @@ public override async Task Pending_selector_in_cardinality_reducing_method_is_ap await base.Pending_selector_in_cardinality_reducing_method_is_applied_before_expanding_collection_navigation_member(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o] @@ -5083,7 +5792,8 @@ ELSE CAST(0 AS bit) END AS [Complex] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Distinct_followed_by_ordering_on_condition(bool async) @@ -5091,7 +5801,8 @@ public override async Task Distinct_followed_by_ordering_on_condition(bool async await base.Distinct_followed_by_ordering_on_condition(async); AssertSql( - @"@__p_1='5' +""" +@__p_1='5' @__searchTerm_0='c' (Size = 4000) SELECT TOP(@__p_1) [t].[City] @@ -5103,7 +5814,8 @@ WHERE [c].[CustomerID] NOT IN (N'VAFFE', N'DRACD') ORDER BY CASE WHEN @__searchTerm_0 = N'' THEN 0 ELSE CAST(CHARINDEX(@__searchTerm_0, [t].[City]) AS int) - 1 -END, [t].[City]"); +END, [t].[City] +"""); } public override async Task DefaultIfEmpty_Sum_over_collection_navigation(bool async) @@ -5111,7 +5823,8 @@ public override async Task DefaultIfEmpty_Sum_over_collection_navigation(bool as await base.DefaultIfEmpty_Sum_over_collection_navigation(async); AssertSql( - @"SELECT [c].[CustomerID], ( +""" +SELECT [c].[CustomerID], ( SELECT COALESCE(SUM(COALESCE([t].[OrderID], 0)), 0) FROM ( SELECT NULL AS [empty] @@ -5121,7 +5834,8 @@ LEFT JOIN ( FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ) AS [t] ON 1 = 1) AS [Sum] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Entity_equality_on_subquery_with_null_check(bool async) @@ -5129,7 +5843,8 @@ public override async Task Entity_equality_on_subquery_with_null_check(bool asyn await base.Entity_equality_on_subquery_with_null_check(async); AssertSql( - @"SELECT [c].[CustomerID], CASE +""" +SELECT [c].[CustomerID], CASE WHEN NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] @@ -5143,7 +5858,8 @@ SELECT TOP(1) [o1].[OrderDate] FROM [Orders] AS [o1] WHERE [c].[CustomerID] = [o1].[CustomerID] ORDER BY [o1].[OrderID]) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task DefaultIfEmpty_over_empty_collection_followed_by_projecting_constant(bool async) @@ -5151,7 +5867,8 @@ public override async Task DefaultIfEmpty_over_empty_collection_followed_by_proj await base.DefaultIfEmpty_over_empty_collection_followed_by_projecting_constant(async); AssertSql( - @"SELECT TOP(1) N'520' +""" +SELECT TOP(1) N'520' FROM ( SELECT NULL AS [empty] ) AS [e] @@ -5159,7 +5876,8 @@ LEFT JOIN ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE 0 = 1 -) AS [t] ON 1 = 1"); +) AS [t] ON 1 = 1 +"""); } public override async Task FirstOrDefault_with_predicate_nested(bool async) @@ -5167,13 +5885,15 @@ public override async Task FirstOrDefault_with_predicate_nested(bool async) await base.FirstOrDefault_with_predicate_nested(async); AssertSql( - @"SELECT [c].[CustomerID], ( +""" +SELECT [c].[CustomerID], ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [OrderDate] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task First_on_collection_in_projection(bool async) @@ -5181,7 +5901,8 @@ public override async Task First_on_collection_in_projection(bool async) await base.First_on_collection_in_projection(async); AssertSql( - @"SELECT [c].[CustomerID], CASE +""" +SELECT [c].[CustomerID], CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o] @@ -5193,7 +5914,8 @@ ELSE NULL END AS [OrderDate] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task SelectMany_correlated_subquery_hard(bool async) @@ -5201,7 +5923,8 @@ public override async Task SelectMany_correlated_subquery_hard(bool async) await base.SelectMany_correlated_subquery_hard(async); AssertSql( - @"@__p_0='91' +""" +@__p_0='91' SELECT [t0].[City] AS [c1], [t1].[City], [t1].[c1] FROM ( @@ -5220,7 +5943,8 @@ CROSS APPLY ( SELECT TOP(9) [t0].[City], [e0].[EmployeeID] FROM [Employees] AS [e0] WHERE [t1].[City] = [e0].[City] OR (([t1].[City] IS NULL) AND ([e0].[City] IS NULL)) -) AS [t2]"); +) AS [t2] +"""); } public override async Task Skip_0_Take_0_works_when_parameter(bool async) @@ -5228,16 +5952,20 @@ public override async Task Skip_0_Take_0_works_when_parameter(bool async) await base.Skip_0_Take_0_works_when_parameter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] -OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY +"""); } public override async Task Skip_0_Take_0_works_when_constant(bool async) @@ -5245,7 +5973,8 @@ public override async Task Skip_0_Take_0_works_when_constant(bool async) await base.Skip_0_Take_0_works_when_constant(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o] @@ -5254,7 +5983,8 @@ ELSE CAST(0 AS bit) END FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } [ConditionalFact] @@ -5342,14 +6072,16 @@ public override async Task Correlated_collection_with_distinct_without_default_i await base.Correlated_collection_with_distinct_without_default_identifiers_projecting_columns(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[First], [t].[Second] +""" +SELECT [c].[CustomerID], [t].[First], [t].[Second] FROM [Customers] AS [c] OUTER APPLY ( SELECT DISTINCT [o].[OrderID] AS [First], [o].[OrderDate] AS [Second] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ) AS [t] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Correlated_collection_with_distinct_without_default_identifiers_projecting_columns_with_navigation( @@ -5358,7 +6090,8 @@ public override async Task Correlated_collection_with_distinct_without_default_i await base.Correlated_collection_with_distinct_without_default_identifiers_projecting_columns_with_navigation(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[First], [t].[Second], [t].[Third] +""" +SELECT [c].[CustomerID], [t].[First], [t].[Second], [t].[Third] FROM [Customers] AS [c] OUTER APPLY ( SELECT DISTINCT [o].[OrderID] AS [First], [o].[OrderDate] AS [Second], [c0].[City] AS [Third] @@ -5366,7 +6099,8 @@ FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c0] ON [o].[CustomerID] = [c0].[CustomerID] WHERE [c].[CustomerID] = [o].[CustomerID] ) AS [t] -ORDER BY [c].[CustomerID], [t].[First], [t].[Second]"); +ORDER BY [c].[CustomerID], [t].[First], [t].[Second] +"""); } public override async Task Select_nested_collection_with_distinct(bool async) @@ -5374,7 +6108,8 @@ public override async Task Select_nested_collection_with_distinct(bool async) await base.Select_nested_collection_with_distinct(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o] @@ -5387,7 +6122,8 @@ SELECT DISTINCT [o0].[CustomerID] FROM [Orders] AS [o0] ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task SelectMany_primitive_select_subquery(bool async) @@ -5395,32 +6131,40 @@ public override async Task SelectMany_primitive_select_subquery(bool async) await base.SelectMany_primitive_select_subquery(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Employees] AS [e]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"@__Any_0='True' +""" +@__Any_0='True' SELECT @__Any_0 FROM [Employees] AS [e] -CROSS JOIN [Employees] AS [e0]", +CROSS JOIN [Employees] AS [e0] +""", // - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Employees] AS [e]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Employees] AS [e]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Throws_on_concurrent_query_first(bool async) @@ -5428,9 +6172,12 @@ public override async Task Throws_on_concurrent_query_first(bool async) await base.Throws_on_concurrent_query_first(async); AssertSql( - @"SELECT 1", +""" +SELECT 1 +""", // - @" +""" + IF EXISTS (SELECT * FROM [sys].[objects] o @@ -5444,10 +6191,13 @@ FROM [sys].[extended_properties] AS [ep] AND [ep].[name] = N'microsoft_database_tools_support' ) ) -SELECT 1 ELSE SELECT 0", +SELECT 1 ELSE SELECT 0 +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Non_nullable_property_through_optional_navigation(bool async) @@ -5455,8 +6205,10 @@ public override async Task Non_nullable_property_through_optional_navigation(boo await base.Non_nullable_property_through_optional_navigation(async); AssertSql( - @"SELECT CAST(LEN([c].[Region]) AS int) AS [Length] -FROM [Customers] AS [c]"); +""" +SELECT CAST(LEN([c].[Region]) AS int) AS [Length] +FROM [Customers] AS [c] +"""); } public override async Task OrderByDescending(bool async) @@ -5464,9 +6216,11 @@ public override async Task OrderByDescending(bool async) await base.OrderByDescending(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID] DESC"); +ORDER BY [c].[CustomerID] DESC +"""); } public override async Task Take_Distinct(bool async) @@ -5474,14 +6228,16 @@ public override async Task Take_Distinct(bool async) await base.Take_Distinct(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT DISTINCT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM ( SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] ORDER BY [o].[OrderID] -) AS [t]"); +) AS [t] +"""); } public override async Task Perform_identity_resolution_reuses_same_instances(bool async, bool useAsTracking) @@ -5489,15 +6245,19 @@ public override async Task Perform_identity_resolution_reuses_same_instances(boo await base.Perform_identity_resolution_reuses_same_instances(async, useAsTracking); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[OrderID] IN (10643, 10692, 10702, 10835, 10952, 11011)"); +WHERE [o].[OrderID] IN (10643, 10692, 10702, 10835, 10952, 11011) +"""); } public override async Task Context_based_client_method(bool async) @@ -5505,11 +6265,15 @@ public override async Task Context_based_client_method(bool async) await base.Context_based_client_method(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Select_nested_collection_in_anonymous_type(bool async) @@ -5517,7 +6281,8 @@ public override async Task Select_nested_collection_in_anonymous_type(bool async await base.Select_nested_collection_in_anonymous_type(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[OrderID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [t].[OrderID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID] @@ -5525,7 +6290,8 @@ FROM [Orders] AS [o] WHERE DATEPART(year, [o].[OrderDate]) = 1997 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task OrderBy_Select(bool async) @@ -5533,9 +6299,11 @@ public override async Task OrderBy_Select(bool async) await base.OrderBy_Select(async); AssertSql( - @"SELECT [c].[ContactName] +""" +SELECT [c].[ContactName] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task OrderBy_ThenBy_predicate(bool async) @@ -5543,10 +6311,12 @@ public override async Task OrderBy_ThenBy_predicate(bool async) await base.OrderBy_ThenBy_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' -ORDER BY [c].[City], [c].[CustomerID]"); +ORDER BY [c].[City], [c].[CustomerID] +"""); } public override async Task Query_when_evaluatable_queryable_method_call_with_repository(bool async) @@ -5554,26 +6324,32 @@ public override async Task Query_when_evaluatable_queryable_method_call_with_rep await base.Query_when_evaluatable_queryable_method_call_with_repository(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [o].[CustomerID] = [c].[CustomerID])", + WHERE [o].[CustomerID] = [c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [o].[CustomerID] = [c].[CustomerID])", + WHERE [o].[CustomerID] = [c].[CustomerID]) +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [o].[CustomerID] = [c].[CustomerID])"); + WHERE [o].[CustomerID] = [c].[CustomerID]) +"""); } public override async Task Max_on_empty_sequence_throws(bool async) @@ -5581,11 +6357,13 @@ public override async Task Max_on_empty_sequence_throws(bool async) await Assert.ThrowsAsync(() => base.Max_on_empty_sequence_throws(async)); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MAX([o].[OrderID]) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Max] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task OrderBy_Join(bool async) @@ -5593,10 +6371,12 @@ public override async Task OrderBy_Join(bool async) await base.OrderBy_Join(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID] +""" +SELECT [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_Property_shadow_closure(bool async) @@ -5604,17 +6384,21 @@ public override async Task Where_Property_shadow_closure(bool async) await base.Where_Property_shadow_closure(async); AssertSql( - @"@__value_0='Sales Representative' (Size = 4000) +""" +@__value_0='Sales Representative' (Size = 4000) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[Title] = @__value_0", +WHERE [e].[Title] = @__value_0 +""", // - @"@__value_0='Steven' (Size = 4000) +""" +@__value_0='Steven' (Size = 4000) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[FirstName] = @__value_0"); +WHERE [e].[FirstName] = @__value_0 +"""); } public override async Task SelectMany_customer_orders(bool async) @@ -5622,10 +6406,12 @@ public override async Task SelectMany_customer_orders(bool async) await base.SelectMany_customer_orders(async); AssertSql( - @"SELECT [c].[ContactName], [o].[OrderID] +""" +SELECT [c].[ContactName], [o].[OrderID] FROM [Customers] AS [c] CROSS JOIN [Orders] AS [o] -WHERE [c].[CustomerID] = [o].[CustomerID]"); +WHERE [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task Throws_on_concurrent_query_list(bool async) @@ -5633,9 +6419,12 @@ public override async Task Throws_on_concurrent_query_list(bool async) await base.Throws_on_concurrent_query_list(async); AssertSql( - @"SELECT 1", +""" +SELECT 1 +""", // - @" +""" + IF EXISTS (SELECT * FROM [sys].[objects] o @@ -5649,10 +6438,13 @@ FROM [sys].[extended_properties] AS [ep] AND [ep].[name] = N'microsoft_database_tools_support' ) ) -SELECT 1 ELSE SELECT 0", +SELECT 1 ELSE SELECT 0 +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Select_Property_when_shadow(bool async) @@ -5660,8 +6452,10 @@ public override async Task Select_Property_when_shadow(bool async) await base.Select_Property_when_shadow(async); AssertSql( - @"SELECT [e].[Title] -FROM [Employees] AS [e]"); +""" +SELECT [e].[Title] +FROM [Employees] AS [e] +"""); } public override async Task Select_Property_when_non_shadow(bool async) @@ -5669,8 +6463,10 @@ public override async Task Select_Property_when_non_shadow(bool async) await base.Select_Property_when_non_shadow(async); AssertSql( - @"SELECT [o].[OrderID] -FROM [Orders] AS [o]"); +""" +SELECT [o].[OrderID] +FROM [Orders] AS [o] +"""); } public override async Task OrderByDescending_ThenBy(bool async) @@ -5678,9 +6474,11 @@ public override async Task OrderByDescending_ThenBy(bool async) await base.OrderByDescending_ThenBy(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID] DESC, [c].[Country]"); +ORDER BY [c].[CustomerID] DESC, [c].[Country] +"""); } public override async Task SelectMany_correlated_subquery_simple(bool async) @@ -5688,10 +6486,12 @@ public override async Task SelectMany_correlated_subquery_simple(bool async) await base.SelectMany_correlated_subquery_simple(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] INNER JOIN [Employees] AS [e] ON [c].[City] = [e].[City] -ORDER BY [c].[CustomerID], [e].[EmployeeID]"); +ORDER BY [c].[CustomerID], [e].[EmployeeID] +"""); } public override async Task Select_Property_when_shadow_unconstrained_generic_method(bool async) @@ -5699,8 +6499,10 @@ public override async Task Select_Property_when_shadow_unconstrained_generic_met await base.Select_Property_when_shadow_unconstrained_generic_method(async); AssertSql( - @"SELECT [e].[Title] -FROM [Employees] AS [e]"); +""" +SELECT [e].[Title] +FROM [Employees] AS [e] +"""); } public override async Task Where_Property_when_shadow(bool async) @@ -5708,9 +6510,11 @@ public override async Task Where_Property_when_shadow(bool async) await base.Where_Property_when_shadow(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[Title] = N'Sales Representative'"); +WHERE [e].[Title] = N'Sales Representative' +"""); } public override async Task Where_Property_when_shadow_unconstrained_generic_method(bool async) @@ -5718,11 +6522,13 @@ public override async Task Where_Property_when_shadow_unconstrained_generic_meth await base.Where_Property_when_shadow_unconstrained_generic_method(async); AssertSql( - @"@__value_0='Sales Representative' (Size = 4000) +""" +@__value_0='Sales Representative' (Size = 4000) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[Title] = @__value_0"); +WHERE [e].[Title] = @__value_0 +"""); } public override async Task Perform_identity_resolution_reuses_same_instances_across_joins(bool async, bool useAsTracking) @@ -5730,7 +6536,8 @@ public override async Task Perform_identity_resolution_reuses_same_instances_acr await base.Perform_identity_resolution_reuses_same_instances_across_joins(async, useAsTracking); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c] INNER JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -5738,7 +6545,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] < 10500 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [t].[CustomerID] = [c0].[CustomerID] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task OrderBy_scalar_primitive(bool async) @@ -5746,9 +6554,11 @@ public override async Task OrderBy_scalar_primitive(bool async) await base.OrderBy_scalar_primitive(async); AssertSql( - @"SELECT [e].[EmployeeID] +""" +SELECT [e].[EmployeeID] FROM [Employees] AS [e] -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override async Task Where_Property_when_non_shadow(bool async) @@ -5756,9 +6566,11 @@ public override async Task Where_Property_when_non_shadow(bool async) await base.Where_Property_when_non_shadow(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] = 10248"); +WHERE [o].[OrderID] = 10248 +"""); } public override async Task OrderByDescending_ThenByDescending(bool async) @@ -5766,9 +6578,11 @@ public override async Task OrderByDescending_ThenByDescending(bool async) await base.OrderByDescending_ThenByDescending(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID] DESC, [c].[Country] DESC"); +ORDER BY [c].[CustomerID] DESC, [c].[Country] DESC +"""); } public override async Task Load_should_track_results(bool async) @@ -5776,8 +6590,10 @@ public override async Task Load_should_track_results(bool async) await base.Load_should_track_results(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task SelectMany_nested_simple(bool async) @@ -5785,10 +6601,12 @@ public override async Task SelectMany_nested_simple(bool async) await base.SelectMany_nested_simple(async); AssertSql( - @"SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] +""" +SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c] CROSS JOIN [Customers] AS [c0] -ORDER BY [c0].[CustomerID]"); +ORDER BY [c0].[CustomerID] +"""); } public override async Task Null_parameter_name_works(bool async) @@ -5796,9 +6614,11 @@ public override async Task Null_parameter_name_works(bool async) await base.Null_parameter_name_works(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Where_subquery_expression(bool async) @@ -5806,10 +6626,13 @@ public override async Task Where_subquery_expression(bool async) await base.Where_subquery_expression(async); AssertSql( - @"SELECT TOP(1) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] -FROM [Orders] AS [o]", +""" +SELECT TOP(1) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +FROM [Orders] AS [o] +""", // - @"@__firstOrder_OrderID_0='10248' +""" +@__firstOrder_OrderID_0='10248' SELECT CASE WHEN EXISTS ( @@ -5817,15 +6640,19 @@ SELECT 1 FROM [Orders] AS [o] WHERE [o].[OrderID] = @__firstOrder_OrderID_0) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"@__Any_0='True' +""" +@__Any_0='True' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE @__Any_0 = CAST(1 AS bit)", +WHERE @__Any_0 = CAST(1 AS bit) +""", // - @"@__firstOrder_OrderID_0='10248' +""" +@__firstOrder_OrderID_0='10248' SELECT CASE WHEN EXISTS ( @@ -5833,9 +6660,11 @@ SELECT 1 FROM [Orders] AS [o] WHERE [o].[OrderID] = @__firstOrder_OrderID_0) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"@__firstOrder_OrderID_0='10248' +""" +@__firstOrder_OrderID_0='10248' SELECT CASE WHEN EXISTS ( @@ -5843,7 +6672,8 @@ SELECT 1 FROM [Orders] AS [o] WHERE [o].[OrderID] = @__firstOrder_OrderID_0) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Mixed_sync_async_in_query_cache() @@ -5851,11 +6681,15 @@ public override async Task Mixed_sync_async_in_query_cache() await base.Mixed_sync_async_in_query_cache(); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]", +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Select_expression_datetime_add_ticks(bool async) @@ -5863,9 +6697,11 @@ public override async Task Select_expression_datetime_add_ticks(bool async) await base.Select_expression_datetime_add_ticks(async); AssertSql( - @"SELECT [o].[OrderDate] +""" +SELECT [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderDate] IS NOT NULL"); +WHERE [o].[OrderDate] IS NOT NULL +"""); } public override async Task Where_subquery_expression_same_parametername(bool async) @@ -5873,18 +6709,22 @@ public override async Task Where_subquery_expression_same_parametername(bool asy await base.Where_subquery_expression_same_parametername(async); AssertSql( - @"SELECT TOP(1) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT TOP(1) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -ORDER BY [o].[OrderID]", +ORDER BY [o].[OrderID] +""", // - @"@__firstOrder_OrderID_0='10248' +""" +@__firstOrder_OrderID_0='10248' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o0] - WHERE [o0].[OrderID] = @__firstOrder_OrderID_0 AND ([o0].[CustomerID] = [o].[CustomerID] OR (([o0].[CustomerID] IS NULL) AND ([o].[CustomerID] IS NULL))))"); + WHERE [o0].[OrderID] = @__firstOrder_OrderID_0 AND ([o0].[CustomerID] = [o].[CustomerID] OR (([o0].[CustomerID] IS NULL) AND ([o].[CustomerID] IS NULL)))) +"""); } public override async Task Cast_results_to_object(bool async) @@ -5892,8 +6732,10 @@ public override async Task Cast_results_to_object(bool async) await base.Cast_results_to_object(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Select_subquery_recursive_trivial(bool async) @@ -5901,14 +6743,16 @@ public override async Task Select_subquery_recursive_trivial(bool async) await base.Select_subquery_recursive_trivial(async); AssertSql( - @"SELECT [e].[EmployeeID], [t].[EmployeeID], [t].[EmployeeID0], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] +""" +SELECT [e].[EmployeeID], [t].[EmployeeID], [t].[EmployeeID0], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM [Employees] AS [e] OUTER APPLY ( SELECT [e0].[EmployeeID], [e1].[EmployeeID] AS [EmployeeID0], [e1].[City], [e1].[Country], [e1].[FirstName], [e1].[ReportsTo], [e1].[Title] FROM [Employees] AS [e0] OUTER APPLY [Employees] AS [e1] ) AS [t] -ORDER BY [e].[EmployeeID], [t].[EmployeeID], [t].[EmployeeID0]"); +ORDER BY [e].[EmployeeID], [t].[EmployeeID], [t].[EmployeeID0] +"""); } public override async Task SelectMany_primitive(bool async) @@ -5916,9 +6760,11 @@ public override async Task SelectMany_primitive(bool async) await base.SelectMany_primitive(async); AssertSql( - @"SELECT [e0].[EmployeeID] +""" +SELECT [e0].[EmployeeID] FROM [Employees] AS [e] -CROSS JOIN [Employees] AS [e0]"); +CROSS JOIN [Employees] AS [e0] +"""); } public override async Task SelectMany_Joined(bool async) @@ -5926,9 +6772,11 @@ public override async Task SelectMany_Joined(bool async) await base.SelectMany_Joined(async); AssertSql( - @"SELECT [c].[ContactName], [o].[OrderDate] +""" +SELECT [c].[ContactName], [o].[OrderDate] FROM [Customers] AS [c] -INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } // ReSharper disable once RedundantOverriddenMember @@ -5941,9 +6789,11 @@ public override async Task OrderBy_ThenBy(bool async) await base.OrderBy_ThenBy(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID], [c].[Country]"); +ORDER BY [c].[CustomerID], [c].[Country] +"""); } public override async Task Collection_projection_after_DefaultIfEmpty(bool async) @@ -5951,7 +6801,8 @@ public override async Task Collection_projection_after_DefaultIfEmpty(bool async await base.Collection_projection_after_DefaultIfEmpty(async); AssertSql( - @"SELECT [t].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT NULL AS [empty] ) AS [e] @@ -5961,7 +6812,8 @@ FROM [Customers] AS [c] WHERE [c].[City] = N'Seattle' ) AS [t] ON 1 = 1 LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task SelectMany_correlated_simple(bool async) @@ -5969,11 +6821,13 @@ public override async Task SelectMany_correlated_simple(bool async) await base.SelectMany_correlated_simple(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] WHERE [c].[City] = [e].[City] OR (([c].[City] IS NULL) AND ([e].[City] IS NULL)) -ORDER BY [c].[CustomerID], [e].[EmployeeID]"); +ORDER BY [c].[CustomerID], [e].[EmployeeID] +"""); } public override void Query_composition_against_ienumerable_set() @@ -5981,8 +6835,10 @@ public override void Query_composition_against_ienumerable_set() base.Query_composition_against_ienumerable_set(); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] -FROM [Orders] AS [o]"); +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +FROM [Orders] AS [o] +"""); } public override async Task Using_static_string_Equals_with_StringComparison_throws_informative_error(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindNavigationsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindNavigationsQuerySqlServerTest.cs index 08359ac0769..9fe4da58d4e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindNavigationsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindNavigationsQuerySqlServerTest.cs @@ -26,10 +26,12 @@ public override async Task Select_Where_Navigation(bool async) await base.Select_Where_Navigation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] = N'Seattle'"); +WHERE [c].[City] = N'Seattle' +"""); } public override async Task Select_Where_Navigation_Contains(bool async) @@ -37,10 +39,12 @@ public override async Task Select_Where_Navigation_Contains(bool async) await base.Select_Where_Navigation_Contains(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] LIKE N'%Sea%'"); +WHERE [c].[City] LIKE N'%Sea%' +"""); } public override async Task Select_Where_Navigation_Deep(bool async) @@ -48,14 +52,16 @@ public override async Task Select_Where_Navigation_Deep(bool async) await base.Select_Where_Navigation_Deep(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(@__p_0) [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] WHERE [c].[City] = N'Seattle' -ORDER BY [o].[OrderID], [o].[ProductID]"); +ORDER BY [o].[OrderID], [o].[ProductID] +"""); } public override async Task Take_Select_Navigation(bool async) @@ -63,7 +69,8 @@ public override async Task Take_Select_Navigation(bool async) await base.Take_Select_Navigation(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -79,7 +86,8 @@ FROM [Orders] AS [o] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Select_collection_FirstOrDefault_project_single_column1(bool async) @@ -87,7 +95,8 @@ public override async Task Select_collection_FirstOrDefault_project_single_colum await base.Select_collection_FirstOrDefault_project_single_column1(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) ( SELECT TOP(1) [o].[CustomerID] @@ -95,7 +104,8 @@ FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID]) FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_collection_FirstOrDefault_project_single_column2(bool async) @@ -103,7 +113,8 @@ public override async Task Select_collection_FirstOrDefault_project_single_colum await base.Select_collection_FirstOrDefault_project_single_column2(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) ( SELECT TOP(1) [o].[CustomerID] @@ -111,7 +122,8 @@ FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID]) FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_collection_FirstOrDefault_project_anonymous_type(bool async) @@ -119,7 +131,8 @@ public override async Task Select_collection_FirstOrDefault_project_anonymous_ty await base.Select_collection_FirstOrDefault_project_anonymous_type(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t0].[CustomerID], [t0].[OrderID], [t0].[c] FROM ( @@ -136,7 +149,8 @@ FROM [Orders] AS [o] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Select_collection_FirstOrDefault_project_anonymous_type_client_eval(bool async) @@ -144,7 +158,8 @@ public override async Task Select_collection_FirstOrDefault_project_anonymous_ty await base.Select_collection_FirstOrDefault_project_anonymous_type_client_eval(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t0].[CustomerID], [t0].[OrderID], [t0].[c] FROM ( @@ -161,7 +176,8 @@ FROM [Orders] AS [o] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Select_collection_FirstOrDefault_project_entity(bool async) @@ -169,7 +185,8 @@ public override async Task Select_collection_FirstOrDefault_project_entity(bool await base.Select_collection_FirstOrDefault_project_entity(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -185,7 +202,8 @@ FROM [Orders] AS [o] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Skip_Select_Navigation(bool async) @@ -193,7 +211,8 @@ public override async Task Skip_Select_Navigation(bool async) await base.Skip_Select_Navigation(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -210,7 +229,8 @@ FROM [Orders] AS [o] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Select_Where_Navigation_Included(bool async) @@ -218,10 +238,12 @@ public override async Task Select_Where_Navigation_Included(bool async) await base.Select_Where_Navigation_Included(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] = N'Seattle'"); +WHERE [c].[City] = N'Seattle' +"""); } public override async Task Include_with_multiple_optional_navigations(bool async) @@ -229,11 +251,13 @@ public override async Task Include_with_multiple_optional_navigations(bool async await base.Include_with_multiple_optional_navigations(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] = N'London'"); +WHERE [c].[City] = N'London' +"""); } public override async Task Select_Navigation(bool async) @@ -241,9 +265,11 @@ public override async Task Select_Navigation(bool async) await base.Select_Navigation(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Select_Navigations(bool async) @@ -251,9 +277,11 @@ public override async Task Select_Navigations(bool async) await base.Select_Navigations(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Select_Where_Navigation_Multiple_Access(bool async) @@ -261,10 +289,12 @@ public override async Task Select_Where_Navigation_Multiple_Access(bool async) await base.Select_Where_Navigation_Multiple_Access(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] = N'Seattle' AND ([c].[Phone] <> N'555 555 5555' OR ([c].[Phone] IS NULL))"); +WHERE [c].[City] = N'Seattle' AND ([c].[Phone] <> N'555 555 5555' OR ([c].[Phone] IS NULL)) +"""); } public override async Task Select_Navigations_Where_Navigations(bool async) @@ -272,10 +302,12 @@ public override async Task Select_Navigations_Where_Navigations(bool async) await base.Select_Navigations_Where_Navigations(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] = N'Seattle' AND ([c].[Phone] <> N'555 555 5555' OR ([c].[Phone] IS NULL))"); +WHERE [c].[City] = N'Seattle' AND ([c].[Phone] <> N'555 555 5555' OR ([c].[Phone] IS NULL)) +"""); } public override async Task Select_Singleton_Navigation_With_Member_Access(bool async) @@ -283,10 +315,12 @@ public override async Task Select_Singleton_Navigation_With_Member_Access(bool a await base.Select_Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] = N'Seattle' AND ([c].[Phone] <> N'555 555 5555' OR ([c].[Phone] IS NULL))"); +WHERE [c].[City] = N'Seattle' AND ([c].[Phone] <> N'555 555 5555' OR ([c].[Phone] IS NULL)) +"""); } public override async Task Select_count_plus_sum(bool async) @@ -294,14 +328,16 @@ public override async Task Select_count_plus_sum(bool async) await base.Select_count_plus_sum(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COALESCE(SUM(CAST([o0].[Quantity] AS int)), 0) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) + ( SELECT COUNT(*) FROM [Order Details] AS [o1] WHERE [o].[OrderID] = [o1].[OrderID]) AS [Total] -FROM [Orders] AS [o]"); +FROM [Orders] AS [o] +"""); } public override async Task Singleton_Navigation_With_Member_Access(bool async) @@ -309,10 +345,12 @@ public override async Task Singleton_Navigation_With_Member_Access(bool async) await base.Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT [c].[City] AS [B] +""" +SELECT [c].[City] AS [B] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] = N'Seattle' AND ([c].[Phone] <> N'555 555 5555' OR ([c].[Phone] IS NULL))"); +WHERE [c].[City] = N'Seattle' AND ([c].[Phone] <> N'555 555 5555' OR ([c].[Phone] IS NULL)) +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(bool async) @@ -320,7 +358,8 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(async); AssertSql( - @"SELECT [o].[CustomerID], [t].[CustomerID] AS [C2] +""" +SELECT [o].[CustomerID], [t].[CustomerID] AS [C2] FROM [Orders] AS [o] CROSS JOIN ( SELECT [o0].[CustomerID] @@ -329,7 +368,8 @@ WHERE [o0].[OrderID] < 10400 ) AS [t] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [t].[CustomerID] = [c0].[CustomerID] -WHERE [o].[OrderID] < 10300 AND ([c].[City] = [c0].[City] OR (([c].[City] IS NULL) AND ([c0].[City] IS NULL)))"); +WHERE [o].[OrderID] < 10300 AND ([c].[City] = [c0].[City] OR (([c].[City] IS NULL) AND ([c0].[City] IS NULL))) +"""); } public override async Task Select_Where_Navigation_Equals_Navigation(bool async) @@ -337,12 +377,14 @@ public override async Task Select_Where_Navigation_Equals_Navigation(bool async) await base.Select_Where_Navigation_Equals_Navigation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] CROSS JOIN [Orders] AS [o0] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [o0].[CustomerID] = [c0].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') AND ([o0].[CustomerID] IS NOT NULL) AND ([o0].[CustomerID] LIKE N'A%') AND ([c].[CustomerID] = [c0].[CustomerID] OR (([c].[CustomerID] IS NULL) AND ([c0].[CustomerID] IS NULL)))"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') AND ([o0].[CustomerID] IS NOT NULL) AND ([o0].[CustomerID] LIKE N'A%') AND ([c].[CustomerID] = [c0].[CustomerID] OR (([c].[CustomerID] IS NULL) AND ([c0].[CustomerID] IS NULL))) +"""); } public override async Task Select_Where_Navigation_Null(bool async) @@ -350,10 +392,12 @@ public override async Task Select_Where_Navigation_Null(bool async) await base.Select_Where_Navigation_Null(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] -WHERE [e0].[EmployeeID] IS NULL"); +WHERE [e0].[EmployeeID] IS NULL +"""); } public override async Task Select_Where_Navigation_Null_Deep(bool async) @@ -361,11 +405,13 @@ public override async Task Select_Where_Navigation_Null_Deep(bool async) await base.Select_Where_Navigation_Null_Deep(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] LEFT JOIN [Employees] AS [e1] ON [e0].[ReportsTo] = [e1].[EmployeeID] -WHERE [e1].[EmployeeID] IS NULL"); +WHERE [e1].[EmployeeID] IS NULL +"""); } public override async Task Select_Where_Navigation_Null_Reverse(bool async) @@ -373,10 +419,12 @@ public override async Task Select_Where_Navigation_Null_Reverse(bool async) await base.Select_Where_Navigation_Null_Reverse(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] -WHERE [e0].[EmployeeID] IS NULL"); +WHERE [e0].[EmployeeID] IS NULL +"""); } public override async Task Select_collection_navigation_simple(bool async) @@ -384,11 +432,13 @@ public override async Task Select_collection_navigation_simple(bool async) await base.Select_collection_navigation_simple(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_collection_navigation_simple2(bool async) @@ -396,13 +446,15 @@ public override async Task Select_collection_navigation_simple2(bool async) await base.Select_collection_navigation_simple2(async); AssertSql( - @"SELECT [c].[CustomerID], ( +""" +SELECT [c].[CustomerID], ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Count] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_collection_navigation_simple_followed_by_ordering_by_scalar(bool async) @@ -410,11 +462,13 @@ public override async Task Select_collection_navigation_simple_followed_by_order await base.Select_collection_navigation_simple_followed_by_ordering_by_scalar(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_collection_navigation_multi_part(bool async) @@ -422,12 +476,14 @@ public override async Task Select_collection_navigation_multi_part(bool async) await base.Select_collection_navigation_multi_part(async); AssertSql( - @"SELECT [o].[OrderID], [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Select_collection_navigation_multi_part2(bool async) @@ -435,13 +491,15 @@ public override async Task Select_collection_navigation_multi_part2(bool async) await base.Select_collection_navigation_multi_part2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE [o0].[CustomerID] IN (N'ALFKI', N'ANTON') -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Collection_select_nav_prop_any(bool async) @@ -449,14 +507,16 @@ public override async Task Collection_select_nav_prop_any(bool async) await base.Collection_select_nav_prop_any(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Any] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Collection_select_nav_prop_predicate(bool async) @@ -464,14 +524,16 @@ public override async Task Collection_select_nav_prop_predicate(bool async) await base.Collection_select_nav_prop_predicate(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) > 0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Collection_where_nav_prop_any(bool async) @@ -479,12 +541,14 @@ public override async Task Collection_where_nav_prop_any(bool async) await base.Collection_where_nav_prop_any(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task Collection_where_nav_prop_any_predicate(bool async) @@ -492,12 +556,14 @@ public override async Task Collection_where_nav_prop_any_predicate(bool async) await base.Collection_where_nav_prop_any_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] > 0)"); + WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] > 0) +"""); } public override async Task Collection_select_nav_prop_all(bool async) @@ -505,14 +571,16 @@ public override async Task Collection_select_nav_prop_all(bool async) await base.Collection_select_nav_prop_all(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND ([o].[CustomerID] <> N'ALFKI' OR ([o].[CustomerID] IS NULL))) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [All] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Collection_where_nav_prop_all(bool async) @@ -520,12 +588,14 @@ public override async Task Collection_where_nav_prop_all(bool async) await base.Collection_where_nav_prop_all(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID] AND ([o].[CustomerID] <> N'ALFKI' OR ([o].[CustomerID] IS NULL)))"); + WHERE [c].[CustomerID] = [o].[CustomerID] AND ([o].[CustomerID] <> N'ALFKI' OR ([o].[CustomerID] IS NULL))) +"""); } public override async Task Collection_select_nav_prop_count(bool async) @@ -533,11 +603,13 @@ public override async Task Collection_select_nav_prop_count(bool async) await base.Collection_select_nav_prop_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Count] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Collection_where_nav_prop_count(bool async) @@ -545,12 +617,14 @@ public override async Task Collection_where_nav_prop_count(bool async) await base.Collection_where_nav_prop_count(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ( SELECT COUNT(*) FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]) > 5"); + WHERE [c].[CustomerID] = [o].[CustomerID]) > 5 +"""); } public override async Task Collection_where_nav_prop_count_reverse(bool async) @@ -558,12 +632,14 @@ public override async Task Collection_where_nav_prop_count_reverse(bool async) await base.Collection_where_nav_prop_count_reverse(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE 5 < ( SELECT COUNT(*) FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task Collection_orderby_nav_prop_count(bool async) @@ -571,12 +647,14 @@ public override async Task Collection_orderby_nav_prop_count(bool async) await base.Collection_orderby_nav_prop_count(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY ( SELECT COUNT(*) FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]), [c].[CustomerID]"); + WHERE [c].[CustomerID] = [o].[CustomerID]), [c].[CustomerID] +"""); } public override async Task Collection_select_nav_prop_long_count(bool async) @@ -584,11 +662,13 @@ public override async Task Collection_select_nav_prop_long_count(bool async) await base.Collection_select_nav_prop_long_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT_BIG(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [C] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Select_multiple_complex_projections(bool async) @@ -596,7 +676,8 @@ public override async Task Select_multiple_complex_projections(bool async) await base.Select_multiple_complex_projections(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [collection1], [o].[OrderDate] AS [scalar1], CASE @@ -619,7 +700,8 @@ SELECT COUNT_BIG(*) FROM [Order Details] AS [o3] WHERE [o].[OrderID] = [o3].[OrderID]) AS [collection2] FROM [Orders] AS [o] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') +"""); } public override async Task Collection_select_nav_prop_sum(bool async) @@ -627,11 +709,13 @@ public override async Task Collection_select_nav_prop_sum(bool async) await base.Collection_select_nav_prop_sum(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Sum] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Collection_select_nav_prop_sum_plus_one(bool async) @@ -639,11 +723,13 @@ public override async Task Collection_select_nav_prop_sum_plus_one(bool async) await base.Collection_select_nav_prop_sum_plus_one(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) + 1 AS [Sum] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Collection_where_nav_prop_sum(bool async) @@ -651,12 +737,14 @@ public override async Task Collection_where_nav_prop_sum(bool async) await base.Collection_where_nav_prop_sum(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ( SELECT COALESCE(SUM([o].[OrderID]), 0) FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]) > 1000"); + WHERE [c].[CustomerID] = [o].[CustomerID]) > 1000 +"""); } public override async Task Collection_select_nav_prop_first_or_default(bool async) @@ -664,7 +752,8 @@ public override async Task Collection_select_nav_prop_first_or_default(bool asyn await base.Collection_select_nav_prop_first_or_default(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] @@ -674,7 +763,8 @@ FROM [Orders] AS [o] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Collection_select_nav_prop_first_or_default_then_nav_prop(bool async) @@ -682,7 +772,8 @@ public override async Task Collection_select_nav_prop_first_or_default_then_nav_ await base.Collection_select_nav_prop_first_or_default_then_nav_prop(async); AssertSql( - @"SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t].[CustomerID0] @@ -695,7 +786,8 @@ WHERE [o].[OrderID] IN (10643, 10692, 10702, 10835, 10952, 11011) WHERE [t].[row] <= 1 ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID0] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Collection_select_nav_prop_first_or_default_then_nav_prop_nested(bool async) @@ -703,13 +795,15 @@ public override async Task Collection_select_nav_prop_first_or_default_then_nav_ await base.Collection_select_nav_prop_first_or_default_then_nav_prop_nested(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [c0].[City] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c0] ON [o].[CustomerID] = [c0].[CustomerID] WHERE [o].[CustomerID] = N'ALFKI') FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Collection_select_nav_prop_single_or_default_then_nav_prop_nested(bool async) @@ -717,13 +811,15 @@ public override async Task Collection_select_nav_prop_single_or_default_then_nav await base.Collection_select_nav_prop_single_or_default_then_nav_prop_nested(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [c0].[City] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c0] ON [o].[CustomerID] = [c0].[CustomerID] WHERE [o].[OrderID] = 10643) FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Collection_select_nav_prop_first_or_default_then_nav_prop_nested_using_property_method(bool async) @@ -731,13 +827,15 @@ public override async Task Collection_select_nav_prop_first_or_default_then_nav_ await base.Collection_select_nav_prop_first_or_default_then_nav_prop_nested_using_property_method(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [c0].[City] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c0] ON [o].[CustomerID] = [c0].[CustomerID] WHERE [o].[CustomerID] = N'ALFKI') FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Collection_select_nav_prop_first_or_default_then_nav_prop_nested_with_orderby(bool async) @@ -745,14 +843,16 @@ public override async Task Collection_select_nav_prop_first_or_default_then_nav_ await base.Collection_select_nav_prop_first_or_default_then_nav_prop_nested_with_orderby(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [c0].[City] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c0] ON [o].[CustomerID] = [c0].[CustomerID] WHERE [o].[CustomerID] = N'ALFKI' ORDER BY [o].[CustomerID]) FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Navigation_fk_based_inside_contains(bool async) @@ -760,10 +860,12 @@ public override async Task Navigation_fk_based_inside_contains(bool async) await base.Navigation_fk_based_inside_contains(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Navigation_inside_contains(bool async) @@ -771,10 +873,12 @@ public override async Task Navigation_inside_contains(bool async) await base.Navigation_inside_contains(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] IN (N'Novigrad', N'Seattle')"); +WHERE [c].[City] IN (N'Novigrad', N'Seattle') +"""); } public override async Task Navigation_inside_contains_nested(bool async) @@ -782,11 +886,13 @@ public override async Task Navigation_inside_contains_nested(bool async) await base.Navigation_inside_contains_nested(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE [c].[City] IN (N'Novigrad', N'Seattle')"); +WHERE [c].[City] IN (N'Novigrad', N'Seattle') +"""); } public override async Task Navigation_from_join_clause_inside_contains(bool async) @@ -794,11 +900,13 @@ public override async Task Navigation_from_join_clause_inside_contains(bool asyn await base.Navigation_from_join_clause_inside_contains(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE [c].[Country] IN (N'USA', N'Redania')"); +WHERE [c].[Country] IN (N'USA', N'Redania') +"""); } public override async Task Where_subquery_on_navigation(bool async) @@ -820,7 +928,8 @@ public override async Task Navigation_in_subquery_referencing_outer_query(bool a await base.Navigation_in_subquery_referencing_outer_query(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE ( @@ -828,7 +937,8 @@ SELECT COUNT(*) FROM [Order Details] AS [o0] INNER JOIN [Orders] AS [o1] ON [o0].[OrderID] = [o1].[OrderID] LEFT JOIN [Customers] AS [c0] ON [o1].[CustomerID] = [c0].[CustomerID] - WHERE [c].[Country] = [c0].[Country] OR (([c].[Country] IS NULL) AND ([c0].[Country] IS NULL))) > 0 AND [o].[OrderID] IN (10643, 10692)"); + WHERE [c].[Country] = [c0].[Country] OR (([c].[Country] IS NULL) AND ([c0].[Country] IS NULL))) > 0 AND [o].[OrderID] IN (10643, 10692) +"""); } public override async Task Project_single_scalar_value_subquery_is_properly_inlined(bool async) @@ -836,12 +946,14 @@ public override async Task Project_single_scalar_value_subquery_is_properly_inli await base.Project_single_scalar_value_subquery_is_properly_inlined(async); AssertSql( - @"SELECT [c].[CustomerID], ( +""" +SELECT [c].[CustomerID], ( SELECT TOP(1) [o].[OrderID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID]) AS [OrderId] -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Project_single_entity_value_subquery_works(bool async) @@ -849,7 +961,8 @@ public override async Task Project_single_entity_value_subquery_works(bool async await base.Project_single_entity_value_subquery_works(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] +""" +SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] @@ -860,7 +973,8 @@ FROM [Orders] AS [o] WHERE [t].[row] <= 1 ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Project_single_scalar_value_subquery_in_query_with_optional_navigation_works(bool async) @@ -868,7 +982,8 @@ public override async Task Project_single_scalar_value_subquery_in_query_with_op await base.Project_single_scalar_value_subquery_in_query_with_optional_navigation_works(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t].[OrderID], COALESCE(( SELECT TOP(1) [o0].[OrderID] @@ -881,7 +996,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task GroupJoin_with_complex_subquery_and_LOJ_gets_flattened(bool async) @@ -889,14 +1005,16 @@ public override async Task GroupJoin_with_complex_subquery_and_LOJ_gets_flattene await base.GroupJoin_with_complex_subquery_and_LOJ_gets_flattened(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c0].[CustomerID] AS [CustomerID0], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = 10260 INNER JOIN [Customers] AS [c0] ON [o0].[CustomerID] = [c0].[CustomerID] -) AS [t] ON [c].[CustomerID] = [t].[CustomerID0]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID0] +"""); } public override async Task GroupJoin_with_complex_subquery_and_LOJ_gets_flattened2(bool async) @@ -904,14 +1022,16 @@ public override async Task GroupJoin_with_complex_subquery_and_LOJ_gets_flattene await base.GroupJoin_with_complex_subquery_and_LOJ_gets_flattened2(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c0].[CustomerID] AS [CustomerID0], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = 10260 INNER JOIN [Customers] AS [c0] ON [o0].[CustomerID] = [c0].[CustomerID] -) AS [t] ON [c].[CustomerID] = [t].[CustomerID0]"); +) AS [t] ON [c].[CustomerID] = [t].[CustomerID0] +"""); } public override async Task Navigation_with_collection_with_nullable_type_key(bool async) @@ -919,13 +1039,15 @@ public override async Task Navigation_with_collection_with_nullable_type_key(boo await base.Navigation_with_collection_with_nullable_type_key(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE ( SELECT COUNT(*) FROM [Orders] AS [o0] - WHERE ([c].[CustomerID] IS NOT NULL) AND [c].[CustomerID] = [o0].[CustomerID] AND [o0].[OrderID] > 10260) > 30"); + WHERE ([c].[CustomerID] IS NOT NULL) AND [c].[CustomerID] = [o0].[CustomerID] AND [o0].[OrderID] > 10260) > 30 +"""); } public override async Task Multiple_include_with_multiple_optional_navigations(bool async) @@ -933,12 +1055,14 @@ public override async Task Multiple_include_with_multiple_optional_navigations(b await base.Multiple_include_with_multiple_optional_navigations(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE [c].[City] = N'London'"); +WHERE [c].[City] = N'London' +"""); } public override async Task Navigation_in_subquery_referencing_outer_query_with_client_side_result_operator_and_count(bool async) @@ -946,7 +1070,8 @@ public override async Task Navigation_in_subquery_referencing_outer_query_with_c await base.Navigation_in_subquery_referencing_outer_query_with_client_side_result_operator_and_count(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE [o].[OrderID] IN (10643, 10692) AND ( @@ -957,7 +1082,8 @@ FROM [Order Details] AS [o0] INNER JOIN [Orders] AS [o1] ON [o0].[OrderID] = [o1].[OrderID] LEFT JOIN [Customers] AS [c0] ON [o1].[CustomerID] = [c0].[CustomerID] WHERE [c].[Country] = [c0].[Country] OR (([c].[Country] IS NULL) AND ([c0].[Country] IS NULL)) - ) AS [t]) > 0"); + ) AS [t]) > 0 +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(bool async) @@ -965,7 +1091,8 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Orders] AS [o] CROSS JOIN ( SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -974,7 +1101,8 @@ WHERE [o0].[OrderID] < 10400 ) AS [t] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [t].[CustomerID] = [c0].[CustomerID] -WHERE [o].[OrderID] < 10300 AND ([c].[City] = [c0].[City] OR (([c].[City] IS NULL) AND ([c0].[City] IS NULL)))"); +WHERE [o].[OrderID] < 10300 AND ([c].[City] = [c0].[City] OR (([c].[City] IS NULL) AND ([c0].[City] IS NULL))) +"""); } public override async Task Where_subquery_on_navigation_client_eval(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryFiltersQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryFiltersQuerySqlServerTest.cs index 4262f618a75..8605d24a1d8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryFiltersQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryFiltersQuerySqlServerTest.cs @@ -26,12 +26,14 @@ public override async Task Count_query(bool async) await base.Count_query(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) SELECT COUNT(*) FROM [Customers] AS [c] -WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)"); +WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) +"""); } public override async Task Materialized_query(bool async) @@ -39,12 +41,14 @@ public override async Task Materialized_query(bool async) await base.Materialized_query(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)"); +WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) +"""); } public override async Task Find(bool async) @@ -52,13 +56,15 @@ public override async Task Find(bool async) await base.Find(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) @__p_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE (@__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)) AND [c].[CustomerID] = @__p_0"); +WHERE (@__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)) AND [c].[CustomerID] = @__p_0 +"""); } public override async Task Materialized_query_parameter(bool async) @@ -66,12 +72,14 @@ public override async Task Materialized_query_parameter(bool async) await base.Materialized_query_parameter(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='F' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='F' (Size = 4000) @__ef_filter__TenantPrefix_0_1='F' (Size = 40) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)"); +WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) +"""); } public override async Task Materialized_query_parameter_new_context(bool async) @@ -79,19 +87,23 @@ public override async Task Materialized_query_parameter_new_context(bool async) await base.Materialized_query_parameter_new_context(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)", +WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) +""", // - @"@__ef_filter__TenantPrefix_0='T' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='T' (Size = 4000) @__ef_filter__TenantPrefix_0_1='T' (Size = 40) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)"); +WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) +"""); } public override async Task Projection_query_parameter(bool async) @@ -99,12 +111,14 @@ public override async Task Projection_query_parameter(bool async) await base.Projection_query_parameter(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='F' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='F' (Size = 4000) @__ef_filter__TenantPrefix_0_1='F' (Size = 40) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)"); +WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) +"""); } public override async Task Projection_query(bool async) @@ -112,12 +126,14 @@ public override async Task Projection_query(bool async) await base.Projection_query(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)"); +WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) +"""); } public override async Task Include_query(bool async) @@ -125,7 +141,8 @@ public override async Task Include_query(bool async) await base.Include_query(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0] @@ -141,7 +158,8 @@ FROM [Customers] AS [c0] WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CompanyName] IS NOT NULL) ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0)) = @__ef_filter__TenantPrefix_0) -ORDER BY [c].[CustomerID], [t0].[OrderID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID] +"""); } public override async Task Include_query_opt_out(bool async) @@ -149,10 +167,12 @@ public override async Task Include_query_opt_out(bool async) await base.Include_query_opt_out(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Included_many_to_one_query(bool async) @@ -160,7 +180,8 @@ public override async Task Included_many_to_one_query(bool async) await base.Included_many_to_one_query(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] @@ -170,7 +191,8 @@ LEFT JOIN ( FROM [Customers] AS [c] WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) ) AS [t] ON [o].[CustomerID] = [t].[CustomerID] -WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CompanyName] IS NOT NULL)"); +WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CompanyName] IS NOT NULL) +"""); } public override async Task Project_reference_that_itself_has_query_filter_with_another_reference(bool async) @@ -178,7 +200,8 @@ public override async Task Project_reference_that_itself_has_query_filter_with_a await base.Project_reference_that_itself_has_query_filter_with_another_reference(async); AssertSql( - @"@__ef_filter__TenantPrefix_1='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_1='B' (Size = 4000) @__ef_filter__TenantPrefix_1_1='B' (Size = 40) @__ef_filter___quantity_0='50' @@ -194,7 +217,8 @@ FROM [Customers] AS [c] ) AS [t] ON [o0].[CustomerID] = [t].[CustomerID] WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CompanyName] IS NOT NULL) ) AS [t0] ON [o].[OrderID] = [t0].[OrderID] -WHERE [o].[Quantity] > @__ef_filter___quantity_0"); +WHERE [o].[Quantity] > @__ef_filter___quantity_0 +"""); } public override async Task Navs_query(bool async) @@ -202,7 +226,8 @@ public override async Task Navs_query(bool async) await base.Navs_query(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) @__ef_filter___quantity_1='50' @@ -233,7 +258,8 @@ FROM [Customers] AS [c1] ) AS [t2] ON [o0].[OrderID] = [t2].[OrderID] WHERE [o0].[Quantity] > @__ef_filter___quantity_1 ) AS [t1] ON [t0].[OrderID] = [t1].[OrderID] -WHERE (@__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0)) = @__ef_filter__TenantPrefix_0)) AND [t1].[Discount] < CAST(10 AS real)"); +WHERE (@__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0)) = @__ef_filter__TenantPrefix_0)) AND [t1].[Discount] < CAST(10 AS real) +"""); } [ConditionalFact] @@ -247,14 +273,16 @@ public void FromSql_is_composed() } AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) SELECT [m].[CustomerID], [m].[Address], [m].[City], [m].[CompanyName], [m].[ContactName], [m].[ContactTitle], [m].[Country], [m].[Fax], [m].[Phone], [m].[PostalCode], [m].[Region] FROM ( select * from Customers ) AS [m] -WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([m].[CompanyName] IS NOT NULL) AND LEFT([m].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)"); +WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([m].[CompanyName] IS NOT NULL) AND LEFT([m].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) +"""); } [ConditionalFact] @@ -268,7 +296,8 @@ public void FromSql_is_composed_when_filter_has_navigation() } AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) SELECT [m].[OrderID], [m].[CustomerID], [m].[EmployeeID], [m].[OrderDate] @@ -280,7 +309,8 @@ LEFT JOIN ( FROM [Customers] AS [c] WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) ) AS [t] ON [m].[CustomerID] = [t].[CustomerID] -WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CompanyName] IS NOT NULL)"); +WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CompanyName] IS NOT NULL) +"""); } public override void Compiled_query() @@ -288,21 +318,25 @@ public override void Compiled_query() base.Compiled_query(); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) @__customerID='BERGS' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE (@__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)) AND [c].[CustomerID] = @__customerID", +WHERE (@__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)) AND [c].[CustomerID] = @__customerID +""", // - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) @__customerID='BLAUS' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE (@__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)) AND [c].[CustomerID] = @__customerID"); +WHERE (@__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0)) AND [c].[CustomerID] = @__customerID +"""); } public override async Task Entity_Equality(bool async) @@ -310,7 +344,8 @@ public override async Task Entity_Equality(bool async) await base.Entity_Equality(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -320,7 +355,8 @@ LEFT JOIN ( FROM [Customers] AS [c] WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) ) AS [t] ON [o].[CustomerID] = [t].[CustomerID] -WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CompanyName] IS NOT NULL)"); +WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CompanyName] IS NOT NULL) +"""); } public override async Task Client_eval(bool async) @@ -335,7 +371,8 @@ public override async Task Included_many_to_one_query2(bool async) await base.Included_many_to_one_query2(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 4000) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 4000) @__ef_filter__TenantPrefix_0_1='B' (Size = 40) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] @@ -345,7 +382,8 @@ LEFT JOIN ( FROM [Customers] AS [c] WHERE @__ef_filter__TenantPrefix_0 = N'' OR (([c].[CompanyName] IS NOT NULL) AND LEFT([c].[CompanyName], LEN(@__ef_filter__TenantPrefix_0_1)) = @__ef_filter__TenantPrefix_0) ) AS [t] ON [o].[CustomerID] = [t].[CustomerID] -WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CompanyName] IS NOT NULL)"); +WHERE ([t].[CustomerID] IS NOT NULL) AND ([t].[CompanyName] IS NOT NULL) +"""); } public override async Task Included_one_to_many_query_with_client_eval(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryTaggingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryTaggingQuerySqlServerTest.cs index 2d9758d1f70..52278206f56 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryTaggingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindQueryTaggingQuerySqlServerTest.cs @@ -26,11 +26,13 @@ public override void Single_query_tag() base.Single_query_tag(); AssertSql( - @"-- Yanni +""" +-- Yanni SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override void Single_query_multiple_tags() @@ -38,12 +40,14 @@ public override void Single_query_multiple_tags() base.Single_query_multiple_tags(); AssertSql( - @"-- Yanni +""" +-- Yanni -- Enya SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override void Tags_on_subquery() @@ -51,7 +55,8 @@ public override void Tags_on_subquery() base.Tags_on_subquery(); AssertSql( - @"-- Yanni +""" +-- Yanni -- Laurel SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] @@ -61,7 +66,8 @@ SELECT TOP(5) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override void Duplicate_tags() @@ -69,11 +75,13 @@ public override void Duplicate_tags() base.Duplicate_tags(); AssertSql( - @"-- Yanni +""" +-- Yanni SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override void Tag_on_include_query() @@ -81,7 +89,8 @@ public override void Tag_on_include_query() base.Tag_on_include_query(); AssertSql( - @"-- Yanni +""" +-- Yanni SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -90,7 +99,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } [ConditionalFact] @@ -108,13 +118,16 @@ var customer Assert.NotNull(customer); AssertSql( - @"-- Yanni +""" +-- Yanni SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"-- Yanni +""" +-- Yanni SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -123,7 +136,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override void Tag_on_scalar_query() @@ -131,11 +145,13 @@ public override void Tag_on_scalar_query() base.Tag_on_scalar_query(); AssertSql( - @"-- Yanni +""" +-- Yanni SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override void Single_query_multiline_tag() @@ -143,13 +159,15 @@ public override void Single_query_multiline_tag() base.Single_query_multiline_tag(); AssertSql( - @"-- Yanni +""" +-- Yanni -- AND -- Laurel SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override void Single_query_multiple_multiline_tag() @@ -157,7 +175,8 @@ public override void Single_query_multiple_multiline_tag() base.Single_query_multiple_multiline_tag(); AssertSql( - @"-- Yanni +""" +-- Yanni -- AND -- Laurel -- Yet @@ -167,7 +186,8 @@ public override void Single_query_multiple_multiline_tag() SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override void Single_query_multiline_tag_with_empty_lines() @@ -175,17 +195,17 @@ public override void Single_query_multiline_tag_with_empty_lines() base.Single_query_multiline_tag_with_empty_lines(); AssertSql( - @"-- Yanni --- " - + @" +""" +-- Yanni +-- -- AND --- " - + @" +-- -- Laurel SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs index 10144c21c0a..8a026db2938 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSelectQuerySqlServerTest.cs @@ -27,8 +27,10 @@ public override async Task Projection_when_arithmetic_expression_precedence(bool await base.Projection_when_arithmetic_expression_precedence(async); AssertSql( - @"SELECT [o].[OrderID] / ([o].[OrderID] / 2) AS [A], ([o].[OrderID] / [o].[OrderID]) / 2 AS [B] -FROM [Orders] AS [o]"); +""" +SELECT [o].[OrderID] / ([o].[OrderID] / 2) AS [A], ([o].[OrderID] / [o].[OrderID]) / 2 AS [B] +FROM [Orders] AS [o] +"""); } public override async Task Projection_when_arithmetic_expressions(bool async) @@ -36,8 +38,10 @@ public override async Task Projection_when_arithmetic_expressions(bool async) await base.Projection_when_arithmetic_expressions(async); AssertSql( - @"SELECT [o].[OrderID], [o].[OrderID] * 2 AS [Double], [o].[OrderID] + 23 AS [Add], 100000 - [o].[OrderID] AS [Sub], [o].[OrderID] / ([o].[OrderID] / 2) AS [Divide], 42 AS [Literal], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] -FROM [Orders] AS [o]"); +""" +SELECT [o].[OrderID], [o].[OrderID] * 2 AS [Double], [o].[OrderID] + 23 AS [Add], 100000 - [o].[OrderID] AS [Sub], [o].[OrderID] / ([o].[OrderID] / 2) AS [Divide], 42 AS [Literal], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +FROM [Orders] AS [o] +"""); } public override async Task Projection_when_arithmetic_mixed(bool async) @@ -45,7 +49,8 @@ public override async Task Projection_when_arithmetic_mixed(bool async) await base.Projection_when_arithmetic_mixed(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT CAST([t0].[EmployeeID] AS bigint) + CAST([t].[OrderID] AS bigint) AS [Add], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], 42 AS [Literal], [t0].[EmployeeID], [t0].[City], [t0].[Country], [t0].[FirstName], [t0].[ReportsTo], [t0].[Title] FROM ( @@ -58,7 +63,8 @@ SELECT TOP(5) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e]. FROM [Employees] AS [e] ORDER BY [e].[EmployeeID] ) AS [t0] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Projection_when_null_value(bool async) @@ -66,8 +72,10 @@ public override async Task Projection_when_null_value(bool async) await base.Projection_when_null_value(async); AssertSql( - @"SELECT [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Projection_when_client_evald_subquery(bool async) @@ -75,10 +83,12 @@ public override async Task Projection_when_client_evald_subquery(bool async) await base.Projection_when_client_evald_subquery(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[CustomerID], [o].[OrderID] +""" +SELECT [c].[CustomerID], [o].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Project_to_object_array(bool async) @@ -86,9 +96,11 @@ public override async Task Project_to_object_array(bool async) await base.Project_to_object_array(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[EmployeeID] = 1"); +WHERE [e].[EmployeeID] = 1 +"""); } public override async Task Projection_of_entity_type_into_object_array(bool async) @@ -96,10 +108,12 @@ public override async Task Projection_of_entity_type_into_object_array(bool asyn await base.Projection_of_entity_type_into_object_array(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Projection_of_multiple_entity_types_into_object_array(bool async) @@ -107,11 +121,13 @@ public override async Task Projection_of_multiple_entity_types_into_object_array await base.Projection_of_multiple_entity_types_into_object_array(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE [o].[OrderID] < 10300 -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Projection_of_entity_type_into_object_list(bool async) @@ -119,9 +135,11 @@ public override async Task Projection_of_entity_type_into_object_list(bool async await base.Projection_of_entity_type_into_object_list(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Project_to_int_array(bool async) @@ -129,9 +147,11 @@ public override async Task Project_to_int_array(bool async) await base.Project_to_int_array(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[ReportsTo] +""" +SELECT [e].[EmployeeID], [e].[ReportsTo] FROM [Employees] AS [e] -WHERE [e].[EmployeeID] = 1"); +WHERE [e].[EmployeeID] = 1 +"""); } public override async Task Select_bool_closure_with_order_parameter_with_cast_to_nullable(bool async) @@ -139,10 +159,12 @@ public override async Task Select_bool_closure_with_order_parameter_with_cast_to await base.Select_bool_closure_with_order_parameter_with_cast_to_nullable(async); AssertSql( - @"@__boolean_0='False' +""" +@__boolean_0='False' SELECT @__boolean_0 -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Select_scalar(bool async) @@ -150,8 +172,10 @@ public override async Task Select_scalar(bool async) await base.Select_scalar(async); AssertSql( - @"SELECT [c].[City] -FROM [Customers] AS [c]"); +""" +SELECT [c].[City] +FROM [Customers] AS [c] +"""); } public override async Task Select_anonymous_one(bool async) @@ -159,8 +183,10 @@ public override async Task Select_anonymous_one(bool async) await base.Select_anonymous_one(async); AssertSql( - @"SELECT [c].[City] -FROM [Customers] AS [c]"); +""" +SELECT [c].[City] +FROM [Customers] AS [c] +"""); } public override async Task Select_anonymous_two(bool async) @@ -168,8 +194,10 @@ public override async Task Select_anonymous_two(bool async) await base.Select_anonymous_two(async); AssertSql( - @"SELECT [c].[City], [c].[Phone] -FROM [Customers] AS [c]"); +""" +SELECT [c].[City], [c].[Phone] +FROM [Customers] AS [c] +"""); } public override async Task Select_anonymous_three(bool async) @@ -177,8 +205,10 @@ public override async Task Select_anonymous_three(bool async) await base.Select_anonymous_three(async); AssertSql( - @"SELECT [c].[City], [c].[Phone], [c].[Country] -FROM [Customers] AS [c]"); +""" +SELECT [c].[City], [c].[Phone], [c].[Country] +FROM [Customers] AS [c] +"""); } public override async Task Select_anonymous_bool_constant_true(bool async) @@ -186,8 +216,10 @@ public override async Task Select_anonymous_bool_constant_true(bool async) await base.Select_anonymous_bool_constant_true(async); AssertSql( - @"SELECT [c].[CustomerID], CAST(1 AS bit) AS [ConstantTrue] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], CAST(1 AS bit) AS [ConstantTrue] +FROM [Customers] AS [c] +"""); } public override async Task Select_anonymous_constant_in_expression(bool async) @@ -195,8 +227,10 @@ public override async Task Select_anonymous_constant_in_expression(bool async) await base.Select_anonymous_constant_in_expression(async); AssertSql( - @"SELECT [c].[CustomerID], CAST(LEN([c].[CustomerID]) AS int) + 5 AS [Expression] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], CAST(LEN([c].[CustomerID]) AS int) + 5 AS [Expression] +FROM [Customers] AS [c] +"""); } public override async Task Select_anonymous_conditional_expression(bool async) @@ -204,11 +238,13 @@ public override async Task Select_anonymous_conditional_expression(bool async) await base.Select_anonymous_conditional_expression(async); AssertSql( - @"SELECT [p].[ProductID], CASE +""" +SELECT [p].[ProductID], CASE WHEN [p].[UnitsInStock] > CAST(0 AS smallint) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsAvailable] -FROM [Products] AS [p]"); +FROM [Products] AS [p] +"""); } public override async Task Select_constant_int(bool async) @@ -216,8 +252,10 @@ public override async Task Select_constant_int(bool async) await base.Select_constant_int(async); AssertSql( - @"SELECT 0 -FROM [Customers] AS [c]"); +""" +SELECT 0 +FROM [Customers] AS [c] +"""); } public override async Task Select_constant_null_string(bool async) @@ -225,8 +263,10 @@ public override async Task Select_constant_null_string(bool async) await base.Select_constant_null_string(async); AssertSql( - @"SELECT NULL -FROM [Customers] AS [c]"); +""" +SELECT NULL +FROM [Customers] AS [c] +"""); } public override async Task Select_local(bool async) @@ -234,10 +274,12 @@ public override async Task Select_local(bool async) await base.Select_local(async); AssertSql( - @"@__x_0='10' +""" +@__x_0='10' SELECT @__x_0 -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Select_scalar_primitive_after_take(bool async) @@ -245,10 +287,12 @@ public override async Task Select_scalar_primitive_after_take(bool async) await base.Select_scalar_primitive_after_take(async); AssertSql( - @"@__p_0='9' +""" +@__p_0='9' SELECT TOP(@__p_0) [e].[EmployeeID] -FROM [Employees] AS [e]"); +FROM [Employees] AS [e] +"""); } public override async Task Select_project_filter(bool async) @@ -256,9 +300,11 @@ public override async Task Select_project_filter(bool async) await base.Select_project_filter(async); AssertSql( - @"SELECT [c].[CompanyName] +""" +SELECT [c].[CompanyName] FROM [Customers] AS [c] -WHERE [c].[City] = N'London'"); +WHERE [c].[City] = N'London' +"""); } public override async Task Select_project_filter2(bool async) @@ -266,9 +312,11 @@ public override async Task Select_project_filter2(bool async) await base.Select_project_filter2(async); AssertSql( - @"SELECT [c].[City] +""" +SELECT [c].[City] FROM [Customers] AS [c] -WHERE [c].[City] = N'London'"); +WHERE [c].[City] = N'London' +"""); } public override async Task Select_nested_collection(bool async) @@ -276,7 +324,8 @@ public override async Task Select_nested_collection(bool async) await base.Select_nested_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[OrderID] +""" +SELECT [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID] @@ -284,7 +333,8 @@ FROM [Orders] AS [o] WHERE DATEPART(year, [o].[OrderDate]) = 1997 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[City] = N'London' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Select_nested_collection_multi_level(bool async) @@ -292,7 +342,8 @@ public override async Task Select_nested_collection_multi_level(bool async) await base.Select_nested_collection_multi_level(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[Date], [t0].[OrderID] +""" +SELECT [c].[CustomerID], [t0].[Date], [t0].[OrderID] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[Date], [t].[OrderID], [t].[CustomerID] @@ -304,7 +355,8 @@ WHERE [o].[OrderID] < 10500 WHERE [t].[row] <= 3 ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID], [t0].[CustomerID], [t0].[OrderID]"); +ORDER BY [c].[CustomerID], [t0].[CustomerID], [t0].[OrderID] +"""); } public override async Task Select_nested_collection_multi_level2(bool async) @@ -312,14 +364,16 @@ public override async Task Select_nested_collection_multi_level2(bool async) await base.Select_nested_collection_multi_level2(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] < 10500 ORDER BY [o].[OrderID]) AS [OrderDates] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_nested_collection_multi_level3(bool async) @@ -327,14 +381,16 @@ public override async Task Select_nested_collection_multi_level3(bool async) await base.Select_nested_collection_multi_level3(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10500 AND [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID]) AS [OrderDates] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_nested_collection_multi_level4(bool async) @@ -342,7 +398,8 @@ public override async Task Select_nested_collection_multi_level4(bool async) await base.Select_nested_collection_multi_level4(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) ( SELECT COUNT(*) FROM [Order Details] AS [o0] @@ -352,7 +409,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID]), 0) AS [Order] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_nested_collection_multi_level5(bool async) @@ -360,7 +418,8 @@ public override async Task Select_nested_collection_multi_level5(bool async) await base.Select_nested_collection_multi_level5(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) COALESCE(( SELECT TOP(1) [o0].[ProductID] FROM [Order Details] AS [o0] @@ -377,7 +436,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID]), 0) AS [Order] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_nested_collection_multi_level6(bool async) @@ -385,7 +445,8 @@ public override async Task Select_nested_collection_multi_level6(bool async) await base.Select_nested_collection_multi_level6(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) COALESCE(( SELECT TOP(1) [o0].[ProductID] FROM [Order Details] AS [o0] @@ -396,7 +457,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID]), 0) AS [Order] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Select_nested_collection_count_using_anonymous_type(bool async) @@ -404,12 +466,14 @@ public override async Task Select_nested_collection_count_using_anonymous_type(b await base.Select_nested_collection_count_using_anonymous_type(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Count] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task New_date_time_in_anonymous_type_works(bool async) @@ -417,9 +481,11 @@ public override async Task New_date_time_in_anonymous_type_works(bool async) await base.New_date_time_in_anonymous_type_works(async); AssertSql( - @"SELECT 1 +""" +SELECT 1 FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Select_non_matching_value_types_int_to_long_introduces_explicit_cast(bool async) @@ -427,10 +493,12 @@ public override async Task Select_non_matching_value_types_int_to_long_introduce await base.Select_non_matching_value_types_int_to_long_introduces_explicit_cast(async); AssertSql( - @"SELECT CAST([o].[OrderID] AS bigint) +""" +SELECT CAST([o].[OrderID] AS bigint) FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_non_matching_value_types_nullable_int_to_long_introduces_explicit_cast(bool async) @@ -438,10 +506,12 @@ public override async Task Select_non_matching_value_types_nullable_int_to_long_ await base.Select_non_matching_value_types_nullable_int_to_long_introduces_explicit_cast(async); AssertSql( - @"SELECT CAST([o].[EmployeeID] AS bigint) +""" +SELECT CAST([o].[EmployeeID] AS bigint) FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_non_matching_value_types_nullable_int_to_int_doesnt_introduce_explicit_cast(bool async) @@ -449,10 +519,12 @@ public override async Task Select_non_matching_value_types_nullable_int_to_int_d await base.Select_non_matching_value_types_nullable_int_to_int_doesnt_introduce_explicit_cast(async); AssertSql( - @"SELECT [o].[EmployeeID] +""" +SELECT [o].[EmployeeID] FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_non_matching_value_types_int_to_nullable_int_doesnt_introduce_explicit_cast(bool async) @@ -460,10 +532,12 @@ public override async Task Select_non_matching_value_types_int_to_nullable_int_d await base.Select_non_matching_value_types_int_to_nullable_int_doesnt_introduce_explicit_cast(async); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_non_matching_value_types_from_binary_expression_introduces_explicit_cast(bool async) @@ -471,10 +545,12 @@ public override async Task Select_non_matching_value_types_from_binary_expressio await base.Select_non_matching_value_types_from_binary_expression_introduces_explicit_cast(async); AssertSql( - @"SELECT CAST(([o].[OrderID] + [o].[OrderID]) AS bigint) +""" +SELECT CAST(([o].[OrderID] + [o].[OrderID]) AS bigint) FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_non_matching_value_types_from_binary_expression_nested_introduces_top_level_explicit_cast( @@ -483,10 +559,12 @@ public override async Task Select_non_matching_value_types_from_binary_expressio await base.Select_non_matching_value_types_from_binary_expression_nested_introduces_top_level_explicit_cast(async); AssertSql( - @"SELECT CAST((CAST([o].[OrderID] AS bigint) + CAST([o].[OrderID] AS bigint)) AS smallint) +""" +SELECT CAST((CAST([o].[OrderID] AS bigint) + CAST([o].[OrderID] AS bigint)) AS smallint) FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_non_matching_value_types_from_unary_expression_introduces_explicit_cast1(bool async) @@ -494,10 +572,12 @@ public override async Task Select_non_matching_value_types_from_unary_expression await base.Select_non_matching_value_types_from_unary_expression_introduces_explicit_cast1(async); AssertSql( - @"SELECT CAST(-[o].[OrderID] AS bigint) +""" +SELECT CAST(-[o].[OrderID] AS bigint) FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_non_matching_value_types_from_unary_expression_introduces_explicit_cast2(bool async) @@ -505,10 +585,12 @@ public override async Task Select_non_matching_value_types_from_unary_expression await base.Select_non_matching_value_types_from_unary_expression_introduces_explicit_cast2(async); AssertSql( - @"SELECT -CAST([o].[OrderID] AS bigint) +""" +SELECT -CAST([o].[OrderID] AS bigint) FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_non_matching_value_types_from_length_introduces_explicit_cast(bool async) @@ -516,10 +598,12 @@ public override async Task Select_non_matching_value_types_from_length_introduce await base.Select_non_matching_value_types_from_length_introduces_explicit_cast(async); AssertSql( - @"SELECT CAST(CAST(LEN([o].[CustomerID]) AS int) AS bigint) +""" +SELECT CAST(CAST(LEN([o].[CustomerID]) AS int) AS bigint) FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_non_matching_value_types_from_method_call_introduces_explicit_cast(bool async) @@ -527,10 +611,12 @@ public override async Task Select_non_matching_value_types_from_method_call_intr await base.Select_non_matching_value_types_from_method_call_introduces_explicit_cast(async); AssertSql( - @"SELECT CAST(ABS([o].[OrderID]) AS bigint) +""" +SELECT CAST(ABS([o].[OrderID]) AS bigint) FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_non_matching_value_types_from_anonymous_type_introduces_explicit_cast(bool async) @@ -538,10 +624,12 @@ public override async Task Select_non_matching_value_types_from_anonymous_type_i await base.Select_non_matching_value_types_from_anonymous_type_introduces_explicit_cast(async); AssertSql( - @"SELECT CAST([o].[OrderID] AS bigint) AS [LongOrder], CAST([o].[OrderID] AS smallint) AS [ShortOrder], [o].[OrderID] AS [Order] +""" +SELECT CAST([o].[OrderID] AS bigint) AS [LongOrder], CAST([o].[OrderID] AS smallint) AS [ShortOrder], [o].[OrderID] AS [Order] FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Select_conditional_with_null_comparison_in_test(bool async) @@ -549,7 +637,8 @@ public override async Task Select_conditional_with_null_comparison_in_test(bool await base.Select_conditional_with_null_comparison_in_test(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [o].[CustomerID] IS NULL THEN CAST(1 AS bit) ELSE CASE WHEN [o].[OrderID] < 100 THEN CAST(1 AS bit) @@ -557,7 +646,8 @@ ELSE CAST(0 AS bit) END END FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Select_over_10_nested_ternary_condition(bool isAsync) @@ -565,7 +655,8 @@ public override async Task Select_over_10_nested_ternary_condition(bool isAsync) await base.Select_over_10_nested_ternary_condition(isAsync); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c].[CustomerID] = N'1' THEN N'01' WHEN [c].[CustomerID] = N'2' THEN N'02' WHEN [c].[CustomerID] = N'3' THEN N'03' @@ -579,7 +670,8 @@ public override async Task Select_over_10_nested_ternary_condition(bool isAsync) WHEN [c].[CustomerID] = N'11' THEN N'11' ELSE NULL END -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Projection_in_a_subquery_should_be_liftable(bool async) @@ -587,12 +679,14 @@ public override async Task Projection_in_a_subquery_should_be_liftable(bool asyn await base.Projection_in_a_subquery_should_be_liftable(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [e].[EmployeeID] FROM [Employees] AS [e] ORDER BY [e].[EmployeeID] -OFFSET @__p_0 ROWS"); +OFFSET @__p_0 ROWS +"""); } public override async Task Projection_containing_DateTime_subtraction(bool async) @@ -600,9 +694,11 @@ public override async Task Projection_containing_DateTime_subtraction(bool async await base.Projection_containing_DateTime_subtraction(async); AssertSql( - @"SELECT [o].[OrderDate] +""" +SELECT [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Project_single_element_from_collection_with_OrderBy_Take_and_FirstOrDefault(bool async) @@ -610,7 +706,8 @@ public override async Task Project_single_element_from_collection_with_OrderBy_T await base.Project_single_element_from_collection_with_OrderBy_Take_and_FirstOrDefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[CustomerID] FROM ( SELECT TOP(1) [o].[CustomerID], [o].[OrderID] @@ -619,7 +716,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] ORDER BY [t].[OrderID]) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Project_single_element_from_collection_with_OrderBy_Skip_and_FirstOrDefault(bool async) @@ -627,13 +725,15 @@ public override async Task Project_single_element_from_collection_with_OrderBy_S await base.Project_single_element_from_collection_with_OrderBy_Skip_and_FirstOrDefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT [o].[CustomerID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID] OFFSET 1 ROWS FETCH NEXT 1 ROWS ONLY) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Project_single_element_from_collection_with_OrderBy_Distinct_and_FirstOrDefault(bool async) @@ -641,11 +741,13 @@ public override async Task Project_single_element_from_collection_with_OrderBy_D await base.Project_single_element_from_collection_with_OrderBy_Distinct_and_FirstOrDefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT DISTINCT TOP(1) [o].[CustomerID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task @@ -655,14 +757,16 @@ await base.Project_single_element_from_collection_with_OrderBy_Distinct_and_Firs async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) CAST(LEN([t].[CustomerID]) AS int) FROM ( SELECT DISTINCT [o].[CustomerID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ) AS [t]) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Project_single_element_from_collection_with_OrderBy_Take_and_SingleOrDefault(bool async) @@ -670,7 +774,8 @@ public override async Task Project_single_element_from_collection_with_OrderBy_T await base.Project_single_element_from_collection_with_OrderBy_Take_and_SingleOrDefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[CustomerID] FROM ( SELECT TOP(1) [o].[CustomerID], [o].[OrderID] @@ -680,7 +785,8 @@ ORDER BY [o].[OrderID] ) AS [t] ORDER BY [t].[OrderID]) FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Project_single_element_from_collection_with_OrderBy_Take_and_FirstOrDefault_with_parameter(bool async) @@ -688,7 +794,8 @@ public override async Task Project_single_element_from_collection_with_OrderBy_T await base.Project_single_element_from_collection_with_OrderBy_Take_and_FirstOrDefault_with_parameter(async); AssertSql( - @"@__i_0='1' +""" +@__i_0='1' SELECT ( SELECT TOP(1) [t].[CustomerID] @@ -699,7 +806,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] ORDER BY [t].[OrderID]) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Project_single_element_from_collection_with_multiple_OrderBys_Take_and_FirstOrDefault(bool async) @@ -707,7 +815,8 @@ public override async Task Project_single_element_from_collection_with_multiple_ await base.Project_single_element_from_collection_with_multiple_OrderBys_Take_and_FirstOrDefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[CustomerID] FROM ( SELECT TOP(2) [o].[CustomerID], [o].[OrderID], [o].[OrderDate] @@ -716,7 +825,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID], [o].[OrderDate] DESC ) AS [t] ORDER BY [t].[OrderID], [t].[OrderDate] DESC) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task @@ -728,7 +838,8 @@ await base async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[c] FROM ( SELECT TOP(2) CAST(LEN([o].[CustomerID]) AS int) AS [c], [o].[OrderID], [o].[OrderDate] @@ -737,7 +848,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID], [o].[OrderDate] DESC ) AS [t] ORDER BY [t].[OrderID], [t].[OrderDate] DESC) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Project_single_element_from_collection_with_multiple_OrderBys_Take_and_FirstOrDefault_2(bool async) @@ -745,7 +857,8 @@ public override async Task Project_single_element_from_collection_with_multiple_ await base.Project_single_element_from_collection_with_multiple_OrderBys_Take_and_FirstOrDefault_2(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[CustomerID] FROM ( SELECT TOP(2) [o].[CustomerID], [o].[OrderID], [o].[OrderDate] @@ -754,7 +867,8 @@ FROM [Orders] AS [o] ORDER BY [o].[CustomerID], [o].[OrderDate] DESC ) AS [t] ORDER BY [t].[CustomerID], [t].[OrderDate] DESC) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Project_single_element_from_collection_with_OrderBy_over_navigation_Take_and_FirstOrDefault(bool async) @@ -762,7 +876,8 @@ public override async Task Project_single_element_from_collection_with_OrderBy_o await base.Project_single_element_from_collection_with_OrderBy_over_navigation_Take_and_FirstOrDefault(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [t].[OrderID] FROM ( SELECT TOP(1) [o0].[OrderID], [o0].[ProductID], [p].[ProductID] AS [ProductID0], [p].[ProductName] @@ -773,7 +888,8 @@ ORDER BY [p].[ProductName] ) AS [t] ORDER BY [t].[ProductName]), 0) FROM [Orders] AS [o] -WHERE [o].[OrderID] < 10300"); +WHERE [o].[OrderID] < 10300 +"""); } public override async Task Project_single_element_from_collection_with_OrderBy_over_navigation_Take_and_FirstOrDefault_2( @@ -782,7 +898,8 @@ public override async Task Project_single_element_from_collection_with_OrderBy_o await base.Project_single_element_from_collection_with_OrderBy_over_navigation_Take_and_FirstOrDefault_2(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM [Orders] AS [o] OUTER APPLY ( SELECT TOP(1) [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] @@ -795,7 +912,8 @@ ORDER BY [p].[ProductName] ) AS [t] ORDER BY [t].[ProductName] ) AS [t0] -WHERE [o].[OrderID] < 10250"); +WHERE [o].[OrderID] < 10250 +"""); } public override async Task Select_datetime_year_component(bool async) @@ -803,8 +921,10 @@ public override async Task Select_datetime_year_component(bool async) await base.Select_datetime_year_component(async); AssertSql( - @"SELECT DATEPART(year, [o].[OrderDate]) -FROM [Orders] AS [o]"); +""" +SELECT DATEPART(year, [o].[OrderDate]) +FROM [Orders] AS [o] +"""); } public override async Task Select_datetime_month_component(bool async) @@ -812,8 +932,10 @@ public override async Task Select_datetime_month_component(bool async) await base.Select_datetime_month_component(async); AssertSql( - @"SELECT DATEPART(month, [o].[OrderDate]) -FROM [Orders] AS [o]"); +""" +SELECT DATEPART(month, [o].[OrderDate]) +FROM [Orders] AS [o] +"""); } public override async Task Select_datetime_day_of_year_component(bool async) @@ -821,8 +943,10 @@ public override async Task Select_datetime_day_of_year_component(bool async) await base.Select_datetime_day_of_year_component(async); AssertSql( - @"SELECT DATEPART(dayofyear, [o].[OrderDate]) -FROM [Orders] AS [o]"); +""" +SELECT DATEPART(dayofyear, [o].[OrderDate]) +FROM [Orders] AS [o] +"""); } public override async Task Select_datetime_day_component(bool async) @@ -830,8 +954,10 @@ public override async Task Select_datetime_day_component(bool async) await base.Select_datetime_day_component(async); AssertSql( - @"SELECT DATEPART(day, [o].[OrderDate]) -FROM [Orders] AS [o]"); +""" +SELECT DATEPART(day, [o].[OrderDate]) +FROM [Orders] AS [o] +"""); } public override async Task Select_datetime_hour_component(bool async) @@ -839,8 +965,10 @@ public override async Task Select_datetime_hour_component(bool async) await base.Select_datetime_hour_component(async); AssertSql( - @"SELECT DATEPART(hour, [o].[OrderDate]) -FROM [Orders] AS [o]"); +""" +SELECT DATEPART(hour, [o].[OrderDate]) +FROM [Orders] AS [o] +"""); } public override async Task Select_datetime_minute_component(bool async) @@ -848,8 +976,10 @@ public override async Task Select_datetime_minute_component(bool async) await base.Select_datetime_minute_component(async); AssertSql( - @"SELECT DATEPART(minute, [o].[OrderDate]) -FROM [Orders] AS [o]"); +""" +SELECT DATEPART(minute, [o].[OrderDate]) +FROM [Orders] AS [o] +"""); } public override async Task Select_datetime_second_component(bool async) @@ -857,8 +987,10 @@ public override async Task Select_datetime_second_component(bool async) await base.Select_datetime_second_component(async); AssertSql( - @"SELECT DATEPART(second, [o].[OrderDate]) -FROM [Orders] AS [o]"); +""" +SELECT DATEPART(second, [o].[OrderDate]) +FROM [Orders] AS [o] +"""); } public override async Task Select_datetime_millisecond_component(bool async) @@ -866,8 +998,10 @@ public override async Task Select_datetime_millisecond_component(bool async) await base.Select_datetime_millisecond_component(async); AssertSql( - @"SELECT DATEPART(millisecond, [o].[OrderDate]) -FROM [Orders] AS [o]"); +""" +SELECT DATEPART(millisecond, [o].[OrderDate]) +FROM [Orders] AS [o] +"""); } public override async Task Select_byte_constant(bool async) @@ -875,11 +1009,13 @@ public override async Task Select_byte_constant(bool async) await base.Select_byte_constant(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS tinyint) ELSE CAST(2 AS tinyint) END -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Select_short_constant(bool async) @@ -887,11 +1023,13 @@ public override async Task Select_short_constant(bool async) await base.Select_short_constant(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS smallint) ELSE CAST(2 AS smallint) END -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Select_bool_constant(bool async) @@ -899,11 +1037,13 @@ public override async Task Select_bool_constant(bool async) await base.Select_bool_constant(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Anonymous_projection_AsNoTracking_Selector(bool async) @@ -911,8 +1051,10 @@ public override async Task Anonymous_projection_AsNoTracking_Selector(bool async await base.Anonymous_projection_AsNoTracking_Selector(async); AssertSql( - @"SELECT [o].[OrderDate] -FROM [Orders] AS [o]"); +""" +SELECT [o].[OrderDate] +FROM [Orders] AS [o] +"""); } public override async Task Anonymous_projection_with_repeated_property_being_ordered(bool async) @@ -920,9 +1062,11 @@ public override async Task Anonymous_projection_with_repeated_property_being_ord await base.Anonymous_projection_with_repeated_property_being_ordered(async); AssertSql( - @"SELECT [c].[CustomerID] AS [A] +""" +SELECT [c].[CustomerID] AS [A] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Anonymous_projection_with_repeated_property_being_ordered_2(bool async) @@ -930,10 +1074,12 @@ public override async Task Anonymous_projection_with_repeated_property_being_ord await base.Anonymous_projection_with_repeated_property_being_ordered_2(async); AssertSql( - @"SELECT [c].[CustomerID] AS [A], [o].[CustomerID] AS [B] +""" +SELECT [c].[CustomerID] AS [A], [o].[CustomerID] AS [B] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -ORDER BY [o].[CustomerID]"); +ORDER BY [o].[CustomerID] +"""); } public override async Task Select_GetValueOrDefault_on_DateTime(bool async) @@ -941,8 +1087,10 @@ public override async Task Select_GetValueOrDefault_on_DateTime(bool async) await base.Select_GetValueOrDefault_on_DateTime(async); AssertSql( - @"SELECT [o].[OrderDate] -FROM [Orders] AS [o]"); +""" +SELECT [o].[OrderDate] +FROM [Orders] AS [o] +"""); } public override async Task Select_GetValueOrDefault_on_DateTime_with_null_values(bool async) @@ -950,9 +1098,11 @@ public override async Task Select_GetValueOrDefault_on_DateTime_with_null_values await base.Select_GetValueOrDefault_on_DateTime_with_null_values(async); AssertSql( - @"SELECT [o].[OrderDate] +""" +SELECT [o].[OrderDate] FROM [Customers] AS [c] -LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task Cast_on_top_level_projection_brings_explicit_Cast(bool async) @@ -960,8 +1110,10 @@ public override async Task Cast_on_top_level_projection_brings_explicit_Cast(boo await base.Cast_on_top_level_projection_brings_explicit_Cast(async); AssertSql( - @"SELECT CAST([o].[OrderID] AS float) -FROM [Orders] AS [o]"); +""" +SELECT CAST([o].[OrderID] AS float) +FROM [Orders] AS [o] +"""); } public override async Task Projecting_nullable_struct(bool async) @@ -969,11 +1121,13 @@ public override async Task Projecting_nullable_struct(bool async) await base.Projecting_nullable_struct(async); AssertSql( - @"SELECT [o].[CustomerID], CASE +""" +SELECT [o].[CustomerID], CASE WHEN [o].[CustomerID] = N'ALFKI' AND ([o].[CustomerID] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [o].[OrderID], CAST(LEN([o].[CustomerID]) AS int) -FROM [Orders] AS [o]"); +FROM [Orders] AS [o] +"""); } public override async Task Multiple_select_many_with_predicate(bool async) @@ -981,11 +1135,13 @@ public override async Task Multiple_select_many_with_predicate(bool async) await base.Multiple_select_many_with_predicate(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -WHERE CAST([o0].[Discount] AS float) >= 0.25E0"); +WHERE CAST([o0].[Discount] AS float) >= 0.25E0 +"""); } public override async Task SelectMany_without_result_selector_naked_collection_navigation(bool async) @@ -993,9 +1149,11 @@ public override async Task SelectMany_without_result_selector_naked_collection_n await base.SelectMany_without_result_selector_naked_collection_navigation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] -INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task SelectMany_without_result_selector_collection_navigation_composed(bool async) @@ -1003,9 +1161,11 @@ public override async Task SelectMany_without_result_selector_collection_navigat await base.SelectMany_without_result_selector_collection_navigation_composed(async); AssertSql( - @"SELECT [o].[CustomerID] +""" +SELECT [o].[CustomerID] FROM [Customers] AS [c] -INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID]"); +INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] +"""); } public override async Task SelectMany_correlated_with_outer_1(bool async) @@ -1013,13 +1173,15 @@ public override async Task SelectMany_correlated_with_outer_1(bool async) await base.SelectMany_correlated_with_outer_1(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[City] AS [o] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[City] AS [o] FROM [Customers] AS [c] CROSS APPLY ( SELECT [c].[City] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task SelectMany_correlated_with_outer_2(bool async) @@ -1027,14 +1189,16 @@ public override async Task SelectMany_correlated_with_outer_2(bool async) await base.SelectMany_correlated_with_outer_2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] CROSS APPLY ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [c].[City], [o].[OrderID] -) AS [t]"); +) AS [t] +"""); } public override async Task SelectMany_correlated_with_outer_3(bool async) @@ -1042,13 +1206,15 @@ public override async Task SelectMany_correlated_with_outer_3(bool async) await base.SelectMany_correlated_with_outer_3(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[City] AS [o] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[City] AS [o] FROM [Customers] AS [c] OUTER APPLY ( SELECT [c].[City] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task SelectMany_correlated_with_outer_4(bool async) @@ -1056,14 +1222,16 @@ public override async Task SelectMany_correlated_with_outer_4(bool async) await base.SelectMany_correlated_with_outer_4(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [c].[City], [o].[OrderID] -) AS [t]"); +) AS [t] +"""); } public override async Task SelectMany_correlated_with_outer_5(bool async) @@ -1071,13 +1239,15 @@ public override async Task SelectMany_correlated_with_outer_5(bool async) await base.SelectMany_correlated_with_outer_5(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[City] AS [o] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[City] AS [o] FROM [Customers] AS [c] OUTER APPLY ( SELECT [c].[City] FROM [Orders] AS [o] WHERE [c].[CustomerID] <> [o].[CustomerID] OR ([o].[CustomerID] IS NULL) -) AS [t]"); +) AS [t] +"""); } public override async Task SelectMany_correlated_with_outer_6(bool async) @@ -1085,14 +1255,16 @@ public override async Task SelectMany_correlated_with_outer_6(bool async) await base.SelectMany_correlated_with_outer_6(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] <> [o].[CustomerID] OR ([o].[CustomerID] IS NULL) ORDER BY [c].[City], [o].[OrderID] -) AS [t]"); +) AS [t] +"""); } public override async Task SelectMany_correlated_with_outer_7(bool async) @@ -1100,14 +1272,16 @@ public override async Task SelectMany_correlated_with_outer_7(bool async) await base.SelectMany_correlated_with_outer_7(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE CAST(LEN([c].[CustomerID]) AS int) >= CAST(LEN([o].[CustomerID]) AS int) ORDER BY [c].[City], [o].[OrderID] -) AS [t]"); +) AS [t] +"""); } public override async Task FirstOrDefault_over_empty_collection_of_value_type_returns_correct_results(bool async) @@ -1115,13 +1289,15 @@ public override async Task FirstOrDefault_over_empty_collection_of_value_type_re await base.FirstOrDefault_over_empty_collection_of_value_type_returns_correct_results(async); AssertSql( - @"SELECT [c].[CustomerID], COALESCE(( +""" +SELECT [c].[CustomerID], COALESCE(( SELECT TOP(1) [o].[OrderID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID]), 0) AS [OrderId] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'FISSA'"); +WHERE [c].[CustomerID] = N'FISSA' +"""); } public override async Task Project_non_nullable_value_after_FirstOrDefault_on_empty_collection(bool async) @@ -1129,11 +1305,13 @@ public override async Task Project_non_nullable_value_after_FirstOrDefault_on_em await base.Project_non_nullable_value_after_FirstOrDefault_on_empty_collection(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) CAST(LEN([o].[CustomerID]) AS int) FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'John Doe') -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override Task Member_binding_after_ctor_arguments_fails_with_client_eval(bool async) @@ -1144,7 +1322,8 @@ public override async Task Filtered_collection_projection_is_tracked(bool async) await base.Filtered_collection_projection_is_tracked(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -1152,7 +1331,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] > 11000 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Filtered_collection_projection_with_to_list_is_tracked(bool async) @@ -1160,7 +1340,8 @@ public override async Task Filtered_collection_projection_with_to_list_is_tracke await base.Filtered_collection_projection_with_to_list_is_tracked(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -1168,7 +1349,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] > 11000 ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[CustomerID] LIKE N'A%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task SelectMany_with_collection_being_correlated_subquery_which_references_inner_and_outer_entity( @@ -1177,13 +1359,15 @@ public override async Task SelectMany_with_collection_being_correlated_subquery_ await base.SelectMany_with_collection_being_correlated_subquery_which_references_inner_and_outer_entity(async); AssertSql( - @"SELECT [t].[OrderProperty], [t].[CustomerProperty] +""" +SELECT [t].[OrderProperty], [t].[CustomerProperty] FROM [Customers] AS [c] CROSS APPLY ( SELECT [o].[CustomerID] AS [OrderProperty], [c].[CustomerID] AS [CustomerProperty] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task @@ -1203,9 +1387,11 @@ public override async Task Select_with_complex_expression_that_can_be_funcletize await base.Select_with_complex_expression_that_can_be_funcletized(async); AssertSql( - @"SELECT 0 +""" +SELECT 0 FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Select_chained_entity_navigation_doesnt_materialize_intermittent_entities(bool async) @@ -1213,11 +1399,13 @@ public override async Task Select_chained_entity_navigation_doesnt_materialize_i await base.Select_chained_entity_navigation_doesnt_materialize_intermittent_entities(async); AssertSql( - @"SELECT [o].[OrderID], [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Select_entity_compared_to_null(bool async) @@ -1225,13 +1413,15 @@ public override async Task Select_entity_compared_to_null(bool async) await base.Select_entity_compared_to_null(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c].[CustomerID] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Explicit_cast_in_arithmetic_operation_is_preserved(bool async) @@ -1239,9 +1429,11 @@ public override async Task Explicit_cast_in_arithmetic_operation_is_preserved(bo await base.Explicit_cast_in_arithmetic_operation_is_preserved(async); AssertSql( - @"SELECT CAST([o].[OrderID] AS decimal(18,2)) / CAST(([o].[OrderID] + 1000) AS decimal(18,2)) +""" +SELECT CAST([o].[OrderID] AS decimal(18,2)) / CAST(([o].[OrderID] + 1000) AS decimal(18,2)) FROM [Orders] AS [o] -WHERE [o].[OrderID] = 10243"); +WHERE [o].[OrderID] = 10243 +"""); } public override async Task SelectMany_whose_selector_references_outer_source(bool async) @@ -1249,13 +1441,15 @@ public override async Task SelectMany_whose_selector_references_outer_source(boo await base.SelectMany_whose_selector_references_outer_source(async); AssertSql( - @"SELECT [t].[OrderDate], [t].[CustomerCity] +""" +SELECT [t].[OrderDate], [t].[CustomerCity] FROM [Customers] AS [c] CROSS APPLY ( SELECT [o].[OrderDate], [c].[City] AS [CustomerCity] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] -) AS [t]"); +) AS [t] +"""); } public override async Task Collection_FirstOrDefault_with_entity_equality_check_in_projection(bool async) @@ -1263,7 +1457,8 @@ public override async Task Collection_FirstOrDefault_with_entity_equality_check_ await base.Collection_FirstOrDefault_with_entity_equality_check_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] @@ -1273,7 +1468,8 @@ FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID])) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Collection_FirstOrDefault_with_nullable_unsigned_int_column(bool async) @@ -1281,12 +1477,14 @@ public override async Task Collection_FirstOrDefault_with_nullable_unsigned_int_ await base.Collection_FirstOrDefault_with_nullable_unsigned_int_column(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [o].[EmployeeID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID]) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task ToList_Count_in_projection_works(bool async) @@ -1294,12 +1492,14 @@ public override async Task ToList_Count_in_projection_works(bool async) await base.ToList_Count_in_projection_works(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Count] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task LastOrDefault_member_access_in_projection_translates_to_server(bool async) @@ -1307,13 +1507,15 @@ public override async Task LastOrDefault_member_access_in_projection_translates_ await base.LastOrDefault_member_access_in_projection_translates_to_server(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID]) AS [OrderDate] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Projection_with_parameterized_constructor(bool async) @@ -1321,9 +1523,11 @@ public override async Task Projection_with_parameterized_constructor(bool async) await base.Projection_with_parameterized_constructor(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Projection_with_parameterized_constructor_with_member_assignment(bool async) @@ -1331,9 +1535,11 @@ public override async Task Projection_with_parameterized_constructor_with_member await base.Projection_with_parameterized_constructor_with_member_assignment(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Collection_projection_AsNoTracking_OrderBy(bool async) @@ -1341,10 +1547,12 @@ public override async Task Collection_projection_AsNoTracking_OrderBy(bool async await base.Collection_projection_AsNoTracking_OrderBy(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderDate], [o].[OrderID] +""" +SELECT [c].[CustomerID], [o].[OrderDate], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Coalesce_over_nullable_uint(bool async) @@ -1352,8 +1560,10 @@ public override async Task Coalesce_over_nullable_uint(bool async) await base.Coalesce_over_nullable_uint(async); AssertSql( - @"SELECT COALESCE([o].[EmployeeID], 0) -FROM [Orders] AS [o]"); +""" +SELECT COALESCE([o].[EmployeeID], 0) +FROM [Orders] AS [o] +"""); } public override async Task Project_uint_through_collection_FirstOrDefault(bool async) @@ -1361,12 +1571,14 @@ public override async Task Project_uint_through_collection_FirstOrDefault(bool a await base.Project_uint_through_collection_FirstOrDefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [o].[EmployeeID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID]) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override async Task Project_keyless_entity_FirstOrDefault_without_orderby(bool async) @@ -1374,7 +1586,8 @@ public override async Task Project_keyless_entity_FirstOrDefault_without_orderby await base.Project_keyless_entity_FirstOrDefault_without_orderby(async); AssertSql( - @"SELECT [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle] +""" +SELECT [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle] @@ -1385,7 +1598,8 @@ LEFT JOIN ( ) AS [m] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [c].[CompanyName] = [t0].[CompanyName]"); +) AS [t0] ON [c].[CompanyName] = [t0].[CompanyName] +"""); } public override async Task Reverse_changes_asc_order_to_desc(bool async) @@ -1393,9 +1607,11 @@ public override async Task Reverse_changes_asc_order_to_desc(bool async) await base.Reverse_changes_asc_order_to_desc(async); AssertSql( - @"SELECT [e].[EmployeeID] +""" +SELECT [e].[EmployeeID] FROM [Employees] AS [e] -ORDER BY [e].[EmployeeID] DESC"); +ORDER BY [e].[EmployeeID] DESC +"""); } public override async Task Reverse_changes_desc_order_to_asc(bool async) @@ -1403,9 +1619,11 @@ public override async Task Reverse_changes_desc_order_to_asc(bool async) await base.Reverse_changes_desc_order_to_asc(async); AssertSql( - @"SELECT [e].[EmployeeID] +""" +SELECT [e].[EmployeeID] FROM [Employees] AS [e] -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override async Task Reverse_after_multiple_orderbys(bool async) @@ -1413,9 +1631,11 @@ public override async Task Reverse_after_multiple_orderbys(bool async) await base.Reverse_after_multiple_orderbys(async); AssertSql( - @"SELECT [e].[EmployeeID] +""" +SELECT [e].[EmployeeID] FROM [Employees] AS [e] -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override async Task Reverse_after_orderby_thenby(bool async) @@ -1423,9 +1643,11 @@ public override async Task Reverse_after_orderby_thenby(bool async) await base.Reverse_after_orderby_thenby(async); AssertSql( - @"SELECT [e].[EmployeeID] +""" +SELECT [e].[EmployeeID] FROM [Employees] AS [e] -ORDER BY [e].[EmployeeID] DESC, [e].[City]"); +ORDER BY [e].[EmployeeID] DESC, [e].[City] +"""); } public override async Task Reverse_in_subquery_via_pushdown(bool async) @@ -1433,7 +1655,8 @@ public override async Task Reverse_in_subquery_via_pushdown(bool async) await base.Reverse_in_subquery_via_pushdown(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t0].[EmployeeID], [t0].[City] FROM ( @@ -1443,7 +1666,8 @@ SELECT TOP(@__p_0) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], FROM [Employees] AS [e] ORDER BY [e].[EmployeeID] DESC ) AS [t] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Reverse_after_orderBy_and_take(bool async) @@ -1451,7 +1675,8 @@ public override async Task Reverse_after_orderBy_and_take(bool async) await base.Reverse_after_orderBy_and_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[EmployeeID], [t].[City] FROM ( @@ -1459,7 +1684,8 @@ SELECT TOP(@__p_0) [e].[EmployeeID], [e].[City] FROM [Employees] AS [e] ORDER BY [e].[EmployeeID] ) AS [t] -ORDER BY [t].[EmployeeID] DESC"); +ORDER BY [t].[EmployeeID] DESC +"""); } public override async Task Reverse_in_join_outer(bool async) @@ -1467,10 +1693,12 @@ public override async Task Reverse_in_join_outer(bool async) await base.Reverse_in_join_outer(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID] +""" +SELECT [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[City], [c].[CustomerID] DESC"); +ORDER BY [c].[City], [c].[CustomerID] DESC +"""); } public override async Task Reverse_in_join_outer_with_take(bool async) @@ -1478,7 +1706,8 @@ public override async Task Reverse_in_join_outer_with_take(bool async) await base.Reverse_in_join_outer_with_take(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' SELECT [t].[CustomerID], [o].[OrderID] FROM ( @@ -1487,7 +1716,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Reverse_in_join_inner(bool async) @@ -1495,10 +1725,12 @@ public override async Task Reverse_in_join_inner(bool async) await base.Reverse_in_join_inner(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID] +""" +SELECT [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Reverse_in_join_inner_with_skip(bool async) @@ -1506,7 +1738,8 @@ public override async Task Reverse_in_join_inner_with_skip(bool async) await base.Reverse_in_join_inner_with_skip(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] @@ -1516,7 +1749,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] DESC OFFSET @__p_0 ROWS ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Reverse_in_SelectMany(bool async) @@ -1524,10 +1758,12 @@ public override async Task Reverse_in_SelectMany(bool async) await base.Reverse_in_SelectMany(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID] DESC"); +ORDER BY [c].[CustomerID] DESC +"""); } public override async Task Reverse_in_SelectMany_with_Take(bool async) @@ -1535,7 +1771,8 @@ public override async Task Reverse_in_SelectMany_with_Take(bool async) await base.Reverse_in_SelectMany_with_Take(async); AssertSql( - @"@__p_0='20' +""" +@__p_0='20' SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -1549,7 +1786,8 @@ FROM [Orders] AS [o] WHERE [t].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID] DESC ) AS [t0] -ORDER BY [t].[CustomerID] DESC"); +ORDER BY [t].[CustomerID] DESC +"""); } public override async Task Reverse_in_projection_subquery(bool async) @@ -1557,10 +1795,12 @@ public override async Task Reverse_in_projection_subquery(bool async) await base.Reverse_in_projection_subquery(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] OUTER APPLY [Orders] AS [o] -ORDER BY [c].[CustomerID], [o].[OrderDate] DESC, [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderDate] DESC, [o].[OrderID] +"""); } public override async Task Reverse_in_projection_subquery_single_result(bool async) @@ -1568,14 +1808,16 @@ public override async Task Reverse_in_projection_subquery_single_result(bool asy await base.Reverse_in_projection_subquery_single_result(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(1) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] ORDER BY [o].[OrderDate] DESC, [o].[OrderID] ) AS [t] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Reverse_in_projection_scalar_subquery(bool async) @@ -1583,12 +1825,14 @@ public override async Task Reverse_in_projection_scalar_subquery(bool async) await base.Reverse_in_projection_scalar_subquery(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [o].[OrderID] FROM [Orders] AS [o] ORDER BY [o].[OrderDate] DESC, [o].[OrderID]), 0) FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Projection_AsEnumerable_projection(bool async) @@ -1596,7 +1840,8 @@ public override async Task Projection_AsEnumerable_projection(bool async) await base.Projection_AsEnumerable_projection(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [c].[CustomerID], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -1607,7 +1852,8 @@ WHERE [o0].[OrderID] < 10750 SELECT COUNT(*) FROM [Orders] AS [o] WHERE [o].[CustomerID] = [c].[CustomerID] AND [o].[OrderID] < 11000) > 0 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Projection_custom_type_in_both_sides_of_ternary(bool async) @@ -1615,12 +1861,14 @@ public override async Task Projection_custom_type_in_both_sides_of_ternary(bool await base.Projection_custom_type_in_both_sides_of_ternary(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c].[City] = N'Seattle' AND ([c].[City] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Projecting_multiple_collection_with_same_constant_works(bool async) @@ -1628,12 +1876,14 @@ public override async Task Projecting_multiple_collection_with_same_constant_wor await base.Projecting_multiple_collection_with_same_constant_works(async); AssertSql( - @"SELECT [c].[CustomerID], 1, [o].[OrderID], [o0].[OrderID] +""" +SELECT [c].[CustomerID], 1, [o].[OrderID], [o0].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Custom_projection_reference_navigation_PK_to_FK_optimization(bool async) @@ -1641,9 +1891,11 @@ public override async Task Custom_projection_reference_navigation_PK_to_FK_optim await base.Custom_projection_reference_navigation_PK_to_FK_optimization(async); AssertSql( - @"SELECT [o].[OrderID], [c].[CustomerID], [c].[City], [o].[OrderDate] +""" +SELECT [o].[OrderID], [c].[CustomerID], [c].[City], [o].[OrderDate] FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Projecting_Length_of_a_string_property_after_FirstOrDefault_on_correlated_collection(bool async) @@ -1651,13 +1903,15 @@ public override async Task Projecting_Length_of_a_string_property_after_FirstOrD await base.Projecting_Length_of_a_string_property_after_FirstOrDefault_on_correlated_collection(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) CAST(LEN([o].[CustomerID]) AS int) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] ORDER BY [o].[OrderID]) FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Projecting_count_of_navigation_which_is_generic_list(bool async) @@ -1665,12 +1919,14 @@ public override async Task Projecting_count_of_navigation_which_is_generic_list( await base.Projecting_count_of_navigation_which_is_generic_list(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Projecting_count_of_navigation_which_is_generic_collection(bool async) @@ -1678,12 +1934,14 @@ public override async Task Projecting_count_of_navigation_which_is_generic_colle await base.Projecting_count_of_navigation_which_is_generic_collection(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Projecting_count_of_navigation_which_is_generic_collection_using_convert(bool async) @@ -1691,10 +1949,12 @@ public override async Task Projecting_count_of_navigation_which_is_generic_colle await base.Projecting_count_of_navigation_which_is_generic_collection_using_convert(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Projection_take_projection_doesnt_project_intermittent_column(bool async) @@ -1702,11 +1962,13 @@ public override async Task Projection_take_projection_doesnt_project_intermitten await base.Projection_take_projection_doesnt_project_intermittent_column(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) ([c].[CustomerID] + N' ') + COALESCE([c].[City], N'') AS [Aggregate] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Projection_skip_projection_doesnt_project_intermittent_column(bool async) @@ -1714,12 +1976,14 @@ public override async Task Projection_skip_projection_doesnt_project_intermitten await base.Projection_skip_projection_doesnt_project_intermittent_column(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT ([c].[CustomerID] + N' ') + COALESCE([c].[City], N'') AS [Aggregate] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] -OFFSET @__p_0 ROWS"); +OFFSET @__p_0 ROWS +"""); } public override async Task Projection_Distinct_projection_preserves_columns_used_for_distinct_in_subquery(bool async) @@ -1727,11 +1991,13 @@ public override async Task Projection_Distinct_projection_preserves_columns_used await base.Projection_Distinct_projection_preserves_columns_used_for_distinct_in_subquery(async); AssertSql( - @"SELECT (COALESCE([t].[FirstLetter], N'') + N' ') + [t].[Foo] AS [Aggregate] +""" +SELECT (COALESCE([t].[FirstLetter], N'') + N' ') + [t].[Foo] AS [Aggregate] FROM ( SELECT DISTINCT [c].[CustomerID], SUBSTRING([c].[CustomerID], 0 + 1, 1) AS [FirstLetter], N'Foo' AS [Foo] FROM [Customers] AS [c] -) AS [t]"); +) AS [t] +"""); } public override async Task Projection_take_predicate_projection(bool async) @@ -1739,7 +2005,8 @@ public override async Task Projection_take_predicate_projection(bool async) await base.Projection_take_predicate_projection(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT ([t].[CustomerID] + N' ') + COALESCE([t].[City], N'') AS [Aggregate] FROM ( @@ -1748,7 +2015,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] WHERE [t].[CustomerID] LIKE N'A%' -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Do_not_erase_projection_mapping_when_adding_single_projection(bool async) @@ -1756,7 +2024,8 @@ public override async Task Do_not_erase_projection_mapping_when_adding_single_pr await base.Do_not_erase_projection_mapping_when_adding_single_projection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[ProductID0], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice0], [t].[UnitsInStock], [t0].[OrderID], [t0].[ProductID], [t0].[ProductID0], [t2].[OrderID], [t2].[ProductID], [t2].[Discount], [t2].[Quantity], [t2].[UnitPrice], [t2].[ProductID0], [t2].[Discontinued], [t2].[ProductName], [t2].[SupplierID], [t2].[UnitPrice0], [t2].[UnitsInStock], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[ProductID0], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice0], [t].[UnitsInStock], [t0].[OrderID], [t0].[ProductID], [t0].[ProductID0], [t2].[OrderID], [t2].[ProductID], [t2].[Discount], [t2].[Quantity], [t2].[UnitPrice], [t2].[ProductID0], [t2].[Discontinued], [t2].[ProductName], [t2].[SupplierID], [t2].[UnitPrice0], [t2].[UnitsInStock], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] FROM [Orders] AS [o] LEFT JOIN ( SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [p].[ProductID] AS [ProductID0], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice] AS [UnitPrice0], [p].[UnitsInStock] @@ -1780,7 +2049,8 @@ FROM [Order Details] AS [o2] WHERE [o2].[UnitPrice] < 10.0 ) AS [t2] ON [o].[OrderID] = [t2].[OrderID] WHERE [o].[OrderID] < 10350 -ORDER BY [o].[OrderID], [t].[OrderID], [t].[ProductID], [t].[ProductID0], [t0].[OrderID], [t0].[ProductID], [t0].[ProductID0], [t2].[OrderID], [t2].[ProductID]"); +ORDER BY [o].[OrderID], [t].[OrderID], [t].[ProductID], [t].[ProductID0], [t0].[OrderID], [t0].[ProductID], [t0].[ProductID0], [t2].[OrderID], [t2].[ProductID] +"""); } public override async Task Ternary_in_client_eval_assigns_correct_types(bool async) @@ -1788,7 +2058,8 @@ public override async Task Ternary_in_client_eval_assigns_correct_types(bool asy await base.Ternary_in_client_eval_assigns_correct_types(async); AssertSql( - @"SELECT [o].[CustomerID], CASE +""" +SELECT [o].[CustomerID], CASE WHEN [o].[OrderDate] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [o].[OrderDate], [o].[OrderID] - 10000, CASE @@ -1797,7 +2068,8 @@ ELSE CAST(0 AS bit) END FROM [Orders] AS [o] WHERE [o].[OrderID] < 10300 -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Projecting_after_navigation_and_distinct(bool async) @@ -1805,7 +2077,8 @@ public override async Task Projecting_after_navigation_and_distinct(bool async) await base.Projecting_after_navigation_and_distinct(async); AssertSql( - @"SELECT [t].[CustomerID], [t0].[CustomerID], [t0].[OrderID], [t0].[OrderDate] +""" +SELECT [t].[CustomerID], [t0].[CustomerID], [t0].[OrderID], [t0].[OrderDate] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] @@ -1816,7 +2089,8 @@ OUTER APPLY ( FROM [Orders] AS [o0] WHERE ([t].[CustomerID] IS NOT NULL) AND [t].[CustomerID] = [o0].[CustomerID] AND [o0].[OrderID] IN (10248, 10249, 10250) ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[OrderID]"); +ORDER BY [t].[CustomerID], [t0].[OrderID] +"""); } public override async Task Correlated_collection_after_distinct_with_complex_projection_containing_original_identifier(bool async) @@ -1824,7 +2098,8 @@ public override async Task Correlated_collection_after_distinct_with_complex_pro await base.Correlated_collection_after_distinct_with_complex_projection_containing_original_identifier(async); AssertSql( - @"SELECT [t].[OrderID], [t].[Complex], [t0].[Outer], [t0].[Inner], [t0].[OrderDate] +""" +SELECT [t].[OrderID], [t].[Complex], [t0].[Outer], [t0].[Inner], [t0].[OrderDate] FROM ( SELECT DISTINCT [o].[OrderID], DATEPART(month, [o].[OrderDate]) AS [Complex] FROM [Orders] AS [o] @@ -1834,7 +2109,8 @@ OUTER APPLY ( FROM [Orders] AS [o0] WHERE [o0].[OrderID] = [t].[OrderID] AND [o0].[OrderID] IN (10248, 10249, 10250) ) AS [t0] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Correlated_collection_after_distinct_not_containing_original_identifier(bool async) @@ -1842,7 +2118,8 @@ public override async Task Correlated_collection_after_distinct_not_containing_o await base.Correlated_collection_after_distinct_not_containing_original_identifier(async); AssertSql( - @"SELECT [t].[OrderDate], [t].[CustomerID], [t0].[Outer1], [t0].[Outer2], [t0].[Inner], [t0].[OrderDate] +""" +SELECT [t].[OrderDate], [t].[CustomerID], [t0].[Outer1], [t0].[Outer2], [t0].[Inner], [t0].[OrderDate] FROM ( SELECT DISTINCT [o].[OrderDate], [o].[CustomerID] FROM [Orders] AS [o] @@ -1852,7 +2129,8 @@ OUTER APPLY ( FROM [Orders] AS [o0] WHERE ([o0].[CustomerID] = [t].[CustomerID] OR (([o0].[CustomerID] IS NULL) AND ([t].[CustomerID] IS NULL))) AND [o0].[OrderID] IN (10248, 10249, 10250) ) AS [t0] -ORDER BY [t].[OrderDate], [t].[CustomerID]"); +ORDER BY [t].[OrderDate], [t].[CustomerID] +"""); } public override async Task Correlated_collection_after_distinct_with_complex_projection_not_containing_original_identifier(bool async) @@ -1872,7 +2150,8 @@ public override async Task Correlated_collection_after_groupby_with_complex_proj await base.Correlated_collection_after_groupby_with_complex_projection_containing_original_identifier(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[Complex], [t1].[Outer], [t1].[Inner], [t1].[OrderDate] +""" +SELECT [t0].[OrderID], [t0].[Complex], [t1].[Outer], [t1].[Inner], [t1].[OrderDate] FROM ( SELECT [t].[OrderID], [t].[Complex] FROM ( @@ -1886,7 +2165,8 @@ OUTER APPLY ( FROM [Orders] AS [o0] WHERE [o0].[OrderID] = [t0].[OrderID] AND [o0].[OrderID] IN (10248, 10249, 10250) ) AS [t1] -ORDER BY [t0].[OrderID]"); +ORDER BY [t0].[OrderID] +"""); } public override async Task Select_nested_collection_deep(bool async) @@ -1894,7 +2174,8 @@ public override async Task Select_nested_collection_deep(bool async) await base.Select_nested_collection_deep(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID], [t0].[OrderID0], [t0].[OrderID00] +""" +SELECT [c].[CustomerID], [t0].[OrderID], [t0].[OrderID0], [t0].[OrderID00] FROM [Customers] AS [c] OUTER APPLY ( SELECT [o].[OrderID], [t].[OrderID] AS [OrderID0], [t].[OrderID0] AS [OrderID00] @@ -1907,7 +2188,8 @@ FROM [Orders] AS [o0] WHERE [o].[CustomerID] = [c].[CustomerID] AND DATEPART(year, [o].[OrderDate]) = 1997 ) AS [t0] WHERE [c].[City] = N'London' -ORDER BY [c].[CustomerID], [t0].[OrderID], [t0].[OrderID00]"); +ORDER BY [c].[CustomerID], [t0].[OrderID], [t0].[OrderID00] +"""); } public override async Task Select_nested_collection_deep_distinct_no_identifiers(bool async) @@ -1915,7 +2197,8 @@ public override async Task Select_nested_collection_deep_distinct_no_identifiers await base.Select_nested_collection_deep_distinct_no_identifiers(async); AssertSql( - @"SELECT [t].[City], [t1].[OrderID], [t1].[OrderID0], [t1].[OrderID00] +""" +SELECT [t].[City], [t1].[OrderID], [t1].[OrderID0], [t1].[OrderID00] FROM ( SELECT DISTINCT [c].[City] FROM [Customers] AS [c] @@ -1934,7 +2217,8 @@ FROM [Orders] AS [o0] WHERE [t0].[CustomerID] = [t].[City] OR (([t0].[CustomerID] IS NULL) AND ([t].[City] IS NULL)) ) AS [t2] ) AS [t1] -ORDER BY [t].[City], [t1].[OrderID], [t1].[OrderID00]"); +ORDER BY [t].[City], [t1].[OrderID], [t1].[OrderID00] +"""); } public override async Task Collection_include_over_result_of_single_non_scalar(bool async) @@ -1942,7 +2226,8 @@ public override async Task Collection_include_over_result_of_single_non_scalar(b await base.Collection_include_over_result_of_single_non_scalar(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [o2].[OrderID], [o2].[ProductID], [o2].[Discount], [o2].[Quantity], [o2].[UnitPrice] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [o2].[OrderID], [o2].[ProductID], [o2].[Discount], [o2].[Quantity], [o2].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID] AS [OrderID0], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] @@ -1959,7 +2244,8 @@ FROM [Orders] AS [o1] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] LEFT JOIN [Order Details] AS [o2] ON [t0].[OrderID] = [o2].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0], [t].[ProductID], [t0].[OrderID], [o2].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0], [t].[ProductID], [t0].[OrderID], [o2].[OrderID] +"""); } public override async Task Collection_projection_selecting_outer_element_followed_by_take(bool async) @@ -1967,7 +2253,8 @@ public override async Task Collection_projection_selecting_outer_element_followe await base.Collection_projection_selecting_outer_element_followed_by_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [t0].[OrderID], [t0].[OrderID0], [t0].[CustomerID0], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -1986,7 +2273,8 @@ FROM [Orders] AS [o0] ) AS [t1] WHERE [t].[CustomerID] = [o].[CustomerID] ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[OrderID]"); +ORDER BY [t].[CustomerID], [t0].[OrderID] +"""); } public override async Task Take_on_top_level_and_on_collection_projection_with_outer_apply(bool async) @@ -1994,7 +2282,8 @@ public override async Task Take_on_top_level_and_on_collection_projection_with_o await base.Take_on_top_level_and_on_collection_projection_with_outer_apply(async); AssertSql( - @"SELECT [t].[OrderID], [t].[OrderDate], [t0].[OrderID], [t0].[ProductID], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice], [t0].[UnitsInStock], [t0].[UnitPrice0], [t0].[ProductID0] +""" +SELECT [t].[OrderID], [t].[OrderDate], [t0].[OrderID], [t0].[ProductID], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice], [t0].[UnitsInStock], [t0].[UnitPrice0], [t0].[ProductID0] FROM ( SELECT TOP(1) [o].[OrderID], [o].[OrderDate] FROM [Orders] AS [o] @@ -2011,7 +2300,8 @@ OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY ) AS [t1] INNER JOIN [Products] AS [p] ON [t1].[ProductID] = [p].[ProductID] ) AS [t0] -ORDER BY [t].[OrderID], [t0].[OrderID] DESC, [t0].[ProductID0]"); +ORDER BY [t].[OrderID], [t0].[OrderID] DESC, [t0].[ProductID0] +"""); } public override async Task Take_on_correlated_collection_in_first(bool async) @@ -2019,7 +2309,8 @@ public override async Task Take_on_correlated_collection_in_first(bool async) await base.Take_on_correlated_collection_in_first(async); AssertSql( - @"SELECT [t].[CustomerID], [t0].[Title], [t0].[OrderID], [t0].[CustomerID] +""" +SELECT [t].[CustomerID], [t0].[Title], [t0].[OrderID], [t0].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] @@ -2039,7 +2330,8 @@ ORDER BY [o].[OrderDate] ) AS [t1] LEFT JOIN [Customers] AS [c0] ON [t1].[CustomerID] = [c0].[CustomerID] ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[OrderDate], [t0].[OrderID]"); +ORDER BY [t].[CustomerID], [t0].[OrderDate], [t0].[OrderID] +"""); } public override async Task Client_projection_via_ctor_arguments(bool async) @@ -2047,7 +2339,8 @@ public override async Task Client_projection_via_ctor_arguments(bool async) await base.Client_projection_via_ctor_arguments(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[City], [o0].[OrderID], [o0].[OrderDate], [t].[c] +""" +SELECT [t].[CustomerID], [t].[City], [o0].[OrderID], [o0].[OrderDate], [t].[c] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[City], ( SELECT COUNT(*) @@ -2057,7 +2350,8 @@ FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Client_projection_with_string_initialization_with_scalar_subquery(bool async) @@ -2065,12 +2359,14 @@ public override async Task Client_projection_with_string_initialization_with_sca await base.Client_projection_with_string_initialization_with_scalar_subquery(async); AssertSql( - @"SELECT [c].[CustomerID], ( +""" +SELECT [c].[CustomerID], ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] < 11000), [c].[City], N'test' + COALESCE([c].[City], N'') FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } public override async Task MemberInit_in_projection_without_arguments(bool async) @@ -2078,11 +2374,13 @@ public override async Task MemberInit_in_projection_without_arguments(bool async await base.MemberInit_in_projection_without_arguments(async); AssertSql( - @"SELECT [c].[CustomerID], [o].[OrderID] +""" +SELECT [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task VisitLambda_should_not_be_visited_trivially(bool async) @@ -2090,9 +2388,11 @@ public override async Task VisitLambda_should_not_be_visited_trivially(bool asyn await base.VisitLambda_should_not_be_visited_trivially(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'A%') +"""); } public override async Task Select_anonymous_literal(bool async) @@ -2100,8 +2400,10 @@ public override async Task Select_anonymous_literal(bool async) await base.Select_anonymous_literal(async); AssertSql( - @"SELECT 10 AS [X] -FROM [Customers] AS [c]"); +""" +SELECT 10 AS [X] +FROM [Customers] AS [c] +"""); } public override async Task Select_anonymous_nested(bool async) @@ -2109,8 +2411,10 @@ public override async Task Select_anonymous_nested(bool async) await base.Select_anonymous_nested(async); AssertSql( - @"SELECT [c].[City], [c].[Country] -FROM [Customers] AS [c]"); +""" +SELECT [c].[City], [c].[Country] +FROM [Customers] AS [c] +"""); } public override async Task Projection_when_arithmetic_mixed_subqueries(bool async) @@ -2118,7 +2422,8 @@ public override async Task Projection_when_arithmetic_mixed_subqueries(bool asyn await base.Projection_when_arithmetic_mixed_subqueries(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT CAST([t0].[EmployeeID] AS bigint) + CAST([t].[OrderID] AS bigint), [t0].[EmployeeID], [t0].[City], [t0].[Country], [t0].[FirstName], [t0].[ReportsTo], [t0].[Title], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID] % 2 FROM ( @@ -2131,7 +2436,8 @@ SELECT TOP(2) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e]. FROM [Employees] AS [e] ORDER BY [e].[EmployeeID] ) AS [t0] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Select_datetime_Ticks_component(bool async) @@ -2139,8 +2445,10 @@ public override async Task Select_datetime_Ticks_component(bool async) await base.Select_datetime_Ticks_component(async); AssertSql( - @"SELECT [o].[OrderDate] -FROM [Orders] AS [o]"); +""" +SELECT [o].[OrderDate] +FROM [Orders] AS [o] +"""); } public override async Task Select_datetime_TimeOfDay_component(bool async) @@ -2148,8 +2456,10 @@ public override async Task Select_datetime_TimeOfDay_component(bool async) await base.Select_datetime_TimeOfDay_component(async); AssertSql( - @"SELECT CONVERT(time, [o].[OrderDate]) -FROM [Orders] AS [o]"); +""" +SELECT CONVERT(time, [o].[OrderDate]) +FROM [Orders] AS [o] +"""); } public override async Task Select_anonymous_with_object(bool async) @@ -2157,8 +2467,10 @@ public override async Task Select_anonymous_with_object(bool async) await base.Select_anonymous_with_object(async); AssertSql( - @"SELECT [c].[City], [c].[CustomerID], [c].[Address], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[City], [c].[CustomerID], [c].[Address], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Client_method_in_projection_requiring_materialization_1(bool async) @@ -2166,9 +2478,11 @@ public override async Task Client_method_in_projection_requiring_materialization await base.Client_method_in_projection_requiring_materialization_1(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Select_datetime_DayOfWeek_component(bool async) @@ -2176,8 +2490,10 @@ public override async Task Select_datetime_DayOfWeek_component(bool async) await base.Select_datetime_DayOfWeek_component(async); AssertSql( - @"SELECT [o].[OrderDate] -FROM [Orders] AS [o]"); +""" +SELECT [o].[OrderDate] +FROM [Orders] AS [o] +"""); } public override async Task Select_scalar_primitive(bool async) @@ -2185,8 +2501,10 @@ public override async Task Select_scalar_primitive(bool async) await base.Select_scalar_primitive(async); AssertSql( - @"SELECT [e].[EmployeeID] -FROM [Employees] AS [e]"); +""" +SELECT [e].[EmployeeID] +FROM [Employees] AS [e] +"""); } public override async Task Client_method_in_projection_requiring_materialization_2(bool async) @@ -2194,9 +2512,11 @@ public override async Task Client_method_in_projection_requiring_materialization await base.Client_method_in_projection_requiring_materialization_2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'A%'"); +WHERE [c].[CustomerID] LIKE N'A%' +"""); } public override async Task Select_anonymous_empty(bool async) @@ -2204,8 +2524,10 @@ public override async Task Select_anonymous_empty(bool async) await base.Select_anonymous_empty(async); AssertSql( - @"SELECT 1 -FROM [Customers] AS [c]"); +""" +SELECT 1 +FROM [Customers] AS [c] +"""); } public override async Task Select_customer_table(bool async) @@ -2213,8 +2535,10 @@ public override async Task Select_customer_table(bool async) await base.Select_customer_table(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Select_into(bool async) @@ -2222,9 +2546,11 @@ public override async Task Select_into(bool async) await base.Select_into(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Select_bool_closure(bool async) @@ -2232,11 +2558,15 @@ public override async Task Select_bool_closure(bool async) await base.Select_bool_closure(async); AssertSql( - @"SELECT 1 -FROM [Customers] AS [c]", +""" +SELECT 1 +FROM [Customers] AS [c] +""", // - @"SELECT 1 -FROM [Customers] AS [c]"); +""" +SELECT 1 +FROM [Customers] AS [c] +"""); } public override async Task Select_customer_identity(bool async) @@ -2244,8 +2574,10 @@ public override async Task Select_customer_identity(bool async) await base.Select_customer_identity(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Correlated_collection_after_groupby_with_complex_projection_not_containing_original_identifier(bool async) @@ -2253,7 +2585,8 @@ public override async Task Correlated_collection_after_groupby_with_complex_proj await base.Correlated_collection_after_groupby_with_complex_projection_not_containing_original_identifier(async); AssertSql( - @"SELECT [t0].[CustomerID], [t0].[Complex], [t1].[Outer], [t1].[Inner], [t1].[OrderDate] +""" +SELECT [t0].[CustomerID], [t0].[Complex], [t1].[Outer], [t1].[Inner], [t1].[OrderDate] FROM ( SELECT [t].[CustomerID], [t].[Complex] FROM ( @@ -2267,7 +2600,8 @@ OUTER APPLY ( FROM [Orders] AS [o0] WHERE ([o0].[CustomerID] = [t0].[CustomerID] OR (([o0].[CustomerID] IS NULL) AND ([t0].[CustomerID] IS NULL))) AND [o0].[OrderID] IN (10248, 10249, 10250) ) AS [t1] -ORDER BY [t0].[CustomerID], [t0].[Complex]"); +ORDER BY [t0].[CustomerID], [t0].[Complex] +"""); } public override async Task Select_bool_closure_with_order_by_property_with_cast_to_nullable(bool async) @@ -2289,7 +2623,8 @@ public override async Task List_of_list_of_anonymous_type(bool async) await base.List_of_list_of_anonymous_type(async); AssertSql( - @"SELECT [c].[CustomerID], [t].[OrderID], [t].[OrderID0], [t].[ProductID] +""" +SELECT [c].[CustomerID], [t].[OrderID], [t].[OrderID0], [t].[ProductID] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o0].[OrderID] AS [OrderID0], [o0].[ProductID], [o].[CustomerID] @@ -2297,7 +2632,8 @@ FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0]"); +ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0] +"""); } public override async Task List_from_result_of_single_result(bool async) @@ -2305,14 +2641,16 @@ public override async Task List_from_result_of_single_result(bool async) await base.List_from_result_of_single_result(async); AssertSql( - @"SELECT [t].[CustomerID], [o].[OrderID] +""" +SELECT [t].[CustomerID], [o].[OrderID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task List_from_result_of_single_result_2(bool async) @@ -2320,14 +2658,16 @@ public override async Task List_from_result_of_single_result_2(bool async) await base.List_from_result_of_single_result_2(async); AssertSql( - @"SELECT [t].[CustomerID], [o].[OrderID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [o].[OrderID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task List_from_result_of_single_result_3(bool async) @@ -2335,7 +2675,8 @@ public override async Task List_from_result_of_single_result_3(bool async) await base.List_from_result_of_single_result_3(async); AssertSql( - @"SELECT [t].[CustomerID], [t0].[OrderID], [o0].[ProductID], [o0].[OrderID], [t0].[c] +""" +SELECT [t].[CustomerID], [t0].[OrderID], [o0].[ProductID], [o0].[OrderID], [t0].[c] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] @@ -2350,7 +2691,8 @@ FROM [Orders] AS [o] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [t0].[OrderID] = [o0].[OrderID] -ORDER BY [t].[CustomerID], [t0].[OrderID], [o0].[OrderID]"); +ORDER BY [t].[CustomerID], [t0].[OrderID], [o0].[OrderID] +"""); } public override async Task Using_enumerable_parameter_in_projection(bool async) @@ -2358,9 +2700,11 @@ public override async Task Using_enumerable_parameter_in_projection(bool async) await base.Using_enumerable_parameter_in_projection(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'F%'"); +WHERE [c].[CustomerID] LIKE N'F%' +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSetOperationsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSetOperationsQuerySqlServerTest.cs index 10fe97f8ffd..a8bf9c310cc 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSetOperationsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSetOperationsQuerySqlServerTest.cs @@ -29,13 +29,15 @@ public override async Task Union(bool async) await base.Union(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'Berlin' UNION SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] -WHERE [c0].[City] = N'London'"); +WHERE [c0].[City] = N'London' +"""); } public override async Task Concat(bool async) @@ -43,13 +45,15 @@ public override async Task Concat(bool async) await base.Concat(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'Berlin' UNION ALL SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] -WHERE [c0].[City] = N'London'"); +WHERE [c0].[City] = N'London' +"""); } public override async Task Intersect(bool async) @@ -57,13 +61,15 @@ public override async Task Intersect(bool async) await base.Intersect(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' INTERSECT SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] -WHERE [c0].[ContactName] LIKE N'%Thomas%'"); +WHERE [c0].[ContactName] LIKE N'%Thomas%' +"""); } public override async Task Except(bool async) @@ -71,13 +77,15 @@ public override async Task Except(bool async) await base.Except(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'London' EXCEPT SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] -WHERE [c0].[ContactName] LIKE N'%Thomas%'"); +WHERE [c0].[ContactName] LIKE N'%Thomas%' +"""); } public override async Task Union_OrderBy_Skip_Take(bool async) @@ -85,7 +93,8 @@ public override async Task Union_OrderBy_Skip_Take(bool async) await base.Union_OrderBy_Skip_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -98,7 +107,8 @@ FROM [Customers] AS [c0] WHERE [c0].[City] = N'London' ) AS [t] ORDER BY [t].[ContactName] -OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY"); +OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY +"""); } public override async Task Union_Where(bool async) @@ -106,7 +116,8 @@ public override async Task Union_Where(bool async) await base.Union_Where(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -116,7 +127,8 @@ FROM [Customers] AS [c] FROM [Customers] AS [c0] WHERE [c0].[City] = N'London' ) AS [t] -WHERE [t].[ContactName] LIKE N'%Thomas%'"); +WHERE [t].[ContactName] LIKE N'%Thomas%' +"""); } public override async Task Union_Skip_Take_OrderBy_ThenBy_Where(bool async) @@ -124,7 +136,8 @@ public override async Task Union_Skip_Take_OrderBy_ThenBy_Where(bool async) await base.Union_Skip_Take_OrderBy_ThenBy_Where(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( @@ -142,7 +155,8 @@ FROM [Customers] AS [c0] OFFSET @__p_0 ROWS ) AS [t0] WHERE [t0].[ContactName] LIKE N'%Thomas%' -ORDER BY [t0].[Region], [t0].[City]"); +ORDER BY [t0].[Region], [t0].[City] +"""); } public override async Task Union_Union(bool async) @@ -150,7 +164,8 @@ public override async Task Union_Union(bool async) await base.Union_Union(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'Berlin' UNION @@ -160,7 +175,8 @@ FROM [Customers] AS [c0] UNION SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c1] -WHERE [c1].[City] = N'Mannheim'"); +WHERE [c1].[City] = N'Mannheim' +"""); } public override async Task Union_Intersect(bool async) @@ -168,7 +184,8 @@ public override async Task Union_Intersect(bool async) await base.Union_Intersect(async); AssertSql( - @"( +""" +( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'Berlin' @@ -180,7 +197,8 @@ FROM [Customers] AS [c0] INTERSECT SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c1] -WHERE [c1].[ContactName] LIKE N'%Thomas%'"); +WHERE [c1].[ContactName] LIKE N'%Thomas%' +"""); } public override async Task Union_Take_Union_Take(bool async) @@ -188,7 +206,8 @@ public override async Task Union_Take_Union_Take(bool async) await base.Union_Take_Union_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t2].[CustomerID], [t2].[Address], [t2].[City], [t2].[CompanyName], [t2].[ContactName], [t2].[ContactTitle], [t2].[Country], [t2].[Fax], [t2].[Phone], [t2].[PostalCode], [t2].[Region] FROM ( @@ -214,7 +233,8 @@ FROM [Customers] AS [c1] WHERE [c1].[City] = N'Mannheim' ) AS [t1] ) AS [t2] -ORDER BY [t2].[CustomerID]"); +ORDER BY [t2].[CustomerID] +"""); } public override async Task Select_Union(bool async) @@ -222,13 +242,15 @@ public override async Task Select_Union(bool async) await base.Select_Union(async); AssertSql( - @"SELECT [c].[Address] +""" +SELECT [c].[Address] FROM [Customers] AS [c] WHERE [c].[City] = N'Berlin' UNION SELECT [c0].[Address] FROM [Customers] AS [c0] -WHERE [c0].[City] = N'London'"); +WHERE [c0].[City] = N'London' +"""); } public override async Task Union_Select(bool async) @@ -236,7 +258,8 @@ public override async Task Union_Select(bool async) await base.Union_Select(async); AssertSql( - @"SELECT [t].[Address] +""" +SELECT [t].[Address] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -246,7 +269,8 @@ FROM [Customers] AS [c] FROM [Customers] AS [c0] WHERE [c0].[City] = N'London' ) AS [t] -WHERE [t].[Address] LIKE N'%Hanover%'"); +WHERE [t].[Address] LIKE N'%Hanover%' +"""); } public override async Task Union_Select_scalar(bool async) @@ -254,14 +278,16 @@ public override async Task Union_Select_scalar(bool async) await base.Union_Select_scalar(async); AssertSql( - @"SELECT 1 +""" +SELECT 1 FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] EXCEPT SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] -) AS [t]"); +) AS [t] +"""); } public override async Task Union_with_anonymous_type_projection(bool async) @@ -269,7 +295,8 @@ public override async Task Union_with_anonymous_type_projection(bool async) await base.Union_with_anonymous_type_projection(async); AssertSql( - @"SELECT [t].[CustomerID] AS [Id] +""" +SELECT [t].[CustomerID] AS [Id] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -278,7 +305,8 @@ FROM [Customers] AS [c] SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] WHERE ([c0].[CompanyName] IS NOT NULL) AND ([c0].[CompanyName] LIKE N'B%') -) AS [t]"); +) AS [t] +"""); } public override async Task Select_Union_unrelated(bool async) @@ -286,7 +314,8 @@ public override async Task Select_Union_unrelated(bool async) await base.Select_Union_unrelated(async); AssertSql( - @"SELECT [t].[CompanyName] +""" +SELECT [t].[CompanyName] FROM ( SELECT [c].[CompanyName] FROM [Customers] AS [c] @@ -295,7 +324,8 @@ SELECT [p].[ProductName] AS [CompanyName] FROM [Products] AS [p] ) AS [t] WHERE ([t].[CompanyName] IS NOT NULL) AND ([t].[CompanyName] LIKE N'C%') -ORDER BY [t].[CompanyName]"); +ORDER BY [t].[CompanyName] +"""); } public override async Task Select_Union_different_fields_in_anonymous_with_subquery(bool async) @@ -303,7 +333,8 @@ public override async Task Select_Union_different_fields_in_anonymous_with_subqu await base.Select_Union_different_fields_in_anonymous_with_subquery(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='10' SELECT [t0].[Foo], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] @@ -322,7 +353,8 @@ ORDER BY [t].[Foo] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t0] WHERE [t0].[Foo] = N'Berlin' -ORDER BY [t0].[Foo]"); +ORDER BY [t0].[Foo] +"""); } public override async Task Union_Include(bool async) @@ -330,7 +362,8 @@ public override async Task Union_Include(bool async) await base.Union_Include(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -341,7 +374,8 @@ FROM [Customers] AS [c0] WHERE [c0].[City] = N'London' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_Union(bool async) @@ -349,7 +383,8 @@ public override async Task Include_Union(bool async) await base.Include_Union(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -360,7 +395,8 @@ FROM [Customers] AS [c0] WHERE [c0].[City] = N'London' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Select_Except_reference_projection(bool async) @@ -368,14 +404,16 @@ public override async Task Select_Except_reference_projection(bool async) await base.Select_Except_reference_projection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] EXCEPT SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Orders] AS [o0] LEFT JOIN [Customers] AS [c0] ON [o0].[CustomerID] = [c0].[CustomerID] -WHERE [o0].[CustomerID] = N'ALFKI'"); +WHERE [o0].[CustomerID] = N'ALFKI' +"""); } public override async Task SubSelect_Union(bool async) @@ -383,7 +421,8 @@ public override async Task SubSelect_Union(bool async) await base.SubSelect_Union(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) AS [Orders] @@ -393,7 +432,8 @@ FROM [Customers] AS [c] SELECT COUNT(*) FROM [Orders] AS [o0] WHERE [c0].[CustomerID] = [o0].[CustomerID]) AS [Orders] -FROM [Customers] AS [c0]"); +FROM [Customers] AS [c0] +"""); } public override async Task GroupBy_Select_Union(bool async) @@ -401,7 +441,8 @@ public override async Task GroupBy_Select_Union(bool async) await base.GroupBy_Select_Union(async); AssertSql( - @"SELECT [c].[CustomerID], COUNT(*) AS [Count] +""" +SELECT [c].[CustomerID], COUNT(*) AS [Count] FROM [Customers] AS [c] WHERE [c].[City] = N'Berlin' GROUP BY [c].[CustomerID] @@ -409,7 +450,8 @@ GROUP BY [c].[CustomerID] SELECT [c0].[CustomerID], COUNT(*) AS [Count] FROM [Customers] AS [c0] WHERE [c0].[City] = N'London' -GROUP BY [c0].[CustomerID]"); +GROUP BY [c0].[CustomerID] +"""); } public override async Task Union_over_columns_with_different_nullability(bool async) @@ -417,11 +459,13 @@ public override async Task Union_over_columns_with_different_nullability(bool as await base.Union_over_columns_with_different_nullability(async); AssertSql( - @"SELECT N'NonNullableConstant' AS [c] +""" +SELECT N'NonNullableConstant' AS [c] FROM [Customers] AS [c] UNION ALL SELECT NULL AS [c] -FROM [Customers] AS [c0]"); +FROM [Customers] AS [c0] +"""); } public override async Task Union_over_column_column(bool async) @@ -429,11 +473,13 @@ public override async Task Union_over_column_column(bool async) await base.Union_over_column_column(async); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Orders] AS [o] UNION SELECT [o0].[OrderID] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_column_function(bool async) @@ -441,12 +487,14 @@ public override async Task Union_over_column_function(bool async) await base.Union_over_column_function(async); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Orders] AS [o] UNION SELECT COUNT(*) AS [OrderID] FROM [Orders] AS [o0] -GROUP BY [o0].[OrderID]"); +GROUP BY [o0].[OrderID] +"""); } public override async Task Union_over_column_constant(bool async) @@ -454,11 +502,13 @@ public override async Task Union_over_column_constant(bool async) await base.Union_over_column_constant(async); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Orders] AS [o] UNION SELECT 8 AS [OrderID] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_column_unary(bool async) @@ -466,11 +516,13 @@ public override async Task Union_over_column_unary(bool async) await base.Union_over_column_unary(async); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Orders] AS [o] UNION SELECT -[o0].[OrderID] AS [OrderID] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_column_binary(bool async) @@ -478,11 +530,13 @@ public override async Task Union_over_column_binary(bool async) await base.Union_over_column_binary(async); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Orders] AS [o] UNION SELECT [o0].[OrderID] + 1 AS [OrderID] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_column_scalarsubquery(bool async) @@ -490,14 +544,16 @@ public override async Task Union_over_column_scalarsubquery(bool async) await base.Union_over_column_scalarsubquery(async); AssertSql( - @"SELECT [o].[OrderID] +""" +SELECT [o].[OrderID] FROM [Orders] AS [o] UNION SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o1] WHERE [o0].[OrderID] = [o1].[OrderID]) AS [OrderID] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_function_column(bool async) @@ -505,12 +561,14 @@ public override async Task Union_over_function_column(bool async) await base.Union_over_function_column(async); AssertSql( - @"SELECT COUNT(*) AS [c] +""" +SELECT COUNT(*) AS [c] FROM [Orders] AS [o] GROUP BY [o].[OrderID] UNION SELECT [o0].[OrderID] AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_function_function(bool async) @@ -518,13 +576,15 @@ public override async Task Union_over_function_function(bool async) await base.Union_over_function_function(async); AssertSql( - @"SELECT COUNT(*) AS [c] +""" +SELECT COUNT(*) AS [c] FROM [Orders] AS [o] GROUP BY [o].[OrderID] UNION SELECT COUNT(*) AS [c] FROM [Orders] AS [o0] -GROUP BY [o0].[OrderID]"); +GROUP BY [o0].[OrderID] +"""); } public override async Task Union_over_function_constant(bool async) @@ -532,12 +592,14 @@ public override async Task Union_over_function_constant(bool async) await base.Union_over_function_constant(async); AssertSql( - @"SELECT COUNT(*) AS [c] +""" +SELECT COUNT(*) AS [c] FROM [Orders] AS [o] GROUP BY [o].[OrderID] UNION SELECT 8 AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_function_unary(bool async) @@ -545,12 +607,14 @@ public override async Task Union_over_function_unary(bool async) await base.Union_over_function_unary(async); AssertSql( - @"SELECT COUNT(*) AS [c] +""" +SELECT COUNT(*) AS [c] FROM [Orders] AS [o] GROUP BY [o].[OrderID] UNION SELECT -[o0].[OrderID] AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_function_binary(bool async) @@ -558,12 +622,14 @@ public override async Task Union_over_function_binary(bool async) await base.Union_over_function_binary(async); AssertSql( - @"SELECT COUNT(*) AS [c] +""" +SELECT COUNT(*) AS [c] FROM [Orders] AS [o] GROUP BY [o].[OrderID] UNION SELECT [o0].[OrderID] + 1 AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_function_scalarsubquery(bool async) @@ -571,7 +637,8 @@ public override async Task Union_over_function_scalarsubquery(bool async) await base.Union_over_function_scalarsubquery(async); AssertSql( - @"SELECT COUNT(*) AS [c] +""" +SELECT COUNT(*) AS [c] FROM [Orders] AS [o] GROUP BY [o].[OrderID] UNION @@ -579,7 +646,8 @@ GROUP BY [o].[OrderID] SELECT COUNT(*) FROM [Order Details] AS [o1] WHERE [o0].[OrderID] = [o1].[OrderID]) AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_constant_column(bool async) @@ -587,11 +655,13 @@ public override async Task Union_over_constant_column(bool async) await base.Union_over_constant_column(async); AssertSql( - @"SELECT 8 AS [c] +""" +SELECT 8 AS [c] FROM [Orders] AS [o] UNION SELECT [o0].[OrderID] AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_constant_function(bool async) @@ -599,12 +669,14 @@ public override async Task Union_over_constant_function(bool async) await base.Union_over_constant_function(async); AssertSql( - @"SELECT 8 AS [c] +""" +SELECT 8 AS [c] FROM [Orders] AS [o] UNION SELECT COUNT(*) AS [c] FROM [Orders] AS [o0] -GROUP BY [o0].[OrderID]"); +GROUP BY [o0].[OrderID] +"""); } public override async Task Union_over_constant_constant(bool async) @@ -612,11 +684,13 @@ public override async Task Union_over_constant_constant(bool async) await base.Union_over_constant_constant(async); AssertSql( - @"SELECT 8 AS [c] +""" +SELECT 8 AS [c] FROM [Orders] AS [o] UNION SELECT 8 AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_constant_unary(bool async) @@ -624,11 +698,13 @@ public override async Task Union_over_constant_unary(bool async) await base.Union_over_constant_unary(async); AssertSql( - @"SELECT 8 AS [c] +""" +SELECT 8 AS [c] FROM [Orders] AS [o] UNION SELECT -[o0].[OrderID] AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_constant_binary(bool async) @@ -636,11 +712,13 @@ public override async Task Union_over_constant_binary(bool async) await base.Union_over_constant_binary(async); AssertSql( - @"SELECT 8 AS [c] +""" +SELECT 8 AS [c] FROM [Orders] AS [o] UNION SELECT [o0].[OrderID] + 1 AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_constant_scalarsubquery(bool async) @@ -648,14 +726,16 @@ public override async Task Union_over_constant_scalarsubquery(bool async) await base.Union_over_constant_scalarsubquery(async); AssertSql( - @"SELECT 8 AS [c] +""" +SELECT 8 AS [c] FROM [Orders] AS [o] UNION SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o1] WHERE [o0].[OrderID] = [o1].[OrderID]) AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_unary_column(bool async) @@ -663,11 +743,13 @@ public override async Task Union_over_unary_column(bool async) await base.Union_over_unary_column(async); AssertSql( - @"SELECT -[o].[OrderID] AS [c] +""" +SELECT -[o].[OrderID] AS [c] FROM [Orders] AS [o] UNION SELECT [o0].[OrderID] AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_unary_function(bool async) @@ -675,12 +757,14 @@ public override async Task Union_over_unary_function(bool async) await base.Union_over_unary_function(async); AssertSql( - @"SELECT -[o].[OrderID] AS [c] +""" +SELECT -[o].[OrderID] AS [c] FROM [Orders] AS [o] UNION SELECT COUNT(*) AS [c] FROM [Orders] AS [o0] -GROUP BY [o0].[OrderID]"); +GROUP BY [o0].[OrderID] +"""); } public override async Task Union_over_unary_constant(bool async) @@ -688,11 +772,13 @@ public override async Task Union_over_unary_constant(bool async) await base.Union_over_unary_constant(async); AssertSql( - @"SELECT -[o].[OrderID] AS [c] +""" +SELECT -[o].[OrderID] AS [c] FROM [Orders] AS [o] UNION SELECT 8 AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_unary_unary(bool async) @@ -700,11 +786,13 @@ public override async Task Union_over_unary_unary(bool async) await base.Union_over_unary_unary(async); AssertSql( - @"SELECT -[o].[OrderID] AS [c] +""" +SELECT -[o].[OrderID] AS [c] FROM [Orders] AS [o] UNION SELECT -[o0].[OrderID] AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_unary_binary(bool async) @@ -712,11 +800,13 @@ public override async Task Union_over_unary_binary(bool async) await base.Union_over_unary_binary(async); AssertSql( - @"SELECT -[o].[OrderID] AS [c] +""" +SELECT -[o].[OrderID] AS [c] FROM [Orders] AS [o] UNION SELECT [o0].[OrderID] + 1 AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_unary_scalarsubquery(bool async) @@ -724,14 +814,16 @@ public override async Task Union_over_unary_scalarsubquery(bool async) await base.Union_over_unary_scalarsubquery(async); AssertSql( - @"SELECT -[o].[OrderID] AS [c] +""" +SELECT -[o].[OrderID] AS [c] FROM [Orders] AS [o] UNION SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o1] WHERE [o0].[OrderID] = [o1].[OrderID]) AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_binary_column(bool async) @@ -739,11 +831,13 @@ public override async Task Union_over_binary_column(bool async) await base.Union_over_binary_column(async); AssertSql( - @"SELECT [o].[OrderID] + 1 AS [c] +""" +SELECT [o].[OrderID] + 1 AS [c] FROM [Orders] AS [o] UNION SELECT [o0].[OrderID] AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_binary_function(bool async) @@ -751,12 +845,14 @@ public override async Task Union_over_binary_function(bool async) await base.Union_over_binary_function(async); AssertSql( - @"SELECT [o].[OrderID] + 1 AS [c] +""" +SELECT [o].[OrderID] + 1 AS [c] FROM [Orders] AS [o] UNION SELECT COUNT(*) AS [c] FROM [Orders] AS [o0] -GROUP BY [o0].[OrderID]"); +GROUP BY [o0].[OrderID] +"""); } public override async Task Union_over_binary_constant(bool async) @@ -764,11 +860,13 @@ public override async Task Union_over_binary_constant(bool async) await base.Union_over_binary_constant(async); AssertSql( - @"SELECT [o].[OrderID] + 1 AS [c] +""" +SELECT [o].[OrderID] + 1 AS [c] FROM [Orders] AS [o] UNION SELECT 8 AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_binary_unary(bool async) @@ -776,11 +874,13 @@ public override async Task Union_over_binary_unary(bool async) await base.Union_over_binary_unary(async); AssertSql( - @"SELECT [o].[OrderID] + 1 AS [c] +""" +SELECT [o].[OrderID] + 1 AS [c] FROM [Orders] AS [o] UNION SELECT -[o0].[OrderID] AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_binary_binary(bool async) @@ -788,11 +888,13 @@ public override async Task Union_over_binary_binary(bool async) await base.Union_over_binary_binary(async); AssertSql( - @"SELECT [o].[OrderID] + 1 AS [c] +""" +SELECT [o].[OrderID] + 1 AS [c] FROM [Orders] AS [o] UNION SELECT [o0].[OrderID] + 1 AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_binary_scalarsubquery(bool async) @@ -800,14 +902,16 @@ public override async Task Union_over_binary_scalarsubquery(bool async) await base.Union_over_binary_scalarsubquery(async); AssertSql( - @"SELECT [o].[OrderID] + 1 AS [c] +""" +SELECT [o].[OrderID] + 1 AS [c] FROM [Orders] AS [o] UNION SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o1] WHERE [o0].[OrderID] = [o1].[OrderID]) AS [c] -FROM [Orders] AS [o0]"); +FROM [Orders] AS [o0] +"""); } public override async Task Union_over_scalarsubquery_column(bool async) @@ -815,14 +919,16 @@ public override async Task Union_over_scalarsubquery_column(bool async) await base.Union_over_scalarsubquery_column(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [c] FROM [Orders] AS [o] UNION SELECT [o1].[OrderID] AS [c] -FROM [Orders] AS [o1]"); +FROM [Orders] AS [o1] +"""); } public override async Task Union_over_scalarsubquery_function(bool async) @@ -830,7 +936,8 @@ public override async Task Union_over_scalarsubquery_function(bool async) await base.Union_over_scalarsubquery_function(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [c] @@ -838,7 +945,8 @@ FROM [Orders] AS [o] UNION SELECT COUNT(*) AS [c] FROM [Orders] AS [o1] -GROUP BY [o1].[OrderID]"); +GROUP BY [o1].[OrderID] +"""); } public override async Task Union_over_scalarsubquery_constant(bool async) @@ -846,14 +954,16 @@ public override async Task Union_over_scalarsubquery_constant(bool async) await base.Union_over_scalarsubquery_constant(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [c] FROM [Orders] AS [o] UNION SELECT 8 AS [c] -FROM [Orders] AS [o1]"); +FROM [Orders] AS [o1] +"""); } public override async Task Union_over_scalarsubquery_unary(bool async) @@ -861,14 +971,16 @@ public override async Task Union_over_scalarsubquery_unary(bool async) await base.Union_over_scalarsubquery_unary(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [c] FROM [Orders] AS [o] UNION SELECT -[o1].[OrderID] AS [c] -FROM [Orders] AS [o1]"); +FROM [Orders] AS [o1] +"""); } public override async Task Union_over_scalarsubquery_binary(bool async) @@ -876,14 +988,16 @@ public override async Task Union_over_scalarsubquery_binary(bool async) await base.Union_over_scalarsubquery_binary(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [c] FROM [Orders] AS [o] UNION SELECT [o1].[OrderID] + 1 AS [c] -FROM [Orders] AS [o1]"); +FROM [Orders] AS [o1] +"""); } public override async Task Union_over_scalarsubquery_scalarsubquery(bool async) @@ -891,7 +1005,8 @@ public override async Task Union_over_scalarsubquery_scalarsubquery(bool async) await base.Union_over_scalarsubquery_scalarsubquery(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) AS [c] @@ -901,7 +1016,8 @@ FROM [Orders] AS [o] SELECT COUNT(*) FROM [Order Details] AS [o2] WHERE [o1].[OrderID] = [o2].[OrderID]) AS [c] -FROM [Orders] AS [o1]"); +FROM [Orders] AS [o1] +"""); } public override async Task OrderBy_Take_Union(bool async) @@ -909,7 +1025,8 @@ public override async Task OrderBy_Take_Union(bool async) await base.OrderBy_Take_Union(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -923,7 +1040,8 @@ ORDER BY [c].[ContactName] SELECT TOP(@__p_0) [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] ORDER BY [c0].[ContactName] -) AS [t1]"); +) AS [t1] +"""); } public override async Task Collection_projection_after_set_operation(bool async) @@ -931,7 +1049,8 @@ public override async Task Collection_projection_after_set_operation(bool async) await base.Collection_projection_after_set_operation(async); AssertSql( - @"SELECT [t].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -942,7 +1061,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Concat_with_one_side_being_GroupBy_aggregate(bool async) @@ -950,14 +1070,16 @@ public override async Task Concat_with_one_side_being_GroupBy_aggregate(bool asy await base.Concat_with_one_side_being_GroupBy_aggregate(async); AssertSql( - @"SELECT [o].[OrderDate] +""" +SELECT [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE [c].[City] = N'Seatte' UNION SELECT MAX([o0].[OrderDate]) AS [OrderDate] FROM [Orders] AS [o0] -GROUP BY [o0].[CustomerID]"); +GROUP BY [o0].[CustomerID] +"""); } public override async Task Union_on_entity_with_correlated_collection(bool async) @@ -965,7 +1087,8 @@ public override async Task Union_on_entity_with_correlated_collection(bool async await base.Union_on_entity_with_correlated_collection(async); AssertSql( - @"SELECT [t].[CustomerID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [t].[CustomerID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] @@ -978,7 +1101,8 @@ FROM [Orders] AS [o0] WHERE [o0].[OrderID] < 10250 ) AS [t] LEFT JOIN [Orders] AS [o1] ON [t].[CustomerID] = [o1].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Union_on_entity_plus_other_column_with_correlated_collection(bool async) @@ -986,7 +1110,8 @@ public override async Task Union_on_entity_plus_other_column_with_correlated_col await base.Union_on_entity_plus_other_column_with_correlated_collection(async); AssertSql( - @"SELECT [t].[OrderDate], [t].[CustomerID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [t].[OrderDate], [t].[CustomerID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderDate] FROM [Orders] AS [o] @@ -999,7 +1124,8 @@ FROM [Orders] AS [o0] WHERE [o0].[OrderID] < 10250 ) AS [t] LEFT JOIN [Orders] AS [o1] ON [t].[CustomerID] = [o1].[CustomerID] -ORDER BY [t].[CustomerID], [t].[OrderDate]"); +ORDER BY [t].[CustomerID], [t].[OrderDate] +"""); } public override async Task Except_non_entity(bool async) @@ -1007,13 +1133,15 @@ public override async Task Except_non_entity(bool async) await base.Except_non_entity(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[ContactTitle] = N'Owner' EXCEPT SELECT [c0].[CustomerID] FROM [Customers] AS [c0] -WHERE [c0].[City] = N'México D.F.'"); +WHERE [c0].[City] = N'México D.F.' +"""); } public override async Task Except_simple_followed_by_projecting_constant(bool async) @@ -1021,14 +1149,16 @@ public override async Task Except_simple_followed_by_projecting_constant(bool as await base.Except_simple_followed_by_projecting_constant(async); AssertSql( - @"SELECT 1 +""" +SELECT 1 FROM ( SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] EXCEPT SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] -) AS [t]"); +) AS [t] +"""); } public override async Task Except_nested(bool async) @@ -1036,7 +1166,8 @@ public override async Task Except_nested(bool async) await base.Except_nested(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[ContactTitle] = N'Owner' EXCEPT @@ -1046,7 +1177,8 @@ FROM [Customers] AS [c0] EXCEPT SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c1] -WHERE [c1].[City] = N'Seattle'"); +WHERE [c1].[City] = N'Seattle' +"""); } public override async Task Intersect_non_entity(bool async) @@ -1054,13 +1186,15 @@ public override async Task Intersect_non_entity(bool async) await base.Intersect_non_entity(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[City] = N'México D.F.' INTERSECT SELECT [c0].[CustomerID] FROM [Customers] AS [c0] -WHERE [c0].[ContactTitle] = N'Owner'"); +WHERE [c0].[ContactTitle] = N'Owner' +"""); } public override async Task Intersect_nested(bool async) @@ -1068,7 +1202,8 @@ public override async Task Intersect_nested(bool async) await base.Intersect_nested(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'México D.F.' INTERSECT @@ -1078,7 +1213,8 @@ FROM [Customers] AS [c0] INTERSECT SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c1] -WHERE [c1].[Fax] IS NOT NULL"); +WHERE [c1].[Fax] IS NOT NULL +"""); } public override async Task Concat_nested(bool async) @@ -1086,7 +1222,8 @@ public override async Task Concat_nested(bool async) await base.Concat_nested(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[City] = N'México D.F.' UNION ALL @@ -1096,7 +1233,8 @@ FROM [Customers] AS [c0] UNION ALL SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c1] -WHERE [c1].[City] = N'London'"); +WHERE [c1].[City] = N'London' +"""); } public override async Task Union_nested(bool async) @@ -1104,7 +1242,8 @@ public override async Task Union_nested(bool async) await base.Union_nested(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[ContactTitle] = N'Owner' UNION @@ -1114,7 +1253,8 @@ FROM [Customers] AS [c0] UNION SELECT [c1].[CustomerID], [c1].[Address], [c1].[City], [c1].[CompanyName], [c1].[ContactName], [c1].[ContactTitle], [c1].[Country], [c1].[Fax], [c1].[Phone], [c1].[PostalCode], [c1].[Region] FROM [Customers] AS [c1] -WHERE [c1].[City] = N'London'"); +WHERE [c1].[City] = N'London' +"""); } public override async Task Union_non_entity(bool async) @@ -1122,13 +1262,15 @@ public override async Task Union_non_entity(bool async) await base.Union_non_entity(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[ContactTitle] = N'Owner' UNION SELECT [c0].[CustomerID] FROM [Customers] AS [c0] -WHERE [c0].[City] = N'México D.F.'"); +WHERE [c0].[City] = N'México D.F.' +"""); } public override async Task Concat_non_entity(bool async) @@ -1136,13 +1278,15 @@ public override async Task Concat_non_entity(bool async) await base.Concat_non_entity(async); AssertSql( - @"SELECT [c].[CustomerID] +""" +SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[City] = N'México D.F.' UNION ALL SELECT [c0].[CustomerID] FROM [Customers] AS [c0] -WHERE [c0].[ContactTitle] = N'Owner'"); +WHERE [c0].[ContactTitle] = N'Owner' +"""); } public override async Task Collection_projection_after_set_operation_fails_if_distinct(bool async) @@ -1208,11 +1352,14 @@ await AssertQuery( .Select(e => e.ContactName) .Union(ss.Set().Select(e => e.ContactTitle))); - AssertSql(@"SELECT [c].[ContactName] + AssertSql( +""" +SELECT [c].[ContactName] FROM [Customers] AS [c] UNION SELECT [c0].[ContactTitle] AS [ContactName] -FROM [Customers] AS [c0]"); +FROM [Customers] AS [c0] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeNoTrackingQuerySqlServerTest.cs index 6c263502ba9..244a115679a 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeNoTrackingQuerySqlServerTest.cs @@ -37,7 +37,8 @@ public override async Task Include_reference_GroupBy_Select(bool async) await base.Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -53,7 +54,8 @@ FROM [Orders] AS [o0] WHERE [o0].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_multi_level_collection_and_then_include_reference_predicate(bool async) @@ -61,12 +63,15 @@ public override async Task Include_multi_level_collection_and_then_include_refer await base.Include_multi_level_collection_and_then_include_reference_predicate(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID]", +ORDER BY [o].[OrderID] +""", // - @"SELECT [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock], [t].[OrderID] +""" +SELECT [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock], [t].[OrderID] FROM ( SELECT TOP(1) [o].[OrderID] FROM [Orders] AS [o] @@ -77,7 +82,8 @@ INNER JOIN ( FROM [Order Details] AS [o0] INNER JOIN [Products] AS [p] ON [o0].[ProductID] = [p].[ProductID] ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_when_result_operator(bool async) @@ -85,12 +91,14 @@ public override async Task Include_when_result_operator(bool async) await base.Include_when_result_operator(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Include_collection_OrderBy_list_does_not_contains(bool async) @@ -98,7 +106,8 @@ public override async Task Include_collection_OrderBy_list_does_not_contains(boo await base.Include_collection_OrderBy_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -107,9 +116,11 @@ ORDER BY CASE WHEN [c].[CustomerID] <> N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [c].[CustomerID] -OFFSET @__p_1 ROWS", +OFFSET @__p_1 ROWS +""", // - @"@__p_1='1' +""" +@__p_1='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -126,7 +137,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_order_by_collection_column(bool async) @@ -134,16 +146,19 @@ public override async Task Include_collection_order_by_collection_column(bool as await base.Include_collection_order_by_collection_column(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'W%' ORDER BY ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderDate] DESC) DESC, [c].[CustomerID]", + ORDER BY [o].[OrderDate] DESC) DESC, [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID], ( SELECT TOP(1) [o].[OrderDate] @@ -159,7 +174,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderDate] DESC) DESC ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID]"); +ORDER BY [t].[c] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key(bool async) @@ -167,16 +183,20 @@ public override async Task Include_collection_order_by_non_key(bool async) await base.Include_collection_order_by_non_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[PostalCode], [c].[CustomerID]", +ORDER BY [c].[PostalCode], [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[PostalCode], [c].[CustomerID]"); +ORDER BY [c].[PostalCode], [c].[CustomerID] +"""); } public override async Task Include_collection_on_additional_from_clause2(bool async) @@ -184,7 +204,8 @@ public override async Task Include_collection_on_additional_from_clause2(bool as await base.Include_collection_on_additional_from_clause2(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -193,7 +214,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] CROSS JOIN [Customers] AS [c0] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Multi_level_includes_are_applied_with_skip(bool async) @@ -201,15 +223,18 @@ public override async Task Multi_level_includes_are_applied_with_skip(bool async await base.Multi_level_includes_are_applied_with_skip(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ORDER BY [c].[CustomerID] -OFFSET @__p_0 ROWS FETCH NEXT 1 ROWS ONLY", +OFFSET @__p_0 ROWS FETCH NEXT 1 ROWS ONLY +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -220,9 +245,11 @@ ORDER BY [c].[CustomerID] OFFSET @__p_0 ROWS FETCH NEXT 1 ROWS ONLY ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [o].[OrderID]", +ORDER BY [t].[CustomerID], [o].[OrderID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[CustomerID], [o].[OrderID] FROM ( @@ -234,7 +261,8 @@ OFFSET @__p_0 ROWS FETCH NEXT 1 ROWS ONLY ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [t].[CustomerID], [o].[OrderID]"); +ORDER BY [t].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_references_multi_level(bool async) @@ -242,11 +270,13 @@ public override async Task Include_references_multi_level(bool async) await base.Include_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_multiple_references_then_include_multi_level(bool async) @@ -254,12 +284,14 @@ public override async Task Include_multiple_references_then_include_multi_level( await base.Include_multiple_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_duplicate_collection_result_operator(bool async) @@ -267,7 +299,8 @@ public override async Task Include_duplicate_collection_result_operator(bool asy await base.Include_duplicate_collection_result_operator(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT TOP(@__p_1) [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] @@ -282,9 +315,11 @@ FROM [Customers] AS [c0] ORDER BY [c0].[CustomerID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[CustomerID]", +ORDER BY [t].[CustomerID], [t0].[CustomerID] +""", // - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[CustomerID], [t1].[CustomerID0] @@ -304,9 +339,11 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t1] INNER JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0]", +ORDER BY [t1].[CustomerID], [t1].[CustomerID0] +""", // - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[CustomerID], [t1].[CustomerID0] @@ -326,7 +363,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t1] INNER JOIN [Orders] AS [o] ON [t1].[CustomerID0] = [o].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0] +"""); } public override async Task Include_collection_with_filter_reordered(bool async) @@ -334,16 +372,20 @@ public override async Task Include_collection_with_filter_reordered(bool async) await base.Include_collection_with_filter_reordered(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_duplicate_reference(bool async) @@ -351,7 +393,8 @@ public override async Task Include_duplicate_reference(bool async) await base.Include_duplicate_reference(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM ( @@ -367,7 +410,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [t0].[CustomerID] = [c0].[CustomerID] -ORDER BY [t].[CustomerID], [t].[OrderID]"); +ORDER BY [t].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_with_complex_projection(bool async) @@ -375,9 +419,11 @@ public override async Task Include_with_complex_projection(bool async) await base.Include_with_complex_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id] +""" +SELECT [c].[CustomerID] AS [Id] FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_empty_reference_sets_IsLoaded(bool async) @@ -385,10 +431,12 @@ public override async Task Include_empty_reference_sets_IsLoaded(bool async) await base.Include_empty_reference_sets_IsLoaded(async); AssertSql( - @"SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] +""" +SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] -WHERE [e0].[EmployeeID] IS NULL"); +WHERE [e0].[EmployeeID] IS NULL +"""); } public override async Task Include_multiple_references_multi_level_reverse(bool async) @@ -396,12 +444,14 @@ public override async Task Include_multiple_references_multi_level_reverse(bool await base.Include_multiple_references_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_and_reference(bool async) @@ -409,18 +459,22 @@ public override async Task Include_collection_and_reference(bool async) await base.Include_collection_and_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID], [c].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID], [c].[CustomerID] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_with_multiple_conditional_order_by(bool async) @@ -428,7 +482,8 @@ public override async Task Include_collection_with_multiple_conditional_order_by await base.Include_collection_with_multiple_conditional_order_by(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Orders] AS [o] @@ -439,9 +494,11 @@ ELSE CAST(0 AS bit) END, CASE WHEN [c].[CustomerID] IS NOT NULL THEN [c].[City] ELSE N'' -END, [o].[OrderID], [c].[CustomerID]", +END, [o].[OrderID], [c].[CustomerID] +""", // - @"@__p_0='5' +""" +@__p_0='5' SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[OrderID], [t].[CustomerID] FROM ( @@ -463,7 +520,8 @@ ELSE N'' END ) AS [t] INNER JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID] +"""); } public override async Task Include_where_skip_take_projection(bool async) @@ -471,7 +529,8 @@ public override async Task Include_where_skip_take_projection(bool async) await base.Include_where_skip_take_projection(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='2' SELECT [o0].[CustomerID] @@ -483,7 +542,8 @@ FROM [Order Details] AS [o] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [t].[ProductID]"); +ORDER BY [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_collection_GroupBy_Select(bool async) @@ -491,7 +551,8 @@ public override async Task Include_collection_GroupBy_Select(bool async) await base.Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -507,9 +568,11 @@ FROM [Orders] AS [o0] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID]", +ORDER BY [t].[OrderID], [t0].[OrderID] +""", // - @"SELECT [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice], [t].[OrderID], [t0].[OrderID] +""" +SELECT [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice], [t].[OrderID], [t0].[OrderID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -526,7 +589,8 @@ FROM [Orders] AS [o0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] INNER JOIN [Order Details] AS [o1] ON [t0].[OrderID] = [o1].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID] +"""); } public override async Task Join_Include_collection_GroupBy_Select(bool async) @@ -534,7 +598,8 @@ public override async Task Join_Include_collection_GroupBy_Select(bool async) await base.Join_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -552,9 +617,11 @@ FROM [Order Details] AS [o1] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID]", +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +""", // - @"SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +""" +SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -573,7 +640,8 @@ FROM [Order Details] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] INNER JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +"""); } public override async Task Include_collection_on_additional_from_clause_with_filter(bool async) @@ -581,16 +649,19 @@ public override async Task Include_collection_on_additional_from_clause_with_fil await base.Include_collection_on_additional_from_clause_with_filter(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID] FROM [Customers] AS [c] CROSS JOIN ( SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = N'ALFKI' ) AS [t] -ORDER BY [c].[CustomerID], [t].[CustomerID]", +ORDER BY [c].[CustomerID], [t].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [t].[CustomerID] FROM [Customers] AS [c] CROSS JOIN ( SELECT [c0].[CustomerID] @@ -598,7 +669,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = N'ALFKI' ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID], [t].[CustomerID]"); +ORDER BY [c].[CustomerID], [t].[CustomerID] +"""); } public override async Task Include_collection_then_include_collection(bool async) @@ -606,23 +678,29 @@ public override async Task Include_collection_then_include_collection(bool async await base.Include_collection_then_include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key_with_first_or_default(bool async) @@ -630,18 +708,22 @@ public override async Task Include_collection_order_by_non_key_with_first_or_def await base.Include_collection_order_by_non_key_with_first_or_default(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CompanyName] DESC, [c].[CustomerID]", +ORDER BY [c].[CompanyName] DESC, [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[CompanyName] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Join_Include_reference_GroupBy_Select(bool async) @@ -649,7 +731,8 @@ public override async Task Join_Include_reference_GroupBy_Select(bool async) await base.Join_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -665,7 +748,8 @@ FROM [Order Details] AS [o1] LEFT JOIN [Customers] AS [c] ON [o2].[CustomerID] = [c].[CustomerID] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task SelectMany_Include_collection_GroupBy_Select(bool async) @@ -673,7 +757,8 @@ public override async Task SelectMany_Include_collection_GroupBy_Select(bool asy await base.SelectMany_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -691,9 +776,11 @@ CROSS JOIN [Orders] AS [o2] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID]", +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +""", // - @"SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +""" +SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -712,7 +799,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] INNER JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +"""); } public override async Task Include_references_then_include_multi_level(bool async) @@ -720,11 +808,13 @@ public override async Task Include_references_then_include_multi_level(bool asyn await base.Include_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_SelectMany_GroupBy_Select(bool async) @@ -732,7 +822,8 @@ public override async Task Include_collection_SelectMany_GroupBy_Select(bool asy await base.Include_collection_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -750,9 +841,11 @@ CROSS JOIN [Order Details] AS [o2] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]", +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""", // - @"SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -771,7 +864,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] INNER JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +"""); } public override async Task Include_multiple_references_multi_level(bool async) @@ -779,12 +873,14 @@ public override async Task Include_multiple_references_multi_level(bool async) await base.Include_multiple_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_order_by_subquery(bool async) @@ -792,16 +888,19 @@ public override async Task Include_collection_order_by_subquery(bool async) await base.Include_collection_order_by_subquery(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ORDER BY ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[EmployeeID]), [c].[CustomerID]", + ORDER BY [o].[EmployeeID]), [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID], ( SELECT TOP(1) [o].[OrderDate] @@ -817,7 +916,8 @@ FROM [Orders] AS [o] ORDER BY [o].[EmployeeID]) ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_with_last(bool async) @@ -825,18 +925,22 @@ public override async Task Include_collection_with_last(bool async) await base.Include_collection_with_last(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CompanyName] DESC, [c].[CustomerID]", +ORDER BY [c].[CompanyName] DESC, [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[CompanyName] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_with_cross_apply_with_filter(bool async) @@ -844,7 +948,8 @@ public override async Task Include_collection_with_cross_apply_with_filter(bool await base.Include_collection_with_cross_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] FROM [Customers] AS [c] CROSS APPLY ( SELECT TOP(5) [o].[OrderID] @@ -853,9 +958,11 @@ FROM [Orders] AS [o] ORDER BY [c].[CustomerID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]", +ORDER BY [c].[CustomerID], [t].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] CROSS APPLY ( SELECT TOP(5) [o].[OrderID] @@ -865,7 +972,8 @@ ORDER BY [c].[CustomerID] ) AS [t] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_with_cross_join_clause_with_filter(bool async) @@ -873,7 +981,8 @@ public override async Task Include_collection_with_cross_join_clause_with_filter await base.Include_collection_with_cross_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] FROM [Customers] AS [c] CROSS JOIN ( SELECT TOP(5) [o].[OrderID] @@ -881,9 +990,11 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]", +ORDER BY [c].[CustomerID], [t].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] CROSS JOIN ( SELECT TOP(5) [o].[OrderID] @@ -892,7 +1003,8 @@ ORDER BY [o].[OrderID] ) AS [t] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) @@ -900,7 +1012,8 @@ public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) await base.Include_in_let_followed_by_FirstOrDefault(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] +""" +SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] @@ -911,9 +1024,11 @@ FROM [Orders] AS [o] WHERE [t].[row] <= 1 ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID]", +ORDER BY [c].[CustomerID], [t0].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [t0].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [t0].[OrderID] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID] @@ -925,7 +1040,8 @@ FROM [Orders] AS [o] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [t0].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID] +"""); } public override async Task Include_reference_alias_generation(bool async) @@ -933,10 +1049,12 @@ public override async Task Include_reference_alias_generation(bool async) await base.Include_reference_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_dependent_already_tracked(bool async) @@ -944,23 +1062,29 @@ public override async Task Include_collection_dependent_already_tracked(bool asy await base.Include_collection_dependent_already_tracked(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'", +WHERE [o].[CustomerID] = N'ALFKI' +""", // - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_list_contains(bool async) @@ -968,7 +1092,8 @@ public override async Task Include_collection_OrderBy_list_contains(bool async) await base.Include_collection_OrderBy_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -977,9 +1102,11 @@ ORDER BY CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [c].[CustomerID] -OFFSET @__p_1 ROWS", +OFFSET @__p_1 ROWS +""", // - @"@__p_1='1' +""" +@__p_1='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -996,7 +1123,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_principal_already_tracked(bool async) @@ -1004,23 +1132,29 @@ public override async Task Include_collection_principal_already_tracked(bool asy await base.Include_collection_principal_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_alias_generation(bool async) @@ -1028,16 +1162,20 @@ public override async Task Include_collection_alias_generation(bool async) await base.Include_collection_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID]", +ORDER BY [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] FROM [Orders] AS [o] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Multi_level_includes_are_applied_with_take(bool async) @@ -1045,7 +1183,8 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async await base.Multi_level_includes_are_applied_with_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(1) [t].[CustomerID] FROM ( @@ -1054,9 +1193,11 @@ FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ORDER BY [c].[CustomerID] ) AS [t] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t0].[CustomerID] FROM ( @@ -1070,9 +1211,11 @@ ORDER BY [c].[CustomerID] ORDER BY [t].[CustomerID] ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t0].[CustomerID], [o].[OrderID]", +ORDER BY [t0].[CustomerID], [o].[OrderID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t0].[CustomerID], [o].[OrderID] FROM ( @@ -1087,7 +1230,8 @@ ORDER BY [t].[CustomerID] ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [t0].[CustomerID], [o].[OrderID]"); +ORDER BY [t0].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_duplicate_reference2(bool async) @@ -1095,7 +1239,8 @@ public override async Task Include_duplicate_reference2(bool async) await base.Include_duplicate_reference2(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -1110,7 +1255,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -1118,12 +1264,15 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] WHERE ([p].[ProductID] % 17) = 5 -ORDER BY [p].[ProductID]", +ORDER BY [p].[ProductID] +""", // - @"SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [p].[ProductID] +""" +SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [p].[ProductID] FROM [Products] AS [p] INNER JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -1131,7 +1280,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 -ORDER BY [p].[ProductID]"); +ORDER BY [p].[ProductID] +"""); } public override async Task Include_duplicate_reference3(bool async) @@ -1139,7 +1289,8 @@ public override async Task Include_duplicate_reference3(bool async) await base.Include_duplicate_reference3(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( @@ -1154,7 +1305,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t0].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(bool async) @@ -1162,18 +1314,22 @@ public override async Task Outer_idenfier_correctly_determined_when_doing_includ await base.Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[City] = N'Seattle' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[City] = N'Seattle' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Then_include_collection_order_by_collection_column(bool async) @@ -1181,16 +1337,19 @@ public override async Task Then_include_collection_order_by_collection_column(bo await base.Then_include_collection_order_by_collection_column(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'W%' ORDER BY ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderDate] DESC) DESC, [c].[CustomerID]", + ORDER BY [o].[OrderDate] DESC) DESC, [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID], ( SELECT TOP(1) [o].[OrderDate] @@ -1206,9 +1365,11 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderDate] DESC) DESC ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID], [o0].[OrderID]", +ORDER BY [t].[c] DESC, [t].[CustomerID], [o0].[OrderID] +""", // - @"SELECT [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice], [t].[CustomerID], [o0].[OrderID] +""" +SELECT [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice], [t].[CustomerID], [o0].[OrderID] FROM ( SELECT TOP(1) [c].[CustomerID], ( SELECT TOP(1) [o].[OrderDate] @@ -1225,7 +1386,8 @@ FROM [Orders] AS [o] ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] INNER JOIN [Order Details] AS [o1] ON [o0].[OrderID] = [o1].[OrderID] -ORDER BY [t].[c] DESC, [t].[CustomerID], [o0].[OrderID]"); +ORDER BY [t].[c] DESC, [t].[CustomerID], [o0].[OrderID] +"""); } public override async Task Include_collection_order_by_key(bool async) @@ -1233,16 +1395,20 @@ public override async Task Include_collection_order_by_key(bool async) await base.Include_collection_order_by_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Filtered_include_with_multiple_ordering(bool async) @@ -1250,12 +1416,15 @@ public override async Task Filtered_include_with_multiple_ordering(bool async) await base.Filtered_include_with_multiple_ordering(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] CROSS APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -1265,7 +1434,8 @@ ORDER BY [o].[OrderID] OFFSET 1 ROWS ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderDate] DESC"); +ORDER BY [c].[CustomerID], [t].[OrderDate] DESC +"""); } public override async Task Include_collection_on_join_clause_with_order_by_and_filter(bool async) @@ -1273,18 +1443,22 @@ public override async Task Include_collection_on_join_clause_with_order_by_and_f await base.Include_collection_on_join_clause_with_order_by_and_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_duplicate_collection(bool async) @@ -1292,7 +1466,8 @@ public override async Task Include_duplicate_collection(bool async) await base.Include_duplicate_collection(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( @@ -1306,9 +1481,11 @@ FROM [Customers] AS [c0] ORDER BY [c0].[CustomerID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[CustomerID]", +ORDER BY [t].[CustomerID], [t0].[CustomerID] +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID], [t0].[CustomerID] FROM ( @@ -1323,9 +1500,11 @@ ORDER BY [c0].[CustomerID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID]", +ORDER BY [t].[CustomerID], [t0].[CustomerID] +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID], [t0].[CustomerID] FROM ( @@ -1340,7 +1519,8 @@ ORDER BY [c0].[CustomerID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_empty_list_contains(bool async) @@ -1348,15 +1528,18 @@ public override async Task Include_collection_OrderBy_empty_list_contains(bool a await base.Include_collection_OrderBy_empty_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ORDER BY (SELECT 1), [c].[CustomerID] -OFFSET @__p_1 ROWS", +OFFSET @__p_1 ROWS +""", // - @"@__p_1='1' +""" +@__p_1='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1367,7 +1550,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_reference_single_or_default_when_no_result(bool async) @@ -1375,10 +1559,12 @@ public override async Task Include_reference_single_or_default_when_no_result(bo await base.Include_reference_single_or_default_when_no_result(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Include_list(bool async) @@ -1386,12 +1572,15 @@ public override async Task Include_list(bool async) await base.Include_list(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] WHERE ([p].[ProductID] % 17) = 5 AND [p].[UnitPrice] < 20.0 -ORDER BY [p].[ProductID]", +ORDER BY [p].[ProductID] +""", // - @"SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [p].[ProductID] +""" +SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [p].[ProductID] FROM [Products] AS [p] INNER JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -1399,7 +1588,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 AND [p].[UnitPrice] < 20.0 -ORDER BY [p].[ProductID]"); +ORDER BY [p].[ProductID] +"""); } public override async Task Include_closes_reader(bool async) @@ -1407,20 +1597,26 @@ public override async Task Include_closes_reader(bool async) await base.Include_closes_reader(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] -FROM [Products] AS [p]"); +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +FROM [Products] AS [p] +"""); } public override async Task Include_collection_with_outer_apply_with_filter(bool async) @@ -1428,7 +1624,8 @@ public override async Task Include_collection_with_outer_apply_with_filter(bool await base.Include_collection_with_outer_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -1437,9 +1634,11 @@ FROM [Orders] AS [o] ORDER BY [c].[CustomerID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]", +ORDER BY [c].[CustomerID], [t].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -1449,7 +1648,8 @@ ORDER BY [c].[CustomerID] ) AS [t] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_when_projection(bool async) @@ -1457,8 +1657,10 @@ public override async Task Include_collection_when_projection(bool async) await base.Include_collection_when_projection(async); AssertSql( - @"SELECT [c].[CustomerID] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID] +FROM [Customers] AS [c] +"""); } public override async Task Include_with_complex_projection_does_not_change_ordering_of_projection(bool async) @@ -1466,7 +1668,8 @@ public override async Task Include_with_complex_projection_does_not_change_order await base.Include_with_complex_projection_does_not_change_ordering_of_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id], ( +""" +SELECT [c].[CustomerID] AS [Id], ( SELECT COUNT(*) FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID]) AS [TotalOrders] @@ -1475,7 +1678,8 @@ FROM [Customers] AS [c] SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) > 2 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_empty_list_does_not_contains(bool async) @@ -1483,15 +1687,18 @@ public override async Task Include_collection_OrderBy_empty_list_does_not_contai await base.Include_collection_OrderBy_empty_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ORDER BY (SELECT 1), [c].[CustomerID] -OFFSET @__p_1 ROWS", +OFFSET @__p_1 ROWS +""", // - @"@__p_1='1' +""" +@__p_1='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1502,7 +1709,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection(bool async) @@ -1510,16 +1718,20 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_reference_with_filter(bool async) @@ -1527,10 +1739,12 @@ public override async Task Include_reference_with_filter(bool async) await base.Include_reference_with_filter(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Multi_level_includes_are_applied_with_skip_take(bool async) @@ -1538,7 +1752,8 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool await base.Multi_level_includes_are_applied_with_skip_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(1) [t].[CustomerID] FROM ( @@ -1548,9 +1763,11 @@ WHERE [c].[CustomerID] LIKE N'A%' ORDER BY [c].[CustomerID] OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY ) AS [t] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t0].[CustomerID] FROM ( @@ -1565,9 +1782,11 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t0].[CustomerID], [o].[OrderID]", +ORDER BY [t0].[CustomerID], [o].[OrderID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t0].[CustomerID], [o].[OrderID] FROM ( @@ -1583,7 +1802,8 @@ ORDER BY [t].[CustomerID] ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [t0].[CustomerID], [o].[OrderID]"); +ORDER BY [t0].[CustomerID], [o].[OrderID] +"""); } public override async Task Repro9735(bool async) @@ -1591,7 +1811,8 @@ public override async Task Repro9735(bool async) await base.Repro9735(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Orders] AS [o] @@ -1602,9 +1823,11 @@ ELSE CAST(0 AS bit) END, CASE WHEN [c].[CustomerID] IS NOT NULL THEN [c].[CustomerID] ELSE N'' -END, [o].[OrderID], [c].[CustomerID]", +END, [o].[OrderID], [c].[CustomerID] +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[OrderID], [t].[CustomerID] FROM ( @@ -1626,7 +1849,8 @@ ELSE N'' END ) AS [t] INNER JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID] +"""); } public override async Task Include_reference(bool async) @@ -1634,10 +1858,12 @@ public override async Task Include_reference(bool async) await base.Include_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_reference_with_filter_reordered(bool async) @@ -1645,10 +1871,12 @@ public override async Task Include_reference_with_filter_reordered(bool async) await base.Include_reference_with_filter_reordered(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_reference_when_projection(bool async) @@ -1656,8 +1884,10 @@ public override async Task Include_reference_when_projection(bool async) await base.Include_reference_when_projection(async); AssertSql( - @"SELECT [o].[CustomerID] -FROM [Orders] AS [o]"); +""" +SELECT [o].[CustomerID] +FROM [Orders] AS [o] +"""); } public override async Task Include_multiple_references(bool async) @@ -1665,11 +1895,13 @@ public override async Task Include_multiple_references(bool async) await base.Include_multiple_references(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(bool async) @@ -1677,14 +1909,16 @@ public override async Task Include_is_not_ignored_when_projection_contains_clien await base.Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [e0].[EmployeeID] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] WHERE [e].[EmployeeID] IN (1, 2) -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override async Task Include_reference_dependent_already_tracked(bool async) @@ -1692,14 +1926,18 @@ public override async Task Include_reference_dependent_already_tracked(bool asyn await base.Include_reference_dependent_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_reference_when_entity_in_projection(bool async) @@ -1707,10 +1945,12 @@ public override async Task Include_reference_when_entity_in_projection(bool asyn await base.Include_reference_when_entity_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_collection_force_alias_uniquefication(bool async) @@ -1718,16 +1958,20 @@ public override async Task Include_collection_force_alias_uniquefication(bool as await base.Include_collection_force_alias_uniquefication(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]", +ORDER BY [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] FROM [Orders] AS [o] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Include_reference_Join_GroupBy_Select(bool async) @@ -1735,7 +1979,8 @@ public override async Task Include_reference_Join_GroupBy_Select(bool async) await base.Include_reference_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1753,7 +1998,8 @@ FROM [Orders] AS [o1] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_with_filter(bool async) @@ -1761,16 +2007,20 @@ public override async Task Include_collection_with_filter(bool async) await base.Include_collection_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_with_skip(bool async) @@ -1778,14 +2028,17 @@ public override async Task Include_with_skip(bool async) await base.Include_with_skip(async); AssertSql( - @"@__p_0='80' +""" +@__p_0='80' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[ContactName], [c].[CustomerID] -OFFSET @__p_0 ROWS", +OFFSET @__p_0 ROWS +""", // - @"@__p_0='80' +""" +@__p_0='80' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1795,7 +2048,8 @@ ORDER BY [c].[ContactName] OFFSET @__p_0 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName], [t].[CustomerID]"); +ORDER BY [t].[ContactName], [t].[CustomerID] +"""); } public override async Task Include_collection_take_no_order_by(bool async) @@ -1803,13 +2057,16 @@ public override async Task Include_collection_take_no_order_by(bool async) await base.Include_collection_take_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"@__p_0='10' +""" +@__p_0='10' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1817,7 +2074,8 @@ SELECT TOP(@__p_0) [c].[CustomerID] FROM [Customers] AS [c] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_multiple_references_then_include_multi_level_reverse(bool async) @@ -1825,12 +2083,14 @@ public override async Task Include_multiple_references_then_include_multi_level_ await base.Include_multiple_references_then_include_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_with_left_join_clause_with_filter(bool async) @@ -1838,18 +2098,22 @@ public override async Task Include_collection_with_left_join_clause_with_filter( await base.Include_collection_with_left_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_reference_distinct_is_server_evaluated(bool async) @@ -1857,13 +2121,15 @@ public override async Task Include_reference_distinct_is_server_evaluated(bool a await base.Include_reference_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( SELECT DISTINCT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10250 ) AS [t] -LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_collection_on_additional_from_clause(bool async) @@ -1871,7 +2137,8 @@ public override async Task Include_collection_on_additional_from_clause(bool asy await base.Include_collection_on_additional_from_clause(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [t].[CustomerID] FROM ( @@ -1884,9 +2151,11 @@ CROSS JOIN ( FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[CustomerID]", +ORDER BY [t].[CustomerID], [t0].[CustomerID] +""", // - @"@__p_0='5' +""" +@__p_0='5' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID], [t0].[CustomerID] FROM ( @@ -1900,7 +2169,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID] +"""); } public override async Task Include_collection_with_join_clause_with_filter(bool async) @@ -1908,18 +2178,22 @@ public override async Task Include_collection_with_join_clause_with_filter(bool await base.Include_collection_with_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_duplicate_collection_result_operator2(bool async) @@ -1927,7 +2201,8 @@ public override async Task Include_duplicate_collection_result_operator2(bool as await base.Include_duplicate_collection_result_operator2(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT TOP(@__p_1) [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] @@ -1942,9 +2217,11 @@ FROM [Customers] AS [c0] ORDER BY [c0].[CustomerID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[CustomerID]", +ORDER BY [t].[CustomerID], [t0].[CustomerID] +""", // - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[CustomerID], [t1].[CustomerID0] @@ -1964,7 +2241,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t1] INNER JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0] +"""); } public override async Task Include_collection_then_include_collection_then_include_reference(bool async) @@ -1972,18 +2250,23 @@ public override async Task Include_collection_then_include_collection_then_inclu await base.Include_collection_then_include_collection_then_include_reference(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[ProductID0], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice0], [t].[UnitsInStock], [c].[CustomerID], [o].[OrderID] +""" +SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[ProductID0], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice0], [t].[UnitsInStock], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN ( @@ -1992,7 +2275,8 @@ FROM [Order Details] AS [o0] INNER JOIN [Products] AS [p] ON [o0].[ProductID] = [p].[ProductID] ) AS [t] ON [o].[OrderID] = [t].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task SelectMany_Include_reference_GroupBy_Select(bool async) @@ -2000,7 +2284,8 @@ public override async Task SelectMany_Include_reference_GroupBy_Select(bool asyn await base.SelectMany_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -2018,7 +2303,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_reference_SelectMany_GroupBy_Select(bool async) @@ -2026,7 +2312,8 @@ public override async Task Include_reference_SelectMany_GroupBy_Select(bool asyn await base.Include_reference_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -2044,7 +2331,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key_with_take(bool async) @@ -2052,13 +2340,16 @@ public override async Task Include_collection_order_by_non_key_with_take(bool as await base.Include_collection_order_by_non_key_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[ContactTitle], [c].[CustomerID]", +ORDER BY [c].[ContactTitle], [c].[CustomerID] +""", // - @"@__p_0='10' +""" +@__p_0='10' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -2067,7 +2358,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactTitle] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_with_take(bool async) @@ -2075,13 +2367,16 @@ public override async Task Include_with_take(bool async) await base.Include_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[ContactName] DESC, [c].[CustomerID]", +ORDER BY [c].[ContactName] DESC, [c].[CustomerID] +""", // - @"@__p_0='10' +""" +@__p_0='10' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -2090,7 +2385,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactName] DESC ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName] DESC, [t].[CustomerID]"); +ORDER BY [t].[ContactName] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter_non_equality(bool async) @@ -2098,7 +2394,8 @@ public override async Task Include_collection_with_outer_apply_with_filter_non_e await base.Include_collection_with_outer_apply_with_filter_non_equality(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -2107,9 +2404,11 @@ FROM [Orders] AS [o] ORDER BY [c].[CustomerID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]", +ORDER BY [c].[CustomerID], [t].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -2119,7 +2418,8 @@ ORDER BY [c].[CustomerID] ) AS [t] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_distinct_is_server_evaluated(bool async) @@ -2127,22 +2427,26 @@ public override async Task Include_collection_distinct_is_server_evaluated(bool await base.Include_collection_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ) AS [t] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_object(bool async) @@ -2150,16 +2454,20 @@ public override async Task Include_collection_OrderBy_object(bool async) await base.Include_collection_OrderBy_object(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10250 -ORDER BY [o].[OrderID]", +ORDER BY [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] FROM [Orders] AS [o] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[OrderID] < 10250 -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Include_collection_then_include_collection_predicate(bool async) @@ -2167,21 +2475,26 @@ public override async Task Include_collection_then_include_collection_predicate( await base.Include_collection_then_include_collection_predicate(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [o].[OrderID]", +ORDER BY [t].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[CustomerID], [o].[OrderID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] @@ -2189,7 +2502,8 @@ FROM [Customers] AS [c] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [t].[CustomerID], [o].[OrderID]"); +ORDER BY [t].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key_with_skip(bool async) @@ -2197,15 +2511,18 @@ public override async Task Include_collection_order_by_non_key_with_skip(bool as await base.Include_collection_order_by_non_key_with_skip(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' ORDER BY [c].[ContactTitle], [c].[CustomerID] -OFFSET @__p_0 ROWS", +OFFSET @__p_0 ROWS +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -2216,7 +2533,8 @@ ORDER BY [c].[ContactTitle] OFFSET @__p_0 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -2224,22 +2542,26 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' ORDER BY CASE WHEN [c].[CustomerID] LIKE N'S%' THEN 1 ELSE 2 -END, [c].[CustomerID]", +END, [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' ORDER BY CASE WHEN [c].[CustomerID] LIKE N'S%' THEN 1 ELSE 2 -END, [c].[CustomerID]"); +END, [c].[CustomerID] +"""); } public override async Task Include_collection_orderby_take(bool async) @@ -2247,13 +2569,16 @@ public override async Task Include_collection_orderby_take(bool async) await base.Include_collection_orderby_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"@__p_0='5' +""" +@__p_0='5' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -2262,7 +2587,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_single_or_default_no_result(bool async) @@ -2270,10 +2596,12 @@ public override async Task Include_collection_single_or_default_no_result(bool a await base.Include_collection_single_or_default_no_result(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI ?' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_Join_GroupBy_Select(bool async) @@ -2281,7 +2609,8 @@ public override async Task Include_collection_Join_GroupBy_Select(bool async) await base.Include_collection_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -2299,9 +2628,11 @@ FROM [Orders] AS [o1] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]", +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""", // - @"SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -2320,7 +2651,8 @@ FROM [Orders] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] INNER JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +"""); } public override async Task Include_reference_and_collection(bool async) @@ -2328,18 +2660,22 @@ public override async Task Include_reference_and_collection(bool async) await base.Include_reference_and_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID], [c].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID], [c].[CustomerID] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_with_last_no_orderby(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs index f95a432e6f0..821b3def041 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSplitIncludeQuerySqlServerTest.cs @@ -28,12 +28,15 @@ public override async Task Include_list(bool async) await base.Include_list(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] WHERE ([p].[ProductID] % 17) = 5 AND [p].[UnitPrice] < 20.0 -ORDER BY [p].[ProductID]", +ORDER BY [p].[ProductID] +""", // - @"SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [p].[ProductID] +""" +SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [p].[ProductID] FROM [Products] AS [p] INNER JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -41,7 +44,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 AND [p].[UnitPrice] < 20.0 -ORDER BY [p].[ProductID]"); +ORDER BY [p].[ProductID] +"""); } public override async Task Include_reference(bool async) @@ -49,10 +53,12 @@ public override async Task Include_reference(bool async) await base.Include_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_when_result_operator(bool async) @@ -60,12 +66,14 @@ public override async Task Include_when_result_operator(bool async) await base.Include_when_result_operator(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Include_collection(bool async) @@ -73,16 +81,20 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_with_last(bool async) @@ -90,18 +102,22 @@ public override async Task Include_collection_with_last(bool async) await base.Include_collection_with_last(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CompanyName] DESC, [c].[CustomerID]", +ORDER BY [c].[CompanyName] DESC, [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[CompanyName] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_skip_no_order_by(bool async) @@ -114,13 +130,16 @@ public override async Task Include_collection_take_no_order_by(bool async) await base.Include_collection_take_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"@__p_0='10' +""" +@__p_0='10' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -128,7 +147,8 @@ SELECT TOP(@__p_0) [c].[CustomerID] FROM [Customers] AS [c] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_skip_take_no_order_by(bool async) @@ -141,18 +161,22 @@ public override async Task Include_reference_and_collection(bool async) await base.Include_reference_and_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID], [c].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID], [c].[CustomerID] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } [ConditionalFact] @@ -161,12 +185,14 @@ public virtual void ToQueryString_for_include_reference_and_collection() using var context = CreateContext(); Assert.Equal( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] ORDER BY [o].[OrderID], [c].[CustomerID] -" + +""" + RelationalStrings.SplitQueryString, context.Set().Include(o => o.Customer).Include(o => o.OrderDetails).AsSplitQuery().ToQueryString(), ignoreLineEndingDifferences: true, @@ -178,11 +204,13 @@ public override async Task Include_references_multi_level(bool async) await base.Include_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_multiple_references_multi_level(bool async) @@ -190,12 +218,14 @@ public override async Task Include_multiple_references_multi_level(bool async) await base.Include_multiple_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_multiple_references_multi_level_reverse(bool async) @@ -203,12 +233,14 @@ public override async Task Include_multiple_references_multi_level_reverse(bool await base.Include_multiple_references_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_references_and_collection_multi_level(bool async) @@ -216,20 +248,24 @@ public override async Task Include_references_and_collection_multi_level(bool as await base.Include_references_and_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 AND [o].[UnitPrice] < 10.0 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +""" +SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 AND [o].[UnitPrice] < 10.0 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_multi_level_reference_and_collection_predicate(bool async) @@ -237,13 +273,16 @@ public override async Task Include_multi_level_reference_and_collection_predicat await base.Include_multi_level_reference_and_collection_predicate(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[OrderID], [t].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[OrderID], [t].[CustomerID] FROM ( SELECT TOP(1) [o].[OrderID], [c].[CustomerID] FROM [Orders] AS [o] @@ -251,7 +290,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] = 10248 ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[OrderID], [t].[CustomerID]"); +ORDER BY [t].[OrderID], [t].[CustomerID] +"""); } public override async Task Include_multi_level_collection_and_then_include_reference_predicate(bool async) @@ -259,12 +299,15 @@ public override async Task Include_multi_level_collection_and_then_include_refer await base.Include_multi_level_collection_and_then_include_reference_predicate(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID]", +ORDER BY [o].[OrderID] +""", // - @"SELECT [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock], [t].[OrderID] +""" +SELECT [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock], [t].[OrderID] FROM ( SELECT TOP(1) [o].[OrderID] FROM [Orders] AS [o] @@ -275,7 +318,8 @@ INNER JOIN ( FROM [Order Details] AS [o0] INNER JOIN [Products] AS [p] ON [o0].[ProductID] = [p].[ProductID] ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_collection_alias_generation(bool async) @@ -283,16 +327,20 @@ public override async Task Include_collection_alias_generation(bool async) await base.Include_collection_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID]", +ORDER BY [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] FROM [Orders] AS [o] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Include_collection_order_by_collection_column(bool async) @@ -300,16 +348,19 @@ public override async Task Include_collection_order_by_collection_column(bool as await base.Include_collection_order_by_collection_column(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'W%' ORDER BY ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderDate] DESC) DESC, [c].[CustomerID]", + ORDER BY [o].[OrderDate] DESC) DESC, [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID], ( SELECT TOP(1) [o].[OrderDate] @@ -325,7 +376,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderDate] DESC) DESC ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID]"); +ORDER BY [t].[c] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_order_by_key(bool async) @@ -333,16 +385,20 @@ public override async Task Include_collection_order_by_key(bool async) await base.Include_collection_order_by_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key(bool async) @@ -350,16 +406,20 @@ public override async Task Include_collection_order_by_non_key(bool async) await base.Include_collection_order_by_non_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[PostalCode], [c].[CustomerID]", +ORDER BY [c].[PostalCode], [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[PostalCode], [c].[CustomerID]"); +ORDER BY [c].[PostalCode], [c].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key_with_take(bool async) @@ -367,13 +427,16 @@ public override async Task Include_collection_order_by_non_key_with_take(bool as await base.Include_collection_order_by_non_key_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[ContactTitle], [c].[CustomerID]", +ORDER BY [c].[ContactTitle], [c].[CustomerID] +""", // - @"@__p_0='10' +""" +@__p_0='10' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -382,7 +445,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactTitle] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key_with_skip(bool async) @@ -390,15 +454,18 @@ public override async Task Include_collection_order_by_non_key_with_skip(bool as await base.Include_collection_order_by_non_key_with_skip(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' ORDER BY [c].[ContactTitle], [c].[CustomerID] -OFFSET @__p_0 ROWS", +OFFSET @__p_0 ROWS +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -409,7 +476,8 @@ ORDER BY [c].[ContactTitle] OFFSET @__p_0 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key_with_first_or_default(bool async) @@ -417,18 +485,22 @@ public override async Task Include_collection_order_by_non_key_with_first_or_def await base.Include_collection_order_by_non_key_with_first_or_default(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CompanyName] DESC, [c].[CustomerID]", +ORDER BY [c].[CompanyName] DESC, [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[CompanyName] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_order_by_subquery(bool async) @@ -436,16 +508,19 @@ public override async Task Include_collection_order_by_subquery(bool async) await base.Include_collection_order_by_subquery(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ORDER BY ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[EmployeeID]), [c].[CustomerID]", + ORDER BY [o].[EmployeeID]), [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID], ( SELECT TOP(1) [o].[OrderDate] @@ -461,7 +536,8 @@ FROM [Orders] AS [o] ORDER BY [o].[EmployeeID]) ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_principal_already_tracked(bool async) @@ -469,23 +545,29 @@ public override async Task Include_collection_principal_already_tracked(bool asy await base.Include_collection_principal_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_with_filter(bool async) @@ -493,16 +575,20 @@ public override async Task Include_collection_with_filter(bool async) await base.Include_collection_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_with_filter_reordered(bool async) @@ -510,16 +596,20 @@ public override async Task Include_collection_with_filter_reordered(bool async) await base.Include_collection_with_filter_reordered(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_then_include_collection(bool async) @@ -527,23 +617,29 @@ public override async Task Include_collection_then_include_collection(bool async await base.Include_collection_then_include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_then_include_collection_then_include_reference(bool async) @@ -551,18 +647,23 @@ public override async Task Include_collection_then_include_collection_then_inclu await base.Include_collection_then_include_collection_then_include_reference(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[ProductID0], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice0], [t].[UnitsInStock], [c].[CustomerID], [o].[OrderID] +""" +SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[ProductID0], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice0], [t].[UnitsInStock], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN ( @@ -571,7 +672,8 @@ FROM [Order Details] AS [o0] INNER JOIN [Products] AS [p] ON [o0].[ProductID] = [p].[ProductID] ) AS [t] ON [o].[OrderID] = [t].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_when_projection(bool async) @@ -579,8 +681,10 @@ public override async Task Include_collection_when_projection(bool async) await base.Include_collection_when_projection(async); AssertSql( - @"SELECT [c].[CustomerID] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID] +FROM [Customers] AS [c] +"""); } public override async Task Include_collection_with_join_clause_with_filter(bool async) @@ -588,18 +692,22 @@ public override async Task Include_collection_with_join_clause_with_filter(bool await base.Include_collection_with_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_with_left_join_clause_with_filter(bool async) @@ -607,18 +715,22 @@ public override async Task Include_collection_with_left_join_clause_with_filter( await base.Include_collection_with_left_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_with_cross_join_clause_with_filter(bool async) @@ -626,7 +738,8 @@ public override async Task Include_collection_with_cross_join_clause_with_filter await base.Include_collection_with_cross_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] FROM [Customers] AS [c] CROSS JOIN ( SELECT TOP(5) [o].[OrderID] @@ -634,9 +747,11 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]", +ORDER BY [c].[CustomerID], [t].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] CROSS JOIN ( SELECT TOP(5) [o].[OrderID] @@ -645,7 +760,8 @@ ORDER BY [o].[OrderID] ) AS [t] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_with_cross_apply_with_filter(bool async) @@ -653,7 +769,8 @@ public override async Task Include_collection_with_cross_apply_with_filter(bool await base.Include_collection_with_cross_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] FROM [Customers] AS [c] CROSS APPLY ( SELECT TOP(5) [o].[OrderID] @@ -662,9 +779,11 @@ FROM [Orders] AS [o] ORDER BY [c].[CustomerID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]", +ORDER BY [c].[CustomerID], [t].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] CROSS APPLY ( SELECT TOP(5) [o].[OrderID] @@ -674,7 +793,8 @@ ORDER BY [c].[CustomerID] ) AS [t] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter(bool async) @@ -682,7 +802,8 @@ public override async Task Include_collection_with_outer_apply_with_filter(bool await base.Include_collection_with_outer_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -691,9 +812,11 @@ FROM [Orders] AS [o] ORDER BY [c].[CustomerID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]", +ORDER BY [c].[CustomerID], [t].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -703,7 +826,8 @@ ORDER BY [c].[CustomerID] ) AS [t] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_on_additional_from_clause_with_filter(bool async) @@ -711,16 +835,19 @@ public override async Task Include_collection_on_additional_from_clause_with_fil await base.Include_collection_on_additional_from_clause_with_filter(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID] FROM [Customers] AS [c] CROSS JOIN ( SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = N'ALFKI' ) AS [t] -ORDER BY [c].[CustomerID], [t].[CustomerID]", +ORDER BY [c].[CustomerID], [t].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [t].[CustomerID] FROM [Customers] AS [c] CROSS JOIN ( SELECT [c0].[CustomerID] @@ -728,7 +855,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = N'ALFKI' ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID], [t].[CustomerID]"); +ORDER BY [c].[CustomerID], [t].[CustomerID] +"""); } public override async Task Include_collection_on_additional_from_clause(bool async) @@ -736,7 +864,8 @@ public override async Task Include_collection_on_additional_from_clause(bool asy await base.Include_collection_on_additional_from_clause(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [t].[CustomerID] FROM ( @@ -749,9 +878,11 @@ CROSS JOIN ( FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[CustomerID]", +ORDER BY [t].[CustomerID], [t0].[CustomerID] +""", // - @"@__p_0='5' +""" +@__p_0='5' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID], [t0].[CustomerID] FROM ( @@ -765,7 +896,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID] +"""); } public override async Task Include_duplicate_collection(bool async) @@ -773,7 +905,8 @@ public override async Task Include_duplicate_collection(bool async) await base.Include_duplicate_collection(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( @@ -787,9 +920,11 @@ FROM [Customers] AS [c0] ORDER BY [c0].[CustomerID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[CustomerID]", +ORDER BY [t].[CustomerID], [t0].[CustomerID] +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID], [t0].[CustomerID] FROM ( @@ -804,9 +939,11 @@ ORDER BY [c0].[CustomerID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID]", +ORDER BY [t].[CustomerID], [t0].[CustomerID] +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID], [t0].[CustomerID] FROM ( @@ -821,7 +958,8 @@ ORDER BY [c0].[CustomerID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID] +"""); } public override async Task Include_duplicate_collection_result_operator(bool async) @@ -829,7 +967,8 @@ public override async Task Include_duplicate_collection_result_operator(bool asy await base.Include_duplicate_collection_result_operator(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT TOP(@__p_1) [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] @@ -844,9 +983,11 @@ FROM [Customers] AS [c0] ORDER BY [c0].[CustomerID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[CustomerID]", +ORDER BY [t].[CustomerID], [t0].[CustomerID] +""", // - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[CustomerID], [t1].[CustomerID0] @@ -866,9 +1007,11 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t1] INNER JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0]", +ORDER BY [t1].[CustomerID], [t1].[CustomerID0] +""", // - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[CustomerID], [t1].[CustomerID0] @@ -888,7 +1031,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t1] INNER JOIN [Orders] AS [o] ON [t1].[CustomerID0] = [o].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0] +"""); } public override async Task Include_collection_on_join_clause_with_order_by_and_filter(bool async) @@ -896,18 +1040,22 @@ public override async Task Include_collection_on_join_clause_with_order_by_and_f await base.Include_collection_on_join_clause_with_order_by_and_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter_non_equality(bool async) @@ -915,7 +1063,8 @@ public override async Task Include_collection_with_outer_apply_with_filter_non_e await base.Include_collection_with_outer_apply_with_filter_non_equality(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -924,9 +1073,11 @@ FROM [Orders] AS [o] ORDER BY [c].[CustomerID] ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]", +ORDER BY [c].[CustomerID], [t].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [t].[OrderID] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -936,7 +1087,8 @@ ORDER BY [c].[CustomerID] ) AS [t] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_on_additional_from_clause2(bool async) @@ -944,7 +1096,8 @@ public override async Task Include_collection_on_additional_from_clause2(bool as await base.Include_collection_on_additional_from_clause2(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -953,7 +1106,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] CROSS JOIN [Customers] AS [c0] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_where_skip_take_projection(bool async) @@ -961,7 +1115,8 @@ public override async Task Include_where_skip_take_projection(bool async) await base.Include_where_skip_take_projection(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='2' SELECT [o0].[CustomerID] @@ -973,7 +1128,8 @@ FROM [Order Details] AS [o] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [t].[ProductID]"); +ORDER BY [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_duplicate_collection_result_operator2(bool async) @@ -981,7 +1137,8 @@ public override async Task Include_duplicate_collection_result_operator2(bool as await base.Include_duplicate_collection_result_operator2(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT TOP(@__p_1) [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] @@ -996,9 +1153,11 @@ FROM [Customers] AS [c0] ORDER BY [c0].[CustomerID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] -ORDER BY [t].[CustomerID], [t0].[CustomerID]", +ORDER BY [t].[CustomerID], [t0].[CustomerID] +""", // - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[CustomerID], [t1].[CustomerID0] @@ -1018,7 +1177,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t1] INNER JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0] +"""); } public override async Task Include_multiple_references(bool async) @@ -1026,11 +1186,13 @@ public override async Task Include_multiple_references(bool async) await base.Include_multiple_references(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_reference_alias_generation(bool async) @@ -1038,10 +1200,12 @@ public override async Task Include_reference_alias_generation(bool async) await base.Include_reference_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_duplicate_reference(bool async) @@ -1049,7 +1213,8 @@ public override async Task Include_duplicate_reference(bool async) await base.Include_duplicate_reference(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM ( @@ -1065,7 +1230,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [t0].[CustomerID] = [c0].[CustomerID] -ORDER BY [t].[CustomerID], [t].[OrderID]"); +ORDER BY [t].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_duplicate_reference2(bool async) @@ -1073,7 +1239,8 @@ public override async Task Include_duplicate_reference2(bool async) await base.Include_duplicate_reference2(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -1088,7 +1255,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_duplicate_reference3(bool async) @@ -1096,7 +1264,8 @@ public override async Task Include_duplicate_reference3(bool async) await base.Include_duplicate_reference3(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( @@ -1111,7 +1280,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t0].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_reference_when_projection(bool async) @@ -1119,8 +1289,10 @@ public override async Task Include_reference_when_projection(bool async) await base.Include_reference_when_projection(async); AssertSql( - @"SELECT [o].[CustomerID] -FROM [Orders] AS [o]"); +""" +SELECT [o].[CustomerID] +FROM [Orders] AS [o] +"""); } public override async Task Include_reference_with_filter_reordered(bool async) @@ -1128,10 +1300,12 @@ public override async Task Include_reference_with_filter_reordered(bool async) await base.Include_reference_with_filter_reordered(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_reference_with_filter(bool async) @@ -1139,10 +1313,12 @@ public override async Task Include_reference_with_filter(bool async) await base.Include_reference_with_filter(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_collection_dependent_already_tracked(bool async) @@ -1150,23 +1326,29 @@ public override async Task Include_collection_dependent_already_tracked(bool asy await base.Include_collection_dependent_already_tracked(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'", +WHERE [o].[CustomerID] = N'ALFKI' +""", // - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_reference_dependent_already_tracked(bool async) @@ -1174,14 +1356,18 @@ public override async Task Include_reference_dependent_already_tracked(bool asyn await base.Include_reference_dependent_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_with_complex_projection(bool async) @@ -1189,9 +1375,11 @@ public override async Task Include_with_complex_projection(bool async) await base.Include_with_complex_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id] +""" +SELECT [c].[CustomerID] AS [Id] FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_with_complex_projection_does_not_change_ordering_of_projection(bool async) @@ -1199,7 +1387,8 @@ public override async Task Include_with_complex_projection_does_not_change_order await base.Include_with_complex_projection_does_not_change_ordering_of_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id], ( +""" +SELECT [c].[CustomerID] AS [Id], ( SELECT COUNT(*) FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID]) AS [TotalOrders] @@ -1208,7 +1397,8 @@ FROM [Customers] AS [c] SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) > 2 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_with_take(bool async) @@ -1216,13 +1406,16 @@ public override async Task Include_with_take(bool async) await base.Include_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[ContactName] DESC, [c].[CustomerID]", +ORDER BY [c].[ContactName] DESC, [c].[CustomerID] +""", // - @"@__p_0='10' +""" +@__p_0='10' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1231,7 +1424,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactName] DESC ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName] DESC, [t].[CustomerID]"); +ORDER BY [t].[ContactName] DESC, [t].[CustomerID] +"""); } public override async Task Include_with_skip(bool async) @@ -1239,14 +1433,17 @@ public override async Task Include_with_skip(bool async) await base.Include_with_skip(async); AssertSql( - @"@__p_0='80' +""" +@__p_0='80' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[ContactName], [c].[CustomerID] -OFFSET @__p_0 ROWS", +OFFSET @__p_0 ROWS +""", // - @"@__p_0='80' +""" +@__p_0='80' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1256,7 +1453,8 @@ ORDER BY [c].[ContactName] OFFSET @__p_0 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName], [t].[CustomerID]"); +ORDER BY [t].[ContactName], [t].[CustomerID] +"""); } public override async Task Include_collection_with_multiple_conditional_order_by(bool async) @@ -1264,7 +1462,8 @@ public override async Task Include_collection_with_multiple_conditional_order_by await base.Include_collection_with_multiple_conditional_order_by(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Orders] AS [o] @@ -1275,9 +1474,11 @@ ELSE CAST(0 AS bit) END, CASE WHEN [c].[CustomerID] IS NOT NULL THEN [c].[City] ELSE N'' -END, [o].[OrderID], [c].[CustomerID]", +END, [o].[OrderID], [c].[CustomerID] +""", // - @"@__p_0='5' +""" +@__p_0='5' SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[OrderID], [t].[CustomerID] FROM ( @@ -1299,7 +1500,8 @@ ELSE N'' END ) AS [t] INNER JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID] +"""); } public override async Task Then_include_collection_order_by_collection_column(bool async) @@ -1307,16 +1509,19 @@ public override async Task Then_include_collection_order_by_collection_column(bo await base.Then_include_collection_order_by_collection_column(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'W%' ORDER BY ( SELECT TOP(1) [o].[OrderDate] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderDate] DESC) DESC, [c].[CustomerID]", + ORDER BY [o].[OrderDate] DESC) DESC, [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID], ( SELECT TOP(1) [o].[OrderDate] @@ -1332,9 +1537,11 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderDate] DESC) DESC ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID], [o0].[OrderID]", +ORDER BY [t].[c] DESC, [t].[CustomerID], [o0].[OrderID] +""", // - @"SELECT [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice], [t].[CustomerID], [o0].[OrderID] +""" +SELECT [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice], [t].[CustomerID], [o0].[OrderID] FROM ( SELECT TOP(1) [c].[CustomerID], ( SELECT TOP(1) [o].[OrderDate] @@ -1351,7 +1558,8 @@ FROM [Orders] AS [o] ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] INNER JOIN [Order Details] AS [o1] ON [o0].[OrderID] = [o1].[OrderID] -ORDER BY [t].[c] DESC, [t].[CustomerID], [o0].[OrderID]"); +ORDER BY [t].[c] DESC, [t].[CustomerID], [o0].[OrderID] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -1359,22 +1567,26 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' ORDER BY CASE WHEN [c].[CustomerID] LIKE N'S%' THEN 1 ELSE 2 -END, [c].[CustomerID]", +END, [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' ORDER BY CASE WHEN [c].[CustomerID] LIKE N'S%' THEN 1 ELSE 2 -END, [c].[CustomerID]"); +END, [c].[CustomerID] +"""); } public override async Task Include_collection_GroupBy_Select(bool async) @@ -1382,7 +1594,8 @@ public override async Task Include_collection_GroupBy_Select(bool async) await base.Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1398,9 +1611,11 @@ FROM [Orders] AS [o0] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID]", +ORDER BY [t].[OrderID], [t0].[OrderID] +""", // - @"SELECT [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice], [t].[OrderID], [t0].[OrderID] +""" +SELECT [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice], [t].[OrderID], [t0].[OrderID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1417,7 +1632,8 @@ FROM [Orders] AS [o0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] INNER JOIN [Order Details] AS [o1] ON [t0].[OrderID] = [o1].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID] +"""); } public override async Task Include_reference_GroupBy_Select(bool async) @@ -1425,7 +1641,8 @@ public override async Task Include_reference_GroupBy_Select(bool async) await base.Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1441,7 +1658,8 @@ FROM [Orders] AS [o0] WHERE [o0].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_Join_GroupBy_Select(bool async) @@ -1449,7 +1667,8 @@ public override async Task Include_collection_Join_GroupBy_Select(bool async) await base.Include_collection_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1467,9 +1686,11 @@ FROM [Orders] AS [o1] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]", +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""", // - @"SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1488,7 +1709,8 @@ FROM [Orders] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] INNER JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +"""); } public override async Task Include_reference_Join_GroupBy_Select(bool async) @@ -1496,7 +1718,8 @@ public override async Task Include_reference_Join_GroupBy_Select(bool async) await base.Include_reference_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1514,7 +1737,8 @@ FROM [Orders] AS [o1] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Join_Include_collection_GroupBy_Select(bool async) @@ -1522,7 +1746,8 @@ public override async Task Join_Include_collection_GroupBy_Select(bool async) await base.Join_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1540,9 +1765,11 @@ FROM [Order Details] AS [o1] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID]", +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +""", // - @"SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +""" +SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1561,7 +1788,8 @@ FROM [Order Details] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] INNER JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +"""); } public override async Task Join_Include_reference_GroupBy_Select(bool async) @@ -1569,7 +1797,8 @@ public override async Task Join_Include_reference_GroupBy_Select(bool async) await base.Join_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1585,7 +1814,8 @@ FROM [Order Details] AS [o1] LEFT JOIN [Customers] AS [c] ON [o2].[CustomerID] = [c].[CustomerID] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_SelectMany_GroupBy_Select(bool async) @@ -1593,7 +1823,8 @@ public override async Task Include_collection_SelectMany_GroupBy_Select(bool asy await base.Include_collection_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1611,9 +1842,11 @@ CROSS JOIN [Order Details] AS [o2] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]", +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""", // - @"SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1632,7 +1865,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] INNER JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +"""); } public override async Task Include_reference_SelectMany_GroupBy_Select(bool async) @@ -1640,7 +1874,8 @@ public override async Task Include_reference_SelectMany_GroupBy_Select(bool asyn await base.Include_reference_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1658,7 +1893,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task SelectMany_Include_collection_GroupBy_Select(bool async) @@ -1666,7 +1902,8 @@ public override async Task SelectMany_Include_collection_GroupBy_Select(bool asy await base.SelectMany_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1684,9 +1921,11 @@ CROSS JOIN [Orders] AS [o2] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID]", +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +""", // - @"SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +""" +SELECT [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1705,7 +1944,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] INNER JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID] +"""); } public override async Task SelectMany_Include_reference_GroupBy_Select(bool async) @@ -1713,7 +1953,8 @@ public override async Task SelectMany_Include_reference_GroupBy_Select(bool asyn await base.SelectMany_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1731,7 +1972,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_reference_distinct_is_server_evaluated(bool async) @@ -1739,13 +1981,15 @@ public override async Task Include_reference_distinct_is_server_evaluated(bool a await base.Include_reference_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( SELECT DISTINCT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10250 ) AS [t] -LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_collection_distinct_is_server_evaluated(bool async) @@ -1753,22 +1997,26 @@ public override async Task Include_collection_distinct_is_server_evaluated(bool await base.Include_collection_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ) AS [t] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_object(bool async) @@ -1776,16 +2024,20 @@ public override async Task Include_collection_OrderBy_object(bool async) await base.Include_collection_OrderBy_object(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10250 -ORDER BY [o].[OrderID]", +ORDER BY [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] FROM [Orders] AS [o] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[OrderID] < 10250 -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Include_collection_OrderBy_empty_list_contains(bool async) @@ -1793,15 +2045,18 @@ public override async Task Include_collection_OrderBy_empty_list_contains(bool a await base.Include_collection_OrderBy_empty_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ORDER BY (SELECT 1), [c].[CustomerID] -OFFSET @__p_1 ROWS", +OFFSET @__p_1 ROWS +""", // - @"@__p_1='1' +""" +@__p_1='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1812,7 +2067,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_empty_list_does_not_contains(bool async) @@ -1820,15 +2076,18 @@ public override async Task Include_collection_OrderBy_empty_list_does_not_contai await base.Include_collection_OrderBy_empty_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ORDER BY (SELECT 1), [c].[CustomerID] -OFFSET @__p_1 ROWS", +OFFSET @__p_1 ROWS +""", // - @"@__p_1='1' +""" +@__p_1='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1839,7 +2098,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_list_contains(bool async) @@ -1847,7 +2107,8 @@ public override async Task Include_collection_OrderBy_list_contains(bool async) await base.Include_collection_OrderBy_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -1856,9 +2117,11 @@ ORDER BY CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [c].[CustomerID] -OFFSET @__p_1 ROWS", +OFFSET @__p_1 ROWS +""", // - @"@__p_1='1' +""" +@__p_1='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1875,7 +2138,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_list_does_not_contains(bool async) @@ -1883,7 +2147,8 @@ public override async Task Include_collection_OrderBy_list_does_not_contains(boo await base.Include_collection_OrderBy_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -1892,9 +2157,11 @@ ORDER BY CASE WHEN [c].[CustomerID] <> N'ALFKI' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [c].[CustomerID] -OFFSET @__p_1 ROWS", +OFFSET @__p_1 ROWS +""", // - @"@__p_1='1' +""" +@__p_1='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1911,7 +2178,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(bool async) @@ -1919,14 +2187,16 @@ public override async Task Include_is_not_ignored_when_projection_contains_clien await base.Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [e0].[EmployeeID] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] WHERE [e].[EmployeeID] IN (1, 2) -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override async Task Multi_level_includes_are_applied_with_skip(bool async) @@ -1934,15 +2204,18 @@ public override async Task Multi_level_includes_are_applied_with_skip(bool async await base.Multi_level_includes_are_applied_with_skip(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ORDER BY [c].[CustomerID] -OFFSET @__p_0 ROWS FETCH NEXT 1 ROWS ONLY", +OFFSET @__p_0 ROWS FETCH NEXT 1 ROWS ONLY +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -1953,9 +2226,11 @@ ORDER BY [c].[CustomerID] OFFSET @__p_0 ROWS FETCH NEXT 1 ROWS ONLY ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [o].[OrderID]", +ORDER BY [t].[CustomerID], [o].[OrderID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[CustomerID], [o].[OrderID] FROM ( @@ -1967,7 +2242,8 @@ OFFSET @__p_0 ROWS FETCH NEXT 1 ROWS ONLY ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [t].[CustomerID], [o].[OrderID]"); +ORDER BY [t].[CustomerID], [o].[OrderID] +"""); } public override async Task Multi_level_includes_are_applied_with_take(bool async) @@ -1975,7 +2251,8 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async await base.Multi_level_includes_are_applied_with_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(1) [t].[CustomerID] FROM ( @@ -1984,9 +2261,11 @@ FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ORDER BY [c].[CustomerID] ) AS [t] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t0].[CustomerID] FROM ( @@ -2000,9 +2279,11 @@ ORDER BY [c].[CustomerID] ORDER BY [t].[CustomerID] ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t0].[CustomerID], [o].[OrderID]", +ORDER BY [t0].[CustomerID], [o].[OrderID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t0].[CustomerID], [o].[OrderID] FROM ( @@ -2017,7 +2298,8 @@ ORDER BY [t].[CustomerID] ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [t0].[CustomerID], [o].[OrderID]"); +ORDER BY [t0].[CustomerID], [o].[OrderID] +"""); } public override async Task Multi_level_includes_are_applied_with_skip_take(bool async) @@ -2025,7 +2307,8 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool await base.Multi_level_includes_are_applied_with_skip_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(1) [t].[CustomerID] FROM ( @@ -2035,9 +2318,11 @@ WHERE [c].[CustomerID] LIKE N'A%' ORDER BY [c].[CustomerID] OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY ) AS [t] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t0].[CustomerID] FROM ( @@ -2052,9 +2337,11 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_0 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t0].[CustomerID], [o].[OrderID]", +ORDER BY [t0].[CustomerID], [o].[OrderID] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t0].[CustomerID], [o].[OrderID] FROM ( @@ -2070,7 +2357,8 @@ ORDER BY [t].[CustomerID] ) AS [t0] INNER JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [t0].[CustomerID], [o].[OrderID]"); +ORDER BY [t0].[CustomerID], [o].[OrderID] +"""); } public override async Task Filtered_include_with_multiple_ordering(bool async) @@ -2078,12 +2366,15 @@ public override async Task Filtered_include_with_multiple_ordering(bool async) await base.Filtered_include_with_multiple_ordering(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID] FROM [Customers] AS [c] CROSS APPLY ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -2093,7 +2384,8 @@ ORDER BY [o].[OrderID] OFFSET 1 ROWS ) AS [t] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderDate] DESC"); +ORDER BY [c].[CustomerID], [t].[OrderDate] DESC +"""); } public override async Task Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(bool async) @@ -2101,18 +2393,22 @@ public override async Task Outer_idenfier_correctly_determined_when_doing_includ await base.Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[City] = N'Seattle' -ORDER BY [c].[CustomerID], [o].[OrderID]", +ORDER BY [c].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [o].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[City] = N'Seattle' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) @@ -2120,7 +2416,8 @@ public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) await base.Include_in_let_followed_by_FirstOrDefault(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] +""" +SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] @@ -2131,9 +2428,11 @@ FROM [Orders] AS [o] WHERE [t].[row] <= 1 ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID]", +ORDER BY [c].[CustomerID], [t0].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [t0].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[CustomerID], [t0].[OrderID] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID] @@ -2145,7 +2444,8 @@ FROM [Orders] AS [o] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [t0].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID] +"""); } public override async Task Include_multiple_references_and_collection_multi_level_reverse(bool async) @@ -2153,22 +2453,26 @@ public override async Task Include_multiple_references_and_collection_multi_leve await base.Include_multiple_references_and_collection_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +""" +SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_force_alias_uniquefication(bool async) @@ -2176,16 +2480,20 @@ public override async Task Include_collection_force_alias_uniquefication(bool as await base.Include_collection_force_alias_uniquefication(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]", +ORDER BY [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID] FROM [Orders] AS [o] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID]"); +ORDER BY [o].[OrderID] +"""); } public override async Task Include_with_cycle_does_not_throw_when_AsNoTrackingWithIdentityResolution(bool async) @@ -2193,18 +2501,22 @@ public override async Task Include_with_cycle_does_not_throw_when_AsNoTrackingWi await base.Include_with_cycle_does_not_throw_when_AsNoTrackingWithIdentityResolution(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE [o].[OrderID] < 10800 -ORDER BY [o].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [o].[OrderID], [c].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [o].[OrderID], [c].[CustomerID] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [o].[OrderID] < 10800 -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_reference_when_entity_in_projection(bool async) @@ -2212,10 +2524,12 @@ public override async Task Include_reference_when_entity_in_projection(bool asyn await base.Include_reference_when_entity_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_closes_reader(bool async) @@ -2223,20 +2537,26 @@ public override async Task Include_closes_reader(bool async) await base.Include_closes_reader(async); AssertSql( - @"SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] -FROM [Products] AS [p]"); +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +FROM [Products] AS [p] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -2244,12 +2564,15 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] WHERE ([p].[ProductID] % 17) = 5 -ORDER BY [p].[ProductID]", +ORDER BY [p].[ProductID] +""", // - @"SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [p].[ProductID] +""" +SELECT [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [p].[ProductID] FROM [Products] AS [p] INNER JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -2257,7 +2580,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 -ORDER BY [p].[ProductID]"); +ORDER BY [p].[ProductID] +"""); } public override async Task Include_multiple_references_then_include_collection_multi_level(bool async) @@ -2265,22 +2589,26 @@ public override async Task Include_multiple_references_then_include_collection_m await base.Include_multiple_references_then_include_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID]", +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +""", // - @"SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +""" +SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +"""); } public override async Task Include_collection_orderby_take(bool async) @@ -2288,13 +2616,16 @@ public override async Task Include_collection_orderby_take(bool async) await base.Include_collection_orderby_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"@__p_0='5' +""" +@__p_0='5' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( @@ -2303,7 +2634,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_references_and_collection_multi_level_predicate(bool async) @@ -2311,20 +2643,24 @@ public override async Task Include_references_and_collection_multi_level_predica await base.Include_references_and_collection_multi_level_predicate(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +""" +SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_references_then_include_collection_multi_level_predicate(bool async) @@ -2332,20 +2668,24 @@ public override async Task Include_references_then_include_collection_multi_leve await base.Include_references_then_include_collection_multi_level_predicate(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +""" +SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_multiple_references_then_include_multi_level(bool async) @@ -2353,12 +2693,14 @@ public override async Task Include_multiple_references_then_include_multi_level( await base.Include_multiple_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_empty_reference_sets_IsLoaded(bool async) @@ -2366,10 +2708,12 @@ public override async Task Include_empty_reference_sets_IsLoaded(bool async) await base.Include_empty_reference_sets_IsLoaded(async); AssertSql( - @"SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] +""" +SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] -WHERE [e0].[EmployeeID] IS NULL"); +WHERE [e0].[EmployeeID] IS NULL +"""); } public override async Task Include_reference_and_collection_order_by(bool async) @@ -2377,18 +2721,22 @@ public override async Task Include_reference_and_collection_order_by(bool async) await base.Include_reference_and_collection_order_by(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [o].[OrderID], [c].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [o].[OrderID], [c].[CustomerID] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_multiple_references_then_include_collection_multi_level_reverse(bool async) @@ -2396,22 +2744,26 @@ public override async Task Include_multiple_references_then_include_collection_m await base.Include_multiple_references_then_include_collection_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +""" +SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_references_then_include_collection_multi_level(bool async) @@ -2419,20 +2771,24 @@ public override async Task Include_references_then_include_collection_multi_leve await base.Include_references_then_include_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] WHERE ([o].[ProductID] % 23) = 17 AND [o].[Quantity] < CAST(10 AS smallint) -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +""" +SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[ProductID] % 23) = 17 AND [o].[Quantity] < CAST(10 AS smallint) -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_and_reference(bool async) @@ -2440,18 +2796,22 @@ public override async Task Include_collection_and_reference(bool async) await base.Include_collection_and_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID], [c].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [o].[OrderID], [c].[CustomerID] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_then_include_collection_predicate(bool async) @@ -2459,21 +2819,26 @@ public override async Task Include_collection_then_include_collection_predicate( await base.Include_collection_then_include_collection_predicate(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]", +ORDER BY [c].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[CustomerID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [o].[OrderID]", +ORDER BY [t].[CustomerID], [o].[OrderID] +""", // - @"SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[CustomerID], [o].[OrderID] +""" +SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[CustomerID], [o].[OrderID] FROM ( SELECT TOP(1) [c].[CustomerID] FROM [Customers] AS [c] @@ -2481,7 +2846,8 @@ FROM [Customers] AS [c] ) AS [t] INNER JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] INNER JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -ORDER BY [t].[CustomerID], [o].[OrderID]"); +ORDER BY [t].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_references_then_include_multi_level(bool async) @@ -2489,11 +2855,13 @@ public override async Task Include_references_then_include_multi_level(bool asyn await base.Include_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_with_cycle_does_not_throw_when_AsTracking_NoTrackingWithIdentityResolution(bool async) @@ -2501,18 +2869,22 @@ public override async Task Include_with_cycle_does_not_throw_when_AsTracking_NoT await base.Include_with_cycle_does_not_throw_when_AsTracking_NoTrackingWithIdentityResolution(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE [o].[OrderID] < 10800 -ORDER BY [o].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [o].[OrderID], [c].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [o].[OrderID], [c].[CustomerID] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [o].[OrderID] < 10800 -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_references_then_include_collection(bool async) @@ -2520,18 +2892,22 @@ public override async Task Include_references_then_include_collection(bool async await base.Include_references_then_include_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [o].[OrderID], [c].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [o].[OrderID], [c].[CustomerID] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] INNER JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_single_or_default_no_result(bool async) @@ -2539,10 +2915,12 @@ public override async Task Include_collection_single_or_default_no_result(bool a await base.Include_collection_single_or_default_no_result(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI ?' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_multiple_references_then_include_multi_level_reverse(bool async) @@ -2550,12 +2928,14 @@ public override async Task Include_multiple_references_then_include_multi_level_ await base.Include_multiple_references_then_include_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_multiple_references_and_collection_multi_level(bool async) @@ -2563,22 +2943,26 @@ public override async Task Include_multiple_references_and_collection_multi_leve await base.Include_multiple_references_and_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID]", +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +""", // - @"SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +""" +SELECT [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +"""); } public override async Task Repro9735(bool async) @@ -2586,7 +2970,8 @@ public override async Task Repro9735(bool async) await base.Repro9735(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(@__p_0) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] FROM [Orders] AS [o] @@ -2597,9 +2982,11 @@ ELSE CAST(0 AS bit) END, CASE WHEN [c].[CustomerID] IS NOT NULL THEN [c].[CustomerID] ELSE N'' -END, [o].[OrderID], [c].[CustomerID]", +END, [o].[OrderID], [c].[CustomerID] +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [t].[OrderID], [t].[CustomerID] FROM ( @@ -2621,7 +3008,8 @@ ELSE N'' END ) AS [t] INNER JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID] +"""); } public override async Task Include_reference_single_or_default_when_no_result(bool async) @@ -2629,10 +3017,12 @@ public override async Task Include_reference_single_or_default_when_no_result(bo await base.Include_reference_single_or_default_when_no_result(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Include_multi_level_reference_then_include_collection_predicate(bool async) @@ -2640,13 +3030,16 @@ public override async Task Include_multi_level_reference_then_include_collection await base.Include_multi_level_reference_then_include_collection_predicate(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [c].[CustomerID]", +ORDER BY [o].[OrderID], [c].[CustomerID] +""", // - @"SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[OrderID], [t].[CustomerID] +""" +SELECT [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [t].[OrderID], [t].[CustomerID] FROM ( SELECT TOP(1) [o].[OrderID], [c].[CustomerID] FROM [Orders] AS [o] @@ -2654,7 +3047,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] = 10248 ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[OrderID], [t].[CustomerID]"); +ORDER BY [t].[OrderID], [t].[CustomerID] +"""); } public override async Task Include_collection_with_last_no_orderby(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSqlQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSqlQuerySqlServerTest.cs index f23f53bbc43..996eb55ff57 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSqlQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindSqlQuerySqlServerTest.cs @@ -22,7 +22,9 @@ public override async Task SqlQueryRaw_over_int(bool async) await base.SqlQueryRaw_over_int(async); AssertSql( - @"SELECT ""ProductID"" FROM ""Products"""); +""" +SELECT "ProductID" FROM "Products" +"""); } public override async Task SqlQuery_composed_Contains(bool async) @@ -30,14 +32,16 @@ public override async Task SqlQuery_composed_Contains(bool async) await base.SqlQuery_composed_Contains(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""ProductID"" AS ""Value"" FROM ""Products"" + SELECT "ProductID" AS "Value" FROM "Products" ) AS [t] - WHERE CAST([t].[Value] AS int) = [o].[OrderID])"); + WHERE CAST([t].[Value] AS int) = [o].[OrderID]) +"""); } public override async Task SqlQuery_composed_Join(bool async) @@ -45,11 +49,13 @@ public override async Task SqlQuery_composed_Join(bool async) await base.SqlQuery_composed_Join(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], CAST([t].[Value] AS int) AS [p] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], CAST([t].[Value] AS int) AS [p] FROM [Orders] AS [o] INNER JOIN ( - SELECT ""ProductID"" AS ""Value"" FROM ""Products"" -) AS [t] ON [o].[OrderID] = CAST([t].[Value] AS int)"); + SELECT "ProductID" AS "Value" FROM "Products" +) AS [t] ON [o].[OrderID] = CAST([t].[Value] AS int) +"""); } public override async Task SqlQuery_over_int_with_parameter(bool async) @@ -57,9 +63,11 @@ public override async Task SqlQuery_over_int_with_parameter(bool async) await base.SqlQuery_over_int_with_parameter(async); AssertSql( - @"p0='10' +""" +p0='10' -SELECT ""ProductID"" FROM ""Products"" WHERE ""ProductID"" = @p0"); +SELECT "ProductID" FROM "Products" WHERE "ProductID" = @p0 +"""); } protected override DbParameter CreateDbParameter(string name, object value) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindStringIncludeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindStringIncludeQuerySqlServerTest.cs index 0e1b12cabc1..8c115ba5678 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindStringIncludeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindStringIncludeQuerySqlServerTest.cs @@ -32,11 +32,13 @@ public override async Task Include_collection_with_filter_reordered(bool async) await base.Include_collection_with_filter_reordered(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key_with_first_or_default(bool async) @@ -44,14 +46,16 @@ public override async Task Include_collection_order_by_non_key_with_first_or_def await base.Include_collection_order_by_non_key_with_first_or_default(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_with_cycle_does_not_throw_when_AsTracking_NoTrackingWithIdentityResolution(bool async) @@ -59,12 +63,14 @@ public override async Task Include_with_cycle_does_not_throw_when_AsTracking_NoT await base.Include_with_cycle_does_not_throw_when_AsTracking_NoTrackingWithIdentityResolution(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [o].[OrderID] < 10800 -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_with_filter(bool async) @@ -72,11 +78,13 @@ public override async Task Include_collection_with_filter(bool async) await base.Include_collection_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_references_then_include_multi_level(bool async) @@ -84,11 +92,13 @@ public override async Task Include_references_then_include_multi_level(bool asyn await base.Include_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_order_by_collection_column(bool async) @@ -96,7 +106,8 @@ public override async Task Include_collection_order_by_collection_column(bool as await base.Include_collection_order_by_collection_column(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -112,7 +123,8 @@ FROM [Orders] AS [o] ORDER BY [o].[OrderDate] DESC) DESC ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID]"); +ORDER BY [t].[c] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_alias_generation(bool async) @@ -120,11 +132,13 @@ public override async Task Include_collection_alias_generation(bool async) await base.Include_collection_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_collection_skip_take_no_order_by(bool async) @@ -132,7 +146,8 @@ public override async Task Include_collection_skip_take_no_order_by(bool async) await base.Include_collection_skip_take_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] @@ -143,7 +158,8 @@ ORDER BY (SELECT 1) OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_with_cross_join_clause_with_filter(bool async) @@ -151,7 +167,8 @@ public override async Task Include_collection_with_cross_join_clause_with_filter await base.Include_collection_with_cross_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] CROSS JOIN ( SELECT TOP(5) [o].[OrderID] @@ -160,7 +177,8 @@ ORDER BY [o].[OrderID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Join_Include_reference_GroupBy_Select(bool async) @@ -168,7 +186,8 @@ public override async Task Join_Include_reference_GroupBy_Select(bool async) await base.Join_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -184,7 +203,8 @@ FROM [Order Details] AS [o1] LEFT JOIN [Customers] AS [c] ON [o2].[CustomerID] = [c].[CustomerID] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_multi_level_reference_and_collection_predicate(bool async) @@ -192,7 +212,8 @@ public override async Task Include_multi_level_reference_and_collection_predicat await base.Include_multi_level_reference_and_collection_predicate(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] AS [CustomerID0], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] @@ -200,7 +221,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] = 10248 ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID0] = [o0].[CustomerID] -ORDER BY [t].[OrderID], [t].[CustomerID0]"); +ORDER BY [t].[OrderID], [t].[CustomerID0] +"""); } public override async Task Include_references_then_include_collection(bool async) @@ -208,12 +230,14 @@ public override async Task Include_references_then_include_collection(bool async await base.Include_references_then_include_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_on_additional_from_clause_with_filter(bool async) @@ -221,7 +245,8 @@ public override async Task Include_collection_on_additional_from_clause_with_fil await base.Include_collection_on_additional_from_clause_with_filter(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [c].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] CROSS JOIN ( SELECT [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] @@ -229,7 +254,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [c].[CustomerID], [t].[CustomerID]"); +ORDER BY [c].[CustomerID], [t].[CustomerID] +"""); } public override async Task Include_duplicate_reference3(bool async) @@ -237,7 +263,8 @@ public override async Task Include_duplicate_reference3(bool async) await base.Include_duplicate_reference3(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( @@ -252,7 +279,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t0].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key_with_take(bool async) @@ -260,7 +288,8 @@ public override async Task Include_collection_order_by_non_key_with_take(bool as await base.Include_collection_order_by_non_key_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -269,7 +298,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactTitle] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_collection_then_include_collection_predicate(bool async) @@ -277,7 +307,8 @@ public override async Task Include_collection_then_include_collection_predicate( await base.Include_collection_then_include_collection_predicate(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] @@ -288,7 +319,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Include_collection_take_no_order_by(bool async) @@ -296,7 +328,8 @@ public override async Task Include_collection_take_no_order_by(bool async) await base.Include_collection_take_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -304,7 +337,8 @@ SELECT TOP(@__p_0) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName FROM [Customers] AS [c] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_principal_already_tracked(bool async) @@ -312,18 +346,22 @@ public override async Task Include_collection_principal_already_tracked(bool asy await base.Include_collection_principal_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_object(bool async) @@ -331,11 +369,13 @@ public override async Task Include_collection_OrderBy_object(bool async) await base.Include_collection_OrderBy_object(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[OrderID] < 10250 -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_duplicate_collection_result_operator2(bool async) @@ -343,7 +383,8 @@ public override async Task Include_duplicate_collection_result_operator2(bool as await base.Include_duplicate_collection_result_operator2(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [t1].[CustomerID], [t1].[Address], [t1].[City], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Country], [t1].[Fax], [t1].[Phone], [t1].[PostalCode], [t1].[Region], [t1].[CustomerID0], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[Address0], [t1].[City0], [t1].[CompanyName0], [t1].[ContactName0], [t1].[ContactTitle0], [t1].[Country0], [t1].[Fax0], [t1].[Phone0], [t1].[PostalCode0], [t1].[Region0] @@ -363,7 +404,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ORDER BY [t].[CustomerID] ) AS [t1] LEFT JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0] +"""); } public override async Task Repro9735(bool async) @@ -371,7 +413,8 @@ public override async Task Repro9735(bool async) await base.Repro9735(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM ( @@ -393,7 +436,8 @@ ELSE N'' END ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID] +"""); } public override async Task Include_collection_single_or_default_no_result(bool async) @@ -401,14 +445,16 @@ public override async Task Include_collection_single_or_default_no_result(bool a await base.Include_collection_single_or_default_no_result(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI ?' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_with_cross_apply_with_filter(bool async) @@ -416,7 +462,8 @@ public override async Task Include_collection_with_cross_apply_with_filter(bool await base.Include_collection_with_cross_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] CROSS APPLY ( SELECT TOP(5) [o].[OrderID] @@ -426,7 +473,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_with_left_join_clause_with_filter(bool async) @@ -434,12 +482,14 @@ public override async Task Include_collection_with_left_join_clause_with_filter( await base.Include_collection_with_left_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_duplicate_collection(bool async) @@ -447,7 +497,8 @@ public override async Task Include_duplicate_collection(bool async) await base.Include_duplicate_collection(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( @@ -463,7 +514,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [t0].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID], [o].[OrderID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection(bool async) @@ -471,11 +523,13 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_then_include_collection_then_include_reference(bool async) @@ -483,7 +537,8 @@ public override async Task Include_collection_then_include_collection_then_inclu await base.Include_collection_then_include_collection_then_include_reference(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t].[OrderID] AS [OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[ProductID0], [t].[Discontinued], [t].[ProductName], [t].[SupplierID], [t].[UnitPrice0], [t].[UnitsInStock] @@ -495,7 +550,8 @@ FROM [Order Details] AS [o0] ) AS [t] ON [o].[OrderID] = [t].[OrderID] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID] +"""); } public override async Task Include_reference_GroupBy_Select(bool async) @@ -503,7 +559,8 @@ public override async Task Include_reference_GroupBy_Select(bool async) await base.Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -519,7 +576,8 @@ FROM [Orders] AS [o0] WHERE [o0].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_multiple_references_multi_level_reverse(bool async) @@ -527,12 +585,14 @@ public override async Task Include_multiple_references_multi_level_reverse(bool await base.Include_multiple_references_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_with_join_clause_with_filter(bool async) @@ -540,12 +600,14 @@ public override async Task Include_collection_with_join_clause_with_filter(bool await base.Include_collection_with_join_clause_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Include_collection_OrderBy_list_does_not_contains(bool async) @@ -553,7 +615,8 @@ public override async Task Include_collection_OrderBy_list_does_not_contains(boo await base.Include_collection_OrderBy_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -570,7 +633,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_reference_dependent_already_tracked(bool async) @@ -578,14 +642,18 @@ public override async Task Include_reference_dependent_already_tracked(bool asyn await base.Include_reference_dependent_already_tracked(async); AssertSql( - @"SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'", +WHERE [c].[CustomerID] = N'ALFKI' +""", // - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_reference_with_filter(bool async) @@ -593,10 +661,12 @@ public override async Task Include_reference_with_filter(bool async) await base.Include_reference_with_filter(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_duplicate_reference(bool async) @@ -604,7 +674,8 @@ public override async Task Include_duplicate_reference(bool async) await base.Include_duplicate_reference(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [c0].[CustomerID], [c0].[Address], [c0].[City], [c0].[CompanyName], [c0].[ContactName], [c0].[ContactTitle], [c0].[Country], [c0].[Fax], [c0].[Phone], [c0].[PostalCode], [c0].[Region] FROM ( @@ -620,7 +691,8 @@ OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] LEFT JOIN [Customers] AS [c0] ON [t0].[CustomerID] = [c0].[CustomerID] -ORDER BY [t].[CustomerID], [t].[OrderID]"); +ORDER BY [t].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_with_complex_projection(bool async) @@ -628,9 +700,11 @@ public override async Task Include_with_complex_projection(bool async) await base.Include_with_complex_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id] +""" +SELECT [c].[CustomerID] AS [Id] FROM [Orders] AS [o] -LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_collection_order_by_non_key_with_skip(bool async) @@ -638,7 +712,8 @@ public override async Task Include_collection_order_by_non_key_with_skip(bool as await base.Include_collection_order_by_non_key_with_skip(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -649,7 +724,8 @@ ORDER BY [c].[ContactTitle] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactTitle], [t].[CustomerID]"); +ORDER BY [t].[ContactTitle], [t].[CustomerID] +"""); } public override async Task Include_collection_on_join_clause_with_order_by_and_filter(bool async) @@ -657,12 +733,14 @@ public override async Task Include_collection_on_join_clause_with_order_by_and_f await base.Include_collection_on_join_clause_with_order_by_and_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] INNER JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] = N'ALFKI' -ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID]"); +ORDER BY [c].[City], [c].[CustomerID], [o].[OrderID] +"""); } public override async Task Multi_level_includes_are_applied_with_take(bool async) @@ -670,7 +748,8 @@ public override async Task Multi_level_includes_are_applied_with_take(bool async await base.Multi_level_includes_are_applied_with_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[CustomerID], [t1].[OrderID], [t1].[CustomerID], [t1].[EmployeeID], [t1].[OrderDate], [t1].[OrderID0], [t1].[ProductID], [t1].[Discount], [t1].[Quantity], [t1].[UnitPrice] FROM ( @@ -688,7 +767,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t1] ON [t0].[CustomerID] = [t1].[CustomerID] -ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0]"); +ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0] +"""); } public override async Task Include_multiple_references_then_include_collection_multi_level_reverse(bool async) @@ -696,14 +776,16 @@ public override async Task Include_multiple_references_then_include_collection_m await base.Include_multiple_references_then_include_collection_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -711,7 +793,8 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Products] AS [p] LEFT JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -719,7 +802,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 -ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID]"); +ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_collection_order_by_key(bool async) @@ -727,11 +811,13 @@ public override async Task Include_collection_order_by_key(bool async) await base.Include_collection_order_by_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter(bool async) @@ -739,7 +825,8 @@ public override async Task Include_collection_with_outer_apply_with_filter(bool await base.Include_collection_with_outer_apply_with_filter(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -749,7 +836,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_collection_on_additional_from_clause2(bool async) @@ -757,7 +845,8 @@ public override async Task Include_collection_on_additional_from_clause2(bool as await base.Include_collection_on_additional_from_clause2(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region] FROM ( @@ -766,7 +855,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] CROSS JOIN [Customers] AS [c0] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_collection_dependent_already_tracked(bool async) @@ -774,18 +864,22 @@ public override async Task Include_collection_dependent_already_tracked(bool asy await base.Include_collection_dependent_already_tracked(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'ALFKI'", +WHERE [o].[CustomerID] = N'ALFKI' +""", // - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_with_complex_projection_does_not_change_ordering_of_projection(bool async) @@ -793,7 +887,8 @@ public override async Task Include_with_complex_projection_does_not_change_order await base.Include_with_complex_projection_does_not_change_ordering_of_projection(async); AssertSql( - @"SELECT [c].[CustomerID] AS [Id], ( +""" +SELECT [c].[CustomerID] AS [Id], ( SELECT COUNT(*) FROM [Orders] AS [o0] WHERE [c].[CustomerID] = [o0].[CustomerID]) AS [TotalOrders] @@ -802,7 +897,8 @@ FROM [Customers] AS [c] SELECT COUNT(*) FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID]) > 2 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Include_multi_level_collection_and_then_include_reference_predicate(bool async) @@ -810,7 +906,8 @@ public override async Task Include_multi_level_collection_and_then_include_refer await base.Include_multi_level_collection_and_then_include_reference_predicate(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t0].[OrderID], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice], [t0].[ProductID0], [t0].[Discontinued], [t0].[ProductName], [t0].[SupplierID], [t0].[UnitPrice0], [t0].[UnitsInStock] FROM ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] @@ -821,7 +918,8 @@ LEFT JOIN ( FROM [Order Details] AS [o0] INNER JOIN [Products] AS [p] ON [o0].[ProductID] = [p].[ProductID] ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[ProductID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[ProductID] +"""); } public override async Task Multi_level_includes_are_applied_with_skip_take(bool async) @@ -829,7 +927,8 @@ public override async Task Multi_level_includes_are_applied_with_skip_take(bool await base.Multi_level_includes_are_applied_with_skip_take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[CustomerID], [t1].[OrderID], [t1].[CustomerID], [t1].[EmployeeID], [t1].[OrderDate], [t1].[OrderID0], [t1].[ProductID], [t1].[Discount], [t1].[Quantity], [t1].[UnitPrice] FROM ( @@ -848,7 +947,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t1] ON [t0].[CustomerID] = [t1].[CustomerID] -ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0]"); +ORDER BY [t0].[CustomerID], [t1].[OrderID], [t1].[OrderID0] +"""); } public override async Task Include_collection_OrderBy_empty_list_contains(bool async) @@ -856,7 +956,8 @@ public override async Task Include_collection_OrderBy_empty_list_contains(bool a await base.Include_collection_OrderBy_empty_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -867,7 +968,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_references_and_collection_multi_level(bool async) @@ -875,13 +977,15 @@ public override async Task Include_references_and_collection_multi_level(bool as await base.Include_references_and_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 AND [o].[UnitPrice] < 10.0 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_force_alias_uniquefication(bool async) @@ -889,11 +993,13 @@ public override async Task Include_collection_force_alias_uniquefication(bool as await base.Include_collection_force_alias_uniquefication(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [o].[CustomerID] = N'ALFKI' -ORDER BY [o].[OrderID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_collection_with_outer_apply_with_filter_non_equality(bool async) @@ -901,7 +1007,8 @@ public override async Task Include_collection_with_outer_apply_with_filter_non_e await base.Include_collection_with_outer_apply_with_filter_non_equality(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT TOP(5) [o].[OrderID] @@ -911,7 +1018,8 @@ ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID]"); +ORDER BY [c].[CustomerID], [t].[OrderID] +"""); } public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) @@ -919,7 +1027,8 @@ public override async Task Include_in_let_followed_by_FirstOrDefault(bool async) await base.Include_in_let_followed_by_FirstOrDefault(async); AssertSql( - @"SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [c].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN ( SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] @@ -931,7 +1040,8 @@ FROM [Orders] AS [o] ) AS [t0] ON [c].[CustomerID] = [t0].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [t0].[OrderID] = [o0].[OrderID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t0].[OrderID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [t0].[OrderID], [o0].[OrderID] +"""); } public override async Task Include_references_multi_level(bool async) @@ -939,11 +1049,13 @@ public override async Task Include_references_multi_level(bool async) await base.Include_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_then_include_collection(bool async) @@ -951,7 +1063,8 @@ public override async Task Include_collection_then_include_collection(bool async await base.Include_collection_then_include_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[OrderID0], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN ( SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID] AS [OrderID0], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] @@ -959,7 +1072,8 @@ FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [c].[CustomerID] = [t].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0]"); +ORDER BY [c].[CustomerID], [t].[OrderID], [t].[OrderID0] +"""); } public override async Task Include_collection_with_multiple_conditional_order_by(bool async) @@ -967,7 +1081,8 @@ public override async Task Include_collection_with_multiple_conditional_order_by await base.Include_collection_with_multiple_conditional_order_by(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM ( @@ -989,7 +1104,8 @@ ELSE N'' END ) AS [t] LEFT JOIN [Order Details] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID]"); +ORDER BY [t].[c], [t].[c0], [t].[OrderID], [t].[CustomerID0], [o0].[OrderID] +"""); } public override async Task Include_reference_when_entity_in_projection(bool async) @@ -997,10 +1113,12 @@ public override async Task Include_reference_when_entity_in_projection(bool asyn await base.Include_reference_when_entity_in_projection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_reference_single_or_default_when_no_result(bool async) @@ -1008,10 +1126,12 @@ public override async Task Include_reference_single_or_default_when_no_result(bo await base.Include_reference_single_or_default_when_no_result(async); AssertSql( - @"SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[OrderID] = -1"); +WHERE [o].[OrderID] = -1 +"""); } public override async Task Include_reference_alias_generation(bool async) @@ -1019,10 +1139,12 @@ public override async Task Include_reference_alias_generation(bool async) await base.Include_reference_alias_generation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_with_cycle_does_not_throw_when_AsNoTrackingWithIdentityResolution(bool async) @@ -1030,12 +1152,14 @@ public override async Task Include_with_cycle_does_not_throw_when_AsNoTrackingWi await base.Include_with_cycle_does_not_throw_when_AsNoTrackingWithIdentityResolution(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE [o].[OrderID] < 10800 -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_references_then_include_collection_multi_level(bool async) @@ -1043,13 +1167,15 @@ public override async Task Include_references_then_include_collection_multi_leve await base.Include_references_then_include_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[ProductID] % 23) = 17 AND [o].[Quantity] < CAST(10 AS smallint) -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_reference_Join_GroupBy_Select(bool async) @@ -1057,7 +1183,8 @@ public override async Task Include_reference_Join_GroupBy_Select(bool async) await base.Include_reference_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1075,7 +1202,8 @@ FROM [Orders] AS [o1] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_when_projection(bool async) @@ -1083,8 +1211,10 @@ public override async Task Include_collection_when_projection(bool async) await base.Include_collection_when_projection(async); AssertSql( - @"SELECT [c].[CustomerID] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID] +FROM [Customers] AS [c] +"""); } public override async Task Include_reference_SelectMany_GroupBy_Select(bool async) @@ -1092,7 +1222,8 @@ public override async Task Include_reference_SelectMany_GroupBy_Select(bool asyn await base.Include_reference_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1110,7 +1241,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_multiple_references_then_include_collection_multi_level(bool async) @@ -1118,14 +1250,16 @@ public override async Task Include_multiple_references_then_include_collection_m await base.Include_multiple_references_then_include_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +"""); } public override async Task Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(bool async) @@ -1133,12 +1267,14 @@ public override async Task Outer_idenfier_correctly_determined_when_doing_includ await base.Outer_idenfier_correctly_determined_when_doing_include_on_right_side_of_left_join(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE [c].[City] = N'Seattle' -ORDER BY [c].[CustomerID], [o].[OrderID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [o].[OrderID], [o0].[OrderID] +"""); } public override async Task SelectMany_Include_reference_GroupBy_Select(bool async) @@ -1146,7 +1282,8 @@ public override async Task SelectMany_Include_reference_GroupBy_Select(bool asyn await base.SelectMany_Include_reference_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[CustomerID0], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1164,7 +1301,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [o1].[OrderID] = 10248 ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[OrderID] = [t0].[OrderID]"); +) AS [t0] ON [t].[OrderID] = [t0].[OrderID] +"""); } public override async Task Include_collection_SelectMany_GroupBy_Select(bool async) @@ -1172,7 +1310,8 @@ public override async Task Include_collection_SelectMany_GroupBy_Select(bool asy await base.Include_collection_SelectMany_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1191,7 +1330,8 @@ CROSS JOIN [Order Details] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID] +"""); } public override async Task Include_collection_OrderBy_list_contains(bool async) @@ -1199,7 +1339,8 @@ public override async Task Include_collection_OrderBy_list_contains(bool async) await base.Include_collection_OrderBy_list_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1216,7 +1357,8 @@ ELSE CAST(0 AS bit) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Multi_level_includes_are_applied_with_skip(bool async) @@ -1224,7 +1366,8 @@ public override async Task Multi_level_includes_are_applied_with_skip(bool async await base.Multi_level_includes_are_applied_with_skip(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[CustomerID], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( @@ -1239,7 +1382,8 @@ LEFT JOIN ( FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Include_collection_on_additional_from_clause(bool async) @@ -1247,7 +1391,8 @@ public override async Task Include_collection_on_additional_from_clause(bool asy await base.Include_collection_on_additional_from_clause(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t0].[CustomerID], [t0].[Address], [t0].[City], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Country], [t0].[Fax], [t0].[Phone], [t0].[PostalCode], [t0].[Region], [t].[CustomerID], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1261,7 +1406,8 @@ FROM [Customers] AS [c0] WHERE [c0].[CustomerID] LIKE N'F%' ) AS [t0] LEFT JOIN [Orders] AS [o] ON [t0].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID], [t0].[CustomerID]"); +ORDER BY [t].[CustomerID], [t0].[CustomerID] +"""); } public override async Task Include_reference_distinct_is_server_evaluated(bool async) @@ -1269,13 +1415,15 @@ public override async Task Include_reference_distinct_is_server_evaluated(bool a await base.Include_reference_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM ( SELECT DISTINCT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE [o].[OrderID] < 10250 ) AS [t] -LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID]"); +LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] +"""); } public override async Task Include_collection_distinct_is_server_evaluated(bool async) @@ -1283,14 +1431,16 @@ public override async Task Include_collection_distinct_is_server_evaluated(bool await base.Include_collection_distinct_is_server_evaluated(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT DISTINCT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] LIKE N'A%' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_reference_when_projection(bool async) @@ -1298,8 +1448,10 @@ public override async Task Include_reference_when_projection(bool async) await base.Include_reference_when_projection(async); AssertSql( - @"SELECT [o].[CustomerID] -FROM [Orders] AS [o]"); +""" +SELECT [o].[CustomerID] +FROM [Orders] AS [o] +"""); } public override async Task Include_duplicate_collection_result_operator(bool async) @@ -1307,7 +1459,8 @@ public override async Task Include_duplicate_collection_result_operator(bool asy await base.Include_duplicate_collection_result_operator(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' @__p_0='2' SELECT [t1].[CustomerID], [t1].[Address], [t1].[City], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Country], [t1].[Fax], [t1].[Phone], [t1].[PostalCode], [t1].[Region], [t1].[CustomerID0], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [t1].[Address0], [t1].[City0], [t1].[CompanyName0], [t1].[ContactName0], [t1].[ContactTitle0], [t1].[Country0], [t1].[Fax0], [t1].[Phone0], [t1].[PostalCode0], [t1].[Region0], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -1328,7 +1481,8 @@ ORDER BY [t].[CustomerID] ) AS [t1] LEFT JOIN [Orders] AS [o] ON [t1].[CustomerID] = [o].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [t1].[CustomerID0] = [o0].[CustomerID] -ORDER BY [t1].[CustomerID], [t1].[CustomerID0], [o].[OrderID]"); +ORDER BY [t1].[CustomerID], [t1].[CustomerID0], [o].[OrderID] +"""); } public override async Task Include_reference(bool async) @@ -1336,10 +1490,12 @@ public override async Task Include_reference(bool async) await base.Include_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%')"); +WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') +"""); } public override async Task Include_multiple_references_and_collection_multi_level_reverse(bool async) @@ -1347,14 +1503,16 @@ public override async Task Include_multiple_references_and_collection_multi_leve await base.Include_multiple_references_and_collection_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [p].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_closes_reader(bool async) @@ -1362,16 +1520,20 @@ public override async Task Include_closes_reader(bool async) await base.Include_closes_reader(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] -FROM [Products] AS [p]"); +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +FROM [Products] AS [p] +"""); } public override async Task Include_with_skip(bool async) @@ -1379,7 +1541,8 @@ public override async Task Include_with_skip(bool async) await base.Include_with_skip(async); AssertSql( - @"@__p_0='80' +""" +@__p_0='80' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1389,7 +1552,8 @@ ORDER BY [c].[ContactName] OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName], [t].[CustomerID]"); +ORDER BY [t].[ContactName], [t].[CustomerID] +"""); } public override async Task Include_collection_Join_GroupBy_Select(bool async) @@ -1397,7 +1561,8 @@ public override async Task Include_collection_Join_GroupBy_Select(bool async) await base.Include_collection_Join_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1416,7 +1581,8 @@ FROM [Orders] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID] +"""); } public override async Task Include_collection_GroupBy_Select(bool async) @@ -1424,7 +1590,8 @@ public override async Task Include_collection_GroupBy_Select(bool async) await base.Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] FROM ( SELECT [o].[OrderID] FROM [Orders] AS [o] @@ -1441,7 +1608,8 @@ FROM [Orders] AS [o0] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o1] ON [t0].[OrderID] = [o1].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID], [o1].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID], [o1].[OrderID] +"""); } public override async Task Include_collection_orderby_take(bool async) @@ -1449,7 +1617,8 @@ public override async Task Include_collection_orderby_take(bool async) await base.Include_collection_orderby_take(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1458,7 +1627,8 @@ FROM [Customers] AS [c] ORDER BY [c].[CustomerID] ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Join_Include_collection_GroupBy_Select(bool async) @@ -1466,7 +1636,8 @@ public override async Task Join_Include_collection_GroupBy_Select(bool async) await base.Join_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1485,7 +1656,8 @@ FROM [Order Details] AS [o1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID] +"""); } public override async Task Include_collection_order_by_non_key(bool async) @@ -1493,11 +1665,13 @@ public override async Task Include_collection_order_by_non_key(bool async) await base.Include_collection_order_by_non_key(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' -ORDER BY [c].[PostalCode], [c].[CustomerID]"); +ORDER BY [c].[PostalCode], [c].[CustomerID] +"""); } public override async Task Include_when_result_operator(bool async) @@ -1505,12 +1679,14 @@ public override async Task Include_when_result_operator(bool async) await base.Include_when_result_operator(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN EXISTS ( SELECT 1 FROM [Customers] AS [c]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Include_duplicate_reference2(bool async) @@ -1518,7 +1694,8 @@ public override async Task Include_duplicate_reference2(bool async) await base.Include_duplicate_reference2(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate] FROM ( @@ -1533,7 +1710,8 @@ ORDER BY [o0].[OrderID] OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ) AS [t0] LEFT JOIN [Customers] AS [c] ON [t].[CustomerID] = [c].[CustomerID] -ORDER BY [t].[OrderID]"); +ORDER BY [t].[OrderID] +"""); } public override async Task Include_collection_and_reference(bool async) @@ -1541,12 +1719,14 @@ public override async Task Include_collection_and_reference(bool async) await base.Include_collection_and_reference(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Include_multiple_references_multi_level(bool async) @@ -1554,12 +1734,14 @@ public override async Task Include_multiple_references_multi_level(bool async) await base.Include_multiple_references_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_references_and_collection_multi_level_predicate(bool async) @@ -1567,13 +1749,15 @@ public override async Task Include_references_and_collection_multi_level_predica await base.Include_references_and_collection_multi_level_predicate(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task SelectMany_Include_collection_GroupBy_Select(bool async) @@ -1581,7 +1765,8 @@ public override async Task SelectMany_Include_collection_GroupBy_Select(bool asy await base.SelectMany_Include_collection_GroupBy_Select(async); AssertSql( - @"SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] +""" +SELECT [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [o3].[OrderID], [o3].[ProductID], [o3].[Discount], [o3].[Quantity], [o3].[UnitPrice] FROM ( SELECT [o0].[OrderID] FROM [Order Details] AS [o] @@ -1600,7 +1785,8 @@ CROSS JOIN [Orders] AS [o2] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[OrderID] = [t0].[OrderID] LEFT JOIN [Order Details] AS [o3] ON [t0].[OrderID] = [o3].[OrderID] -ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID]"); +ORDER BY [t].[OrderID], [t0].[OrderID0], [t0].[ProductID], [t0].[OrderID], [o3].[OrderID] +"""); } public override async Task Include_collection_with_last(bool async) @@ -1608,14 +1794,16 @@ public override async Task Include_collection_with_last(bool async) await base.Include_collection_with_last(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] ORDER BY [c].[CompanyName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CompanyName] DESC, [t].[CustomerID]"); +ORDER BY [t].[CompanyName] DESC, [t].[CustomerID] +"""); } public override async Task Include_collection_OrderBy_empty_list_does_not_contains(bool async) @@ -1623,7 +1811,8 @@ public override async Task Include_collection_OrderBy_empty_list_does_not_contai await base.Include_collection_OrderBy_empty_list_does_not_contains(async); AssertSql( - @"@__p_1='1' +""" +@__p_1='1' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1634,7 +1823,8 @@ ORDER BY (SELECT 1) OFFSET @__p_1 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_multiple_references_then_include_multi_level_reverse(bool async) @@ -1642,12 +1832,14 @@ public override async Task Include_multiple_references_then_include_multi_level_ await base.Include_multiple_references_then_include_multi_level_reverse(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Order Details] AS [o] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_reference_and_collection(bool async) @@ -1655,12 +1847,14 @@ public override async Task Include_reference_and_collection(bool async) await base.Include_reference_and_collection(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[ProductID], [o0].[Discount], [o0].[Quantity], [o0].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Order Details] AS [o0] ON [o].[OrderID] = [o0].[OrderID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [o].[OrderID], [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(bool async) @@ -1668,14 +1862,16 @@ public override async Task Include_is_not_ignored_when_projection_contains_clien await base.Include_is_not_ignored_when_projection_contains_client_method_and_complex_expression(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [e0].[EmployeeID] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] WHERE [e].[EmployeeID] IN (1, 2) -ORDER BY [e].[EmployeeID]"); +ORDER BY [e].[EmployeeID] +"""); } public override async Task Include_reference_with_filter_reordered(bool async) @@ -1683,10 +1879,12 @@ public override async Task Include_reference_with_filter_reordered(bool async) await base.Include_reference_with_filter_reordered(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [o].[CustomerID] = N'ALFKI'"); +WHERE [o].[CustomerID] = N'ALFKI' +"""); } public override async Task Include_collection_order_by_subquery(bool async) @@ -1694,7 +1892,8 @@ public override async Task Include_collection_order_by_subquery(bool async) await base.Include_collection_order_by_subquery(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -1710,7 +1909,8 @@ FROM [Orders] AS [o] ORDER BY [o].[EmployeeID]) ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID] = [o0].[CustomerID] -ORDER BY [t].[c], [t].[CustomerID]"); +ORDER BY [t].[c], [t].[CustomerID] +"""); } public override async Task Include_reference_and_collection_order_by(bool async) @@ -1718,12 +1918,14 @@ public override async Task Include_reference_and_collection_order_by(bool async) await base.Include_reference_and_collection_order_by(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ([o].[CustomerID] IS NOT NULL) AND ([o].[CustomerID] LIKE N'F%') -ORDER BY [o].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [c].[CustomerID] +"""); } public override async Task Then_include_collection_order_by_collection_column(bool async) @@ -1731,7 +1933,8 @@ public override async Task Then_include_collection_order_by_collection_column(bo await base.Then_include_collection_order_by_collection_column(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [t0].[OrderID], [t0].[CustomerID], [t0].[EmployeeID], [t0].[OrderDate], [t0].[OrderID0], [t0].[ProductID], [t0].[Discount], [t0].[Quantity], [t0].[UnitPrice] FROM ( SELECT TOP(1) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], ( SELECT TOP(1) [o].[OrderDate] @@ -1751,7 +1954,8 @@ LEFT JOIN ( FROM [Orders] AS [o0] LEFT JOIN [Order Details] AS [o1] ON [o0].[OrderID] = [o1].[OrderID] ) AS [t0] ON [t].[CustomerID] = [t0].[CustomerID] -ORDER BY [t].[c] DESC, [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0]"); +ORDER BY [t].[c] DESC, [t].[CustomerID], [t0].[OrderID], [t0].[OrderID0] +"""); } public override async Task Include_multiple_references_then_include_multi_level(bool async) @@ -1759,12 +1963,14 @@ public override async Task Include_multiple_references_then_include_multi_level( await base.Include_multiple_references_then_include_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_collection_skip_no_order_by(bool async) @@ -1772,7 +1978,8 @@ public override async Task Include_collection_skip_no_order_by(bool async) await base.Include_collection_skip_no_order_by(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1782,7 +1989,8 @@ ORDER BY (SELECT 1) OFFSET @__p_0 ROWS ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]"); +ORDER BY [t].[CustomerID] +"""); } public override async Task Include_multi_level_reference_then_include_collection_predicate(bool async) @@ -1790,7 +1998,8 @@ public override async Task Include_multi_level_reference_then_include_collection await base.Include_multi_level_reference_then_include_collection_predicate(async); AssertSql( - @"SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [t].[OrderID], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate], [t].[CustomerID0], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM ( SELECT TOP(2) [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate], [c].[CustomerID] AS [CustomerID0], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Orders] AS [o] @@ -1798,7 +2007,8 @@ FROM [Orders] AS [o] WHERE [o].[OrderID] = 10248 ) AS [t] LEFT JOIN [Orders] AS [o0] ON [t].[CustomerID0] = [o0].[CustomerID] -ORDER BY [t].[OrderID], [t].[CustomerID0]"); +ORDER BY [t].[OrderID], [t].[CustomerID0] +"""); } public override async Task Include_multiple_references_and_collection_multi_level(bool async) @@ -1806,14 +2016,16 @@ public override async Task Include_multiple_references_and_collection_multi_leve await base.Include_multiple_references_and_collection_multi_level(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [p].[ProductID], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE ([o].[OrderID] % 23) = 13 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID], [p].[ProductID] +"""); } public override async Task Include_where_skip_take_projection(bool async) @@ -1821,7 +2033,8 @@ public override async Task Include_where_skip_take_projection(bool async) await base.Include_where_skip_take_projection(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='2' SELECT [o0].[CustomerID] @@ -1833,7 +2046,8 @@ FROM [Order Details] AS [o] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t] INNER JOIN [Orders] AS [o0] ON [t].[OrderID] = [o0].[OrderID] -ORDER BY [t].[OrderID], [t].[ProductID]"); +ORDER BY [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_with_take(bool async) @@ -1841,7 +2055,8 @@ public override async Task Include_with_take(bool async) await base.Include_with_take(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( @@ -1850,7 +2065,8 @@ FROM [Customers] AS [c] ORDER BY [c].[ContactName] DESC ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[ContactName] DESC, [t].[CustomerID]"); +ORDER BY [t].[ContactName] DESC, [t].[CustomerID] +"""); } public override async Task Include_multiple_references(bool async) @@ -1858,11 +2074,13 @@ public override async Task Include_multiple_references(bool async) await base.Include_multiple_references(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] INNER JOIN [Products] AS [p] ON [o].[ProductID] = [p].[ProductID] -WHERE ([o].[OrderID] % 23) = 13"); +WHERE ([o].[OrderID] % 23) = 13 +"""); } public override async Task Include_list(bool async) @@ -1870,7 +2088,8 @@ public override async Task Include_list(bool async) await base.Include_list(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock], [t].[OrderID], [t].[ProductID], [t].[Discount], [t].[Quantity], [t].[UnitPrice], [t].[OrderID0], [t].[CustomerID], [t].[EmployeeID], [t].[OrderDate] FROM [Products] AS [p] LEFT JOIN ( SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID] AS [OrderID0], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] @@ -1878,7 +2097,8 @@ FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] ) AS [t] ON [p].[ProductID] = [t].[ProductID] WHERE ([p].[ProductID] % 17) = 5 AND [p].[UnitPrice] < 20.0 -ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID]"); +ORDER BY [p].[ProductID], [t].[OrderID], [t].[ProductID] +"""); } public override async Task Include_empty_reference_sets_IsLoaded(bool async) @@ -1886,10 +2106,12 @@ public override async Task Include_empty_reference_sets_IsLoaded(bool async) await base.Include_empty_reference_sets_IsLoaded(async); AssertSql( - @"SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] +""" +SELECT TOP(1) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title], [e0].[EmployeeID], [e0].[City], [e0].[Country], [e0].[FirstName], [e0].[ReportsTo], [e0].[Title] FROM [Employees] AS [e] LEFT JOIN [Employees] AS [e0] ON [e].[ReportsTo] = [e0].[EmployeeID] -WHERE [e0].[EmployeeID] IS NULL"); +WHERE [e0].[EmployeeID] IS NULL +"""); } public override async Task Include_references_then_include_collection_multi_level_predicate(bool async) @@ -1897,13 +2119,15 @@ public override async Task Include_references_then_include_collection_multi_leve await base.Include_references_then_include_collection_multi_level_predicate(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate], [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o1].[OrderID], [o1].[CustomerID], [o1].[EmployeeID], [o1].[OrderDate] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] LEFT JOIN [Customers] AS [c] ON [o0].[CustomerID] = [c].[CustomerID] LEFT JOIN [Orders] AS [o1] ON [c].[CustomerID] = [o1].[CustomerID] WHERE [o].[OrderID] = 10248 -ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID]"); +ORDER BY [o].[OrderID], [o].[ProductID], [o0].[OrderID], [c].[CustomerID] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -1911,14 +2135,16 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o] ON [c].[CustomerID] = [o].[CustomerID] WHERE [c].[CustomerID] LIKE N'F%' ORDER BY CASE WHEN [c].[CustomerID] LIKE N'S%' THEN 1 ELSE 2 -END, [c].[CustomerID]"); +END, [c].[CustomerID] +"""); } public override async Task Include_non_existing_navigation(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs index d1c08999cb1..1d64c746523 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NorthwindWhereQuerySqlServerTest.cs @@ -27,9 +27,11 @@ public override async Task Where_simple(bool async) await base.Where_simple(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = N'London'"); +WHERE [c].[City] = N'London' +"""); } public override async Task Where_as_queryable_expression(bool async) @@ -37,12 +39,14 @@ public override async Task Where_as_queryable_expression(bool async) await base.Where_as_queryable_expression(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[CustomerID] = N'ALFKI')"); + WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[CustomerID] = N'ALFKI') +"""); } public override async Task Where_simple_closure(bool async) @@ -50,11 +54,13 @@ public override async Task Where_simple_closure(bool async) var queryString = await base.Where_simple_closure(async); AssertSql( - @"@__city_0='London' (Size = 4000) +""" +@__city_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_0"); +WHERE [c].[City] = @__city_0 +"""); Assert.Equal( @"DECLARE @__city_0 nvarchar(4000) = N'London'; @@ -71,11 +77,13 @@ public override async Task Where_indexer_closure(bool async) await base.Where_indexer_closure(async); AssertSql( - @"@__p_0='London' (Size = 4000) +""" +@__p_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__p_0"); +WHERE [c].[City] = @__p_0 +"""); } public override async Task Where_dictionary_key_access_closure(bool async) @@ -83,11 +91,13 @@ public override async Task Where_dictionary_key_access_closure(bool async) await base.Where_dictionary_key_access_closure(async); AssertSql( - @"@__get_Item_0='London' (Size = 4000) +""" +@__get_Item_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__get_Item_0"); +WHERE [c].[City] = @__get_Item_0 +"""); } public override async Task Where_tuple_item_closure(bool async) @@ -95,11 +105,13 @@ public override async Task Where_tuple_item_closure(bool async) await base.Where_tuple_item_closure(async); AssertSql( - @"@__predicateTuple_Item2_0='London' (Size = 4000) +""" +@__predicateTuple_Item2_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__predicateTuple_Item2_0"); +WHERE [c].[City] = @__predicateTuple_Item2_0 +"""); } public override async Task Where_named_tuple_item_closure(bool async) @@ -107,11 +119,13 @@ public override async Task Where_named_tuple_item_closure(bool async) await base.Where_named_tuple_item_closure(async); AssertSql( - @"@__predicateTuple_Item2_0='London' (Size = 4000) +""" +@__predicateTuple_Item2_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__predicateTuple_Item2_0"); +WHERE [c].[City] = @__predicateTuple_Item2_0 +"""); } public override async Task Where_simple_closure_constant(bool async) @@ -119,11 +133,13 @@ public override async Task Where_simple_closure_constant(bool async) await base.Where_simple_closure_constant(async); AssertSql( - @"@__predicate_0='True' +""" +@__predicate_0='True' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE @__predicate_0 = CAST(1 AS bit)"); +WHERE @__predicate_0 = CAST(1 AS bit) +"""); } public override async Task Where_simple_closure_via_query_cache(bool async) @@ -131,17 +147,21 @@ public override async Task Where_simple_closure_via_query_cache(bool async) await base.Where_simple_closure_via_query_cache(async); AssertSql( - @"@__city_0='London' (Size = 4000) +""" +@__city_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_0", +WHERE [c].[City] = @__city_0 +""", // - @"@__city_0='Seattle' (Size = 4000) +""" +@__city_0='Seattle' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_0"); +WHERE [c].[City] = @__city_0 +"""); } public override async Task Where_method_call_nullable_type_closure_via_query_cache(bool async) @@ -149,17 +169,21 @@ public override async Task Where_method_call_nullable_type_closure_via_query_cac await base.Where_method_call_nullable_type_closure_via_query_cache(async); AssertSql( - @"@__p_0='2' (Nullable = true) +""" +@__p_0='2' (Nullable = true) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0", +WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0 +""", // - @"@__p_0='5' (Nullable = true) +""" +@__p_0='5' (Nullable = true) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0"); +WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0 +"""); } public override async Task Where_method_call_nullable_type_reverse_closure_via_query_cache(bool async) @@ -167,17 +191,21 @@ public override async Task Where_method_call_nullable_type_reverse_closure_via_q await base.Where_method_call_nullable_type_reverse_closure_via_query_cache(async); AssertSql( - @"@__p_0='1' (Nullable = true) +""" +@__p_0='1' (Nullable = true) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CAST([e].[EmployeeID] AS bigint) > @__p_0", +WHERE CAST([e].[EmployeeID] AS bigint) > @__p_0 +""", // - @"@__p_0='5' (Nullable = true) +""" +@__p_0='5' (Nullable = true) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CAST([e].[EmployeeID] AS bigint) > @__p_0"); +WHERE CAST([e].[EmployeeID] AS bigint) > @__p_0 +"""); } public override async Task Where_method_call_closure_via_query_cache(bool async) @@ -185,17 +213,21 @@ public override async Task Where_method_call_closure_via_query_cache(bool async) await base.Where_method_call_closure_via_query_cache(async); AssertSql( - @"@__GetCity_0='London' (Size = 4000) +""" +@__GetCity_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__GetCity_0", +WHERE [c].[City] = @__GetCity_0 +""", // - @"@__GetCity_0='Seattle' (Size = 4000) +""" +@__GetCity_0='Seattle' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__GetCity_0"); +WHERE [c].[City] = @__GetCity_0 +"""); } public override async Task Where_field_access_closure_via_query_cache(bool async) @@ -203,17 +235,21 @@ public override async Task Where_field_access_closure_via_query_cache(bool async await base.Where_field_access_closure_via_query_cache(async); AssertSql( - @"@__city_InstanceFieldValue_0='London' (Size = 4000) +""" +@__city_InstanceFieldValue_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_InstanceFieldValue_0", +WHERE [c].[City] = @__city_InstanceFieldValue_0 +""", // - @"@__city_InstanceFieldValue_0='Seattle' (Size = 4000) +""" +@__city_InstanceFieldValue_0='Seattle' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_InstanceFieldValue_0"); +WHERE [c].[City] = @__city_InstanceFieldValue_0 +"""); } public override async Task Where_property_access_closure_via_query_cache(bool async) @@ -221,17 +257,21 @@ public override async Task Where_property_access_closure_via_query_cache(bool as await base.Where_property_access_closure_via_query_cache(async); AssertSql( - @"@__city_InstancePropertyValue_0='London' (Size = 4000) +""" +@__city_InstancePropertyValue_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_InstancePropertyValue_0", +WHERE [c].[City] = @__city_InstancePropertyValue_0 +""", // - @"@__city_InstancePropertyValue_0='Seattle' (Size = 4000) +""" +@__city_InstancePropertyValue_0='Seattle' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_InstancePropertyValue_0"); +WHERE [c].[City] = @__city_InstancePropertyValue_0 +"""); } public override async Task Where_static_field_access_closure_via_query_cache(bool async) @@ -239,17 +279,21 @@ public override async Task Where_static_field_access_closure_via_query_cache(boo await base.Where_static_field_access_closure_via_query_cache(async); AssertSql( - @"@__StaticFieldValue_0='London' (Size = 4000) +""" +@__StaticFieldValue_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__StaticFieldValue_0", +WHERE [c].[City] = @__StaticFieldValue_0 +""", // - @"@__StaticFieldValue_0='Seattle' (Size = 4000) +""" +@__StaticFieldValue_0='Seattle' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__StaticFieldValue_0"); +WHERE [c].[City] = @__StaticFieldValue_0 +"""); } public override async Task Where_static_property_access_closure_via_query_cache(bool async) @@ -257,17 +301,21 @@ public override async Task Where_static_property_access_closure_via_query_cache( await base.Where_static_property_access_closure_via_query_cache(async); AssertSql( - @"@__StaticPropertyValue_0='London' (Size = 4000) +""" +@__StaticPropertyValue_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__StaticPropertyValue_0", +WHERE [c].[City] = @__StaticPropertyValue_0 +""", // - @"@__StaticPropertyValue_0='Seattle' (Size = 4000) +""" +@__StaticPropertyValue_0='Seattle' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__StaticPropertyValue_0"); +WHERE [c].[City] = @__StaticPropertyValue_0 +"""); } public override async Task Where_nested_field_access_closure_via_query_cache(bool async) @@ -275,17 +323,21 @@ public override async Task Where_nested_field_access_closure_via_query_cache(boo await base.Where_nested_field_access_closure_via_query_cache(async); AssertSql( - @"@__city_Nested_InstanceFieldValue_0='London' (Size = 4000) +""" +@__city_Nested_InstanceFieldValue_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_Nested_InstanceFieldValue_0", +WHERE [c].[City] = @__city_Nested_InstanceFieldValue_0 +""", // - @"@__city_Nested_InstanceFieldValue_0='Seattle' (Size = 4000) +""" +@__city_Nested_InstanceFieldValue_0='Seattle' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_Nested_InstanceFieldValue_0"); +WHERE [c].[City] = @__city_Nested_InstanceFieldValue_0 +"""); } public override async Task Where_nested_property_access_closure_via_query_cache(bool async) @@ -293,17 +345,21 @@ public override async Task Where_nested_property_access_closure_via_query_cache( await base.Where_nested_property_access_closure_via_query_cache(async); AssertSql( - @"@__city_Nested_InstancePropertyValue_0='London' (Size = 4000) +""" +@__city_Nested_InstancePropertyValue_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_Nested_InstancePropertyValue_0", +WHERE [c].[City] = @__city_Nested_InstancePropertyValue_0 +""", // - @"@__city_Nested_InstancePropertyValue_0='Seattle' (Size = 4000) +""" +@__city_Nested_InstancePropertyValue_0='Seattle' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__city_Nested_InstancePropertyValue_0"); +WHERE [c].[City] = @__city_Nested_InstancePropertyValue_0 +"""); } public override async Task Where_new_instance_field_access_query_cache(bool async) @@ -311,17 +367,21 @@ public override async Task Where_new_instance_field_access_query_cache(bool asyn await base.Where_new_instance_field_access_query_cache(async); AssertSql( - @"@__InstanceFieldValue_0='London' (Size = 4000) +""" +@__InstanceFieldValue_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__InstanceFieldValue_0", +WHERE [c].[City] = @__InstanceFieldValue_0 +""", // - @"@__InstanceFieldValue_0='Seattle' (Size = 4000) +""" +@__InstanceFieldValue_0='Seattle' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__InstanceFieldValue_0"); +WHERE [c].[City] = @__InstanceFieldValue_0 +"""); } public override async Task Where_new_instance_field_access_closure_via_query_cache(bool async) @@ -329,17 +389,21 @@ public override async Task Where_new_instance_field_access_closure_via_query_cac await base.Where_new_instance_field_access_closure_via_query_cache(async); AssertSql( - @"@__InstanceFieldValue_0='London' (Size = 4000) +""" +@__InstanceFieldValue_0='London' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__InstanceFieldValue_0", +WHERE [c].[City] = @__InstanceFieldValue_0 +""", // - @"@__InstanceFieldValue_0='Seattle' (Size = 4000) +""" +@__InstanceFieldValue_0='Seattle' (Size = 4000) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = @__InstanceFieldValue_0"); +WHERE [c].[City] = @__InstanceFieldValue_0 +"""); } public override async Task Where_simple_closure_via_query_cache_nullable_type(bool async) @@ -347,21 +411,27 @@ public override async Task Where_simple_closure_via_query_cache_nullable_type(bo await base.Where_simple_closure_via_query_cache_nullable_type(async); AssertSql( - @"@__p_0='2' (Nullable = true) +""" +@__p_0='2' (Nullable = true) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0", +WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0 +""", // - @"@__p_0='5' (Nullable = true) +""" +@__p_0='5' (Nullable = true) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0", +WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0 +""", // - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[ReportsTo] IS NULL"); +WHERE [e].[ReportsTo] IS NULL +"""); } public override async Task Where_simple_closure_via_query_cache_nullable_type_reverse(bool async) @@ -369,21 +439,27 @@ public override async Task Where_simple_closure_via_query_cache_nullable_type_re await base.Where_simple_closure_via_query_cache_nullable_type_reverse(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[ReportsTo] IS NULL", +WHERE [e].[ReportsTo] IS NULL +""", // - @"@__p_0='5' (Nullable = true) +""" +@__p_0='5' (Nullable = true) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0", +WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0 +""", // - @"@__p_0='2' (Nullable = true) +""" +@__p_0='2' (Nullable = true) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0"); +WHERE CAST([e].[ReportsTo] AS bigint) = @__p_0 +"""); } public override async Task Where_subquery_closure_via_query_cache(bool async) @@ -391,23 +467,27 @@ public override async Task Where_subquery_closure_via_query_cache(bool async) await base.Where_subquery_closure_via_query_cache(async); AssertSql( - @"@__customerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [o].[CustomerID] = @__customerID_0 AND [o].[CustomerID] = [c].[CustomerID])", + WHERE [o].[CustomerID] = @__customerID_0 AND [o].[CustomerID] = [c].[CustomerID]) +""", // - @"@__customerID_0='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__customerID_0='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [o].[CustomerID] = @__customerID_0 AND [o].[CustomerID] = [c].[CustomerID])"); + WHERE [o].[CustomerID] = @__customerID_0 AND [o].[CustomerID] = [c].[CustomerID]) +"""); } public override async Task Where_bitwise_or(bool async) @@ -415,7 +495,8 @@ public override async Task Where_bitwise_or(bool async) await base.Where_bitwise_or(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE (CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) @@ -423,7 +504,8 @@ ELSE CAST(0 AS bit) END | CASE WHEN [c].[CustomerID] = N'ANATR' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END) = CAST(1 AS bit)"); +END) = CAST(1 AS bit) +"""); } public override async Task Where_bitwise_and(bool async) @@ -431,7 +513,8 @@ public override async Task Where_bitwise_and(bool async) await base.Where_bitwise_and(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE (CASE WHEN [c].[CustomerID] = N'ALFKI' THEN CAST(1 AS bit) @@ -439,7 +522,8 @@ ELSE CAST(0 AS bit) END & CASE WHEN [c].[CustomerID] = N'ANATR' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END) = CAST(1 AS bit)"); +END) = CAST(1 AS bit) +"""); } public override async Task Where_bitwise_xor(bool async) @@ -455,9 +539,11 @@ public override async Task Where_simple_shadow(bool async) await base.Where_simple_shadow(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[Title] = N'Sales Representative'"); +WHERE [e].[Title] = N'Sales Representative' +"""); } public override async Task Where_simple_shadow_projection(bool async) @@ -465,9 +551,11 @@ public override async Task Where_simple_shadow_projection(bool async) await base.Where_simple_shadow_projection(async); AssertSql( - @"SELECT [e].[Title] +""" +SELECT [e].[Title] FROM [Employees] AS [e] -WHERE [e].[Title] = N'Sales Representative'"); +WHERE [e].[Title] = N'Sales Representative' +"""); } public override async Task Where_shadow_subquery_FirstOrDefault(bool async) @@ -475,7 +563,8 @@ public override async Task Where_shadow_subquery_FirstOrDefault(bool async) await base.Where_shadow_subquery_FirstOrDefault(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] WHERE [e].[Title] = ( SELECT TOP(1) [e0].[Title] @@ -483,7 +572,8 @@ FROM [Employees] AS [e0] ORDER BY [e0].[Title]) OR (([e].[Title] IS NULL) AND (( SELECT TOP(1) [e0].[Title] FROM [Employees] AS [e0] - ORDER BY [e0].[Title]) IS NULL))"); + ORDER BY [e0].[Title]) IS NULL)) +"""); } public override async Task Where_subquery_correlated(bool async) @@ -491,12 +581,14 @@ public override async Task Where_subquery_correlated(bool async) await base.Where_subquery_correlated(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Customers] AS [c0] - WHERE [c].[CustomerID] = [c0].[CustomerID])"); + WHERE [c].[CustomerID] = [c0].[CustomerID]) +"""); } public override async Task Where_equals_method_string(bool async) @@ -504,9 +596,11 @@ public override async Task Where_equals_method_string(bool async) await base.Where_equals_method_string(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = N'London'"); +WHERE [c].[City] = N'London' +"""); } public override async Task Where_equals_method_int(bool async) @@ -514,9 +608,11 @@ public override async Task Where_equals_method_int(bool async) await base.Where_equals_method_int(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[EmployeeID] = 1"); +WHERE [e].[EmployeeID] = 1 +"""); } public override async Task Where_equals_using_object_overload_on_mismatched_types(bool async) @@ -524,9 +620,11 @@ public override async Task Where_equals_using_object_overload_on_mismatched_type await base.Where_equals_using_object_overload_on_mismatched_types(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); Assert.Contains( "Possible unintended use of method 'Equals' for arguments 'e.EmployeeID' and '@__longPrm_0' of different types in a query. This comparison will always return false.", @@ -538,11 +636,13 @@ public override async Task Where_equals_using_int_overload_on_mismatched_types(b await base.Where_equals_using_int_overload_on_mismatched_types(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[EmployeeID] = @__p_0"); +WHERE [e].[EmployeeID] = @__p_0 +"""); } public override async Task Where_equals_on_mismatched_types_nullable_int_long(bool async) @@ -550,13 +650,17 @@ public override async Task Where_equals_on_mismatched_types_nullable_int_long(bo await base.Where_equals_on_mismatched_types_nullable_int_long(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); Assert.Contains( "Possible unintended use of method 'Equals' for arguments 'e.ReportsTo' and '@__longPrm_0' of different types in a query. This comparison will always return false.", @@ -571,13 +675,17 @@ public override async Task Where_equals_on_mismatched_types_nullable_long_nullab await base.Where_equals_on_mismatched_types_nullable_long_nullable_int(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); Assert.Contains( "Possible unintended use of method 'Equals' for arguments 'e.ReportsTo' and '@__nullableLongPrm_0' of different types in a query. This comparison will always return false.", @@ -592,17 +700,21 @@ public override async Task Where_equals_on_mismatched_types_int_nullable_int(boo await base.Where_equals_on_mismatched_types_int_nullable_int(async); AssertSql( - @"@__intPrm_0='2' +""" +@__intPrm_0='2' SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[ReportsTo] = @__intPrm_0", +WHERE [e].[ReportsTo] = @__intPrm_0 +""", // - @"@__intPrm_0='2' +""" +@__intPrm_0='2' SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE @__intPrm_0 = [e].[ReportsTo]"); +WHERE @__intPrm_0 = [e].[ReportsTo] +"""); } public override async Task Where_equals_on_matched_nullable_int_types(bool async) @@ -610,17 +722,21 @@ public override async Task Where_equals_on_matched_nullable_int_types(bool async await base.Where_equals_on_matched_nullable_int_types(async); AssertSql( - @"@__nullableIntPrm_0='2' (Nullable = true) +""" +@__nullableIntPrm_0='2' (Nullable = true) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE @__nullableIntPrm_0 = [e].[ReportsTo]", +WHERE @__nullableIntPrm_0 = [e].[ReportsTo] +""", // - @"@__nullableIntPrm_0='2' (Nullable = true) +""" +@__nullableIntPrm_0='2' (Nullable = true) SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[ReportsTo] = @__nullableIntPrm_0"); +WHERE [e].[ReportsTo] = @__nullableIntPrm_0 +"""); } public override async Task Where_equals_on_null_nullable_int_types(bool async) @@ -628,13 +744,17 @@ public override async Task Where_equals_on_null_nullable_int_types(bool async) await base.Where_equals_on_null_nullable_int_types(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[ReportsTo] IS NULL", +WHERE [e].[ReportsTo] IS NULL +""", // - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[ReportsTo] IS NULL"); +WHERE [e].[ReportsTo] IS NULL +"""); } public override async Task Where_comparison_nullable_type_not_null(bool async) @@ -642,9 +762,11 @@ public override async Task Where_comparison_nullable_type_not_null(bool async) await base.Where_comparison_nullable_type_not_null(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[ReportsTo] = 2"); +WHERE [e].[ReportsTo] = 2 +"""); } public override async Task Where_comparison_nullable_type_null(bool async) @@ -652,9 +774,11 @@ public override async Task Where_comparison_nullable_type_null(bool async) await base.Where_comparison_nullable_type_null(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[ReportsTo] IS NULL"); +WHERE [e].[ReportsTo] IS NULL +"""); } public override async Task Where_string_length(bool async) @@ -662,9 +786,11 @@ public override async Task Where_string_length(bool async) await base.Where_string_length(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE CAST(LEN([c].[City]) AS int) = 6"); +WHERE CAST(LEN([c].[City]) AS int) = 6 +"""); } public override async Task Where_string_indexof(bool async) @@ -672,9 +798,11 @@ public override async Task Where_string_indexof(bool async) await base.Where_string_indexof(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE (CAST(CHARINDEX(N'Sea', [c].[City]) AS int) - 1) <> -1 OR ([c].[City] IS NULL)"); +WHERE (CAST(CHARINDEX(N'Sea', [c].[City]) AS int) - 1) <> -1 OR ([c].[City] IS NULL) +"""); } public override async Task Where_string_replace(bool async) @@ -682,9 +810,11 @@ public override async Task Where_string_replace(bool async) await base.Where_string_replace(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE REPLACE([c].[City], N'Sea', N'Rea') = N'Reattle'"); +WHERE REPLACE([c].[City], N'Sea', N'Rea') = N'Reattle' +"""); } public override async Task Where_string_substring(bool async) @@ -692,9 +822,11 @@ public override async Task Where_string_substring(bool async) await base.Where_string_substring(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE SUBSTRING([c].[City], 1 + 1, 2) = N'ea'"); +WHERE SUBSTRING([c].[City], 1 + 1, 2) = N'ea' +"""); } public override async Task Where_datetime_now(bool async) @@ -702,11 +834,13 @@ public override async Task Where_datetime_now(bool async) await base.Where_datetime_now(async); AssertSql( - @"@__myDatetime_0='2015-04-10T00:00:00.0000000' +""" +@__myDatetime_0='2015-04-10T00:00:00.0000000' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE GETDATE() <> @__myDatetime_0"); +WHERE GETDATE() <> @__myDatetime_0 +"""); } public override async Task Where_datetime_utcnow(bool async) @@ -714,11 +848,13 @@ public override async Task Where_datetime_utcnow(bool async) await base.Where_datetime_utcnow(async); AssertSql( - @"@__myDatetime_0='2015-04-10T00:00:00.0000000' +""" +@__myDatetime_0='2015-04-10T00:00:00.0000000' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE GETUTCDATE() <> @__myDatetime_0"); +WHERE GETUTCDATE() <> @__myDatetime_0 +"""); } public override async Task Where_datetimeoffset_utcnow(bool async) @@ -726,11 +862,13 @@ public override async Task Where_datetimeoffset_utcnow(bool async) await base.Where_datetimeoffset_utcnow(async); AssertSql( - @"@__myDatetimeOffset_0='2015-04-10T00:00:00.0000000-08:00' +""" +@__myDatetimeOffset_0='2015-04-10T00:00:00.0000000-08:00' SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE CAST(SYSUTCDATETIME() AS datetimeoffset) <> @__myDatetimeOffset_0"); +WHERE CAST(SYSUTCDATETIME() AS datetimeoffset) <> @__myDatetimeOffset_0 +"""); } public override async Task Where_datetime_today(bool async) @@ -738,9 +876,11 @@ public override async Task Where_datetime_today(bool async) await base.Where_datetime_today(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE CONVERT(date, GETDATE()) = CONVERT(date, GETDATE())"); +WHERE CONVERT(date, GETDATE()) = CONVERT(date, GETDATE()) +"""); } public override async Task Where_datetime_date_component(bool async) @@ -748,11 +888,13 @@ public override async Task Where_datetime_date_component(bool async) await base.Where_datetime_date_component(async); AssertSql( - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE CONVERT(date, [o].[OrderDate]) = @__myDatetime_0"); +WHERE CONVERT(date, [o].[OrderDate]) = @__myDatetime_0 +"""); } public override async Task Where_date_add_year_constant_component(bool async) @@ -760,9 +902,11 @@ public override async Task Where_date_add_year_constant_component(bool async) await base.Where_date_add_year_constant_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE DATEPART(year, DATEADD(year, CAST(-1 AS int), [o].[OrderDate])) = 1997"); +WHERE DATEPART(year, DATEADD(year, CAST(-1 AS int), [o].[OrderDate])) = 1997 +"""); } public override async Task Where_datetime_year_component(bool async) @@ -770,9 +914,11 @@ public override async Task Where_datetime_year_component(bool async) await base.Where_datetime_year_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE DATEPART(year, [o].[OrderDate]) = 1998"); +WHERE DATEPART(year, [o].[OrderDate]) = 1998 +"""); } public override async Task Where_datetime_month_component(bool async) @@ -780,9 +926,11 @@ public override async Task Where_datetime_month_component(bool async) await base.Where_datetime_month_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE DATEPART(month, [o].[OrderDate]) = 4"); +WHERE DATEPART(month, [o].[OrderDate]) = 4 +"""); } public override async Task Where_datetime_dayOfYear_component(bool async) @@ -790,9 +938,11 @@ public override async Task Where_datetime_dayOfYear_component(bool async) await base.Where_datetime_dayOfYear_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE DATEPART(dayofyear, [o].[OrderDate]) = 68"); +WHERE DATEPART(dayofyear, [o].[OrderDate]) = 68 +"""); } public override async Task Where_datetime_day_component(bool async) @@ -800,9 +950,11 @@ public override async Task Where_datetime_day_component(bool async) await base.Where_datetime_day_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE DATEPART(day, [o].[OrderDate]) = 4"); +WHERE DATEPART(day, [o].[OrderDate]) = 4 +"""); } public override async Task Where_datetime_hour_component(bool async) @@ -810,9 +962,11 @@ public override async Task Where_datetime_hour_component(bool async) await base.Where_datetime_hour_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE DATEPART(hour, [o].[OrderDate]) = 14"); +WHERE DATEPART(hour, [o].[OrderDate]) = 14 +"""); } public override async Task Where_datetime_minute_component(bool async) @@ -820,9 +974,11 @@ public override async Task Where_datetime_minute_component(bool async) await base.Where_datetime_minute_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE DATEPART(minute, [o].[OrderDate]) = 23"); +WHERE DATEPART(minute, [o].[OrderDate]) = 23 +"""); } public override async Task Where_datetime_second_component(bool async) @@ -830,9 +986,11 @@ public override async Task Where_datetime_second_component(bool async) await base.Where_datetime_second_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE DATEPART(second, [o].[OrderDate]) = 44"); +WHERE DATEPART(second, [o].[OrderDate]) = 44 +"""); } public override async Task Where_datetime_millisecond_component(bool async) @@ -840,9 +998,11 @@ public override async Task Where_datetime_millisecond_component(bool async) await base.Where_datetime_millisecond_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE DATEPART(millisecond, [o].[OrderDate]) = 88"); +WHERE DATEPART(millisecond, [o].[OrderDate]) = 88 +"""); } public override async Task Where_datetimeoffset_now_component(bool async) @@ -850,9 +1010,11 @@ public override async Task Where_datetimeoffset_now_component(bool async) await base.Where_datetimeoffset_now_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE CAST([o].[OrderDate] AS datetimeoffset) = SYSDATETIMEOFFSET()"); +WHERE CAST([o].[OrderDate] AS datetimeoffset) = SYSDATETIMEOFFSET() +"""); } public override async Task Where_datetimeoffset_utcnow_component(bool async) @@ -860,9 +1022,11 @@ public override async Task Where_datetimeoffset_utcnow_component(bool async) await base.Where_datetimeoffset_utcnow_component(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE CAST([o].[OrderDate] AS datetimeoffset) = CAST(SYSUTCDATETIME() AS datetimeoffset)"); +WHERE CAST([o].[OrderDate] AS datetimeoffset) = CAST(SYSUTCDATETIME() AS datetimeoffset) +"""); } public override async Task Where_simple_reversed(bool async) @@ -870,9 +1034,11 @@ public override async Task Where_simple_reversed(bool async) await base.Where_simple_reversed(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE N'London' = [c].[City]"); +WHERE N'London' = [c].[City] +"""); } public override async Task Where_is_null(bool async) @@ -880,9 +1046,11 @@ public override async Task Where_is_null(bool async) await base.Where_is_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] IS NULL"); +WHERE [c].[City] IS NULL +"""); } public override async Task Where_null_is_null(bool async) @@ -890,8 +1058,10 @@ public override async Task Where_null_is_null(bool async) await base.Where_null_is_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Where_constant_is_null(bool async) @@ -899,9 +1069,11 @@ public override async Task Where_constant_is_null(bool async) await base.Where_constant_is_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Where_is_not_null(bool async) @@ -909,9 +1081,11 @@ public override async Task Where_is_not_null(bool async) await base.Where_is_not_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] IS NOT NULL"); +WHERE [c].[City] IS NOT NULL +"""); } public override async Task Where_null_is_not_null(bool async) @@ -919,9 +1093,11 @@ public override async Task Where_null_is_not_null(bool async) await base.Where_null_is_not_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Where_constant_is_not_null(bool async) @@ -929,8 +1105,10 @@ public override async Task Where_constant_is_not_null(bool async) await base.Where_constant_is_not_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Where_identity_comparison(bool async) @@ -938,9 +1116,11 @@ public override async Task Where_identity_comparison(bool async) await base.Where_identity_comparison(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = [c].[City] OR ([c].[City] IS NULL)"); +WHERE [c].[City] = [c].[City] OR ([c].[City] IS NULL) +"""); } public override async Task Where_in_optimization_multiple(bool async) @@ -948,10 +1128,12 @@ public override async Task Where_in_optimization_multiple(bool async) await base.Where_in_optimization_multiple(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE [c].[City] IN (N'London', N'Berlin') OR [c].[CustomerID] = N'ALFKI' OR [c].[CustomerID] = N'ABCDE'"); +WHERE [c].[City] IN (N'London', N'Berlin') OR [c].[CustomerID] = N'ALFKI' OR [c].[CustomerID] = N'ABCDE' +"""); } public override async Task Where_not_in_optimization1(bool async) @@ -959,10 +1141,12 @@ public override async Task Where_not_in_optimization1(bool async) await base.Where_not_in_optimization1(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE ([c].[City] <> N'London' OR ([c].[City] IS NULL)) AND ([e].[City] <> N'London' OR ([e].[City] IS NULL))"); +WHERE ([c].[City] <> N'London' OR ([c].[City] IS NULL)) AND ([e].[City] <> N'London' OR ([e].[City] IS NULL)) +"""); } public override async Task Where_not_in_optimization2(bool async) @@ -970,10 +1154,12 @@ public override async Task Where_not_in_optimization2(bool async) await base.Where_not_in_optimization2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE [c].[City] NOT IN (N'London', N'Berlin') OR ([c].[City] IS NULL)"); +WHERE [c].[City] NOT IN (N'London', N'Berlin') OR ([c].[City] IS NULL) +"""); } public override async Task Where_not_in_optimization3(bool async) @@ -981,10 +1167,12 @@ public override async Task Where_not_in_optimization3(bool async) await base.Where_not_in_optimization3(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE [c].[City] NOT IN (N'London', N'Berlin', N'Seattle') OR ([c].[City] IS NULL)"); +WHERE [c].[City] NOT IN (N'London', N'Berlin', N'Seattle') OR ([c].[City] IS NULL) +"""); } public override async Task Where_not_in_optimization4(bool async) @@ -992,10 +1180,12 @@ public override async Task Where_not_in_optimization4(bool async) await base.Where_not_in_optimization4(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE [c].[City] NOT IN (N'London', N'Berlin', N'Seattle', N'Lisboa') OR ([c].[City] IS NULL)"); +WHERE [c].[City] NOT IN (N'London', N'Berlin', N'Seattle', N'Lisboa') OR ([c].[City] IS NULL) +"""); } public override async Task Where_select_many_and(bool async) @@ -1003,10 +1193,12 @@ public override async Task Where_select_many_and(bool async) await base.Where_select_many_and(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region], [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Customers] AS [c] CROSS JOIN [Employees] AS [e] -WHERE [c].[City] = N'London' AND [c].[Country] = N'UK' AND [e].[City] = N'London' AND [e].[Country] = N'UK'"); +WHERE [c].[City] = N'London' AND [c].[Country] = N'UK' AND [e].[City] = N'London' AND [e].[Country] = N'UK' +"""); } public override async Task Where_primitive(bool async) @@ -1014,14 +1206,16 @@ public override async Task Where_primitive(bool async) await base.Where_primitive(async); AssertSql( - @"@__p_0='9' +""" +@__p_0='9' SELECT [t].[EmployeeID] FROM ( SELECT TOP(@__p_0) [e].[EmployeeID] FROM [Employees] AS [e] ) AS [t] -WHERE [t].[EmployeeID] = 5"); +WHERE [t].[EmployeeID] = 5 +"""); } public override async Task Where_bool_member(bool async) @@ -1029,9 +1223,11 @@ public override async Task Where_bool_member(bool async) await base.Where_bool_member(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[Discontinued] = CAST(1 AS bit)"); +WHERE [p].[Discontinued] = CAST(1 AS bit) +"""); } public override async Task Where_bool_member_false(bool async) @@ -1039,9 +1235,11 @@ public override async Task Where_bool_member_false(bool async) await base.Where_bool_member_false(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[Discontinued] = CAST(0 AS bit)"); +WHERE [p].[Discontinued] = CAST(0 AS bit) +"""); } public override async Task Where_bool_member_negated_twice(bool async) @@ -1049,9 +1247,11 @@ public override async Task Where_bool_member_negated_twice(bool async) await base.Where_bool_member_negated_twice(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[Discontinued] = CAST(1 AS bit)"); +WHERE [p].[Discontinued] = CAST(1 AS bit) +"""); } public override async Task Where_bool_member_shadow(bool async) @@ -1059,9 +1259,11 @@ public override async Task Where_bool_member_shadow(bool async) await base.Where_bool_member_shadow(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[Discontinued] = CAST(1 AS bit)"); +WHERE [p].[Discontinued] = CAST(1 AS bit) +"""); } public override async Task Where_bool_member_false_shadow(bool async) @@ -1069,9 +1271,11 @@ public override async Task Where_bool_member_false_shadow(bool async) await base.Where_bool_member_false_shadow(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[Discontinued] = CAST(0 AS bit)"); +WHERE [p].[Discontinued] = CAST(0 AS bit) +"""); } public override async Task Where_bool_member_equals_constant(bool async) @@ -1079,9 +1283,11 @@ public override async Task Where_bool_member_equals_constant(bool async) await base.Where_bool_member_equals_constant(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[Discontinued] = CAST(1 AS bit)"); +WHERE [p].[Discontinued] = CAST(1 AS bit) +"""); } public override async Task Where_bool_member_in_complex_predicate(bool async) @@ -1089,9 +1295,11 @@ public override async Task Where_bool_member_in_complex_predicate(bool async) await base.Where_bool_member_in_complex_predicate(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE ([p].[ProductID] > 100 AND [p].[Discontinued] = CAST(1 AS bit)) OR [p].[Discontinued] = CAST(1 AS bit)"); +WHERE ([p].[ProductID] > 100 AND [p].[Discontinued] = CAST(1 AS bit)) OR [p].[Discontinued] = CAST(1 AS bit) +"""); } public override async Task Where_bool_member_compared_to_binary_expression(bool async) @@ -1099,12 +1307,14 @@ public override async Task Where_bool_member_compared_to_binary_expression(bool await base.Where_bool_member_compared_to_binary_expression(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] WHERE [p].[Discontinued] = CASE WHEN [p].[ProductID] > 50 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Where_not_bool_member_compared_to_not_bool_member(bool async) @@ -1112,8 +1322,10 @@ public override async Task Where_not_bool_member_compared_to_not_bool_member(boo await base.Where_not_bool_member_compared_to_not_bool_member(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] -FROM [Products] AS [p]"); +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +FROM [Products] AS [p] +"""); } public override async Task Where_negated_boolean_expression_compared_to_another_negated_boolean_expression(bool async) @@ -1121,7 +1333,8 @@ public override async Task Where_negated_boolean_expression_compared_to_another_ await base.Where_negated_boolean_expression_compared_to_another_negated_boolean_expression(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] WHERE CASE WHEN [p].[ProductID] <= 50 THEN CAST(1 AS bit) @@ -1129,7 +1342,8 @@ ELSE CAST(0 AS bit) END = CASE WHEN [p].[ProductID] <= 20 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Where_not_bool_member_compared_to_binary_expression(bool async) @@ -1137,12 +1351,14 @@ public override async Task Where_not_bool_member_compared_to_binary_expression(b await base.Where_not_bool_member_compared_to_binary_expression(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] WHERE [p].[Discontinued] <> CASE WHEN [p].[ProductID] > 50 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Where_bool_parameter(bool async) @@ -1150,11 +1366,13 @@ public override async Task Where_bool_parameter(bool async) await base.Where_bool_parameter(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE @__prm_0 = CAST(1 AS bit)"); +WHERE @__prm_0 = CAST(1 AS bit) +"""); } public override async Task Where_bool_parameter_compared_to_binary_expression(bool async) @@ -1162,14 +1380,16 @@ public override async Task Where_bool_parameter_compared_to_binary_expression(bo await base.Where_bool_parameter_compared_to_binary_expression(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] WHERE CASE WHEN [p].[ProductID] > 50 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END <> @__prm_0"); +END <> @__prm_0 +"""); } public override async Task Where_bool_member_and_parameter_compared_to_binary_expression_nested(bool async) @@ -1177,7 +1397,8 @@ public override async Task Where_bool_member_and_parameter_compared_to_binary_ex await base.Where_bool_member_and_parameter_compared_to_binary_expression_nested(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] @@ -1187,7 +1408,8 @@ WHEN CASE ELSE CAST(0 AS bit) END <> @__prm_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Where_de_morgan_or_optimized(bool async) @@ -1195,9 +1417,11 @@ public override async Task Where_de_morgan_or_optimized(bool async) await base.Where_de_morgan_or_optimized(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[Discontinued] = CAST(0 AS bit) AND [p].[ProductID] >= 20"); +WHERE [p].[Discontinued] = CAST(0 AS bit) AND [p].[ProductID] >= 20 +"""); } public override async Task Where_de_morgan_and_optimized(bool async) @@ -1205,9 +1429,11 @@ public override async Task Where_de_morgan_and_optimized(bool async) await base.Where_de_morgan_and_optimized(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[Discontinued] = CAST(0 AS bit) OR [p].[ProductID] >= 20"); +WHERE [p].[Discontinued] = CAST(0 AS bit) OR [p].[ProductID] >= 20 +"""); } public override async Task Where_complex_negated_expression_optimized(bool async) @@ -1215,9 +1441,11 @@ public override async Task Where_complex_negated_expression_optimized(bool async await base.Where_complex_negated_expression_optimized(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[Discontinued] = CAST(0 AS bit) AND [p].[ProductID] < 60 AND [p].[ProductID] > 30"); +WHERE [p].[Discontinued] = CAST(0 AS bit) AND [p].[ProductID] < 60 AND [p].[ProductID] > 30 +"""); } public override async Task Where_short_member_comparison(bool async) @@ -1225,9 +1453,11 @@ public override async Task Where_short_member_comparison(bool async) await base.Where_short_member_comparison(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[UnitsInStock] > CAST(10 AS smallint)"); +WHERE [p].[UnitsInStock] > CAST(10 AS smallint) +"""); } public override async Task Where_comparison_to_nullable_bool(bool async) @@ -1235,9 +1465,11 @@ public override async Task Where_comparison_to_nullable_bool(bool async) await base.Where_comparison_to_nullable_bool(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] LIKE N'%KI'"); +WHERE [c].[CustomerID] LIKE N'%KI' +"""); } public override async Task Where_true(bool async) @@ -1245,8 +1477,10 @@ public override async Task Where_true(bool async) await base.Where_true(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Where_false(bool async) @@ -1254,9 +1488,11 @@ public override async Task Where_false(bool async) await base.Where_false(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Where_default(bool async) @@ -1264,9 +1500,11 @@ public override async Task Where_default(bool async) await base.Where_default(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[Fax] IS NULL"); +WHERE [c].[Fax] IS NULL +"""); } public override async Task Where_expression_invoke_1(bool async) @@ -1274,9 +1512,11 @@ public override async Task Where_expression_invoke_1(bool async) await base.Where_expression_invoke_1(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Where_expression_invoke_2(bool async) @@ -1284,10 +1524,12 @@ public override async Task Where_expression_invoke_2(bool async) await base.Where_expression_invoke_2(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] LEFT JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Where_expression_invoke_3(bool async) @@ -1295,9 +1537,11 @@ public override async Task Where_expression_invoke_3(bool async) await base.Where_expression_invoke_3(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Where_concat_string_int_comparison1(bool async) @@ -1305,11 +1549,13 @@ public override async Task Where_concat_string_int_comparison1(bool async) await base.Where_concat_string_int_comparison1(async); AssertSql( - @"@__i_0='10' +""" +@__i_0='10' SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE ([c].[CustomerID] + CAST(@__i_0 AS nchar(5))) = [c].[CompanyName]"); +WHERE ([c].[CustomerID] + CAST(@__i_0 AS nchar(5))) = [c].[CompanyName] +"""); } public override async Task Where_concat_string_int_comparison2(bool async) @@ -1317,11 +1563,13 @@ public override async Task Where_concat_string_int_comparison2(bool async) await base.Where_concat_string_int_comparison2(async); AssertSql( - @"@__i_0='10' +""" +@__i_0='10' SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE (CAST(@__i_0 AS nchar(5)) + [c].[CustomerID]) = [c].[CompanyName]"); +WHERE (CAST(@__i_0 AS nchar(5)) + [c].[CustomerID]) = [c].[CompanyName] +"""); } public override async Task Where_concat_string_int_comparison3(bool async) @@ -1329,12 +1577,14 @@ public override async Task Where_concat_string_int_comparison3(bool async) await base.Where_concat_string_int_comparison3(async); AssertSql( - @"@__p_0='30' +""" +@__p_0='30' @__j_1='21' SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE (((CAST(@__p_0 AS nchar(5)) + [c].[CustomerID]) + CAST(@__j_1 AS nchar(5))) + CAST(42 AS nchar(5))) = [c].[CompanyName]"); +WHERE (((CAST(@__p_0 AS nchar(5)) + [c].[CustomerID]) + CAST(@__j_1 AS nchar(5))) + CAST(42 AS nchar(5))) = [c].[CompanyName] +"""); } public override async Task Where_concat_string_int_comparison4(bool async) @@ -1342,9 +1592,11 @@ public override async Task Where_concat_string_int_comparison4(bool async) await base.Where_concat_string_int_comparison4(async); AssertSql( - @"SELECT [o].[CustomerID] +""" +SELECT [o].[CustomerID] FROM [Orders] AS [o] -WHERE (CAST([o].[OrderID] AS nchar(5)) + COALESCE([o].[CustomerID], N'')) = [o].[CustomerID]"); +WHERE (CAST([o].[OrderID] AS nchar(5)) + COALESCE([o].[CustomerID], N'')) = [o].[CustomerID] +"""); } public override async Task Where_concat_string_string_comparison(bool async) @@ -1352,11 +1604,13 @@ public override async Task Where_concat_string_string_comparison(bool async) await base.Where_concat_string_string_comparison(async); AssertSql( - @"@__i_0='A' (Size = 5) +""" +@__i_0='A' (Size = 5) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE (@__i_0 + [c].[CustomerID]) = [c].[CompanyName]"); +WHERE (@__i_0 + [c].[CustomerID]) = [c].[CompanyName] +"""); } public override async Task Where_string_concat_method_comparison(bool async) @@ -1364,11 +1618,13 @@ public override async Task Where_string_concat_method_comparison(bool async) await base.Where_string_concat_method_comparison(async); AssertSql( - @"@__i_0='A' (Size = 5) +""" +@__i_0='A' (Size = 5) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE (@__i_0 + [c].[CustomerID]) = [c].[CompanyName]"); +WHERE (@__i_0 + [c].[CustomerID]) = [c].[CompanyName] +"""); } public override async Task Where_string_concat_method_comparison_2(bool async) @@ -1376,12 +1632,14 @@ public override async Task Where_string_concat_method_comparison_2(bool async) await base.Where_string_concat_method_comparison_2(async); AssertSql( - @"@__i_0='A' (Size = 5) +""" +@__i_0='A' (Size = 5) @__j_1='B' (Size = 5) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE (@__i_0 + (@__j_1 + [c].[CustomerID])) = [c].[CompanyName]"); +WHERE (@__i_0 + (@__j_1 + [c].[CustomerID])) = [c].[CompanyName] +"""); } public override async Task Where_string_concat_method_comparison_3(bool async) @@ -1389,13 +1647,15 @@ public override async Task Where_string_concat_method_comparison_3(bool async) await base.Where_string_concat_method_comparison_3(async); AssertSql( - @"@__i_0='A' (Size = 5) +""" +@__i_0='A' (Size = 5) @__j_1='B' (Size = 5) @__k_2='C' (Size = 5) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE (@__i_0 + (@__j_1 + (@__k_2 + [c].[CustomerID]))) = [c].[CompanyName]"); +WHERE (@__i_0 + (@__j_1 + (@__k_2 + [c].[CustomerID]))) = [c].[CompanyName] +"""); } public override async Task Where_ternary_boolean_condition_true(bool async) @@ -1403,9 +1663,11 @@ public override async Task Where_ternary_boolean_condition_true(bool async) await base.Where_ternary_boolean_condition_true(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[UnitsInStock] >= CAST(20 AS smallint)"); +WHERE [p].[UnitsInStock] >= CAST(20 AS smallint) +"""); } public override async Task Where_ternary_boolean_condition_false(bool async) @@ -1413,9 +1675,11 @@ public override async Task Where_ternary_boolean_condition_false(bool async) await base.Where_ternary_boolean_condition_false(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[UnitsInStock] < CAST(20 AS smallint)"); +WHERE [p].[UnitsInStock] < CAST(20 AS smallint) +"""); } public override async Task Where_ternary_boolean_condition_with_another_condition(bool async) @@ -1423,11 +1687,13 @@ public override async Task Where_ternary_boolean_condition_with_another_conditio await base.Where_ternary_boolean_condition_with_another_condition(async); AssertSql( - @"@__productId_0='15' +""" +@__productId_0='15' SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[ProductID] < @__productId_0 AND [p].[UnitsInStock] >= CAST(20 AS smallint)"); +WHERE [p].[ProductID] < @__productId_0 AND [p].[UnitsInStock] >= CAST(20 AS smallint) +"""); } public override async Task Where_ternary_boolean_condition_with_false_as_result_true(bool async) @@ -1435,9 +1701,11 @@ public override async Task Where_ternary_boolean_condition_with_false_as_result_ await base.Where_ternary_boolean_condition_with_false_as_result_true(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE [p].[UnitsInStock] >= CAST(20 AS smallint)"); +WHERE [p].[UnitsInStock] >= CAST(20 AS smallint) +"""); } public override async Task Where_ternary_boolean_condition_with_false_as_result_false(bool async) @@ -1445,9 +1713,11 @@ public override async Task Where_ternary_boolean_condition_with_false_as_result_ await base.Where_ternary_boolean_condition_with_false_as_result_false(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Where_compare_constructed_equal(bool async) @@ -1527,9 +1797,11 @@ public override async Task Where_compare_null(bool async) await base.Where_compare_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[City] IS NULL) AND [c].[Country] = N'UK'"); +WHERE ([c].[City] IS NULL) AND [c].[Country] = N'UK' +"""); } public override async Task Where_compare_null_with_cast_to_object(bool async) @@ -1537,9 +1809,11 @@ public override async Task Where_compare_null_with_cast_to_object(bool async) await base.Where_compare_null_with_cast_to_object(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] IS NULL"); +WHERE [c].[City] IS NULL +"""); } public override async Task Where_compare_with_both_cast_to_object(bool async) @@ -1547,9 +1821,11 @@ public override async Task Where_compare_with_both_cast_to_object(bool async) await base.Where_compare_with_both_cast_to_object(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = N'London'"); +WHERE [c].[City] = N'London' +"""); } public override async Task Where_Is_on_same_type(bool async) @@ -1557,8 +1833,10 @@ public override async Task Where_Is_on_same_type(bool async) await base.Where_Is_on_same_type(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Where_chain(bool async) @@ -1566,9 +1844,11 @@ public override async Task Where_chain(bool async) await base.Where_chain(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[CustomerID] = N'QUICK' AND [o].[OrderDate] > '1998-01-01T00:00:00.000'"); +WHERE [o].[CustomerID] = N'QUICK' AND [o].[OrderDate] > '1998-01-01T00:00:00.000' +"""); } public override async Task Where_navigation_contains(bool async) @@ -1576,19 +1856,23 @@ public override async Task Where_navigation_contains(bool async) await base.Where_navigation_contains(async); AssertSql( - @"SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [t].[CustomerID], [t].[Address], [t].[City], [t].[CompanyName], [t].[ContactName], [t].[ContactTitle], [t].[Country], [t].[Fax], [t].[Phone], [t].[PostalCode], [t].[Region], [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM ( SELECT TOP(2) [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE [c].[CustomerID] = N'ALFKI' ) AS [t] LEFT JOIN [Orders] AS [o] ON [t].[CustomerID] = [o].[CustomerID] -ORDER BY [t].[CustomerID]", +ORDER BY [t].[CustomerID] +""", // - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] INNER JOIN [Orders] AS [o0] ON [o].[OrderID] = [o0].[OrderID] -WHERE [o0].[OrderID] IN (10643, 10692, 10702, 10835, 10952, 11011)"); +WHERE [o0].[OrderID] IN (10643, 10692, 10702, 10835, 10952, 11011) +"""); } public override async Task Where_array_index(bool async) @@ -1596,11 +1880,13 @@ public override async Task Where_array_index(bool async) await base.Where_array_index(async); AssertSql( - @"@__p_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__p_0='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__p_0"); +WHERE [c].[CustomerID] = @__p_0 +"""); } public override async Task Where_multiple_contains_in_subquery_with_or(bool async) @@ -1608,7 +1894,8 @@ public override async Task Where_multiple_contains_in_subquery_with_or(bool asyn await base.Where_multiple_contains_in_subquery_with_or(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] WHERE EXISTS ( SELECT 1 @@ -1624,7 +1911,8 @@ SELECT TOP(1) [o0].[OrderID] FROM [Orders] AS [o0] ORDER BY [o0].[OrderID] ) AS [t0] - WHERE [t0].[OrderID] = [o].[OrderID])"); + WHERE [t0].[OrderID] = [o].[OrderID]) +"""); } public override async Task Where_multiple_contains_in_subquery_with_and(bool async) @@ -1632,7 +1920,8 @@ public override async Task Where_multiple_contains_in_subquery_with_and(bool asy await base.Where_multiple_contains_in_subquery_with_and(async); AssertSql( - @"SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] +""" +SELECT [o].[OrderID], [o].[ProductID], [o].[Discount], [o].[Quantity], [o].[UnitPrice] FROM [Order Details] AS [o] WHERE EXISTS ( SELECT 1 @@ -1648,7 +1937,8 @@ SELECT TOP(10) [o0].[OrderID] FROM [Orders] AS [o0] ORDER BY [o0].[OrderID] ) AS [t0] - WHERE [t0].[OrderID] = [o].[OrderID])"); + WHERE [t0].[OrderID] = [o].[OrderID]) +"""); } public override async Task Where_contains_on_navigation(bool async) @@ -1656,7 +1946,8 @@ public override async Task Where_contains_on_navigation(bool async) await base.Where_contains_on_navigation(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] WHERE EXISTS ( SELECT 1 @@ -1664,7 +1955,8 @@ FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o0] - WHERE [c].[CustomerID] = [o0].[CustomerID] AND [o0].[OrderID] = [o].[OrderID]))"); + WHERE [c].[CustomerID] = [o0].[CustomerID] AND [o0].[OrderID] = [o].[OrderID])) +"""); } public override async Task Where_subquery_FirstOrDefault_is_null(bool async) @@ -1672,12 +1964,14 @@ public override async Task Where_subquery_FirstOrDefault_is_null(bool async) await base.Where_subquery_FirstOrDefault_is_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]))"); + WHERE [c].[CustomerID] = [o].[CustomerID])) +"""); } public override async Task Where_subquery_FirstOrDefault_compared_to_entity(bool async) @@ -1685,13 +1979,15 @@ public override async Task Where_subquery_FirstOrDefault_compared_to_entity(bool await base.Where_subquery_FirstOrDefault_compared_to_entity(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ( SELECT TOP(1) [o].[OrderID] FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] - ORDER BY [o].[OrderID]) = 10243"); + ORDER BY [o].[OrderID]) = 10243 +"""); } public override async Task Time_of_day_datetime(bool async) @@ -1699,8 +1995,10 @@ public override async Task Time_of_day_datetime(bool async) await base.Time_of_day_datetime(async); AssertSql( - @"SELECT CONVERT(time, [o].[OrderDate]) -FROM [Orders] AS [o]"); +""" +SELECT CONVERT(time, [o].[OrderDate]) +FROM [Orders] AS [o] +"""); } public override async Task TypeBinary_short_circuit(bool async) @@ -1708,11 +2006,13 @@ public override async Task TypeBinary_short_circuit(bool async) await base.TypeBinary_short_circuit(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE @__p_0 = CAST(1 AS bit)"); +WHERE @__p_0 = CAST(1 AS bit) +"""); } public override async Task Where_is_conditional(bool async) @@ -1720,9 +2020,11 @@ public override async Task Where_is_conditional(bool async) await base.Where_is_conditional(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Enclosing_class_settable_member_generates_parameter(bool async) @@ -1730,17 +2032,21 @@ public override async Task Enclosing_class_settable_member_generates_parameter(b await base.Enclosing_class_settable_member_generates_parameter(async); AssertSql( - @"@__SettableProperty_0='4' +""" +@__SettableProperty_0='4' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] = @__SettableProperty_0", +WHERE [o].[OrderID] = @__SettableProperty_0 +""", // - @"@__SettableProperty_0='10' +""" +@__SettableProperty_0='10' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] = @__SettableProperty_0"); +WHERE [o].[OrderID] = @__SettableProperty_0 +"""); } public override async Task Enclosing_class_readonly_member_generates_parameter(bool async) @@ -1748,11 +2054,13 @@ public override async Task Enclosing_class_readonly_member_generates_parameter(b await base.Enclosing_class_readonly_member_generates_parameter(async); AssertSql( - @"@__ReadOnlyProperty_0='5' +""" +@__ReadOnlyProperty_0='5' SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] = @__ReadOnlyProperty_0"); +WHERE [o].[OrderID] = @__ReadOnlyProperty_0 +"""); } public override async Task Enclosing_class_const_member_does_not_generate_parameter(bool async) @@ -1760,9 +2068,11 @@ public override async Task Enclosing_class_const_member_does_not_generate_parame await base.Enclosing_class_const_member_does_not_generate_parameter(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] = 1"); +WHERE [o].[OrderID] = 1 +"""); } public override async Task Generic_Ilist_contains_translates_to_server(bool async) @@ -1770,9 +2080,11 @@ public override async Task Generic_Ilist_contains_translates_to_server(bool asyn await base.Generic_Ilist_contains_translates_to_server(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[City] = N'Seattle'"); +WHERE [c].[City] = N'Seattle' +"""); } public override async Task Filter_non_nullable_value_after_FirstOrDefault_on_empty_collection(bool async) @@ -1780,12 +2092,14 @@ public override async Task Filter_non_nullable_value_after_FirstOrDefault_on_emp await base.Filter_non_nullable_value_after_FirstOrDefault_on_empty_collection(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ( SELECT TOP(1) CAST(LEN([o].[CustomerID]) AS int) FROM [Orders] AS [o] - WHERE [o].[CustomerID] = N'John Doe') = 0"); + WHERE [o].[CustomerID] = N'John Doe') = 0 +"""); } public override async Task Like_with_non_string_column_using_ToString(bool async) @@ -1793,9 +2107,11 @@ public override async Task Like_with_non_string_column_using_ToString(bool async await base.Like_with_non_string_column_using_ToString(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE CONVERT(varchar(11), [o].[OrderID]) LIKE N'%20%'"); +WHERE CONVERT(varchar(11), [o].[OrderID]) LIKE N'%20%' +"""); } public override async Task Like_with_non_string_column_using_double_cast(bool async) @@ -1803,9 +2119,11 @@ public override async Task Like_with_non_string_column_using_double_cast(bool as await base.Like_with_non_string_column_using_double_cast(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE CAST([o].[OrderID] AS nvarchar(max)) LIKE N'%20%'"); +WHERE CAST([o].[OrderID] AS nvarchar(max)) LIKE N'%20%' +"""); } public override async Task Using_same_parameter_twice_in_query_generates_one_sql_parameter(bool async) @@ -1813,11 +2131,13 @@ public override async Task Using_same_parameter_twice_in_query_generates_one_sql await base.Using_same_parameter_twice_in_query_generates_one_sql_parameter(async); AssertSql( - @"@__i_0='10' +""" +@__i_0='10' SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE ((CAST(@__i_0 AS nchar(5)) + [c].[CustomerID]) + CAST(@__i_0 AS nchar(5))) = [c].[CompanyName]"); +WHERE ((CAST(@__i_0 AS nchar(5)) + [c].[CustomerID]) + CAST(@__i_0 AS nchar(5))) = [c].[CompanyName] +"""); } public override async Task Where_Queryable_ToList_Count(bool async) @@ -1825,14 +2145,16 @@ public override async Task Where_Queryable_ToList_Count(bool async) await base.Where_Queryable_ToList_Count(async); AssertSql( - @"SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [o].[CustomerID] = [c].[CustomerID]) = 0 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_Queryable_ToList_Contains(bool async) @@ -1840,14 +2162,16 @@ public override async Task Where_Queryable_ToList_Contains(bool async) await base.Where_Queryable_ToList_Contains(async); AssertSql( - @"SELECT [c].[CustomerID], [o0].[CustomerID], [o0].[OrderID] +""" +SELECT [c].[CustomerID], [o0].[CustomerID], [o0].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] WHERE [o].[CustomerID] = [c].[CustomerID] AND [o].[CustomerID] = N'ALFKI') -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_Queryable_ToArray_Count(bool async) @@ -1855,14 +2179,16 @@ public override async Task Where_Queryable_ToArray_Count(bool async) await base.Where_Queryable_ToArray_Count(async); AssertSql( - @"SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [o].[CustomerID] = [c].[CustomerID]) = 0 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_Queryable_ToArray_Contains(bool async) @@ -1870,14 +2196,16 @@ public override async Task Where_Queryable_ToArray_Contains(bool async) await base.Where_Queryable_ToArray_Contains(async); AssertSql( - @"SELECT [c].[CustomerID], [o0].[CustomerID], [o0].[OrderID] +""" +SELECT [c].[CustomerID], [o0].[CustomerID], [o0].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] WHERE [o].[CustomerID] = [c].[CustomerID] AND [o].[CustomerID] = N'ALFKI') -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_Queryable_AsEnumerable_Count(bool async) @@ -1885,14 +2213,16 @@ public override async Task Where_Queryable_AsEnumerable_Count(bool async) await base.Where_Queryable_AsEnumerable_Count(async); AssertSql( - @"SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [o].[CustomerID] = [c].[CustomerID]) = 0 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_Queryable_AsEnumerable_Contains(bool async) @@ -1900,14 +2230,16 @@ public override async Task Where_Queryable_AsEnumerable_Contains(bool async) await base.Where_Queryable_AsEnumerable_Contains(async); AssertSql( - @"SELECT [c].[CustomerID], [o0].[CustomerID], [o0].[OrderID] +""" +SELECT [c].[CustomerID], [o0].[CustomerID], [o0].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] WHERE [o].[CustomerID] = [c].[CustomerID] AND [o].[CustomerID] = N'ALFKI') -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_Queryable_AsEnumerable_Contains_negated(bool async) @@ -1915,14 +2247,16 @@ public override async Task Where_Queryable_AsEnumerable_Contains_negated(bool as await base.Where_Queryable_AsEnumerable_Contains_negated(async); AssertSql( - @"SELECT [c].[CustomerID], [o0].[CustomerID], [o0].[OrderID] +""" +SELECT [c].[CustomerID], [o0].[CustomerID], [o0].[OrderID] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] WHERE [o].[CustomerID] = [c].[CustomerID] AND [o].[CustomerID] = N'ALFKI')) -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_Queryable_ToList_Count_member(bool async) @@ -1930,14 +2264,16 @@ public override async Task Where_Queryable_ToList_Count_member(bool async) await base.Where_Queryable_ToList_Count_member(async); AssertSql( - @"SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [o].[CustomerID] = [c].[CustomerID]) = 0 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_Queryable_ToArray_Length_member(bool async) @@ -1945,14 +2281,16 @@ public override async Task Where_Queryable_ToArray_Length_member(bool async) await base.Where_Queryable_ToArray_Length_member(async); AssertSql( - @"SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] +""" +SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] LEFT JOIN [Orders] AS [o0] ON [c].[CustomerID] = [o0].[CustomerID] WHERE ( SELECT COUNT(*) FROM [Orders] AS [o] WHERE [o].[CustomerID] = [c].[CustomerID]) = 0 -ORDER BY [c].[CustomerID]"); +ORDER BY [c].[CustomerID] +"""); } public override async Task Where_collection_navigation_ToList_Count(bool async) @@ -1960,14 +2298,16 @@ public override async Task Where_collection_navigation_ToList_Count(bool async) await base.Where_collection_navigation_ToList_Count(async); AssertSql( - @"SELECT [o].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] +""" +SELECT [o].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o1] ON [o].[OrderID] = [o1].[OrderID] WHERE [o].[OrderID] < 10300 AND ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) = 0 -ORDER BY [o].[OrderID], [o1].[OrderID]"); +ORDER BY [o].[OrderID], [o1].[OrderID] +"""); } public override async Task Where_collection_navigation_ToList_Contains(bool async) @@ -1975,7 +2315,8 @@ public override async Task Where_collection_navigation_ToList_Contains(bool asyn await base.Where_collection_navigation_ToList_Contains(async); AssertSql( - @"@__entity_equality_order_0_OrderID='10248' (Nullable = true) +""" +@__entity_equality_order_0_OrderID='10248' (Nullable = true) SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] @@ -1984,7 +2325,8 @@ WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] = @__entity_equality_order_0_OrderID) -ORDER BY [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Where_collection_navigation_ToArray_Count(bool async) @@ -1992,14 +2334,16 @@ public override async Task Where_collection_navigation_ToArray_Count(bool async) await base.Where_collection_navigation_ToArray_Count(async); AssertSql( - @"SELECT [o].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] +""" +SELECT [o].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o1] ON [o].[OrderID] = [o1].[OrderID] WHERE [o].[OrderID] < 10300 AND ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) = 0 -ORDER BY [o].[OrderID], [o1].[OrderID]"); +ORDER BY [o].[OrderID], [o1].[OrderID] +"""); } public override async Task Where_collection_navigation_ToArray_Contains(bool async) @@ -2007,7 +2351,8 @@ public override async Task Where_collection_navigation_ToArray_Contains(bool asy await base.Where_collection_navigation_ToArray_Contains(async); AssertSql( - @"@__entity_equality_order_0_OrderID='10248' (Nullable = true) +""" +@__entity_equality_order_0_OrderID='10248' (Nullable = true) SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] @@ -2016,7 +2361,8 @@ WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] = @__entity_equality_order_0_OrderID) -ORDER BY [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Where_collection_navigation_AsEnumerable_Count(bool async) @@ -2024,14 +2370,16 @@ public override async Task Where_collection_navigation_AsEnumerable_Count(bool a await base.Where_collection_navigation_AsEnumerable_Count(async); AssertSql( - @"SELECT [o].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] +""" +SELECT [o].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o1] ON [o].[OrderID] = [o1].[OrderID] WHERE [o].[OrderID] < 10300 AND ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) = 0 -ORDER BY [o].[OrderID], [o1].[OrderID]"); +ORDER BY [o].[OrderID], [o1].[OrderID] +"""); } public override async Task Where_collection_navigation_AsEnumerable_Contains(bool async) @@ -2039,7 +2387,8 @@ public override async Task Where_collection_navigation_AsEnumerable_Contains(boo await base.Where_collection_navigation_AsEnumerable_Contains(async); AssertSql( - @"@__entity_equality_order_0_OrderID='10248' (Nullable = true) +""" +@__entity_equality_order_0_OrderID='10248' (Nullable = true) SELECT [c].[CustomerID], [o0].[OrderID], [o0].[CustomerID], [o0].[EmployeeID], [o0].[OrderDate] FROM [Customers] AS [c] @@ -2048,7 +2397,8 @@ WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] WHERE [c].[CustomerID] = [o].[CustomerID] AND [o].[OrderID] = @__entity_equality_order_0_OrderID) -ORDER BY [c].[CustomerID], [o0].[OrderID]"); +ORDER BY [c].[CustomerID], [o0].[OrderID] +"""); } public override async Task Where_collection_navigation_ToList_Count_member(bool async) @@ -2056,14 +2406,16 @@ public override async Task Where_collection_navigation_ToList_Count_member(bool await base.Where_collection_navigation_ToList_Count_member(async); AssertSql( - @"SELECT [o].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] +""" +SELECT [o].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o1] ON [o].[OrderID] = [o1].[OrderID] WHERE [o].[OrderID] < 10300 AND ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) = 0 -ORDER BY [o].[OrderID], [o1].[OrderID]"); +ORDER BY [o].[OrderID], [o1].[OrderID] +"""); } public override async Task Where_collection_navigation_ToArray_Length_member(bool async) @@ -2071,14 +2423,16 @@ public override async Task Where_collection_navigation_ToArray_Length_member(boo await base.Where_collection_navigation_ToArray_Length_member(async); AssertSql( - @"SELECT [o].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] +""" +SELECT [o].[OrderID], [o1].[OrderID], [o1].[ProductID], [o1].[Discount], [o1].[Quantity], [o1].[UnitPrice] FROM [Orders] AS [o] LEFT JOIN [Order Details] AS [o1] ON [o].[OrderID] = [o1].[OrderID] WHERE [o].[OrderID] < 10300 AND ( SELECT COUNT(*) FROM [Order Details] AS [o0] WHERE [o].[OrderID] = [o0].[OrderID]) = 0 -ORDER BY [o].[OrderID], [o1].[OrderID]"); +ORDER BY [o].[OrderID], [o1].[OrderID] +"""); } public override async Task Where_list_object_contains_over_value_type(bool async) @@ -2086,9 +2440,11 @@ public override async Task Where_list_object_contains_over_value_type(bool async await base.Where_list_object_contains_over_value_type(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] IN (10248, 10249)"); +WHERE [o].[OrderID] IN (10248, 10249) +"""); } public override async Task Where_array_of_object_contains_over_value_type(bool async) @@ -2096,9 +2452,11 @@ public override async Task Where_array_of_object_contains_over_value_type(bool a await base.Where_array_of_object_contains_over_value_type(async); AssertSql( - @"SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] +""" +SELECT [o].[OrderID], [o].[CustomerID], [o].[EmployeeID], [o].[OrderDate] FROM [Orders] AS [o] -WHERE [o].[OrderID] IN (10248, 10249)"); +WHERE [o].[OrderID] IN (10248, 10249) +"""); } public override async Task Multiple_OrElse_on_same_column_converted_to_in_with_overlap(bool async) @@ -2106,9 +2464,11 @@ public override async Task Multiple_OrElse_on_same_column_converted_to_in_with_o await base.Multiple_OrElse_on_same_column_converted_to_in_with_overlap(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR', N'ANTON')"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR', N'ANTON') +"""); } public override async Task Multiple_OrElse_on_same_column_with_null_constant_comparison_converted_to_in(bool async) @@ -2116,9 +2476,11 @@ public override async Task Multiple_OrElse_on_same_column_with_null_constant_com await base.Multiple_OrElse_on_same_column_with_null_constant_comparison_converted_to_in(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[Region] IN (N'WA', N'OR', N'BC') OR ([c].[Region] IS NULL)"); +WHERE [c].[Region] IN (N'WA', N'OR', N'BC') OR ([c].[Region] IS NULL) +"""); } public override async Task Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(bool async) @@ -2126,9 +2488,11 @@ public override async Task Constant_array_Contains_OrElse_comparison_with_consta await base.Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR', N'ANTON')"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR', N'ANTON') +"""); } public override async Task Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in_with_overlap(bool async) @@ -2136,9 +2500,11 @@ public override async Task Constant_array_Contains_OrElse_comparison_with_consta await base.Constant_array_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in_with_overlap(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR', N'ANTON')"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR', N'ANTON') +"""); } public override async Task Constant_array_Contains_OrElse_another_Contains_gets_combined_to_one_in_with_overlap(bool async) @@ -2146,9 +2512,11 @@ public override async Task Constant_array_Contains_OrElse_another_Contains_gets_ await base.Constant_array_Contains_OrElse_another_Contains_gets_combined_to_one_in_with_overlap(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR', N'ANTON')"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR', N'ANTON') +"""); } public override async Task Constant_array_Contains_AndAlso_another_Contains_gets_combined_to_one_in_with_overlap(bool async) @@ -2156,9 +2524,11 @@ public override async Task Constant_array_Contains_AndAlso_another_Contains_gets await base.Constant_array_Contains_AndAlso_another_Contains_gets_combined_to_one_in_with_overlap(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] NOT IN (N'ALFKI', N'ANATR', N'ANTON')"); +WHERE [c].[CustomerID] NOT IN (N'ALFKI', N'ANATR', N'ANTON') +"""); } public override async Task Multiple_AndAlso_on_same_column_converted_to_in_using_parameters(bool async) @@ -2167,13 +2537,15 @@ public override async Task Multiple_AndAlso_on_same_column_converted_to_in_using // issue #21462 AssertSql( - @"@__prm1_0='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__prm1_0='ALFKI' (Size = 5) (DbType = StringFixedLength) @__prm2_1='ANATR' (Size = 5) (DbType = StringFixedLength) @__prm3_2='ANTON' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] <> @__prm1_0 AND [c].[CustomerID] <> @__prm2_1 AND [c].[CustomerID] <> @__prm3_2"); +WHERE [c].[CustomerID] <> @__prm1_0 AND [c].[CustomerID] <> @__prm2_1 AND [c].[CustomerID] <> @__prm3_2 +"""); } public override async Task Array_of_parameters_Contains_OrElse_comparison_with_constant_gets_combined_to_one_in(bool async) @@ -2182,9 +2554,11 @@ public override async Task Array_of_parameters_Contains_OrElse_comparison_with_c // issue #21462 AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR') OR [c].[CustomerID] = N'ANTON'"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR') OR [c].[CustomerID] = N'ANTON' +"""); } public override async Task Multiple_OrElse_on_same_column_with_null_parameter_comparison_converted_to_in(bool async) @@ -2193,9 +2567,11 @@ public override async Task Multiple_OrElse_on_same_column_with_null_parameter_co // issue #21462 AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[Region] IN (N'WA', N'OR') OR ([c].[Region] IS NULL) OR [c].[Region] = N'BC'"); +WHERE [c].[Region] IN (N'WA', N'OR') OR ([c].[Region] IS NULL) OR [c].[Region] = N'BC' +"""); } public override async Task Parameter_array_Contains_OrElse_comparison_with_constant(bool async) @@ -2203,9 +2579,11 @@ public override async Task Parameter_array_Contains_OrElse_comparison_with_const await base.Parameter_array_Contains_OrElse_comparison_with_constant(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR') OR [c].[CustomerID] = N'ANTON'"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'ANATR') OR [c].[CustomerID] = N'ANTON' +"""); } public override async Task Parameter_array_Contains_OrElse_comparison_with_parameter_with_overlap(bool async) @@ -2213,12 +2591,14 @@ public override async Task Parameter_array_Contains_OrElse_comparison_with_param await base.Parameter_array_Contains_OrElse_comparison_with_parameter_with_overlap(async); AssertSql( - @"@__prm1_0='ANTON' (Size = 5) (DbType = StringFixedLength) +""" +@__prm1_0='ANTON' (Size = 5) (DbType = StringFixedLength) @__prm2_2='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__prm1_0 OR [c].[CustomerID] IN (N'ALFKI', N'ANATR') OR [c].[CustomerID] = @__prm2_2"); +WHERE [c].[CustomerID] = @__prm1_0 OR [c].[CustomerID] IN (N'ALFKI', N'ANATR') OR [c].[CustomerID] = @__prm2_2 +"""); } public override async Task Two_sets_of_comparison_combine_correctly(bool async) @@ -2226,9 +2606,11 @@ public override async Task Two_sets_of_comparison_combine_correctly(bool async) await base.Two_sets_of_comparison_combine_correctly(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ANATR'"); +WHERE [c].[CustomerID] = N'ANATR' +"""); } public override async Task Two_sets_of_comparison_combine_correctly2(bool async) @@ -2236,9 +2618,11 @@ public override async Task Two_sets_of_comparison_combine_correctly2(bool async) await base.Two_sets_of_comparison_combine_correctly2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[Region] <> N'WA' AND ([c].[Region] IS NOT NULL)"); +WHERE [c].[Region] <> N'WA' AND ([c].[Region] IS NOT NULL) +"""); } public override async Task Filter_with_EF_Property_using_closure_for_property_name(bool async) @@ -2246,9 +2630,11 @@ public override async Task Filter_with_EF_Property_using_closure_for_property_na await base.Filter_with_EF_Property_using_closure_for_property_name(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Filter_with_EF_Property_using_function_for_property_name(bool async) @@ -2256,9 +2642,11 @@ public override async Task Filter_with_EF_Property_using_function_for_property_n await base.Filter_with_EF_Property_using_function_for_property_name(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task FirstOrDefault_over_scalar_projection_compared_to_null(bool async) @@ -2266,12 +2654,14 @@ public override async Task FirstOrDefault_over_scalar_projection_compared_to_nul await base.FirstOrDefault_over_scalar_projection_compared_to_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ( SELECT TOP(1) [o].[OrderID] FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]) IS NULL"); + WHERE [c].[CustomerID] = [o].[CustomerID]) IS NULL +"""); } public override async Task FirstOrDefault_over_scalar_projection_compared_to_not_null(bool async) @@ -2279,12 +2669,14 @@ public override async Task FirstOrDefault_over_scalar_projection_compared_to_not await base.FirstOrDefault_over_scalar_projection_compared_to_not_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE ( SELECT TOP(1) [o].[OrderID] FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]) IS NOT NULL"); + WHERE [c].[CustomerID] = [o].[CustomerID]) IS NOT NULL +"""); } public override async Task FirstOrDefault_over_custom_projection_compared_to_null(bool async) @@ -2292,12 +2684,14 @@ public override async Task FirstOrDefault_over_custom_projection_compared_to_nul await base.FirstOrDefault_over_custom_projection_compared_to_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]))"); + WHERE [c].[CustomerID] = [o].[CustomerID])) +"""); } public override async Task FirstOrDefault_over_custom_projection_compared_to_not_null(bool async) @@ -2305,12 +2699,14 @@ public override async Task FirstOrDefault_over_custom_projection_compared_to_not await base.FirstOrDefault_over_custom_projection_compared_to_not_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task SingleOrDefault_over_custom_projection_compared_to_null(bool async) @@ -2318,12 +2714,14 @@ public override async Task SingleOrDefault_over_custom_projection_compared_to_nu await base.SingleOrDefault_over_custom_projection_compared_to_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]))"); + WHERE [c].[CustomerID] = [o].[CustomerID])) +"""); } public override async Task SingleOrDefault_over_custom_projection_compared_to_not_null(bool async) @@ -2331,12 +2729,14 @@ public override async Task SingleOrDefault_over_custom_projection_compared_to_no await base.SingleOrDefault_over_custom_projection_compared_to_not_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task LastOrDefault_over_custom_projection_compared_to_null(bool async) @@ -2344,12 +2744,14 @@ public override async Task LastOrDefault_over_custom_projection_compared_to_null await base.LastOrDefault_over_custom_projection_compared_to_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]))"); + WHERE [c].[CustomerID] = [o].[CustomerID])) +"""); } public override async Task LastOrDefault_over_custom_projection_compared_to_not_null(bool async) @@ -2357,12 +2759,14 @@ public override async Task LastOrDefault_over_custom_projection_compared_to_not_ await base.LastOrDefault_over_custom_projection_compared_to_not_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task First_over_custom_projection_compared_to_null(bool async) @@ -2370,12 +2774,14 @@ public override async Task First_over_custom_projection_compared_to_null(bool as await base.First_over_custom_projection_compared_to_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]))"); + WHERE [c].[CustomerID] = [o].[CustomerID])) +"""); } public override async Task First_over_custom_projection_compared_to_not_null(bool async) @@ -2383,12 +2789,14 @@ public override async Task First_over_custom_projection_compared_to_not_null(boo await base.First_over_custom_projection_compared_to_not_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task Single_over_custom_projection_compared_to_null(bool async) @@ -2396,12 +2804,14 @@ public override async Task Single_over_custom_projection_compared_to_null(bool a await base.Single_over_custom_projection_compared_to_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]))"); + WHERE [c].[CustomerID] = [o].[CustomerID])) +"""); } public override async Task Single_over_custom_projection_compared_to_not_null(bool async) @@ -2409,12 +2819,14 @@ public override async Task Single_over_custom_projection_compared_to_not_null(bo await base.Single_over_custom_projection_compared_to_not_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task Last_over_custom_projection_compared_to_null(bool async) @@ -2422,12 +2834,14 @@ public override async Task Last_over_custom_projection_compared_to_null(bool asy await base.Last_over_custom_projection_compared_to_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE NOT (EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID]))"); + WHERE [c].[CustomerID] = [o].[CustomerID])) +"""); } public override async Task Last_over_custom_projection_compared_to_not_null(bool async) @@ -2435,12 +2849,14 @@ public override async Task Last_over_custom_projection_compared_to_not_null(bool await base.Last_over_custom_projection_compared_to_not_null(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE EXISTS ( SELECT 1 FROM [Orders] AS [o] - WHERE [c].[CustomerID] = [o].[CustomerID])"); + WHERE [c].[CustomerID] = [o].[CustomerID]) +"""); } public override async Task Where_Contains_and_comparison(bool async) @@ -2448,9 +2864,11 @@ public override async Task Where_Contains_and_comparison(bool async) await base.Where_Contains_and_comparison(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'FISSA') AND [c].[City] = N'Seattle'"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'FISSA') AND [c].[City] = N'Seattle' +"""); } public override async Task Where_Contains_or_comparison(bool async) @@ -2458,9 +2876,11 @@ public override async Task Where_Contains_or_comparison(bool async) await base.Where_Contains_or_comparison(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] IN (N'ALFKI', N'FISSA') OR [c].[City] = N'Seattle'"); +WHERE [c].[CustomerID] IN (N'ALFKI', N'FISSA') OR [c].[City] = N'Seattle' +"""); } public override async Task Where_Like_and_comparison(bool async) @@ -2468,9 +2888,11 @@ public override async Task Where_Like_and_comparison(bool async) await base.Where_Like_and_comparison(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[CustomerID] LIKE N'F%') AND [c].[City] = N'Seattle'"); +WHERE ([c].[CustomerID] LIKE N'F%') AND [c].[City] = N'Seattle' +"""); } public override async Task Where_Like_or_comparison(bool async) @@ -2478,9 +2900,11 @@ public override async Task Where_Like_or_comparison(bool async) await base.Where_Like_or_comparison(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE ([c].[CustomerID] LIKE N'F%') OR [c].[City] = N'Seattle'"); +WHERE ([c].[CustomerID] LIKE N'F%') OR [c].[City] = N'Seattle' +"""); } public override async Task GetType_on_non_hierarchy1(bool async) @@ -2488,8 +2912,10 @@ public override async Task GetType_on_non_hierarchy1(bool async) await base.GetType_on_non_hierarchy1(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task GetType_on_non_hierarchy2(bool async) @@ -2497,9 +2923,11 @@ public override async Task GetType_on_non_hierarchy2(bool async) await base.GetType_on_non_hierarchy2(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task GetType_on_non_hierarchy3(bool async) @@ -2507,9 +2935,11 @@ public override async Task GetType_on_non_hierarchy3(bool async) await base.GetType_on_non_hierarchy3(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task GetType_on_non_hierarchy4(bool async) @@ -2517,8 +2947,10 @@ public override async Task GetType_on_non_hierarchy4(bool async) await base.GetType_on_non_hierarchy4(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] -FROM [Customers] AS [c]"); +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +FROM [Customers] AS [c] +"""); } public override async Task Case_block_simplification_works_correctly(bool async) @@ -2526,12 +2958,14 @@ public override async Task Case_block_simplification_works_correctly(bool async) await base.Case_block_simplification_works_correctly(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] WHERE CASE WHEN [c].[Region] IS NULL THEN N'OR' ELSE [c].[Region] -END = N'OR'"); +END = N'OR' +"""); } public override async Task Where_poco_closure(bool async) @@ -2539,17 +2973,21 @@ public override async Task Where_poco_closure(bool async) await base.Where_poco_closure(async); AssertSql( - @"@__entity_equality_customer_0_CustomerID='ALFKI' (Size = 5) (DbType = StringFixedLength) +""" +@__entity_equality_customer_0_CustomerID='ALFKI' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__entity_equality_customer_0_CustomerID", +WHERE [c].[CustomerID] = @__entity_equality_customer_0_CustomerID +""", // - @"@__entity_equality_customer_0_CustomerID='ANATR' (Size = 5) (DbType = StringFixedLength) +""" +@__entity_equality_customer_0_CustomerID='ANATR' (Size = 5) (DbType = StringFixedLength) SELECT [c].[CustomerID] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = @__entity_equality_customer_0_CustomerID"); +WHERE [c].[CustomerID] = @__entity_equality_customer_0_CustomerID +"""); } public override async Task Filter_with_property_compared_to_null_wrapped_in_explicit_convert_to_object(bool async) @@ -2557,9 +2995,11 @@ public override async Task Filter_with_property_compared_to_null_wrapped_in_expl await base.Filter_with_property_compared_to_null_wrapped_in_explicit_convert_to_object(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[Region] IS NULL"); +WHERE [c].[Region] IS NULL +"""); } public override async Task Where_simple_shadow_subquery(bool async) @@ -2567,7 +3007,8 @@ public override async Task Where_simple_shadow_subquery(bool async) await base.Where_simple_shadow_subquery(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( @@ -2576,7 +3017,8 @@ FROM [Employees] AS [e] ORDER BY [e].[EmployeeID] ) AS [t] WHERE [t].[Title] = N'Sales Representative' -ORDER BY [t].[EmployeeID]"); +ORDER BY [t].[EmployeeID] +"""); } public override async Task Where_primitive_tracked2(bool async) @@ -2584,14 +3026,16 @@ public override async Task Where_primitive_tracked2(bool async) await base.Where_primitive_tracked2(async); AssertSql( - @"@__p_0='9' +""" +@__p_0='9' SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( SELECT TOP(@__p_0) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] ) AS [t] -WHERE [t].[EmployeeID] = 5"); +WHERE [t].[EmployeeID] = 5 +"""); } public override async Task Where_projection(bool async) @@ -2599,9 +3043,11 @@ public override async Task Where_projection(bool async) await base.Where_projection(async); AssertSql( - @"SELECT [c].[CompanyName] +""" +SELECT [c].[CompanyName] FROM [Customers] AS [c] -WHERE [c].[City] = N'London'"); +WHERE [c].[City] = N'London' +"""); } public override async Task Where_bool_closure(bool async) @@ -2609,13 +3055,17 @@ public override async Task Where_bool_closure(bool async) await base.Where_bool_closure(async); AssertSql( - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] +""" +SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c] -WHERE [c].[CustomerID] = N'ALFKI'"); +WHERE [c].[CustomerID] = N'ALFKI' +"""); } public override async Task Where_primitive_tracked(bool async) @@ -2623,14 +3073,16 @@ public override async Task Where_primitive_tracked(bool async) await base.Where_primitive_tracked(async); AssertSql( - @"@__p_0='9' +""" +@__p_0='9' SELECT [t].[EmployeeID], [t].[City], [t].[Country], [t].[FirstName], [t].[ReportsTo], [t].[Title] FROM ( SELECT TOP(@__p_0) [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] ) AS [t] -WHERE [t].[EmployeeID] = 5"); +WHERE [t].[EmployeeID] = 5 +"""); } public override async Task Where_simple_shadow_projection_mixed(bool async) @@ -2638,9 +3090,11 @@ public override async Task Where_simple_shadow_projection_mixed(bool async) await base.Where_simple_shadow_projection_mixed(async); AssertSql( - @"SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] +""" +SELECT [e].[EmployeeID], [e].[City], [e].[Country], [e].[FirstName], [e].[ReportsTo], [e].[Title] FROM [Employees] AS [e] -WHERE [e].[Title] = N'Sales Representative'"); +WHERE [e].[Title] = N'Sales Representative' +"""); } public override async Task Decimal_cast_to_double_works(bool async) @@ -2648,9 +3102,11 @@ public override async Task Decimal_cast_to_double_works(bool async) await base.Decimal_cast_to_double_works(async); AssertSql( - @"SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] +""" +SELECT [p].[ProductID], [p].[Discontinued], [p].[ProductName], [p].[SupplierID], [p].[UnitPrice], [p].[UnitsInStock] FROM [Products] AS [p] -WHERE CAST([p].[UnitPrice] AS float) > 100.0E0"); +WHERE CAST([p].[UnitPrice] AS float) > 100.0E0 +"""); } public override async Task Where_bool_client_side_negated(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/NullSemanticsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/NullSemanticsQuerySqlServerTest.cs index 0364f7578f0..b567a48bc09 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/NullSemanticsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/NullSemanticsQuerySqlServerTest.cs @@ -20,21 +20,29 @@ public override async Task Compare_bool_with_bool_equal(bool async) await base.Compare_bool_with_bool_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[BoolB]", +WHERE [e].[BoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[NullableBoolB]", +WHERE [e].[BoolA] = [e].[NullableBoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[BoolB]", +WHERE [e].[NullableBoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[NullableBoolB] OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))"); +WHERE [e].[NullableBoolA] = [e].[NullableBoolB] OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +"""); } public override async Task Compare_negated_bool_with_bool_equal(bool async) @@ -42,21 +50,29 @@ public override async Task Compare_negated_bool_with_bool_equal(bool async) await base.Compare_negated_bool_with_bool_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[BoolB]", +WHERE [e].[BoolA] <> [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL)", +WHERE [e].[BoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL)", +WHERE [e].[NullableBoolA] <> [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))"); +WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +"""); } public override async Task Compare_bool_with_negated_bool_equal(bool async) @@ -64,21 +80,29 @@ public override async Task Compare_bool_with_negated_bool_equal(bool async) await base.Compare_bool_with_negated_bool_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[BoolB]", +WHERE [e].[BoolA] <> [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL)", +WHERE [e].[BoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL)", +WHERE [e].[NullableBoolA] <> [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))"); +WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +"""); } public override async Task Compare_negated_bool_with_negated_bool_equal(bool async) @@ -86,21 +110,29 @@ public override async Task Compare_negated_bool_with_negated_bool_equal(bool asy await base.Compare_negated_bool_with_negated_bool_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[BoolB]", +WHERE [e].[BoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL)", +WHERE [e].[BoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL)", +WHERE [e].[NullableBoolA] = [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))"); +WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +"""); } public override async Task Compare_bool_with_bool_equal_negated(bool async) @@ -108,21 +140,29 @@ public override async Task Compare_bool_with_bool_equal_negated(bool async) await base.Compare_bool_with_bool_equal_negated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[BoolB]", +WHERE [e].[BoolA] <> [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL)", +WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL)", +WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Compare_negated_bool_with_bool_equal_negated(bool async) @@ -130,21 +170,29 @@ public override async Task Compare_negated_bool_with_bool_equal_negated(bool asy await base.Compare_negated_bool_with_bool_equal_negated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[BoolB]", +WHERE [e].[BoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL)", +WHERE [e].[BoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[BoolB] OR ([e].[NullableBoolA] IS NULL)", +WHERE [e].[NullableBoolA] = [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Compare_bool_with_negated_bool_equal_negated(bool async) @@ -152,21 +200,29 @@ public override async Task Compare_bool_with_negated_bool_equal_negated(bool asy await base.Compare_bool_with_negated_bool_equal_negated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[BoolB]", +WHERE [e].[BoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL)", +WHERE [e].[BoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[BoolB] OR ([e].[NullableBoolA] IS NULL)", +WHERE [e].[NullableBoolA] = [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Compare_negated_bool_with_negated_bool_equal_negated(bool async) @@ -174,21 +230,29 @@ public override async Task Compare_negated_bool_with_negated_bool_equal_negated( await base.Compare_negated_bool_with_negated_bool_equal_negated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[BoolB]", +WHERE [e].[BoolA] <> [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL)", +WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL)", +WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Compare_bool_with_bool_not_equal(bool async) @@ -196,21 +260,29 @@ public override async Task Compare_bool_with_bool_not_equal(bool async) await base.Compare_bool_with_bool_not_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[BoolB]", +WHERE [e].[BoolA] <> [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL)", +WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL)", +WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Compare_negated_bool_with_bool_not_equal(bool async) @@ -218,21 +290,29 @@ public override async Task Compare_negated_bool_with_bool_not_equal(bool async) await base.Compare_negated_bool_with_bool_not_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[BoolB]", +WHERE [e].[BoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL)", +WHERE [e].[BoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[BoolB] OR ([e].[NullableBoolA] IS NULL)", +WHERE [e].[NullableBoolA] = [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Compare_bool_with_negated_bool_not_equal(bool async) @@ -240,21 +320,29 @@ public override async Task Compare_bool_with_negated_bool_not_equal(bool async) await base.Compare_bool_with_negated_bool_not_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[BoolB]", +WHERE [e].[BoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL)", +WHERE [e].[BoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[BoolB] OR ([e].[NullableBoolA] IS NULL)", +WHERE [e].[NullableBoolA] = [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Compare_negated_bool_with_negated_bool_not_equal(bool async) @@ -262,21 +350,29 @@ public override async Task Compare_negated_bool_with_negated_bool_not_equal(bool await base.Compare_negated_bool_with_negated_bool_not_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[BoolB]", +WHERE [e].[BoolA] <> [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL)", +WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL)", +WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Compare_bool_with_bool_not_equal_negated(bool async) @@ -284,21 +380,29 @@ public override async Task Compare_bool_with_bool_not_equal_negated(bool async) await base.Compare_bool_with_bool_not_equal_negated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[BoolB]", +WHERE [e].[BoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL)", +WHERE [e].[BoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL)", +WHERE [e].[NullableBoolA] = [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))"); +WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +"""); } public override async Task Compare_negated_bool_with_bool_not_equal_negated(bool async) @@ -306,21 +410,29 @@ public override async Task Compare_negated_bool_with_bool_not_equal_negated(bool await base.Compare_negated_bool_with_bool_not_equal_negated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[BoolB]", +WHERE [e].[BoolA] <> [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL)", +WHERE [e].[BoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL)", +WHERE [e].[NullableBoolA] <> [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))"); +WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +"""); } public override async Task Compare_bool_with_negated_bool_not_equal_negated(bool async) @@ -328,21 +440,29 @@ public override async Task Compare_bool_with_negated_bool_not_equal_negated(bool await base.Compare_bool_with_negated_bool_not_equal_negated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[BoolB]", +WHERE [e].[BoolA] <> [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL)", +WHERE [e].[BoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL)", +WHERE [e].[NullableBoolA] <> [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))"); +WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +"""); } public override async Task Compare_negated_bool_with_negated_bool_not_equal_negated(bool async) @@ -350,21 +470,29 @@ public override async Task Compare_negated_bool_with_negated_bool_not_equal_nega await base.Compare_negated_bool_with_negated_bool_not_equal_negated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[BoolB]", +WHERE [e].[BoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL)", +WHERE [e].[BoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolB] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL)", +WHERE [e].[NullableBoolA] = [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))"); +WHERE ([e].[NullableBoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +"""); } public override async Task Compare_equals_method(bool async) @@ -372,21 +500,29 @@ public override async Task Compare_equals_method(bool async) await base.Compare_equals_method(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[BoolB]", +WHERE [e].[BoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[NullableBoolB]", +WHERE [e].[BoolA] = [e].[NullableBoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[BoolB]", +WHERE [e].[NullableBoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[NullableBoolB] OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))"); +WHERE [e].[NullableBoolA] = [e].[NullableBoolB] OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +"""); } public override async Task Compare_equals_method_static(bool async) @@ -394,21 +530,29 @@ public override async Task Compare_equals_method_static(bool async) await base.Compare_equals_method_static(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[BoolB]", +WHERE [e].[BoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] = [e].[NullableBoolB]", +WHERE [e].[BoolA] = [e].[NullableBoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[BoolB]", +WHERE [e].[NullableBoolA] = [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[NullableBoolB] OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))"); +WHERE [e].[NullableBoolA] = [e].[NullableBoolB] OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +"""); } public override async Task Compare_equals_method_negated(bool async) @@ -416,21 +560,29 @@ public override async Task Compare_equals_method_negated(bool async) await base.Compare_equals_method_negated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[BoolB]", +WHERE [e].[BoolA] <> [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL)", +WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL)", +WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Compare_equals_method_negated_static(bool async) @@ -438,21 +590,29 @@ public override async Task Compare_equals_method_negated_static(bool async) await base.Compare_equals_method_negated_static(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[BoolB]", +WHERE [e].[BoolA] <> [e].[BoolB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL)", +WHERE [e].[BoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL)", +WHERE [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Compare_complex_equal_equal_equal(bool async) @@ -460,7 +620,8 @@ public override async Task Compare_complex_equal_equal_equal(bool async) await base.Compare_complex_equal_equal_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[BoolA] = [e].[BoolB] THEN CAST(1 AS bit) @@ -468,9 +629,11 @@ ELSE CAST(0 AS bit) END = CASE WHEN [e].[IntA] = [e].[IntB] THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[NullableBoolA] = [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL) THEN CAST(1 AS bit) @@ -478,9 +641,11 @@ ELSE CAST(0 AS bit) END = CASE WHEN [e].[IntA] = [e].[NullableIntB] AND ([e].[NullableIntB] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN ([e].[NullableBoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) THEN CAST(1 AS bit) @@ -488,7 +653,8 @@ ELSE CAST(0 AS bit) END = CASE WHEN ([e].[NullableIntA] = [e].[NullableIntB] AND ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntB] IS NOT NULL)) OR (([e].[NullableIntA] IS NULL) AND ([e].[NullableIntB] IS NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Compare_complex_equal_not_equal_equal(bool async) @@ -496,7 +662,8 @@ public override async Task Compare_complex_equal_not_equal_equal(bool async) await base.Compare_complex_equal_not_equal_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[BoolA] = [e].[BoolB] THEN CAST(1 AS bit) @@ -504,9 +671,11 @@ ELSE CAST(0 AS bit) END <> CASE WHEN [e].[IntA] = [e].[IntB] THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[NullableBoolA] = [e].[BoolB] AND ([e].[NullableBoolA] IS NOT NULL) THEN CAST(1 AS bit) @@ -514,9 +683,11 @@ ELSE CAST(0 AS bit) END <> CASE WHEN [e].[IntA] = [e].[NullableIntB] AND ([e].[NullableIntB] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN ([e].[NullableBoolA] = [e].[NullableBoolB] AND ([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL)) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) THEN CAST(1 AS bit) @@ -524,7 +695,8 @@ ELSE CAST(0 AS bit) END <> CASE WHEN ([e].[NullableIntA] = [e].[NullableIntB] AND ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntB] IS NOT NULL)) OR (([e].[NullableIntA] IS NULL) AND ([e].[NullableIntB] IS NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Compare_complex_not_equal_equal_equal(bool async) @@ -532,7 +704,8 @@ public override async Task Compare_complex_not_equal_equal_equal(bool async) await base.Compare_complex_not_equal_equal_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[BoolA] <> [e].[BoolB] THEN CAST(1 AS bit) @@ -540,9 +713,11 @@ ELSE CAST(0 AS bit) END = CASE WHEN [e].[IntA] = [e].[IntB] THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) THEN CAST(1 AS bit) @@ -550,9 +725,11 @@ ELSE CAST(0 AS bit) END = CASE WHEN [e].[IntA] = [e].[NullableIntB] AND ([e].[NullableIntB] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) THEN CAST(1 AS bit) @@ -560,7 +737,8 @@ ELSE CAST(0 AS bit) END = CASE WHEN ([e].[NullableIntA] = [e].[NullableIntB] AND ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntB] IS NOT NULL)) OR (([e].[NullableIntA] IS NULL) AND ([e].[NullableIntB] IS NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Compare_complex_not_equal_not_equal_equal(bool async) @@ -568,7 +746,8 @@ public override async Task Compare_complex_not_equal_not_equal_equal(bool async) await base.Compare_complex_not_equal_not_equal_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[BoolA] <> [e].[BoolB] THEN CAST(1 AS bit) @@ -576,9 +755,11 @@ ELSE CAST(0 AS bit) END <> CASE WHEN [e].[IntA] = [e].[IntB] THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) THEN CAST(1 AS bit) @@ -586,9 +767,11 @@ ELSE CAST(0 AS bit) END <> CASE WHEN [e].[IntA] = [e].[NullableIntB] AND ([e].[NullableIntB] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) THEN CAST(1 AS bit) @@ -596,7 +779,8 @@ ELSE CAST(0 AS bit) END <> CASE WHEN ([e].[NullableIntA] = [e].[NullableIntB] AND ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntB] IS NOT NULL)) OR (([e].[NullableIntA] IS NULL) AND ([e].[NullableIntB] IS NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Compare_complex_not_equal_equal_not_equal(bool async) @@ -604,7 +788,8 @@ public override async Task Compare_complex_not_equal_equal_not_equal(bool async) await base.Compare_complex_not_equal_equal_not_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[BoolA] <> [e].[BoolB] THEN CAST(1 AS bit) @@ -612,9 +797,11 @@ ELSE CAST(0 AS bit) END = CASE WHEN [e].[IntA] <> [e].[IntB] THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) THEN CAST(1 AS bit) @@ -622,9 +809,11 @@ ELSE CAST(0 AS bit) END = CASE WHEN [e].[IntA] <> [e].[NullableIntB] OR ([e].[NullableIntB] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) THEN CAST(1 AS bit) @@ -632,7 +821,8 @@ ELSE CAST(0 AS bit) END = CASE WHEN ([e].[NullableIntA] <> [e].[NullableIntB] OR ([e].[NullableIntA] IS NULL) OR ([e].[NullableIntB] IS NULL)) AND (([e].[NullableIntA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Compare_complex_not_equal_not_equal_not_equal(bool async) @@ -640,7 +830,8 @@ public override async Task Compare_complex_not_equal_not_equal_not_equal(bool as await base.Compare_complex_not_equal_not_equal_not_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[BoolA] <> [e].[BoolB] THEN CAST(1 AS bit) @@ -648,9 +839,11 @@ ELSE CAST(0 AS bit) END <> CASE WHEN [e].[IntA] <> [e].[IntB] THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[NullableBoolA] <> [e].[BoolB] OR ([e].[NullableBoolA] IS NULL) THEN CAST(1 AS bit) @@ -658,9 +851,11 @@ ELSE CAST(0 AS bit) END <> CASE WHEN [e].[IntA] <> [e].[NullableIntB] OR ([e].[NullableIntB] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) THEN CAST(1 AS bit) @@ -668,7 +863,8 @@ ELSE CAST(0 AS bit) END <> CASE WHEN ([e].[NullableIntA] <> [e].[NullableIntB] OR ([e].[NullableIntA] IS NULL) OR ([e].[NullableIntB] IS NULL)) AND (([e].[NullableIntA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Compare_nullable_with_null_parameter_equal(bool async) @@ -676,9 +872,11 @@ public override async Task Compare_nullable_with_null_parameter_equal(bool async await base.Compare_nullable_with_null_parameter_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] IS NULL"); +WHERE [e].[NullableStringA] IS NULL +"""); } public override async Task Compare_nullable_with_non_null_parameter_not_equal(bool async) @@ -686,11 +884,13 @@ public override async Task Compare_nullable_with_non_null_parameter_not_equal(bo await base.Compare_nullable_with_non_null_parameter_not_equal(async); AssertSql( - @"@__prm_0='Foo' (Size = 4000) +""" +@__prm_0='Foo' (Size = 4000) SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] = @__prm_0"); +WHERE [e].[NullableStringA] = @__prm_0 +"""); } public override async Task Join_uses_database_semantics(bool async) @@ -698,9 +898,11 @@ public override async Task Join_uses_database_semantics(bool async) await base.Join_uses_database_semantics(async); AssertSql( - @"SELECT [e].[Id] AS [Id1], [e0].[Id] AS [Id2], [e].[NullableIntA], [e0].[NullableIntB] +""" +SELECT [e].[Id] AS [Id1], [e0].[Id] AS [Id2], [e].[NullableIntA], [e0].[NullableIntB] FROM [Entities1] AS [e] -INNER JOIN [Entities2] AS [e0] ON [e].[NullableIntA] = [e0].[NullableIntB]"); +INNER JOIN [Entities2] AS [e0] ON [e].[NullableIntA] = [e0].[NullableIntB] +"""); } public override async Task Contains_with_local_array_closure_with_null(bool async) @@ -708,9 +910,11 @@ public override async Task Contains_with_local_array_closure_with_null(bool asyn await base.Contains_with_local_array_closure_with_null(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] = N'Foo' OR ([e].[NullableStringA] IS NULL)"); +WHERE [e].[NullableStringA] = N'Foo' OR ([e].[NullableStringA] IS NULL) +"""); } public override async Task Contains_with_local_array_closure_false_with_null(bool async) @@ -718,9 +922,11 @@ public override async Task Contains_with_local_array_closure_false_with_null(boo await base.Contains_with_local_array_closure_false_with_null(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] <> N'Foo' AND ([e].[NullableStringA] IS NOT NULL)"); +WHERE [e].[NullableStringA] <> N'Foo' AND ([e].[NullableStringA] IS NOT NULL) +"""); } public override async Task Contains_with_local_nullable_array_closure_negated(bool async) @@ -728,9 +934,11 @@ public override async Task Contains_with_local_nullable_array_closure_negated(bo await base.Contains_with_local_nullable_array_closure_negated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] <> N'Foo' OR ([e].[NullableStringA] IS NULL)"); +WHERE [e].[NullableStringA] <> N'Foo' OR ([e].[NullableStringA] IS NULL) +"""); } public override async Task Contains_with_local_array_closure_with_multiple_nulls(bool async) @@ -738,9 +946,11 @@ public override async Task Contains_with_local_array_closure_with_multiple_nulls await base.Contains_with_local_array_closure_with_multiple_nulls(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] = N'Foo' OR ([e].[NullableStringA] IS NULL)"); +WHERE [e].[NullableStringA] = N'Foo' OR ([e].[NullableStringA] IS NULL) +"""); } public override async Task Where_multiple_ors_with_null(bool async) @@ -748,9 +958,11 @@ public override async Task Where_multiple_ors_with_null(bool async) await base.Where_multiple_ors_with_null(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] IN (N'Foo', N'Blah') OR ([e].[NullableStringA] IS NULL)"); +WHERE [e].[NullableStringA] IN (N'Foo', N'Blah') OR ([e].[NullableStringA] IS NULL) +"""); } public override async Task Where_multiple_ands_with_null(bool async) @@ -758,9 +970,11 @@ public override async Task Where_multiple_ands_with_null(bool async) await base.Where_multiple_ands_with_null(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] NOT IN (N'Foo', N'Blah') AND ([e].[NullableStringA] IS NOT NULL)"); +WHERE [e].[NullableStringA] NOT IN (N'Foo', N'Blah') AND ([e].[NullableStringA] IS NOT NULL) +"""); } public override async Task Where_multiple_ors_with_nullable_parameter(bool async) @@ -768,9 +982,11 @@ public override async Task Where_multiple_ors_with_nullable_parameter(bool async await base.Where_multiple_ors_with_nullable_parameter(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] = N'Foo' OR ([e].[NullableStringA] IS NULL)"); +WHERE [e].[NullableStringA] = N'Foo' OR ([e].[NullableStringA] IS NULL) +"""); } public override async Task Where_multiple_ands_with_nullable_parameter_and_constant(bool async) @@ -778,11 +994,13 @@ public override async Task Where_multiple_ands_with_nullable_parameter_and_const await base.Where_multiple_ands_with_nullable_parameter_and_constant(async); AssertSql( - @"@__prm3_2='Blah' (Size = 4000) +""" +@__prm3_2='Blah' (Size = 4000) SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringA] <> N'Foo' OR ([e].[NullableStringA] IS NULL)) AND ([e].[NullableStringA] IS NOT NULL) AND [e].[NullableStringA] <> @__prm3_2"); +WHERE ([e].[NullableStringA] <> N'Foo' OR ([e].[NullableStringA] IS NULL)) AND ([e].[NullableStringA] IS NOT NULL) AND [e].[NullableStringA] <> @__prm3_2 +"""); } public override async Task Where_multiple_ands_with_nullable_parameter_and_constant_not_optimized(bool async) @@ -790,11 +1008,13 @@ public override async Task Where_multiple_ands_with_nullable_parameter_and_const await base.Where_multiple_ands_with_nullable_parameter_and_constant_not_optimized(async); AssertSql( - @"@__prm3_2='Blah' (Size = 4000) +""" +@__prm3_2='Blah' (Size = 4000) SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringB] IS NOT NULL) AND ([e].[NullableStringA] <> N'Foo' OR ([e].[NullableStringA] IS NULL)) AND ([e].[NullableStringA] IS NOT NULL) AND [e].[NullableStringA] <> @__prm3_2"); +WHERE ([e].[NullableStringB] IS NOT NULL) AND ([e].[NullableStringA] <> N'Foo' OR ([e].[NullableStringA] IS NULL)) AND ([e].[NullableStringA] IS NOT NULL) AND [e].[NullableStringA] <> @__prm3_2 +"""); } public override async Task Where_coalesce(bool async) @@ -802,9 +1022,11 @@ public override async Task Where_coalesce(bool async) await base.Where_coalesce(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE COALESCE([e].[NullableBoolA], CAST(1 AS bit)) = CAST(1 AS bit)"); +WHERE COALESCE([e].[NullableBoolA], CAST(1 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_equal_nullable_with_null_value_parameter(bool async) @@ -812,9 +1034,11 @@ public override async Task Where_equal_nullable_with_null_value_parameter(bool a await base.Where_equal_nullable_with_null_value_parameter(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] IS NULL"); +WHERE [e].[NullableStringA] IS NULL +"""); } public override async Task Where_not_equal_nullable_with_null_value_parameter(bool async) @@ -822,9 +1046,11 @@ public override async Task Where_not_equal_nullable_with_null_value_parameter(bo await base.Where_not_equal_nullable_with_null_value_parameter(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] IS NOT NULL"); +WHERE [e].[NullableStringA] IS NOT NULL +"""); } public override async Task Where_equal_with_coalesce(bool async) @@ -832,9 +1058,11 @@ public override async Task Where_equal_with_coalesce(bool async) await base.Where_equal_with_coalesce(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE COALESCE([e].[NullableStringA], [e].[NullableStringB]) = [e].[NullableStringC] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL) AND ([e].[NullableStringC] IS NULL))"); +WHERE COALESCE([e].[NullableStringA], [e].[NullableStringB]) = [e].[NullableStringC] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL) AND ([e].[NullableStringC] IS NULL)) +"""); } public override async Task Where_not_equal_with_coalesce(bool async) @@ -842,9 +1070,11 @@ public override async Task Where_not_equal_with_coalesce(bool async) await base.Where_not_equal_with_coalesce(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (COALESCE([e].[NullableStringA], [e].[NullableStringB]) <> [e].[NullableStringC] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) OR ([e].[NullableStringC] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL) OR ([e].[NullableStringC] IS NOT NULL))"); +WHERE (COALESCE([e].[NullableStringA], [e].[NullableStringB]) <> [e].[NullableStringC] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) OR ([e].[NullableStringC] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL) OR ([e].[NullableStringC] IS NOT NULL)) +"""); } public override async Task Where_equal_with_coalesce_both_sides(bool async) @@ -852,9 +1082,11 @@ public override async Task Where_equal_with_coalesce_both_sides(bool async) await base.Where_equal_with_coalesce_both_sides(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE COALESCE([e].[NullableStringA], [e].[NullableStringB]) = COALESCE([e].[StringA], [e].[StringB])"); +WHERE COALESCE([e].[NullableStringA], [e].[NullableStringB]) = COALESCE([e].[StringA], [e].[StringB]) +"""); } public override async Task Where_not_equal_with_coalesce_both_sides(bool async) @@ -862,9 +1094,11 @@ public override async Task Where_not_equal_with_coalesce_both_sides(bool async) await base.Where_not_equal_with_coalesce_both_sides(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (COALESCE([e].[NullableIntA], [e].[NullableIntB]) <> COALESCE([e].[NullableIntC], [e].[NullableIntB]) OR (([e].[NullableIntA] IS NULL) AND ([e].[NullableIntB] IS NULL)) OR (([e].[NullableIntC] IS NULL) AND ([e].[NullableIntB] IS NULL))) AND (([e].[NullableIntA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL) OR ([e].[NullableIntC] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL))"); +WHERE (COALESCE([e].[NullableIntA], [e].[NullableIntB]) <> COALESCE([e].[NullableIntC], [e].[NullableIntB]) OR (([e].[NullableIntA] IS NULL) AND ([e].[NullableIntB] IS NULL)) OR (([e].[NullableIntC] IS NULL) AND ([e].[NullableIntB] IS NULL))) AND (([e].[NullableIntA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL) OR ([e].[NullableIntC] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL)) +"""); } public override async Task Where_equal_with_conditional(bool async) @@ -872,7 +1106,8 @@ public override async Task Where_equal_with_conditional(bool async) await base.Where_equal_with_conditional(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) THEN [e].[NullableStringA] @@ -880,7 +1115,8 @@ ELSE [e].[NullableStringB] END = [e].[NullableStringC] OR ((CASE WHEN [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) THEN [e].[NullableStringA] ELSE [e].[NullableStringB] -END IS NULL) AND ([e].[NullableStringC] IS NULL))"); +END IS NULL) AND ([e].[NullableStringC] IS NULL)) +"""); } public override async Task Where_not_equal_with_conditional(bool async) @@ -888,7 +1124,8 @@ public override async Task Where_not_equal_with_conditional(bool async) await base.Where_not_equal_with_conditional(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE ([e].[NullableStringC] <> CASE WHEN [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) THEN [e].[NullableStringA] @@ -899,7 +1136,8 @@ ELSE [e].[NullableStringB] END IS NULL)) AND (([e].[NullableStringC] IS NOT NULL) OR (CASE WHEN [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) THEN [e].[NullableStringA] ELSE [e].[NullableStringB] -END IS NOT NULL))"); +END IS NOT NULL)) +"""); } public override async Task Where_equal_with_conditional_non_nullable(bool async) @@ -907,12 +1145,14 @@ public override async Task Where_equal_with_conditional_non_nullable(bool async) await base.Where_equal_with_conditional_non_nullable(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE [e].[NullableStringC] <> CASE WHEN [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) THEN [e].[StringA] ELSE [e].[StringB] -END OR ([e].[NullableStringC] IS NULL)"); +END OR ([e].[NullableStringC] IS NULL) +"""); } public override async Task Where_equal_with_and_and_contains(bool async) @@ -920,9 +1160,11 @@ public override async Task Where_equal_with_and_and_contains(bool async) await base.Where_equal_with_and_and_contains(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (([e].[NullableStringB] LIKE N'') OR CHARINDEX([e].[NullableStringB], [e].[NullableStringA]) > 0) AND [e].[BoolA] = CAST(1 AS bit)"); +WHERE (([e].[NullableStringB] LIKE N'') OR CHARINDEX([e].[NullableStringB], [e].[NullableStringA]) > 0) AND [e].[BoolA] = CAST(1 AS bit) +"""); } public override async Task Null_comparison_in_selector_with_relational_nulls(bool async) @@ -930,11 +1172,13 @@ public override async Task Null_comparison_in_selector_with_relational_nulls(boo await base.Null_comparison_in_selector_with_relational_nulls(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [e].[NullableStringA] <> N'Foo' OR ([e].[NullableStringA] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Entities1] AS [e]"); +FROM [Entities1] AS [e] +"""); } public override async Task Null_comparison_in_order_by_with_relational_nulls(bool async) @@ -942,7 +1186,8 @@ public override async Task Null_comparison_in_order_by_with_relational_nulls(boo await base.Null_comparison_in_order_by_with_relational_nulls(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] ORDER BY CASE WHEN [e].[NullableStringA] <> N'Foo' OR ([e].[NullableStringA] IS NULL) THEN CAST(1 AS bit) @@ -950,7 +1195,8 @@ ELSE CAST(0 AS bit) END, CASE WHEN [e].[NullableIntB] <> 10 OR ([e].[NullableIntB] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Null_comparison_in_join_key_with_relational_nulls(bool async) @@ -958,7 +1204,8 @@ public override async Task Null_comparison_in_join_key_with_relational_nulls(boo await base.Null_comparison_in_join_key_with_relational_nulls(async); AssertSql( - @"SELECT [e1].[Id], [e1].[BoolA], [e1].[BoolB], [e1].[BoolC], [e1].[IntA], [e1].[IntB], [e1].[IntC], [e1].[NullableBoolA], [e1].[NullableBoolB], [e1].[NullableBoolC], [e1].[NullableIntA], [e1].[NullableIntB], [e1].[NullableIntC], [e1].[NullableStringA], [e1].[NullableStringB], [e1].[NullableStringC], [e1].[StringA], [e1].[StringB], [e1].[StringC], [e2].[Id], [e2].[BoolA], [e2].[BoolB], [e2].[BoolC], [e2].[IntA], [e2].[IntB], [e2].[IntC], [e2].[NullableBoolA], [e2].[NullableBoolB], [e2].[NullableBoolC], [e2].[NullableIntA], [e2].[NullableIntB], [e2].[NullableIntC], [e2].[NullableStringA], [e2].[NullableStringB], [e2].[NullableStringC], [e2].[StringA], [e2].[StringB], [e2].[StringC] +""" +SELECT [e1].[Id], [e1].[BoolA], [e1].[BoolB], [e1].[BoolC], [e1].[IntA], [e1].[IntB], [e1].[IntC], [e1].[NullableBoolA], [e1].[NullableBoolB], [e1].[NullableBoolC], [e1].[NullableIntA], [e1].[NullableIntB], [e1].[NullableIntC], [e1].[NullableStringA], [e1].[NullableStringB], [e1].[NullableStringC], [e1].[StringA], [e1].[StringB], [e1].[StringC], [e2].[Id], [e2].[BoolA], [e2].[BoolB], [e2].[BoolC], [e2].[IntA], [e2].[IntB], [e2].[IntC], [e2].[NullableBoolA], [e2].[NullableBoolB], [e2].[NullableBoolC], [e2].[NullableIntA], [e2].[NullableIntB], [e2].[NullableIntC], [e2].[NullableStringA], [e2].[NullableStringB], [e2].[NullableStringC], [e2].[StringA], [e2].[StringB], [e2].[StringC] FROM [Entities1] AS [e1] INNER JOIN [Entities2] AS [e2] ON CASE WHEN [e1].[NullableStringA] <> N'Foo' @@ -966,7 +1213,8 @@ THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END = CASE WHEN [e2].[NullableBoolB] <> CAST(1 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Where_conditional_search_condition_in_result(bool async) @@ -974,13 +1222,17 @@ public override async Task Where_conditional_search_condition_in_result(bool asy await base.Where_conditional_search_condition_in_result(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[StringA] IN (N'Foo', N'Bar')", +WHERE [e].[StringA] IN (N'Foo', N'Bar') +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[StringA] LIKE N'A%'"); +WHERE [e].[StringA] LIKE N'A%' +"""); } public override async Task Where_nested_conditional_search_condition_in_result(bool async) @@ -988,8 +1240,10 @@ public override async Task Where_nested_conditional_search_condition_in_result(b await base.Where_nested_conditional_search_condition_in_result(async); AssertSql( - @"SELECT [e].[Id] -FROM [Entities1] AS [e]"); +""" +SELECT [e].[Id] +FROM [Entities1] AS [e] +"""); } public override void Where_equal_using_relational_null_semantics() @@ -997,9 +1251,11 @@ public override void Where_equal_using_relational_null_semantics() base.Where_equal_using_relational_null_semantics(); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[NullableBoolB]"); +WHERE [e].[NullableBoolA] = [e].[NullableBoolB] +"""); } public override void Where_contains_on_parameter_array_with_relational_null_semantics() @@ -1007,9 +1263,11 @@ public override void Where_contains_on_parameter_array_with_relational_null_sema base.Where_contains_on_parameter_array_with_relational_null_semantics(); AssertSql( - @"SELECT [e].[NullableStringA] +""" +SELECT [e].[NullableStringA] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] IN (N'Foo', N'Bar')"); +WHERE [e].[NullableStringA] IN (N'Foo', N'Bar') +"""); } public override void Where_contains_on_parameter_empty_array_with_relational_null_semantics() @@ -1017,9 +1275,11 @@ public override void Where_contains_on_parameter_empty_array_with_relational_nul base.Where_contains_on_parameter_empty_array_with_relational_null_semantics(); AssertSql( - @"SELECT [e].[NullableStringA] +""" +SELECT [e].[NullableStringA] FROM [Entities1] AS [e] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override void Where_contains_on_parameter_array_with_just_null_with_relational_null_semantics() @@ -1027,9 +1287,11 @@ public override void Where_contains_on_parameter_array_with_just_null_with_relat base.Where_contains_on_parameter_array_with_just_null_with_relational_null_semantics(); AssertSql( - @"SELECT [e].[NullableStringA] +""" +SELECT [e].[NullableStringA] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] = NULL"); +WHERE [e].[NullableStringA] = NULL +"""); } public override async Task Where_nullable_bool(bool async) @@ -1037,9 +1299,11 @@ public override async Task Where_nullable_bool(bool async) await base.Where_nullable_bool(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = CAST(1 AS bit)"); +WHERE [e].[NullableBoolA] = CAST(1 AS bit) +"""); } public override async Task Where_nullable_bool_equal_with_constant(bool async) @@ -1047,9 +1311,11 @@ public override async Task Where_nullable_bool_equal_with_constant(bool async) await base.Where_nullable_bool_equal_with_constant(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = CAST(1 AS bit)"); +WHERE [e].[NullableBoolA] = CAST(1 AS bit) +"""); } public override async Task Where_nullable_bool_with_null_check(bool async) @@ -1057,9 +1323,11 @@ public override async Task Where_nullable_bool_with_null_check(bool async) await base.Where_nullable_bool_with_null_check(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableBoolA] IS NOT NULL) AND [e].[NullableBoolA] = CAST(1 AS bit)"); +WHERE ([e].[NullableBoolA] IS NOT NULL) AND [e].[NullableBoolA] = CAST(1 AS bit) +"""); } public override void Where_equal_using_relational_null_semantics_with_parameter() @@ -1067,9 +1335,11 @@ public override void Where_equal_using_relational_null_semantics_with_parameter( base.Where_equal_using_relational_null_semantics_with_parameter(); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] IS NULL"); +WHERE [e].[NullableBoolA] IS NULL +"""); } public override void Where_equal_using_relational_null_semantics_complex_with_parameter() @@ -1077,9 +1347,11 @@ public override void Where_equal_using_relational_null_semantics_complex_with_pa base.Where_equal_using_relational_null_semantics_complex_with_parameter(); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[NullableBoolB]"); +WHERE [e].[NullableBoolA] = [e].[NullableBoolB] +"""); } public override void Where_not_equal_using_relational_null_semantics() @@ -1087,9 +1359,11 @@ public override void Where_not_equal_using_relational_null_semantics() base.Where_not_equal_using_relational_null_semantics(); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[NullableBoolB]"); +WHERE [e].[NullableBoolA] <> [e].[NullableBoolB] +"""); } public override void Where_not_equal_using_relational_null_semantics_with_parameter() @@ -1097,9 +1371,11 @@ public override void Where_not_equal_using_relational_null_semantics_with_parame base.Where_not_equal_using_relational_null_semantics_with_parameter(); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] IS NOT NULL"); +WHERE [e].[NullableBoolA] IS NOT NULL +"""); } public override void Where_not_equal_using_relational_null_semantics_complex_with_parameter() @@ -1107,9 +1383,11 @@ public override void Where_not_equal_using_relational_null_semantics_complex_wit base.Where_not_equal_using_relational_null_semantics_complex_with_parameter(); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] <> [e].[NullableBoolB]"); +WHERE [e].[NullableBoolA] <> [e].[NullableBoolB] +"""); } public override async Task Where_comparison_null_constant_and_null_parameter(bool async) @@ -1117,17 +1395,21 @@ public override async Task Where_comparison_null_constant_and_null_parameter(boo await base.Where_comparison_null_constant_and_null_parameter(async); AssertSql( - @"@__p_0='True' +""" +@__p_0='True' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE @__p_0 = CAST(1 AS bit)", +WHERE @__p_0 = CAST(1 AS bit) +""", // - @"@__p_0='False' +""" +@__p_0='False' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE @__p_0 = CAST(1 AS bit)"); +WHERE @__p_0 = CAST(1 AS bit) +"""); } public override async Task Where_comparison_null_constant_and_nonnull_parameter(bool async) @@ -1135,17 +1417,21 @@ public override async Task Where_comparison_null_constant_and_nonnull_parameter( await base.Where_comparison_null_constant_and_nonnull_parameter(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE @__p_0 = CAST(1 AS bit)", +WHERE @__p_0 = CAST(1 AS bit) +""", // - @"@__p_0='True' +""" +@__p_0='True' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE @__p_0 = CAST(1 AS bit)"); +WHERE @__p_0 = CAST(1 AS bit) +"""); } public override async Task Where_comparison_nonnull_constant_and_null_parameter(bool async) @@ -1153,17 +1439,21 @@ public override async Task Where_comparison_nonnull_constant_and_null_parameter( await base.Where_comparison_nonnull_constant_and_null_parameter(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE @__p_0 = CAST(1 AS bit)", +WHERE @__p_0 = CAST(1 AS bit) +""", // - @"@__p_0='True' +""" +@__p_0='True' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE @__p_0 = CAST(1 AS bit)"); +WHERE @__p_0 = CAST(1 AS bit) +"""); } public override async Task Where_comparison_null_semantics_optimization_works_with_complex_predicates(bool async) @@ -1171,9 +1461,11 @@ public override async Task Where_comparison_null_semantics_optimization_works_wi await base.Where_comparison_null_semantics_optimization_works_with_complex_predicates(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] IS NULL"); +WHERE [e].[NullableStringA] IS NULL +"""); } public override void Switching_null_semantics_produces_different_cache_entry() @@ -1181,13 +1473,17 @@ public override void Switching_null_semantics_produces_different_cache_entry() base.Switching_null_semantics_produces_different_cache_entry(); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[NullableBoolB] OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL))", +WHERE [e].[NullableBoolA] = [e].[NullableBoolB] OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL)) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = [e].[NullableBoolB]"); +WHERE [e].[NullableBoolA] = [e].[NullableBoolB] +"""); } public override void Switching_parameter_value_to_null_produces_different_cache_entry() @@ -1195,17 +1491,21 @@ public override void Switching_parameter_value_to_null_produces_different_cache_ base.Switching_parameter_value_to_null_produces_different_cache_entry(); AssertSql( - @"@__p_0='True' +""" +@__p_0='True' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE @__p_0 = CAST(1 AS bit)", +WHERE @__p_0 = CAST(1 AS bit) +""", // - @"@__p_0='False' +""" +@__p_0='False' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE @__p_0 = CAST(1 AS bit)"); +WHERE @__p_0 = CAST(1 AS bit) +"""); } public override void From_sql_composed_with_relational_null_comparison() @@ -1213,11 +1513,13 @@ public override void From_sql_composed_with_relational_null_comparison() base.From_sql_composed_with_relational_null_comparison(); AssertSql( - @"SELECT [m].[Id], [m].[BoolA], [m].[BoolB], [m].[BoolC], [m].[IntA], [m].[IntB], [m].[IntC], [m].[NullableBoolA], [m].[NullableBoolB], [m].[NullableBoolC], [m].[NullableIntA], [m].[NullableIntB], [m].[NullableIntC], [m].[NullableStringA], [m].[NullableStringB], [m].[NullableStringC], [m].[StringA], [m].[StringB], [m].[StringC] +""" +SELECT [m].[Id], [m].[BoolA], [m].[BoolB], [m].[BoolC], [m].[IntA], [m].[IntB], [m].[IntC], [m].[NullableBoolA], [m].[NullableBoolB], [m].[NullableBoolC], [m].[NullableIntA], [m].[NullableIntB], [m].[NullableIntC], [m].[NullableStringA], [m].[NullableStringB], [m].[NullableStringC], [m].[StringA], [m].[StringB], [m].[StringC] FROM ( - SELECT * FROM ""Entities1"" + SELECT * FROM "Entities1" ) AS [m] -WHERE [m].[StringA] = [m].[StringB]"); +WHERE [m].[StringA] = [m].[StringB] +"""); } public override async Task Projecting_nullable_bool_with_coalesce(bool async) @@ -1225,8 +1527,10 @@ public override async Task Projecting_nullable_bool_with_coalesce(bool async) await base.Projecting_nullable_bool_with_coalesce(async); AssertSql( - @"SELECT [e].[Id], COALESCE([e].[NullableBoolA], CAST(0 AS bit)) AS [Coalesce] -FROM [Entities1] AS [e]"); +""" +SELECT [e].[Id], COALESCE([e].[NullableBoolA], CAST(0 AS bit)) AS [Coalesce] +FROM [Entities1] AS [e] +"""); } public override async Task Projecting_nullable_bool_with_coalesce_nested(bool async) @@ -1234,11 +1538,15 @@ public override async Task Projecting_nullable_bool_with_coalesce_nested(bool as await base.Projecting_nullable_bool_with_coalesce_nested(async); AssertSql( - @"SELECT [e].[Id], COALESCE([e].[NullableBoolA], [e].[NullableBoolB], CAST(0 AS bit)) AS [Coalesce] -FROM [Entities1] AS [e]", +""" +SELECT [e].[Id], COALESCE([e].[NullableBoolA], [e].[NullableBoolB], CAST(0 AS bit)) AS [Coalesce] +FROM [Entities1] AS [e] +""", // - @"SELECT [e].[Id], COALESCE([e].[NullableBoolA], [e].[NullableBoolB], CAST(0 AS bit)) AS [Coalesce] -FROM [Entities1] AS [e]"); +""" +SELECT [e].[Id], COALESCE([e].[NullableBoolA], [e].[NullableBoolB], CAST(0 AS bit)) AS [Coalesce] +FROM [Entities1] AS [e] +"""); } public override async Task Null_semantics_applied_when_comparing_function_with_nullable_argument_to_a_nullable_column(bool async) @@ -1246,17 +1554,23 @@ public override async Task Null_semantics_applied_when_comparing_function_with_n await base.Null_semantics_applied_when_comparing_function_with_nullable_argument_to_a_nullable_column(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1) = [e].[NullableIntA] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableIntA] IS NULL))", +WHERE (CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1) = [e].[NullableIntA] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableIntA] IS NULL)) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (CAST(CHARINDEX(N'ar', [e].[NullableStringA]) AS int) - 1) = [e].[NullableIntA] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableIntA] IS NULL))", +WHERE (CAST(CHARINDEX(N'ar', [e].[NullableStringA]) AS int) - 1) = [e].[NullableIntA] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableIntA] IS NULL)) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ((CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1) <> [e].[NullableIntB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableIntB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL))"); +WHERE ((CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1) <> [e].[NullableIntB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableIntB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL)) +"""); } public override async Task Where_IndexOf_empty(bool async) @@ -1272,9 +1586,11 @@ public override async Task Select_IndexOf(bool async) await base.Select_IndexOf(async); AssertSql( - @"SELECT CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1 +""" +SELECT CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1 FROM [Entities1] AS [e] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Null_semantics_applied_when_comparing_two_functions_with_nullable_arguments(bool async) @@ -1282,17 +1598,23 @@ public override async Task Null_semantics_applied_when_comparing_two_functions_w await base.Null_semantics_applied_when_comparing_two_functions_with_nullable_arguments(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1) = (CAST(CHARINDEX(N'ar', [e].[NullableStringB]) AS int) - 1) OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL))", +WHERE (CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1) = (CAST(CHARINDEX(N'ar', [e].[NullableStringB]) AS int) - 1) OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ((CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1) <> (CAST(CHARINDEX(N'ar', [e].[NullableStringB]) AS int) - 1) OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL))", +WHERE ((CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1) <> (CAST(CHARINDEX(N'ar', [e].[NullableStringB]) AS int) - 1) OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ((CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1) <> (CAST(CHARINDEX(N'ar', [e].[NullableStringA]) AS int) - 1) OR ([e].[NullableStringA] IS NULL)) AND ([e].[NullableStringA] IS NOT NULL)"); +WHERE ((CAST(CHARINDEX(N'oo', [e].[NullableStringA]) AS int) - 1) <> (CAST(CHARINDEX(N'ar', [e].[NullableStringA]) AS int) - 1) OR ([e].[NullableStringA] IS NULL)) AND ([e].[NullableStringA] IS NOT NULL) +"""); } public override async Task Null_semantics_applied_when_comparing_two_functions_with_multiple_nullable_arguments(bool async) @@ -1300,13 +1622,17 @@ public override async Task Null_semantics_applied_when_comparing_two_functions_w await base.Null_semantics_applied_when_comparing_two_functions_with_multiple_nullable_arguments(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE REPLACE([e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC]) = [e].[NullableStringA] OR ((([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL) OR ([e].[NullableStringC] IS NULL)) AND ([e].[NullableStringA] IS NULL))", +WHERE REPLACE([e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC]) = [e].[NullableStringA] OR ((([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL) OR ([e].[NullableStringC] IS NULL)) AND ([e].[NullableStringA] IS NULL)) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (REPLACE([e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC]) <> [e].[NullableStringA] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL) OR ([e].[NullableStringC] IS NULL) OR ([e].[NullableStringA] IS NULL)) AND ((([e].[NullableStringA] IS NOT NULL) AND ([e].[NullableStringB] IS NOT NULL) AND ([e].[NullableStringC] IS NOT NULL)) OR ([e].[NullableStringA] IS NOT NULL))"); +WHERE (REPLACE([e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC]) <> [e].[NullableStringA] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL) OR ([e].[NullableStringC] IS NULL) OR ([e].[NullableStringA] IS NULL)) AND ((([e].[NullableStringA] IS NOT NULL) AND ([e].[NullableStringB] IS NOT NULL) AND ([e].[NullableStringC] IS NOT NULL)) OR ([e].[NullableStringA] IS NOT NULL)) +"""); } public override async Task Null_semantics_coalesce(bool async) @@ -1314,21 +1640,29 @@ public override async Task Null_semantics_coalesce(bool async) await base.Null_semantics_coalesce(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = COALESCE([e].[NullableBoolB], [e].[BoolC])", +WHERE [e].[NullableBoolA] = COALESCE([e].[NullableBoolB], [e].[BoolC]) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] = COALESCE([e].[NullableBoolB], [e].[NullableBoolC]) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL) AND ([e].[NullableBoolC] IS NULL))", +WHERE [e].[NullableBoolA] = COALESCE([e].[NullableBoolB], [e].[NullableBoolC]) OR (([e].[NullableBoolA] IS NULL) AND ([e].[NullableBoolB] IS NULL) AND ([e].[NullableBoolC] IS NULL)) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE COALESCE([e].[NullableBoolB], [e].[BoolC]) <> [e].[NullableBoolA] OR ([e].[NullableBoolA] IS NULL)", +WHERE COALESCE([e].[NullableBoolB], [e].[BoolC]) <> [e].[NullableBoolA] OR ([e].[NullableBoolA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (COALESCE([e].[NullableBoolB], [e].[NullableBoolC]) <> [e].[NullableBoolA] OR (([e].[NullableBoolB] IS NULL) AND ([e].[NullableBoolC] IS NULL)) OR ([e].[NullableBoolA] IS NULL)) AND (([e].[NullableBoolB] IS NOT NULL) OR ([e].[NullableBoolC] IS NOT NULL) OR ([e].[NullableBoolA] IS NOT NULL))"); +WHERE (COALESCE([e].[NullableBoolB], [e].[NullableBoolC]) <> [e].[NullableBoolA] OR (([e].[NullableBoolB] IS NULL) AND ([e].[NullableBoolC] IS NULL)) OR ([e].[NullableBoolA] IS NULL)) AND (([e].[NullableBoolB] IS NOT NULL) OR ([e].[NullableBoolC] IS NOT NULL) OR ([e].[NullableBoolA] IS NOT NULL)) +"""); } public override async Task Null_semantics_conditional(bool async) @@ -1336,21 +1670,26 @@ public override async Task Null_semantics_conditional(bool async) await base.Null_semantics_conditional(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE [e].[BoolA] = CASE WHEN [e].[BoolB] = CAST(1 AS bit) THEN [e].[NullableBoolB] ELSE [e].[NullableBoolC] -END", +END +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN ([e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e].[NullableBoolB] IS NOT NULL)) THEN [e].[BoolB] ELSE [e].[BoolC] -END = [e].[BoolA]", +END = [e].[BoolA] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] WHERE CASE WHEN CASE @@ -1364,7 +1703,8 @@ ELSE CASE WHEN ([e].[NullableBoolB] = [e].[NullableBoolC] AND ([e].[NullableBoolB] IS NOT NULL) AND ([e].[NullableBoolC] IS NOT NULL)) OR (([e].[NullableBoolB] IS NULL) AND ([e].[NullableBoolC] IS NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Null_semantics_function(bool async) @@ -1372,9 +1712,11 @@ public override async Task Null_semantics_function(bool async) await base.Null_semantics_function(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (SUBSTRING([e].[NullableStringA], 0 + 1, [e].[IntA]) <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL))"); +WHERE (SUBSTRING([e].[NullableStringA], 0 + 1, [e].[IntA]) <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) +"""); } public override async Task Null_semantics_join_with_composite_key(bool async) @@ -1382,12 +1724,14 @@ public override async Task Null_semantics_join_with_composite_key(bool async) await base.Null_semantics_join_with_composite_key(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC], [e0].[Id], [e0].[BoolA], [e0].[BoolB], [e0].[BoolC], [e0].[IntA], [e0].[IntB], [e0].[IntC], [e0].[NullableBoolA], [e0].[NullableBoolB], [e0].[NullableBoolC], [e0].[NullableIntA], [e0].[NullableIntB], [e0].[NullableIntC], [e0].[NullableStringA], [e0].[NullableStringB], [e0].[NullableStringC], [e0].[StringA], [e0].[StringB], [e0].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC], [e0].[Id], [e0].[BoolA], [e0].[BoolB], [e0].[BoolC], [e0].[IntA], [e0].[IntB], [e0].[IntC], [e0].[NullableBoolA], [e0].[NullableBoolB], [e0].[NullableBoolC], [e0].[NullableIntA], [e0].[NullableIntB], [e0].[NullableIntC], [e0].[NullableStringA], [e0].[NullableStringB], [e0].[NullableStringC], [e0].[StringA], [e0].[StringB], [e0].[StringC] FROM [Entities1] AS [e] INNER JOIN [Entities2] AS [e0] ON ([e].[NullableStringA] = [e0].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e0].[NullableStringB] IS NULL))) AND CASE WHEN ([e].[NullableStringB] <> [e].[NullableStringC] OR ([e].[NullableStringB] IS NULL) OR ([e].[NullableStringC] IS NULL)) AND (([e].[NullableStringB] IS NOT NULL) OR ([e].[NullableStringC] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = COALESCE([e0].[NullableBoolA], [e0].[BoolC])"); +END = COALESCE([e0].[NullableBoolA], [e0].[BoolC]) +"""); } public override async Task Null_semantics_contains(bool async) @@ -1395,37 +1739,53 @@ public override async Task Null_semantics_contains(bool async) await base.Null_semantics_contains(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IN (1, 2)", +WHERE [e].[NullableIntA] IN (1, 2) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] NOT IN (1, 2) OR ([e].[NullableIntA] IS NULL)", +WHERE [e].[NullableIntA] NOT IN (1, 2) OR ([e].[NullableIntA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IN (1, 2) OR ([e].[NullableIntA] IS NULL)", +WHERE [e].[NullableIntA] IN (1, 2) OR ([e].[NullableIntA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] NOT IN (1, 2) AND ([e].[NullableIntA] IS NOT NULL)", +WHERE [e].[NullableIntA] NOT IN (1, 2) AND ([e].[NullableIntA] IS NOT NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IN (1, 2)", +WHERE [e].[NullableIntA] IN (1, 2) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] NOT IN (1, 2) OR ([e].[NullableIntA] IS NULL)", +WHERE [e].[NullableIntA] NOT IN (1, 2) OR ([e].[NullableIntA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IN (1, 2) OR ([e].[NullableIntA] IS NULL)", +WHERE [e].[NullableIntA] IN (1, 2) OR ([e].[NullableIntA] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] NOT IN (1, 2) AND ([e].[NullableIntA] IS NOT NULL)"); +WHERE [e].[NullableIntA] NOT IN (1, 2) AND ([e].[NullableIntA] IS NOT NULL) +"""); } public override async Task Null_semantics_contains_array_with_no_values(bool async) @@ -1433,35 +1793,51 @@ public override async Task Null_semantics_contains_array_with_no_values(bool asy await base.Null_semantics_contains_array_with_no_values(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [e].[Id] -FROM [Entities1] AS [e]", +""" +SELECT [e].[Id] +FROM [Entities1] AS [e] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IS NULL", +WHERE [e].[NullableIntA] IS NULL +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IS NOT NULL", +WHERE [e].[NullableIntA] IS NOT NULL +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [e].[Id] -FROM [Entities1] AS [e]", +""" +SELECT [e].[Id] +FROM [Entities1] AS [e] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IS NULL", +WHERE [e].[NullableIntA] IS NULL +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IS NOT NULL"); +WHERE [e].[NullableIntA] IS NOT NULL +"""); } public override async Task Null_semantics_contains_non_nullable_argument(bool async) @@ -1469,35 +1845,51 @@ public override async Task Null_semantics_contains_non_nullable_argument(bool as await base.Null_semantics_contains_non_nullable_argument(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[IntA] IN (1, 2)", +WHERE [e].[IntA] IN (1, 2) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[IntA] NOT IN (1, 2)", +WHERE [e].[IntA] NOT IN (1, 2) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[IntA] IN (1, 2)", +WHERE [e].[IntA] IN (1, 2) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[IntA] NOT IN (1, 2)", +WHERE [e].[IntA] NOT IN (1, 2) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [e].[Id] -FROM [Entities1] AS [e]", +""" +SELECT [e].[Id] +FROM [Entities1] AS [e] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [e].[Id] -FROM [Entities1] AS [e]"); +""" +SELECT [e].[Id] +FROM [Entities1] AS [e] +"""); } public override async Task Null_semantics_with_null_check_simple(bool async) @@ -1505,25 +1897,35 @@ public override async Task Null_semantics_with_null_check_simple(bool async) await base.Null_semantics_with_null_check_simple(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NOT NULL) AND [e].[NullableIntA] = [e].[NullableIntB]", +WHERE ([e].[NullableIntA] IS NOT NULL) AND [e].[NullableIntA] = [e].[NullableIntB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntA] <> [e].[NullableIntB] OR ([e].[NullableIntB] IS NULL))", +WHERE ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntA] <> [e].[NullableIntB] OR ([e].[NullableIntB] IS NULL)) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NOT NULL) AND [e].[NullableIntA] = [e].[IntC]", +WHERE ([e].[NullableIntA] IS NOT NULL) AND [e].[NullableIntA] = [e].[IntC] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntB] IS NOT NULL) AND [e].[NullableIntA] = [e].[NullableIntB]", +WHERE ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntB] IS NOT NULL) AND [e].[NullableIntA] = [e].[NullableIntB] +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntB] IS NOT NULL) AND [e].[NullableIntA] <> [e].[NullableIntB]"); +WHERE ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntB] IS NOT NULL) AND [e].[NullableIntA] <> [e].[NullableIntB] +"""); } public override async Task Null_semantics_with_null_check_complex(bool async) @@ -1531,17 +1933,23 @@ public override async Task Null_semantics_with_null_check_complex(bool async) await base.Null_semantics_with_null_check_complex(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntC] <> [e].[NullableIntA] OR ([e].[NullableIntC] IS NULL) OR (([e].[NullableIntB] IS NOT NULL) AND [e].[NullableIntA] <> [e].[NullableIntB]))", +WHERE ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntC] <> [e].[NullableIntA] OR ([e].[NullableIntC] IS NULL) OR (([e].[NullableIntB] IS NOT NULL) AND [e].[NullableIntA] <> [e].[NullableIntB])) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntC] <> [e].[NullableIntA] OR ([e].[NullableIntC] IS NULL) OR [e].[NullableIntA] <> [e].[NullableIntB] OR ([e].[NullableIntB] IS NULL))", +WHERE ([e].[NullableIntA] IS NOT NULL) AND ([e].[NullableIntC] <> [e].[NullableIntA] OR ([e].[NullableIntC] IS NULL) OR [e].[NullableIntA] <> [e].[NullableIntB] OR ([e].[NullableIntB] IS NULL)) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (([e].[NullableIntA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL)) AND ([e].[NullableIntA] = [e].[NullableIntC] OR (([e].[NullableIntA] IS NULL) AND ([e].[NullableIntC] IS NULL)))"); +WHERE (([e].[NullableIntA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL)) AND ([e].[NullableIntA] = [e].[NullableIntC] OR (([e].[NullableIntA] IS NULL) AND ([e].[NullableIntC] IS NULL))) +"""); } public override async Task Null_semantics_with_null_check_complex2(bool async) @@ -1549,13 +1957,17 @@ public override async Task Null_semantics_with_null_check_complex2(bool async) await base.Null_semantics_with_null_check_complex2(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL) AND ([e].[NullableBoolB] <> [e].[NullableBoolA] OR ([e].[NullableBoolC] IS NOT NULL)) AND ([e].[NullableBoolC] <> [e].[NullableBoolB] OR ([e].[NullableBoolC] IS NULL))) OR [e].[NullableBoolC] <> [e].[BoolB] OR ([e].[NullableBoolC] IS NULL)", +WHERE (([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL) AND ([e].[NullableBoolB] <> [e].[NullableBoolA] OR ([e].[NullableBoolC] IS NOT NULL)) AND ([e].[NullableBoolC] <> [e].[NullableBoolB] OR ([e].[NullableBoolC] IS NULL))) OR [e].[NullableBoolC] <> [e].[BoolB] OR ([e].[NullableBoolC] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL) AND ([e].[NullableBoolB] <> [e].[NullableBoolA] OR ([e].[NullableBoolC] IS NOT NULL)) AND ([e].[NullableBoolC] <> [e].[NullableBoolB] OR ([e].[NullableBoolC] IS NULL))) OR [e].[NullableBoolB] <> [e].[BoolB] OR ([e].[NullableBoolB] IS NULL)"); +WHERE (([e].[NullableBoolA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL) AND ([e].[NullableBoolB] <> [e].[NullableBoolA] OR ([e].[NullableBoolC] IS NOT NULL)) AND ([e].[NullableBoolC] <> [e].[NullableBoolB] OR ([e].[NullableBoolC] IS NULL))) OR [e].[NullableBoolB] <> [e].[BoolB] OR ([e].[NullableBoolB] IS NULL) +"""); } public override async Task IsNull_on_complex_expression(bool async) @@ -1563,21 +1975,29 @@ public override async Task IsNull_on_complex_expression(bool async) await base.IsNull_on_complex_expression(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IS NOT NULL", +WHERE [e].[NullableIntA] IS NOT NULL +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NULL) OR ([e].[NullableIntB] IS NULL)", +WHERE ([e].[NullableIntA] IS NULL) OR ([e].[NullableIntB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NULL) AND ([e].[NullableIntB] IS NULL)", +WHERE ([e].[NullableIntA] IS NULL) AND ([e].[NullableIntB] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL)"); +WHERE ([e].[NullableIntA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL) +"""); } public override async Task Coalesce_not_equal(bool async) @@ -1585,9 +2005,11 @@ public override async Task Coalesce_not_equal(bool async) await base.Coalesce_not_equal(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE COALESCE([e].[NullableIntA], 0) <> 0"); +WHERE COALESCE([e].[NullableIntA], 0) <> 0 +"""); } public override async Task Negated_order_comparison_on_non_nullable_arguments_gets_optimized(bool async) @@ -1595,29 +2017,37 @@ public override async Task Negated_order_comparison_on_non_nullable_arguments_ge await base.Negated_order_comparison_on_non_nullable_arguments_gets_optimized(async); AssertSql( - @"@__i_0='1' +""" +@__i_0='1' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[IntA] <= @__i_0", +WHERE [e].[IntA] <= @__i_0 +""", // - @"@__i_0='1' +""" +@__i_0='1' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[IntA] < @__i_0", +WHERE [e].[IntA] < @__i_0 +""", // - @"@__i_0='1' +""" +@__i_0='1' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[IntA] >= @__i_0", +WHERE [e].[IntA] >= @__i_0 +""", // - @"@__i_0='1' +""" +@__i_0='1' SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE [e].[IntA] > @__i_0"); +WHERE [e].[IntA] > @__i_0 +"""); } public override async Task Negated_order_comparison_on_nullable_arguments_doesnt_get_optimized(bool async) @@ -1633,9 +2063,11 @@ public override async Task Nullable_column_info_propagates_inside_binary_AndAlso await base.Nullable_column_info_propagates_inside_binary_AndAlso(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringA] IS NOT NULL) AND ([e].[NullableStringB] IS NOT NULL) AND [e].[NullableStringA] <> [e].[NullableStringB]"); +WHERE ([e].[NullableStringA] IS NOT NULL) AND ([e].[NullableStringB] IS NOT NULL) AND [e].[NullableStringA] <> [e].[NullableStringB] +"""); } public override async Task Nullable_column_info_doesnt_propagate_inside_binary_OrElse(bool async) @@ -1643,9 +2075,11 @@ public override async Task Nullable_column_info_doesnt_propagate_inside_binary_O await base.Nullable_column_info_doesnt_propagate_inside_binary_OrElse(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) AND ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL))"); +WHERE (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) AND ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) +"""); } public override async Task Nullable_column_info_propagates_inside_binary_OrElse_when_info_is_duplicated(bool async) @@ -1653,13 +2087,17 @@ public override async Task Nullable_column_info_propagates_inside_binary_OrElse_ await base.Nullable_column_info_propagates_inside_binary_OrElse_when_info_is_duplicated(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ((([e].[NullableStringA] IS NOT NULL) AND ([e].[NullableStringB] IS NOT NULL)) OR ([e].[NullableStringA] IS NOT NULL)) AND ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringB] IS NULL))", +WHERE ((([e].[NullableStringA] IS NOT NULL) AND ([e].[NullableStringB] IS NOT NULL)) OR ([e].[NullableStringA] IS NOT NULL)) AND ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringB] IS NULL)) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ((([e].[NullableStringA] IS NOT NULL) AND ([e].[NullableStringB] IS NOT NULL)) OR (([e].[NullableStringB] IS NOT NULL) AND ([e].[NullableStringA] IS NOT NULL))) AND [e].[NullableStringA] <> [e].[NullableStringB]"); +WHERE ((([e].[NullableStringA] IS NOT NULL) AND ([e].[NullableStringB] IS NOT NULL)) OR (([e].[NullableStringB] IS NOT NULL) AND ([e].[NullableStringA] IS NOT NULL))) AND [e].[NullableStringA] <> [e].[NullableStringB] +"""); } public override async Task Nullable_column_info_propagates_inside_conditional(bool async) @@ -1667,14 +2105,16 @@ public override async Task Nullable_column_info_propagates_inside_conditional(bo await base.Nullable_column_info_propagates_inside_conditional(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [e].[NullableStringA] IS NOT NULL THEN CASE WHEN [e].[NullableStringA] <> [e].[StringA] THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END ELSE [e].[BoolA] END -FROM [Entities1] AS [e]"); +FROM [Entities1] AS [e] +"""); } public override async Task Nullable_column_info_doesnt_propagate_between_projections(bool async) @@ -1682,14 +2122,16 @@ public override async Task Nullable_column_info_doesnt_propagate_between_project await base.Nullable_column_info_doesnt_propagate_between_projections(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [e].[NullableStringA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Foo], CASE WHEN [e].[NullableStringA] <> [e].[StringA] OR ([e].[NullableStringA] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Bar] -FROM [Entities1] AS [e]"); +FROM [Entities1] AS [e] +"""); } public override async Task Nullable_column_info_doesnt_propagate_between_different_parts_of_select(bool async) @@ -1697,10 +2139,12 @@ public override async Task Nullable_column_info_doesnt_propagate_between_differe await base.Nullable_column_info_doesnt_propagate_between_different_parts_of_select(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] INNER JOIN [Entities1] AS [e0] ON [e].[NullableBoolA] IS NULL -WHERE ([e].[NullableBoolA] <> [e0].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e0].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e0].[NullableBoolB] IS NOT NULL))"); +WHERE ([e].[NullableBoolA] <> [e0].[NullableBoolB] OR ([e].[NullableBoolA] IS NULL) OR ([e0].[NullableBoolB] IS NULL)) AND (([e].[NullableBoolA] IS NOT NULL) OR ([e0].[NullableBoolB] IS NOT NULL)) +"""); } public override async Task Nullable_column_info_propagation_complex(bool async) @@ -1708,9 +2152,11 @@ public override async Task Nullable_column_info_propagation_complex(bool async) await base.Nullable_column_info_propagation_complex(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL) AND ([e].[NullableStringC] IS NOT NULL) AND ([e].[NullableBoolB] <> [e].[NullableBoolC] OR ([e].[NullableBoolC] IS NULL))"); +WHERE ([e].[NullableStringA] IS NOT NULL) AND ([e].[NullableBoolB] IS NOT NULL) AND ([e].[NullableStringC] IS NOT NULL) AND ([e].[NullableBoolB] <> [e].[NullableBoolC] OR ([e].[NullableBoolC] IS NULL)) +"""); } public override async Task Empty_subquery_with_contains_returns_false(bool async) @@ -1718,9 +2164,11 @@ public override async Task Empty_subquery_with_contains_returns_false(bool async await base.Empty_subquery_with_contains_returns_false(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Empty_subquery_with_contains_negated_returns_true(bool async) @@ -1728,8 +2176,10 @@ public override async Task Empty_subquery_with_contains_negated_returns_true(boo await base.Empty_subquery_with_contains_negated_returns_true(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] -FROM [Entities1] AS [e]"); +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +FROM [Entities1] AS [e] +"""); } public override async Task Nullable_string_FirstOrDefault_compared_to_nullable_string_LastOrDefault(bool async) @@ -1737,9 +2187,11 @@ public override async Task Nullable_string_FirstOrDefault_compared_to_nullable_s await base.Nullable_string_FirstOrDefault_compared_to_nullable_string_LastOrDefault(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE SUBSTRING([e].[NullableStringA], 1, 1) = SUBSTRING([e].[NullableStringB], LEN([e].[NullableStringB]), 1) OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL))"); +WHERE SUBSTRING([e].[NullableStringA], 1, 1) = SUBSTRING([e].[NullableStringB], LEN([e].[NullableStringB]), 1) OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) +"""); } public override async Task Null_semantics_applied_to_CompareTo_equality(bool async) @@ -1747,21 +2199,29 @@ public override async Task Null_semantics_applied_to_CompareTo_equality(bool asy await base.Null_semantics_applied_to_CompareTo_equality(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL))", +WHERE [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL))", +WHERE [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL))", +WHERE ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL))"); +WHERE ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) +"""); } public override async Task Nested_CompareTo_optimized(bool async) @@ -1769,21 +2229,29 @@ public override async Task Nested_CompareTo_optimized(bool async) await base.Nested_CompareTo_optimized(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL))", +WHERE [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL))", +WHERE [e].[NullableStringA] = [e].[NullableStringB] OR (([e].[NullableStringA] IS NULL) AND ([e].[NullableStringB] IS NULL)) +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL))", +WHERE ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL))"); +WHERE ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) +"""); } public override async Task False_compared_to_negated_is_null(bool async) @@ -1791,9 +2259,11 @@ public override async Task False_compared_to_negated_is_null(bool async) await base.False_compared_to_negated_is_null(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableStringA] IS NULL"); +WHERE [e].[NullableStringA] IS NULL +"""); } public override async Task Multiple_non_equality_comparisons_with_null_in_the_middle(bool async) @@ -1801,9 +2271,11 @@ public override async Task Multiple_non_equality_comparisons_with_null_in_the_mi await base.Multiple_non_equality_comparisons_with_null_in_the_middle(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] NOT IN (1, 2) AND ([e].[NullableIntA] IS NOT NULL)"); +WHERE [e].[NullableIntA] NOT IN (1, 2) AND ([e].[NullableIntA] IS NOT NULL) +"""); } public override async Task Multiple_non_equality_comparisons_including_null_comparison_work_for_relational_null_semantics( @@ -1812,9 +2284,11 @@ public override async Task Multiple_non_equality_comparisons_including_null_comp await base.Multiple_non_equality_comparisons_including_null_comparison_work_for_relational_null_semantics(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] <> 1 AND ([e].[NullableIntA] IS NOT NULL)"); +WHERE [e].[NullableIntA] <> 1 AND ([e].[NullableIntA] IS NOT NULL) +"""); } public override async Task Multiple_non_equality_comparisons_without_null_comparison_work_for_relational_null_semantics(bool async) @@ -1822,9 +2296,11 @@ public override async Task Multiple_non_equality_comparisons_without_null_compar await base.Multiple_non_equality_comparisons_without_null_comparison_work_for_relational_null_semantics(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] NOT IN (1, 2)"); +WHERE [e].[NullableIntA] NOT IN (1, 2) +"""); } public override async Task Multiple_equality_comparisons_including_null_comparison_work_for_relational_null_semantics(bool async) @@ -1832,9 +2308,11 @@ public override async Task Multiple_equality_comparisons_including_null_comparis await base.Multiple_equality_comparisons_including_null_comparison_work_for_relational_null_semantics(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] = 1 OR ([e].[NullableIntA] IS NULL)"); +WHERE [e].[NullableIntA] = 1 OR ([e].[NullableIntA] IS NULL) +"""); } public override async Task Multiple_contains_calls_get_combined_into_one_for_relational_null_semantics(bool async) @@ -1842,9 +2320,11 @@ public override async Task Multiple_contains_calls_get_combined_into_one_for_rel await base.Multiple_contains_calls_get_combined_into_one_for_relational_null_semantics(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IN (1, NULL, 2, 3)"); +WHERE [e].[NullableIntA] IN (1, NULL, 2, 3) +"""); } public override async Task Multiple_negated_contains_calls_get_combined_into_one_for_relational_null_semantics(bool async) @@ -1852,9 +2332,11 @@ public override async Task Multiple_negated_contains_calls_get_combined_into_one await base.Multiple_negated_contains_calls_get_combined_into_one_for_relational_null_semantics(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] NOT IN (1, NULL, 2, 3)"); +WHERE [e].[NullableIntA] NOT IN (1, NULL, 2, 3) +"""); } public override async Task Contains_with_comparison_dont_get_combined_for_relational_null_semantics(bool async) @@ -1862,9 +2344,11 @@ public override async Task Contains_with_comparison_dont_get_combined_for_relati await base.Contains_with_comparison_dont_get_combined_for_relational_null_semantics(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IN (1, 2) OR ([e].[NullableIntA] IS NULL)"); +WHERE [e].[NullableIntA] IN (1, 2) OR ([e].[NullableIntA] IS NULL) +"""); } public override async Task Negated_contains_with_comparison_dont_get_combined_for_relational_null_semantics(bool async) @@ -1872,9 +2356,11 @@ public override async Task Negated_contains_with_comparison_dont_get_combined_fo await base.Negated_contains_with_comparison_dont_get_combined_for_relational_null_semantics(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NOT NULL) AND [e].[NullableIntA] NOT IN (1, 2)"); +WHERE ([e].[NullableIntA] IS NOT NULL) AND [e].[NullableIntA] NOT IN (1, 2) +"""); } public override async Task Negated_contains_with_comparison_without_null_get_combined_for_relational_null_semantics(bool async) @@ -1882,9 +2368,11 @@ public override async Task Negated_contains_with_comparison_without_null_get_com await base.Negated_contains_with_comparison_without_null_get_combined_for_relational_null_semantics(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] NOT IN (1, 2, 3)"); +WHERE [e].[NullableIntA] NOT IN (1, 2, 3) +"""); } public override async Task Bool_equal_nullable_bool_HasValue(bool async) @@ -1892,25 +2380,31 @@ public override async Task Bool_equal_nullable_bool_HasValue(bool async) await base.Bool_equal_nullable_bool_HasValue(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] IS NOT NULL", +WHERE [e].[NullableBoolA] IS NOT NULL +""", // - @"@__prm_0='False' +""" +@__prm_0='False' SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE @__prm_0 = CASE WHEN [e].[NullableBoolA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE [e].[BoolB] = CASE WHEN [e].[NullableBoolA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Bool_equal_nullable_bool_compared_to_null(bool async) @@ -1918,18 +2412,22 @@ public override async Task Bool_equal_nullable_bool_compared_to_null(bool async) await base.Bool_equal_nullable_bool_compared_to_null(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] IS NULL", +WHERE [e].[NullableBoolA] IS NULL +""", // - @"@__prm_0='False' +""" +@__prm_0='False' SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE @__prm_0 = CASE WHEN [e].[NullableBoolA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Bool_not_equal_nullable_bool_HasValue(bool async) @@ -1937,25 +2435,31 @@ public override async Task Bool_not_equal_nullable_bool_HasValue(bool async) await base.Bool_not_equal_nullable_bool_HasValue(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] IS NULL", +WHERE [e].[NullableBoolA] IS NULL +""", // - @"@__prm_0='False' +""" +@__prm_0='False' SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE @__prm_0 <> CASE WHEN [e].[NullableBoolA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE [e].[BoolB] <> CASE WHEN [e].[NullableBoolA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Bool_not_equal_nullable_int_HasValue(bool async) @@ -1963,25 +2467,31 @@ public override async Task Bool_not_equal_nullable_int_HasValue(bool async) await base.Bool_not_equal_nullable_int_HasValue(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableIntA] IS NULL", +WHERE [e].[NullableIntA] IS NULL +""", // - @"@__prm_0='False' +""" +@__prm_0='False' SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE @__prm_0 <> CASE WHEN [e].[NullableIntA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE [e].[BoolB] <> CASE WHEN [e].[NullableIntA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Bool_not_equal_nullable_bool_compared_to_null(bool async) @@ -1989,18 +2499,22 @@ public override async Task Bool_not_equal_nullable_bool_compared_to_null(bool as await base.Bool_not_equal_nullable_bool_compared_to_null(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE [e].[NullableBoolA] IS NOT NULL", +WHERE [e].[NullableBoolA] IS NOT NULL +""", // - @"@__prm_0='False' +""" +@__prm_0='False' SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE @__prm_0 <> CASE WHEN [e].[NullableBoolA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Bool_logical_operation_with_nullable_bool_HasValue(bool async) @@ -2008,19 +2522,25 @@ public override async Task Bool_logical_operation_with_nullable_bool_HasValue(bo await base.Bool_logical_operation_with_nullable_bool_HasValue(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] -FROM [Entities1] AS [e]", +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +FROM [Entities1] AS [e] +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE ([e].[BoolB] | CASE WHEN [e].[NullableBoolA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END) = CAST(1 AS bit)"); +END) = CAST(1 AS bit) +"""); } public override async Task Comparison_compared_to_null_check_on_bool(bool async) @@ -2028,7 +2548,8 @@ public override async Task Comparison_compared_to_null_check_on_bool(bool async) await base.Comparison_compared_to_null_check_on_bool(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[IntA] = [e].[IntB] THEN CAST(1 AS bit) @@ -2036,9 +2557,11 @@ ELSE CAST(0 AS bit) END <> CASE WHEN [e].[NullableBoolA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END", +END +""", // - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[IntA] <> [e].[IntB] THEN CAST(1 AS bit) @@ -2046,7 +2569,8 @@ ELSE CAST(0 AS bit) END = CASE WHEN [e].[NullableBoolA] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_simple(bool async) @@ -2054,9 +2578,11 @@ public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullab await base.Is_null_on_column_followed_by_OrElse_optimizes_nullability_simple(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringA] IS NOT NULL) AND [e].[NullableStringA] = N'Foo'"); +WHERE ([e].[NullableStringA] IS NOT NULL) AND [e].[NullableStringA] = N'Foo' +"""); } public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_negative(bool async) @@ -2064,9 +2590,11 @@ public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullab await base.Is_null_on_column_followed_by_OrElse_optimizes_nullability_negative(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringA] = N'Foo' AND ([e].[NullableStringA] IS NOT NULL))"); +WHERE ([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringA] = N'Foo' AND ([e].[NullableStringA] IS NOT NULL)) +"""); } public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_nested(bool async) @@ -2074,9 +2602,11 @@ public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullab await base.Is_null_on_column_followed_by_OrElse_optimizes_nullability_nested(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL) OR [e].[NullableStringA] <> [e].[NullableStringB]"); +WHERE ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL) OR [e].[NullableStringA] <> [e].[NullableStringB] +"""); } public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_intersection(bool async) @@ -2084,9 +2614,11 @@ public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullab await base.Is_null_on_column_followed_by_OrElse_optimizes_nullability_intersection(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE (([e].[NullableStringA] IS NULL) AND ([e].[StringA] = N'Foo' OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL))) OR [e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringB] IS NULL)"); +WHERE (([e].[NullableStringA] IS NULL) AND ([e].[StringA] = N'Foo' OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL))) OR [e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringB] IS NULL) +"""); } public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional(bool async) @@ -2095,7 +2627,8 @@ public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullab // issue #25977 AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[NullableStringA] IS NULL THEN CASE @@ -2106,7 +2639,8 @@ ELSE CASE WHEN ([e].[NullableStringA] <> [e].[NullableStringC] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringC] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringC] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional_multiple(bool async) @@ -2115,7 +2649,8 @@ public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullab // issue #25977 AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE CASE WHEN ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL) THEN CASE @@ -2126,7 +2661,8 @@ ELSE CASE WHEN ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional_negative(bool async) @@ -2134,7 +2670,8 @@ public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullab await base.Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional_negative(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE CASE WHEN (([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND ([e].[NullableBoolC] IS NULL) THEN CASE @@ -2145,7 +2682,8 @@ ELSE CASE WHEN ([e].[NullableStringA] <> [e].[NullableStringB] OR ([e].[NullableStringA] IS NULL) OR ([e].[NullableStringB] IS NULL)) AND (([e].[NullableStringA] IS NOT NULL) OR ([e].[NullableStringB] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional_with_setup(bool async) @@ -2154,7 +2692,8 @@ public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullab // issue #25977 AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE ([e].[NullableBoolA] IS NULL) OR CASE WHEN [e].[NullableBoolB] IS NULL THEN CASE @@ -2165,7 +2704,8 @@ ELSE CASE WHEN [e].[NullableBoolA] <> [e].[NullableBoolB] OR ([e].[NullableBoolB] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullability_conditional_nested(bool async) @@ -2174,7 +2714,8 @@ public override async Task Is_null_on_column_followed_by_OrElse_optimizes_nullab // issue #25977 AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] WHERE CASE WHEN [e].[NullableBoolA] IS NULL THEN CASE @@ -2189,7 +2730,8 @@ ELSE CASE WHEN ([e].[NullableBoolC] <> [e].[NullableBoolA] OR ([e].[NullableBoolC] IS NULL) OR ([e].[NullableBoolA] IS NULL)) AND (([e].[NullableBoolC] IS NOT NULL) OR ([e].[NullableBoolA] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Sum_function_is_always_considered_non_nullable(bool async) @@ -2197,12 +2739,14 @@ public override async Task Sum_function_is_always_considered_non_nullable(bool a await base.Sum_function_is_always_considered_non_nullable(async); AssertSql( - @"SELECT [e].[NullableIntA] AS [Key], CASE +""" +SELECT [e].[NullableIntA] AS [Key], CASE WHEN COALESCE(SUM([e].[IntA]), 0) <> [e].[NullableIntA] OR ([e].[NullableIntA] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Sum] FROM [Entities1] AS [e] -GROUP BY [e].[NullableIntA]"); +GROUP BY [e].[NullableIntA] +"""); } public override async Task Nullability_is_computed_correctly_for_chained_coalesce(bool async) @@ -2210,9 +2754,11 @@ public override async Task Nullability_is_computed_correctly_for_chained_coalesc await base.Nullability_is_computed_correctly_for_chained_coalesce(async); AssertSql( - @"SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] +""" +SELECT [e].[Id], [e].[BoolA], [e].[BoolB], [e].[BoolC], [e].[IntA], [e].[IntB], [e].[IntC], [e].[NullableBoolA], [e].[NullableBoolB], [e].[NullableBoolC], [e].[NullableIntA], [e].[NullableIntB], [e].[NullableIntC], [e].[NullableStringA], [e].[NullableStringB], [e].[NullableStringC], [e].[StringA], [e].[StringB], [e].[StringC] FROM [Entities1] AS [e] -WHERE COALESCE([e].[NullableIntA], [e].[NullableIntB], [e].[IntC]) <> [e].[NullableIntC] OR ([e].[NullableIntC] IS NULL)"); +WHERE COALESCE([e].[NullableIntA], [e].[NullableIntB], [e].[IntC]) <> [e].[NullableIntC] OR ([e].[NullableIntC] IS NULL) +"""); } public override async Task Nullability_check_is_computed_correctly_for_chained_coalesce(bool async) @@ -2220,13 +2766,17 @@ public override async Task Nullability_check_is_computed_correctly_for_chained_c await base.Nullability_check_is_computed_correctly_for_chained_coalesce(async); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NULL) AND ([e].[NullableIntB] IS NULL) AND ([e].[NullableIntC] IS NULL)", +WHERE ([e].[NullableIntA] IS NULL) AND ([e].[NullableIntB] IS NULL) AND ([e].[NullableIntC] IS NULL) +""", // - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities1] AS [e] -WHERE ([e].[NullableIntA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL) OR ([e].[NullableIntC] IS NOT NULL)"); +WHERE ([e].[NullableIntA] IS NOT NULL) OR ([e].[NullableIntB] IS NOT NULL) OR ([e].[NullableIntC] IS NOT NULL) +"""); } public override async Task Coalesce_on_self_gets_simplified(bool async) @@ -2234,8 +2784,10 @@ public override async Task Coalesce_on_self_gets_simplified(bool async) await base.Coalesce_on_self_gets_simplified(async); AssertSql( - @"SELECT [e].[NullableStringA] -FROM [Entities1] AS [e]"); +""" +SELECT [e].[NullableStringA] +FROM [Entities1] AS [e] +"""); } public override async Task Coalesce_deeply_nested(bool async) @@ -2243,9 +2795,11 @@ public override async Task Coalesce_deeply_nested(bool async) await base.Coalesce_deeply_nested(async); AssertSql( - @"SELECT COALESCE([e].[NullableIntA], [e].[NullableIntB], [e0].[NullableIntC], [e0].[NullableIntB], [e].[NullableIntC], [e0].[NullableIntA]) +""" +SELECT COALESCE([e].[NullableIntA], [e].[NullableIntB], [e0].[NullableIntC], [e0].[NullableIntB], [e].[NullableIntC], [e0].[NullableIntA]) FROM [Entities1] AS [e] -INNER JOIN [Entities2] AS [e0] ON [e].[Id] = [e0].[Id]"); +INNER JOIN [Entities2] AS [e0] ON [e].[Id] = [e0].[Id] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/OwnedEntityQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/OwnedEntityQuerySqlServerTest.cs index 7784fa7c8f8..d8209d74fd6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/OwnedEntityQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/OwnedEntityQuerySqlServerTest.cs @@ -15,7 +15,8 @@ public override async Task Multiple_single_result_in_projection_containing_owned await base.Multiple_single_result_in_projection_containing_owned_types(async); AssertSql( - @"SELECT [e].[Id], [t0].[Id], [t0].[Entity20277Id], [t0].[Owned_IsDeleted], [t0].[Owned_Value], [t0].[Type], [t0].[c], [t1].[Id], [t1].[Entity20277Id], [t1].[Owned_IsDeleted], [t1].[Owned_Value], [t1].[Type], [t1].[c] +""" +SELECT [e].[Id], [t0].[Id], [t0].[Entity20277Id], [t0].[Owned_IsDeleted], [t0].[Owned_Value], [t0].[Type], [t0].[c], [t1].[Id], [t1].[Entity20277Id], [t1].[Owned_IsDeleted], [t1].[Owned_Value], [t1].[Type], [t1].[c] FROM [Entities] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Entity20277Id], [t].[Owned_IsDeleted], [t].[Owned_Value], [t].[Type], [t].[c] @@ -34,7 +35,8 @@ FROM [Child20277] AS [c0] WHERE [c0].[Type] = 2 ) AS [t2] WHERE [t2].[row] <= 1 -) AS [t1] ON [e].[Id] = [t1].[Entity20277Id]"); +) AS [t1] ON [e].[Id] = [t1].[Entity20277Id] +"""); } public override async Task Multiple_owned_reference_mapped_to_own_table_containing_owned_collection_in_split_query(bool async) @@ -42,14 +44,17 @@ public override async Task Multiple_owned_reference_mapped_to_own_table_containi await base.Multiple_owned_reference_mapped_to_own_table_containing_owned_collection_in_split_query(async); AssertSql( - @"SELECT TOP(2) [r].[Id], [m].[Id], [m].[Enabled], [m].[RootId], [m0].[Id], [m0].[RootId] +""" +SELECT TOP(2) [r].[Id], [m].[Id], [m].[Enabled], [m].[RootId], [m0].[Id], [m0].[RootId] FROM [Root24777] AS [r] LEFT JOIN [MiddleB24777] AS [m] ON [r].[Id] = [m].[RootId] LEFT JOIN [ModdleA24777] AS [m0] ON [r].[Id] = [m0].[RootId] WHERE [r].[Id] = 3 -ORDER BY [r].[Id], [m].[Id], [m0].[Id]", +ORDER BY [r].[Id], [m].[Id], [m0].[Id] +""", // - @"SELECT [l].[ModdleAId], [l].[UnitThreshold], [t].[Id], [t].[Id0], [t].[Id1] +""" +SELECT [l].[ModdleAId], [l].[UnitThreshold], [t].[Id], [t].[Id0], [t].[Id1] FROM ( SELECT TOP(1) [r].[Id], [m].[Id] AS [Id0], [m0].[Id] AS [Id1] FROM [Root24777] AS [r] @@ -58,7 +63,8 @@ FROM [Root24777] AS [r] WHERE [r].[Id] = 3 ) AS [t] INNER JOIN [Leaf24777] AS [l] ON [t].[Id1] = [l].[ModdleAId] -ORDER BY [t].[Id], [t].[Id0], [t].[Id1]"); +ORDER BY [t].[Id], [t].[Id0], [t].[Id1] +"""); } public override async Task Projecting_owned_collection_and_aggregate(bool async) @@ -66,13 +72,15 @@ public override async Task Projecting_owned_collection_and_aggregate(bool async) await base.Projecting_owned_collection_and_aggregate(async); AssertSql( - @"SELECT [b].[Id], ( +""" +SELECT [b].[Id], ( SELECT COALESCE(SUM([p].[CommentsCount]), 0) FROM [Post24133] AS [p] WHERE [b].[Id] = [p].[BlogId]), [p0].[Title], [p0].[CommentsCount], [p0].[BlogId], [p0].[Id] FROM [Blog24133] AS [b] LEFT JOIN [Post24133] AS [p0] ON [b].[Id] = [p0].[BlogId] -ORDER BY [b].[Id], [p0].[BlogId]"); +ORDER BY [b].[Id], [p0].[BlogId] +"""); } public override async Task Projecting_correlated_collection_property_for_owned_entity(bool async) @@ -80,10 +88,12 @@ public override async Task Projecting_correlated_collection_property_for_owned_e await base.Projecting_correlated_collection_property_for_owned_entity(async); AssertSql( - @"SELECT [w].[WarehouseCode], [w].[Id], [w0].[CountryCode], [w0].[WarehouseCode], [w0].[Id] +""" +SELECT [w].[WarehouseCode], [w].[Id], [w0].[CountryCode], [w0].[WarehouseCode], [w0].[Id] FROM [Warehouses] AS [w] LEFT JOIN [WarehouseDestinationCountry] AS [w0] ON [w].[WarehouseCode] = [w0].[WarehouseCode] -ORDER BY [w].[Id], [w0].[WarehouseCode]"); +ORDER BY [w].[Id], [w0].[WarehouseCode] +"""); } public override async Task Owned_collection_basic_split_query(bool async) @@ -91,12 +101,14 @@ public override async Task Owned_collection_basic_split_query(bool async) await base.Owned_collection_basic_split_query(async); AssertSql( - @"@__id_0='6c1ae3e5-30b9-4c77-8d98-f02075974a0a' +""" +@__id_0='6c1ae3e5-30b9-4c77-8d98-f02075974a0a' SELECT TOP(1) [l].[Id] FROM [Location25680] AS [l] WHERE [l].[Id] = @__id_0 -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Owned_reference_mapped_to_different_table_updated_correctly_after_subquery_pushdown(bool async) @@ -104,14 +116,16 @@ public override async Task Owned_reference_mapped_to_different_table_updated_cor await base.Owned_reference_mapped_to_different_table_updated_correctly_after_subquery_pushdown(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [c].[Id], [c].[Name], [c0].[CompanyId], [c0].[AdditionalCustomerData], [c0].[Id], [s].[CompanyId], [s].[AdditionalSupplierData], [s].[Id] FROM [Companies] AS [c] LEFT JOIN [CustomerData] AS [c0] ON [c].[Id] = [c0].[CompanyId] LEFT JOIN [SupplierData] AS [s] ON [c].[Id] = [s].[CompanyId] WHERE [c0].[CompanyId] IS NOT NULL -ORDER BY [c].[Id]"); +ORDER BY [c].[Id] +"""); } public override async Task Owned_reference_mapped_to_different_table_nested_updated_correctly_after_subquery_pushdown(bool async) @@ -119,7 +133,8 @@ public override async Task Owned_reference_mapped_to_different_table_nested_upda await base.Owned_reference_mapped_to_different_table_nested_updated_correctly_after_subquery_pushdown(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT TOP(@__p_0) [o].[Id], [o].[Name], [i].[OwnerId], [i].[Id], [i].[Name], [i0].[IntermediateOwnedEntityOwnerId], [i0].[AdditionalCustomerData], [i0].[Id], [i1].[IntermediateOwnedEntityOwnerId], [i1].[AdditionalSupplierData], [i1].[Id] FROM [Owners] AS [o] @@ -127,7 +142,8 @@ FROM [Owners] AS [o] LEFT JOIN [IM_CustomerData] AS [i0] ON [i].[OwnerId] = [i0].[IntermediateOwnedEntityOwnerId] LEFT JOIN [IM_SupplierData] AS [i1] ON [i].[OwnerId] = [i1].[IntermediateOwnedEntityOwnerId] WHERE [i0].[IntermediateOwnedEntityOwnerId] IS NOT NULL -ORDER BY [o].[Id]"); +ORDER BY [o].[Id] +"""); } public override async Task Owned_entity_with_all_null_properties_materializes_when_not_containing_another_owned_entity(bool async) @@ -135,9 +151,11 @@ public override async Task Owned_entity_with_all_null_properties_materializes_wh await base.Owned_entity_with_all_null_properties_materializes_when_not_containing_another_owned_entity(async); AssertSql( - @"SELECT [r].[Id], [r].[Buyer], [r].[Rot_ApartmentNo], [r].[Rot_ServiceType], [r].[Rut_Value] +""" +SELECT [r].[Id], [r].[Buyer], [r].[Rot_ApartmentNo], [r].[Rot_ServiceType], [r].[Rut_Value] FROM [RotRutCases] AS [r] -ORDER BY [r].[Buyer]"); +ORDER BY [r].[Buyer] +"""); } public override async Task Owned_entity_with_all_null_properties_entity_equality_when_not_containing_another_owned_entity(bool async) @@ -145,9 +163,11 @@ public override async Task Owned_entity_with_all_null_properties_entity_equality await base.Owned_entity_with_all_null_properties_entity_equality_when_not_containing_another_owned_entity(async); AssertSql( - @"SELECT [r].[Id], [r].[Rot_ApartmentNo], [r].[Rot_ServiceType] +""" +SELECT [r].[Id], [r].[Rot_ApartmentNo], [r].[Rot_ServiceType] FROM [RotRutCases] AS [r] -WHERE ([r].[Rot_ApartmentNo] IS NOT NULL) AND ([r].[Rot_ServiceType] IS NOT NULL)"); +WHERE ([r].[Rot_ApartmentNo] IS NOT NULL) AND ([r].[Rot_ServiceType] IS NOT NULL) +"""); } public override async Task Owned_entity_with_all_null_properties_property_access_when_not_containing_another_owned_entity(bool async) @@ -155,7 +175,9 @@ public override async Task Owned_entity_with_all_null_properties_property_access await base.Owned_entity_with_all_null_properties_property_access_when_not_containing_another_owned_entity(async); AssertSql( - @"SELECT [r].[Rot_ApartmentNo] -FROM [RotRutCases] AS [r]"); +""" +SELECT [r].[Rot_ApartmentNo] +FROM [RotRutCases] AS [r] +"""); } } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/OwnedQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/OwnedQuerySqlServerTest.cs index 8e00f6c4b3c..cd3d6dd0af8 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/OwnedQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/OwnedQuerySqlServerTest.cs @@ -19,7 +19,8 @@ public override async Task Query_with_owned_entity_equality_operator(bool async) await base.Query_with_owned_entity_equality_operator(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] CROSS JOIN ( SELECT [o0].[Id] @@ -32,7 +33,8 @@ FROM [Order] AS [o1] LEFT JOIN [OrderDetail] AS [o2] ON [o1].[ClientId] = [o2].[OrderClientId] AND [o1].[Id] = [o2].[OrderId] ) AS [t0] ON [o].[Id] = [t0].[ClientId] WHERE 0 = 1 -ORDER BY [o].[Id], [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [o].[Id], [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Query_for_base_type_loads_all_owned_navs(bool async) @@ -41,14 +43,16 @@ public override async Task Query_for_base_type_loads_all_owned_navs(bool async) // See issue #10067 AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task No_ignored_include_warning_when_implicit_load(bool async) @@ -56,8 +60,10 @@ public override async Task No_ignored_include_warning_when_implicit_load(bool as await base.No_ignored_include_warning_when_implicit_load(async); AssertSql( - @"SELECT COUNT(*) -FROM [OwnedPerson] AS [o]"); +""" +SELECT COUNT(*) +FROM [OwnedPerson] AS [o] +"""); } public override async Task Query_for_branch_type_loads_all_owned_navs(bool async) @@ -65,7 +71,8 @@ public override async Task Query_for_branch_type_loads_all_owned_navs(bool async await base.Query_for_branch_type_loads_all_owned_navs(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] @@ -73,7 +80,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Discriminator] IN (N'Branch', N'LeafA') -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Query_for_branch_type_loads_all_owned_navs_tracking(bool async) @@ -81,7 +89,8 @@ public override async Task Query_for_branch_type_loads_all_owned_navs_tracking(b await base.Query_for_branch_type_loads_all_owned_navs_tracking(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] @@ -89,7 +98,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Discriminator] IN (N'Branch', N'LeafA') -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Query_for_leaf_type_loads_all_owned_navs(bool async) @@ -97,7 +107,8 @@ public override async Task Query_for_leaf_type_loads_all_owned_navs(bool async) await base.Query_for_leaf_type_loads_all_owned_navs(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] @@ -105,7 +116,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Discriminator] = N'LeafA' -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Query_when_subquery(bool async) @@ -113,7 +125,8 @@ public override async Task Query_when_subquery(bool async) await base.Query_when_subquery(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t1].[ClientId], [t1].[Id], [t1].[OrderDate], [t1].[OrderClientId], [t1].[OrderId], [t1].[Id0], [t1].[Detail], [t0].[PersonAddress_AddressLine], [t0].[PersonAddress_PlaceType], [t0].[PersonAddress_ZipCode], [t0].[PersonAddress_Country_Name], [t0].[PersonAddress_Country_PlanetId], [t0].[BranchAddress_BranchName], [t0].[BranchAddress_PlaceType], [t0].[BranchAddress_Country_Name], [t0].[BranchAddress_Country_PlanetId], [t0].[LeafBAddress_LeafBType], [t0].[LeafBAddress_PlaceType], [t0].[LeafBAddress_Country_Name], [t0].[LeafBAddress_Country_PlanetId], [t0].[LeafAAddress_LeafType], [t0].[LeafAAddress_PlaceType], [t0].[LeafAAddress_Country_Name], [t0].[LeafAAddress_Country_PlanetId] FROM ( @@ -129,7 +142,8 @@ LEFT JOIN ( FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t1] ON [t0].[Id] = [t1].[ClientId] -ORDER BY [t0].[Id], [t1].[ClientId], [t1].[Id], [t1].[OrderClientId], [t1].[OrderId]"); +ORDER BY [t0].[Id], [t1].[ClientId], [t1].[Id], [t1].[OrderClientId], [t1].[OrderId] +"""); } public override async Task Navigation_rewrite_on_owned_reference_projecting_scalar(bool async) @@ -137,9 +151,11 @@ public override async Task Navigation_rewrite_on_owned_reference_projecting_scal await base.Navigation_rewrite_on_owned_reference_projecting_scalar(async); AssertSql( - @"SELECT [o].[PersonAddress_Country_Name] +""" +SELECT [o].[PersonAddress_Country_Name] FROM [OwnedPerson] AS [o] -WHERE [o].[PersonAddress_Country_Name] = N'USA'"); +WHERE [o].[PersonAddress_Country_Name] = N'USA' +"""); } public override async Task Navigation_rewrite_on_owned_reference_projecting_entity(bool async) @@ -147,7 +163,8 @@ public override async Task Navigation_rewrite_on_owned_reference_projecting_enti await base.Navigation_rewrite_on_owned_reference_projecting_entity(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] @@ -155,7 +172,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[PersonAddress_Country_Name] = N'USA' -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Navigation_rewrite_on_owned_collection(bool async) @@ -163,7 +181,8 @@ public override async Task Navigation_rewrite_on_owned_collection(bool async) await base.Navigation_rewrite_on_owned_collection(async); AssertSql( - @"SELECT [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail] +""" +SELECT [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o1].[ClientId], [o1].[Id], [o1].[OrderDate], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id] AS [Id0], [o2].[Detail] @@ -174,7 +193,8 @@ FROM [Order] AS [o1] SELECT COUNT(*) FROM [Order] AS [o0] WHERE [o].[Id] = [o0].[ClientId]) > 0 -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Navigation_rewrite_on_owned_collection_with_composition(bool async) @@ -182,7 +202,8 @@ public override async Task Navigation_rewrite_on_owned_collection_with_compositi await base.Navigation_rewrite_on_owned_collection_with_composition(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) CASE WHEN [o0].[Id] <> 42 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -191,7 +212,8 @@ FROM [Order] AS [o0] WHERE [o].[Id] = [o0].[ClientId] ORDER BY [o0].[Id]), CAST(0 AS bit)) FROM [OwnedPerson] AS [o] -ORDER BY [o].[Id]"); +ORDER BY [o].[Id] +"""); } public override async Task Navigation_rewrite_on_owned_collection_with_composition_complex(bool async) @@ -199,13 +221,15 @@ public override async Task Navigation_rewrite_on_owned_collection_with_compositi await base.Navigation_rewrite_on_owned_collection_with_composition_complex(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [o1].[PersonAddress_Country_Name] FROM [Order] AS [o0] LEFT JOIN [OwnedPerson] AS [o1] ON [o0].[ClientId] = [o1].[Id] WHERE [o].[Id] = [o0].[ClientId] ORDER BY [o0].[Id]) -FROM [OwnedPerson] AS [o]"); +FROM [OwnedPerson] AS [o] +"""); } public override async Task SelectMany_on_owned_collection(bool async) @@ -213,11 +237,13 @@ public override async Task SelectMany_on_owned_collection(bool async) await base.SelectMany_on_owned_collection(async); AssertSql( - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail] +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o1].[OrderClientId], [o1].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o1].[OrderClientId], [o1].[OrderId] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity(bool async) @@ -225,9 +251,11 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity(async); AssertSql( - @"SELECT [p].[Id], [p].[Name], [p].[StarId] +""" +SELECT [p].[Id], [p].[Name], [p].[StarId] FROM [OwnedPerson] AS [o] -LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id]"); +LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] +"""); } public override async Task Filter_owned_entity_chained_with_regular_entity_followed_by_projecting_owned_collection(bool async) @@ -235,7 +263,8 @@ public override async Task Filter_owned_entity_chained_with_regular_entity_follo await base.Filter_owned_entity_chained_with_regular_entity_followed_by_projecting_owned_collection(async); AssertSql( - @"SELECT [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail] +""" +SELECT [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN ( @@ -244,7 +273,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [p].[Id] <> 42 OR ([p].[Id] IS NULL) -ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Project_multiple_owned_navigations(bool async) @@ -252,7 +282,8 @@ public override async Task Project_multiple_owned_navigations(bool async) await base.Project_multiple_owned_navigations(async); AssertSql( - @"SELECT [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [p].[Name], [p].[StarId] +""" +SELECT [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [p].[Name], [p].[StarId] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN ( @@ -260,7 +291,8 @@ LEFT JOIN ( FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] -ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Project_multiple_owned_navigations_with_expansion_on_owned_collections(bool async) @@ -268,7 +300,8 @@ public override async Task Project_multiple_owned_navigations_with_expansion_on_ await base.Project_multiple_owned_navigations_with_expansion_on_owned_collections(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Order] AS [o0] LEFT JOIN [OwnedPerson] AS [o1] ON [o0].[ClientId] = [o1].[Id] @@ -277,7 +310,8 @@ FROM [Order] AS [o0] WHERE [o].[Id] = [o0].[ClientId] AND ([s].[Id] <> 42 OR ([s].[Id] IS NULL))) AS [Count], [p].[Id], [p].[Name], [p].[StarId] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] -ORDER BY [o].[Id]"); +ORDER BY [o].[Id] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_filter(bool async) @@ -285,7 +319,8 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_filter(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN ( @@ -294,7 +329,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [p].[Id] <> 7 OR ([p].[Id] IS NULL) -ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_property(bool async) @@ -302,9 +338,11 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_property(async); AssertSql( - @"SELECT [p].[Id] +""" +SELECT [p].[Id] FROM [OwnedPerson] AS [o] -LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id]"); +LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection(bool async) @@ -312,11 +350,13 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection(async); AssertSql( - @"SELECT [o].[Id], [p].[Id], [m].[Id], [m].[Diameter], [m].[PlanetId] +""" +SELECT [o].[Id], [p].[Id], [m].[Id], [m].[Diameter], [m].[PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN [Moon] AS [m] ON [p].[Id] = [m].[PlanetId] -ORDER BY [o].[Id], [p].[Id]"); +ORDER BY [o].[Id], [p].[Id] +"""); } public override async Task SelectMany_on_owned_reference_followed_by_regular_entity_and_collection(bool async) @@ -324,10 +364,12 @@ public override async Task SelectMany_on_owned_reference_followed_by_regular_ent await base.SelectMany_on_owned_reference_followed_by_regular_entity_and_collection(async); AssertSql( - @"SELECT [m].[Id], [m].[Diameter], [m].[PlanetId] +""" +SELECT [m].[Id], [m].[Diameter], [m].[PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] -INNER JOIN [Moon] AS [m] ON [p].[Id] = [m].[PlanetId]"); +INNER JOIN [Moon] AS [m] ON [p].[Id] = [m].[PlanetId] +"""); } public override async Task SelectMany_on_owned_reference_with_entity_in_between_ending_in_owned_collection(bool async) @@ -335,11 +377,13 @@ public override async Task SelectMany_on_owned_reference_with_entity_in_between_ await base.SelectMany_on_owned_reference_with_entity_in_between_ending_in_owned_collection(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[StarId] +""" +SELECT [e].[Id], [e].[Name], [e].[StarId] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN [Star] AS [s] ON [p].[StarId] = [s].[Id] -INNER JOIN [Element] AS [e] ON [s].[Id] = [e].[StarId]"); +INNER JOIN [Element] AS [e] ON [s].[Id] = [e].[StarId] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference(bool async) @@ -347,12 +391,14 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference(async); AssertSql( - @"SELECT [s].[Id], [s].[Name], [o].[Id], [p].[Id], [e].[Id], [e].[Name], [e].[StarId] +""" +SELECT [s].[Id], [s].[Name], [o].[Id], [p].[Id], [e].[Id], [e].[Name], [e].[StarId] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN [Star] AS [s] ON [p].[StarId] = [s].[Id] LEFT JOIN [Element] AS [e] ON [s].[Id] = [e].[StarId] -ORDER BY [o].[Id], [p].[Id], [s].[Id]"); +ORDER BY [o].[Id], [p].[Id], [s].[Id] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference_and_scalar( @@ -361,10 +407,12 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference_and_scalar(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] -LEFT JOIN [Star] AS [s] ON [p].[StarId] = [s].[Id]"); +LEFT JOIN [Star] AS [s] ON [p].[StarId] = [s].[Id] +"""); } public override async Task @@ -374,13 +422,15 @@ await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_ async); AssertSql( - @"SELECT [s].[Id], [s].[Name], [o].[Id], [p].[Id], [e].[Id], [e].[Name], [e].[StarId] +""" +SELECT [s].[Id], [s].[Name], [o].[Id], [p].[Id], [e].[Id], [e].[Name], [e].[StarId] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN [Star] AS [s] ON [p].[StarId] = [s].[Id] LEFT JOIN [Element] AS [e] ON [s].[Id] = [e].[StarId] WHERE [s].[Name] = N'Sol' -ORDER BY [o].[Id], [p].[Id], [s].[Id]"); +ORDER BY [o].[Id], [p].[Id], [s].[Id] +"""); } public override async Task Query_with_OfType_eagerly_loads_correct_owned_navigations(bool async) @@ -388,7 +438,8 @@ public override async Task Query_with_OfType_eagerly_loads_correct_owned_navigat await base.Query_with_OfType_eagerly_loads_correct_owned_navigations(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] @@ -396,7 +447,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Discriminator] = N'LeafA' -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Preserve_includes_when_applying_skip_take_after_anonymous_type_select(bool async) @@ -404,10 +456,13 @@ public override async Task Preserve_includes_when_applying_skip_take_after_anony await base.Preserve_includes_when_applying_skip_take_after_anonymous_type_select(async); AssertSql( - @"SELECT COUNT(*) -FROM [OwnedPerson] AS [o]", +""" +SELECT COUNT(*) +FROM [OwnedPerson] AS [o] +""", // - @"@__p_1='0' +""" +@__p_1='0' @__p_2='100' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] @@ -422,7 +477,8 @@ LEFT JOIN ( FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Unmapped_property_projection_loads_owned_navigations(bool async) @@ -430,7 +486,8 @@ public override async Task Unmapped_property_projection_loads_owned_navigations( await base.Unmapped_property_projection_loads_owned_navigations(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] @@ -438,7 +495,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Id] = 1 -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Client_method_skip_loads_owned_navigations(bool async) @@ -446,7 +504,8 @@ public override async Task Client_method_skip_loads_owned_navigations(bool async await base.Client_method_skip_loads_owned_navigations(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM ( @@ -460,7 +519,8 @@ LEFT JOIN ( FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Client_method_take_loads_owned_navigations(bool async) @@ -468,7 +528,8 @@ public override async Task Client_method_take_loads_owned_navigations(bool async await base.Client_method_take_loads_owned_navigations(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM ( @@ -481,7 +542,8 @@ LEFT JOIN ( FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Client_method_skip_take_loads_owned_navigations(bool async) @@ -489,7 +551,8 @@ public override async Task Client_method_skip_take_loads_owned_navigations(bool await base.Client_method_skip_take_loads_owned_navigations(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='2' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] @@ -504,7 +567,8 @@ LEFT JOIN ( FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Client_method_skip_loads_owned_navigations_variation_2(bool async) @@ -512,7 +576,8 @@ public override async Task Client_method_skip_loads_owned_navigations_variation_ await base.Client_method_skip_loads_owned_navigations_variation_2(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM ( @@ -526,7 +591,8 @@ LEFT JOIN ( FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Client_method_take_loads_owned_navigations_variation_2(bool async) @@ -534,7 +600,8 @@ public override async Task Client_method_take_loads_owned_navigations_variation_ await base.Client_method_take_loads_owned_navigations_variation_2(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM ( @@ -547,7 +614,8 @@ LEFT JOIN ( FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Client_method_skip_take_loads_owned_navigations_variation_2(bool async) @@ -555,7 +623,8 @@ public override async Task Client_method_skip_take_loads_owned_navigations_varia await base.Client_method_skip_take_loads_owned_navigations_variation_2(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='2' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] @@ -570,7 +639,8 @@ LEFT JOIN ( FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Where_owned_collection_navigation_ToList_Count(bool async) @@ -578,7 +648,8 @@ public override async Task Where_owned_collection_navigation_ToList_Count(bool a await base.Where_owned_collection_navigation_ToList_Count(async); AssertSql( - @"SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail] +""" +SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] AS [o2] ON [o0].[ClientId] = [o2].[OrderClientId] AND [o0].[Id] = [o2].[OrderId] @@ -586,7 +657,8 @@ FROM [OwnedPerson] AS [o] SELECT COUNT(*) FROM [OrderDetail] AS [o1] WHERE [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId]) = 0 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId] +"""); } public override async Task Where_collection_navigation_ToArray_Count(bool async) @@ -594,7 +666,8 @@ public override async Task Where_collection_navigation_ToArray_Count(bool async) await base.Where_collection_navigation_ToArray_Count(async); AssertSql( - @"SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail] +""" +SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] AS [o2] ON [o0].[ClientId] = [o2].[OrderClientId] AND [o0].[Id] = [o2].[OrderId] @@ -602,7 +675,8 @@ FROM [OwnedPerson] AS [o] SELECT COUNT(*) FROM [OrderDetail] AS [o1] WHERE [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId]) = 0 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId] +"""); } public override async Task Where_collection_navigation_AsEnumerable_Count(bool async) @@ -610,7 +684,8 @@ public override async Task Where_collection_navigation_AsEnumerable_Count(bool a await base.Where_collection_navigation_AsEnumerable_Count(async); AssertSql( - @"SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail] +""" +SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] AS [o2] ON [o0].[ClientId] = [o2].[OrderClientId] AND [o0].[Id] = [o2].[OrderId] @@ -618,7 +693,8 @@ FROM [OwnedPerson] AS [o] SELECT COUNT(*) FROM [OrderDetail] AS [o1] WHERE [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId]) = 0 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId] +"""); } public override async Task Where_collection_navigation_ToList_Count_member(bool async) @@ -626,7 +702,8 @@ public override async Task Where_collection_navigation_ToList_Count_member(bool await base.Where_collection_navigation_ToList_Count_member(async); AssertSql( - @"SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail] +""" +SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] AS [o2] ON [o0].[ClientId] = [o2].[OrderClientId] AND [o0].[Id] = [o2].[OrderId] @@ -634,7 +711,8 @@ FROM [OwnedPerson] AS [o] SELECT COUNT(*) FROM [OrderDetail] AS [o1] WHERE [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId]) = 0 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId] +"""); } public override async Task Where_collection_navigation_ToArray_Length_member(bool async) @@ -642,7 +720,8 @@ public override async Task Where_collection_navigation_ToArray_Length_member(boo await base.Where_collection_navigation_ToArray_Length_member(async); AssertSql( - @"SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail] +""" +SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] AS [o2] ON [o0].[ClientId] = [o2].[OrderClientId] AND [o0].[Id] = [o2].[OrderId] @@ -650,7 +729,8 @@ FROM [OwnedPerson] AS [o] SELECT COUNT(*) FROM [OrderDetail] AS [o1] WHERE [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId]) = 0 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId] +"""); } public override async Task Can_query_on_indexer_properties(bool async) @@ -658,7 +738,8 @@ public override async Task Can_query_on_indexer_properties(bool async) await base.Can_query_on_indexer_properties(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] @@ -666,7 +747,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Name] = N'Mona Cy' -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Can_query_on_owned_indexer_properties(bool async) @@ -674,9 +756,11 @@ public override async Task Can_query_on_owned_indexer_properties(bool async) await base.Can_query_on_owned_indexer_properties(async); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] AS [o] -WHERE [o].[PersonAddress_ZipCode] = 38654"); +WHERE [o].[PersonAddress_ZipCode] = 38654 +"""); } public override async Task Can_query_on_indexer_property_when_property_name_from_closure(bool async) @@ -684,9 +768,11 @@ public override async Task Can_query_on_indexer_property_when_property_name_from await base.Can_query_on_indexer_property_when_property_name_from_closure(async); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] AS [o] -WHERE [o].[Name] = N'Mona Cy'"); +WHERE [o].[Name] = N'Mona Cy' +"""); } public override async Task Can_project_indexer_properties(bool async) @@ -694,8 +780,10 @@ public override async Task Can_project_indexer_properties(bool async) await base.Can_project_indexer_properties(async); AssertSql( - @"SELECT [o].[Name] -FROM [OwnedPerson] AS [o]"); +""" +SELECT [o].[Name] +FROM [OwnedPerson] AS [o] +"""); } public override async Task Can_project_owned_indexer_properties(bool async) @@ -703,8 +791,10 @@ public override async Task Can_project_owned_indexer_properties(bool async) await base.Can_project_owned_indexer_properties(async); AssertSql( - @"SELECT [o].[PersonAddress_AddressLine] -FROM [OwnedPerson] AS [o]"); +""" +SELECT [o].[PersonAddress_AddressLine] +FROM [OwnedPerson] AS [o] +"""); } public override async Task Can_project_indexer_properties_converted(bool async) @@ -712,8 +802,10 @@ public override async Task Can_project_indexer_properties_converted(bool async) await base.Can_project_indexer_properties_converted(async); AssertSql( - @"SELECT [o].[Name] -FROM [OwnedPerson] AS [o]"); +""" +SELECT [o].[Name] +FROM [OwnedPerson] AS [o] +"""); } public override async Task Can_project_owned_indexer_properties_converted(bool async) @@ -721,8 +813,10 @@ public override async Task Can_project_owned_indexer_properties_converted(bool a await base.Can_project_owned_indexer_properties_converted(async); AssertSql( - @"SELECT [o].[PersonAddress_AddressLine] -FROM [OwnedPerson] AS [o]"); +""" +SELECT [o].[PersonAddress_AddressLine] +FROM [OwnedPerson] AS [o] +"""); } public override async Task Can_OrderBy_indexer_properties(bool async) @@ -730,14 +824,16 @@ public override async Task Can_OrderBy_indexer_properties(bool async) await base.Can_OrderBy_indexer_properties(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] -ORDER BY [o].[Name], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Name], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Can_OrderBy_indexer_properties_converted(bool async) @@ -745,9 +841,11 @@ public override async Task Can_OrderBy_indexer_properties_converted(bool async) await base.Can_OrderBy_indexer_properties_converted(async); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] AS [o] -ORDER BY [o].[Name], [o].[Id]"); +ORDER BY [o].[Name], [o].[Id] +"""); } public override async Task Can_OrderBy_owned_indexer_properties(bool async) @@ -755,9 +853,11 @@ public override async Task Can_OrderBy_owned_indexer_properties(bool async) await base.Can_OrderBy_owned_indexer_properties(async); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] AS [o] -ORDER BY [o].[PersonAddress_ZipCode], [o].[Id]"); +ORDER BY [o].[PersonAddress_ZipCode], [o].[Id] +"""); } public override async Task Can_OrderBy_owened_indexer_properties_converted(bool async) @@ -765,9 +865,11 @@ public override async Task Can_OrderBy_owened_indexer_properties_converted(bool await base.Can_OrderBy_owened_indexer_properties_converted(async); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] AS [o] -ORDER BY [o].[PersonAddress_ZipCode], [o].[Id]"); +ORDER BY [o].[PersonAddress_ZipCode], [o].[Id] +"""); } public override async Task Can_group_by_indexer_property(bool isAsync) @@ -775,9 +877,11 @@ public override async Task Can_group_by_indexer_property(bool isAsync) await base.Can_group_by_indexer_property(isAsync); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [OwnedPerson] AS [o] -GROUP BY [o].[Name]"); +GROUP BY [o].[Name] +"""); } public override async Task Can_group_by_converted_indexer_property(bool isAsync) @@ -785,9 +889,11 @@ public override async Task Can_group_by_converted_indexer_property(bool isAsync) await base.Can_group_by_converted_indexer_property(isAsync); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [OwnedPerson] AS [o] -GROUP BY [o].[Name]"); +GROUP BY [o].[Name] +"""); } public override async Task Can_group_by_owned_indexer_property(bool isAsync) @@ -795,9 +901,11 @@ public override async Task Can_group_by_owned_indexer_property(bool isAsync) await base.Can_group_by_owned_indexer_property(isAsync); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [OwnedPerson] AS [o] -GROUP BY [o].[PersonAddress_ZipCode]"); +GROUP BY [o].[PersonAddress_ZipCode] +"""); } public override async Task Can_group_by_converted_owned_indexer_property(bool isAsync) @@ -805,9 +913,11 @@ public override async Task Can_group_by_converted_owned_indexer_property(bool is await base.Can_group_by_converted_owned_indexer_property(isAsync); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [OwnedPerson] AS [o] -GROUP BY [o].[PersonAddress_ZipCode]"); +GROUP BY [o].[PersonAddress_ZipCode] +"""); } public override async Task Can_join_on_indexer_property_on_query(bool isAsync) @@ -815,9 +925,11 @@ public override async Task Can_join_on_indexer_property_on_query(bool isAsync) await base.Can_join_on_indexer_property_on_query(isAsync); AssertSql( - @"SELECT [o].[Id], [o0].[PersonAddress_Country_Name] AS [Name] +""" +SELECT [o].[Id], [o0].[PersonAddress_Country_Name] AS [Name] FROM [OwnedPerson] AS [o] -INNER JOIN [OwnedPerson] AS [o0] ON [o].[PersonAddress_ZipCode] = [o0].[PersonAddress_ZipCode]"); +INNER JOIN [OwnedPerson] AS [o0] ON [o].[PersonAddress_ZipCode] = [o0].[PersonAddress_ZipCode] +"""); } public override async Task Projecting_indexer_property_ignores_include(bool isAsync) @@ -825,8 +937,10 @@ public override async Task Projecting_indexer_property_ignores_include(bool isAs await base.Projecting_indexer_property_ignores_include(isAsync); AssertSql( - @"SELECT [o].[PersonAddress_ZipCode] AS [Nation] -FROM [OwnedPerson] AS [o]"); +""" +SELECT [o].[PersonAddress_ZipCode] AS [Nation] +FROM [OwnedPerson] AS [o] +"""); } public override async Task Projecting_indexer_property_ignores_include_converted(bool isAsync) @@ -834,8 +948,10 @@ public override async Task Projecting_indexer_property_ignores_include_converted await base.Projecting_indexer_property_ignores_include_converted(isAsync); AssertSql( - @"SELECT [o].[PersonAddress_ZipCode] AS [Nation] -FROM [OwnedPerson] AS [o]"); +""" +SELECT [o].[PersonAddress_ZipCode] AS [Nation] +FROM [OwnedPerson] AS [o] +"""); } public override async Task Indexer_property_is_pushdown_into_subquery(bool isAsync) @@ -843,12 +959,14 @@ public override async Task Indexer_property_is_pushdown_into_subquery(bool isAsy await base.Indexer_property_is_pushdown_into_subquery(isAsync); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] AS [o] WHERE ( SELECT TOP(1) [o0].[Name] FROM [OwnedPerson] AS [o0] - WHERE [o0].[Id] = [o].[Id]) = N'Mona Cy'"); + WHERE [o0].[Id] = [o].[Id]) = N'Mona Cy' +"""); } public override async Task Can_query_indexer_property_on_owned_collection(bool isAsync) @@ -856,12 +974,14 @@ public override async Task Can_query_indexer_property_on_owned_collection(bool i await base.Can_query_indexer_property_on_owned_collection(isAsync); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] AS [o] WHERE ( SELECT COUNT(*) FROM [Order] AS [o0] - WHERE [o].[Id] = [o0].[ClientId] AND DATEPART(year, [o0].[OrderDate]) = 2018) = 1"); + WHERE [o].[Id] = [o0].[ClientId] AND DATEPART(year, [o0].[OrderDate]) = 2018) = 1 +"""); } public override async Task Query_for_base_type_loads_all_owned_navs_split(bool async) @@ -869,20 +989,26 @@ public override async Task Query_for_base_type_loads_all_owned_navs_split(bool a await base.Query_for_base_type_loads_all_owned_navs_split(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] -ORDER BY [o].[Id]", +ORDER BY [o].[Id] +""", // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id] +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]", +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +""", // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [o0].[ClientId], [o0].[Id] +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Query_for_branch_type_loads_all_owned_navs_split(bool async) @@ -890,23 +1016,29 @@ public override async Task Query_for_branch_type_loads_all_owned_navs_split(bool await base.Query_for_branch_type_loads_all_owned_navs_split(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] WHERE [o].[Discriminator] IN (N'Branch', N'LeafA') -ORDER BY [o].[Id]", +ORDER BY [o].[Id] +""", // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id] +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] WHERE [o].[Discriminator] IN (N'Branch', N'LeafA') -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]", +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +""", // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [o0].[ClientId], [o0].[Id] +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] WHERE [o].[Discriminator] IN (N'Branch', N'LeafA') -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Query_when_subquery_split(bool async) @@ -914,16 +1046,19 @@ public override async Task Query_when_subquery_split(bool async) await base.Query_when_subquery_split(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT TOP(@__p_0) [t].[Id], [t].[Discriminator], [t].[Name], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM ( SELECT DISTINCT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] ) AS [t] -ORDER BY [t].[Id]", +ORDER BY [t].[Id] +""", // - @"@__p_0='5' +""" +@__p_0='5' SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [t0].[Id] FROM ( @@ -935,9 +1070,11 @@ FROM [OwnedPerson] AS [o] ORDER BY [t].[Id] ) AS [t0] INNER JOIN [Order] AS [o0] ON [t0].[Id] = [o0].[ClientId] -ORDER BY [t0].[Id], [o0].[ClientId], [o0].[Id]", +ORDER BY [t0].[Id], [o0].[ClientId], [o0].[Id] +""", // - @"@__p_0='5' +""" +@__p_0='5' SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [t0].[Id], [o0].[ClientId], [o0].[Id] FROM ( @@ -950,7 +1087,8 @@ ORDER BY [t].[Id] ) AS [t0] INNER JOIN [Order] AS [o0] ON [t0].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] -ORDER BY [t0].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [t0].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Project_multiple_owned_navigations_split(bool async) @@ -958,23 +1096,29 @@ public override async Task Project_multiple_owned_navigations_split(bool async) await base.Project_multiple_owned_navigations_split(async); AssertSql( - @"SELECT [o].[Id], [p].[Id], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [p].[Name], [p].[StarId] +""" +SELECT [o].[Id], [p].[Id], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [p].[Name], [p].[StarId] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] -ORDER BY [o].[Id], [p].[Id]", +ORDER BY [o].[Id], [p].[Id] +""", // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id], [p].[Id] +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id], [p].[Id] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] -ORDER BY [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id]", +ORDER BY [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id] +""", // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id] +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] -ORDER BY [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection_split(bool async) @@ -982,16 +1126,20 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection_split(async); AssertSql( - @"SELECT [o].[Id], [p].[Id] +""" +SELECT [o].[Id], [p].[Id] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] -ORDER BY [o].[Id], [p].[Id]", +ORDER BY [o].[Id], [p].[Id] +""", // - @"SELECT [m].[Id], [m].[Diameter], [m].[PlanetId], [o].[Id], [p].[Id] +""" +SELECT [m].[Id], [m].[Diameter], [m].[PlanetId], [o].[Id], [p].[Id] FROM [OwnedPerson] AS [o] LEFT JOIN [Planet] AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] INNER JOIN [Moon] AS [m] ON [p].[Id] = [m].[PlanetId] -ORDER BY [o].[Id], [p].[Id]"); +ORDER BY [o].[Id], [p].[Id] +"""); } public override async Task Query_with_OfType_eagerly_loads_correct_owned_navigations_split(bool async) @@ -999,23 +1147,29 @@ public override async Task Query_with_OfType_eagerly_loads_correct_owned_navigat await base.Query_with_OfType_eagerly_loads_correct_owned_navigations_split(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] WHERE [o].[Discriminator] = N'LeafA' -ORDER BY [o].[Id]", +ORDER BY [o].[Id] +""", // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id] +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] WHERE [o].[Discriminator] = N'LeafA' -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]", +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +""", // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [o0].[ClientId], [o0].[Id] +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] WHERE [o].[Discriminator] = N'LeafA' -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Unmapped_property_projection_loads_owned_navigations_split(bool async) @@ -1023,23 +1177,29 @@ public override async Task Unmapped_property_projection_loads_owned_navigations_ await base.Unmapped_property_projection_loads_owned_navigations_split(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] WHERE [o].[Id] = 1 -ORDER BY [o].[Id]", +ORDER BY [o].[Id] +""", // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id] +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] WHERE [o].[Id] = 1 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]", +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +""", // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [o0].[ClientId], [o0].[Id] +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] WHERE [o].[Id] = 1 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Can_query_on_indexer_properties_split(bool async) @@ -1047,23 +1207,29 @@ public override async Task Can_query_on_indexer_properties_split(bool async) await base.Can_query_on_indexer_properties_split(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] WHERE [o].[Name] = N'Mona Cy' -ORDER BY [o].[Id]", +ORDER BY [o].[Id] +""", // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id] +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o].[Id] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] WHERE [o].[Name] = N'Mona Cy' -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]", +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +""", // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [o0].[ClientId], [o0].[Id] +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] AS [o] INNER JOIN [Order] AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] WHERE [o].[Name] = N'Mona Cy' -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task GroupBy_with_multiple_aggregates_on_owned_navigation_properties(bool async) @@ -1071,7 +1237,8 @@ public override async Task GroupBy_with_multiple_aggregates_on_owned_navigation_ await base.GroupBy_with_multiple_aggregates_on_owned_navigation_properties(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([s].[Id] AS float)) FROM ( SELECT [o0].[Id], [o0].[Discriminator], [o0].[Name], 1 AS [Key], [o0].[PersonAddress_AddressLine], [o0].[PersonAddress_PlaceType], [o0].[PersonAddress_ZipCode], [o0].[PersonAddress_Country_Name], [o0].[PersonAddress_Country_PlanetId] @@ -1100,7 +1267,8 @@ FROM [OwnedPerson] AS [o2] SELECT 1 AS [Key] FROM [OwnedPerson] AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Ordering_by_identifying_projection(bool async) @@ -1108,14 +1276,16 @@ public override async Task Ordering_by_identifying_projection(bool async) await base.Ordering_by_identifying_projection(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] -ORDER BY [o].[PersonAddress_PlaceType], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[PersonAddress_PlaceType], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Using_from_sql_on_owner_generates_join_with_table_for_owned_shared_dependents(bool async) @@ -1123,9 +1293,10 @@ public override async Task Using_from_sql_on_owner_generates_join_with_table_for await base.Using_from_sql_on_owner_generates_join_with_table_for_owned_shared_dependents(async); AssertSql( - @"SELECT [m].[Id], [m].[Discriminator], [m].[Name], [o].[Id], [o0].[Id], [o1].[Id], [o2].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o0].[BranchAddress_BranchName], [o0].[BranchAddress_PlaceType], [o0].[BranchAddress_Country_Name], [o0].[BranchAddress_Country_PlanetId], [o1].[LeafBAddress_LeafBType], [o1].[LeafBAddress_PlaceType], [o1].[LeafBAddress_Country_Name], [o1].[LeafBAddress_Country_PlanetId], [o2].[LeafAAddress_LeafType], [o2].[LeafAAddress_PlaceType], [o2].[LeafAAddress_Country_Name], [o2].[LeafAAddress_Country_PlanetId] +""" +SELECT [m].[Id], [m].[Discriminator], [m].[Name], [o].[Id], [o0].[Id], [o1].[Id], [o2].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o0].[BranchAddress_BranchName], [o0].[BranchAddress_PlaceType], [o0].[BranchAddress_Country_Name], [o0].[BranchAddress_Country_PlanetId], [o1].[LeafBAddress_LeafBType], [o1].[LeafBAddress_PlaceType], [o1].[LeafBAddress_Country_Name], [o1].[LeafBAddress_Country_PlanetId], [o2].[LeafAAddress_LeafType], [o2].[LeafAAddress_PlaceType], [o2].[LeafAAddress_Country_Name], [o2].[LeafAAddress_Country_PlanetId] FROM ( - SELECT * FROM ""OwnedPerson"" + SELECT * FROM "OwnedPerson" ) AS [m] LEFT JOIN [OwnedPerson] AS [o] ON [m].[Id] = [o].[Id] LEFT JOIN [OwnedPerson] AS [o0] ON [m].[Id] = [o0].[Id] @@ -1136,7 +1307,8 @@ LEFT JOIN ( FROM [Order] AS [o3] LEFT JOIN [OrderDetail] AS [o4] ON [o3].[ClientId] = [o4].[OrderClientId] AND [o3].[Id] = [o4].[OrderId] ) AS [t] ON [m].[Id] = [t].[ClientId] -ORDER BY [m].[Id], [o].[Id], [o0].[Id], [o1].[Id], [o2].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [m].[Id], [o].[Id], [o0].[Id], [o1].[Id], [o2].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Projecting_collection_correlated_with_keyless_entity_after_navigation_works_using_parent_identifiers( @@ -1145,11 +1317,13 @@ public override async Task Projecting_collection_correlated_with_keyless_entity_ await base.Projecting_collection_correlated_with_keyless_entity_after_navigation_works_using_parent_identifiers(async); AssertSql( - @"SELECT [b].[Throned_Value], [f].[Id], [b].[Id], [p].[Id], [p].[Name], [p].[StarId] +""" +SELECT [b].[Throned_Value], [f].[Id], [b].[Id], [p].[Id], [p].[Name], [p].[StarId] FROM [Fink] AS [f] LEFT JOIN [Barton] AS [b] ON [f].[BartonId] = [b].[Id] LEFT JOIN [Planet] AS [p] ON [b].[Throned_Value] <> [p].[Id] OR ([b].[Throned_Value] IS NULL) -ORDER BY [f].[Id], [b].[Id]"); +ORDER BY [f].[Id], [b].[Id] +"""); } public override async Task Filter_on_indexer_using_closure(bool async) @@ -1157,7 +1331,8 @@ public override async Task Filter_on_indexer_using_closure(bool async) await base.Filter_on_indexer_using_closure(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] @@ -1165,7 +1340,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[PersonAddress_ZipCode] = 38654 -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Filter_on_indexer_using_function_argument(bool async) @@ -1173,7 +1349,8 @@ public override async Task Filter_on_indexer_using_function_argument(bool async) await base.Filter_on_indexer_using_function_argument(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail] @@ -1181,7 +1358,8 @@ FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[PersonAddress_ZipCode] = 38654 -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Simple_query_entity_with_owned_collection(bool async) @@ -1189,10 +1367,12 @@ public override async Task Simple_query_entity_with_owned_collection(bool async) await base.Simple_query_entity_with_owned_collection(async); AssertSql( - @"SELECT [s].[Id], [s].[Name], [e].[Id], [e].[Name], [e].[StarId] +""" +SELECT [s].[Id], [s].[Name], [e].[Id], [e].[Name], [e].[StarId] FROM [Star] AS [s] LEFT JOIN [Element] AS [e] ON [s].[Id] = [e].[StarId] -ORDER BY [s].[Id]"); +ORDER BY [s].[Id] +"""); } public override async Task Left_join_on_entity_with_owned_navigations(bool async) @@ -1200,7 +1380,8 @@ public override async Task Left_join_on_entity_with_owned_navigations(bool async await base.Left_join_on_entity_with_owned_navigations(async); AssertSql( - @"SELECT [p].[Id], [p].[Name], [p].[StarId], [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail] +""" +SELECT [p].[Id], [p].[Name], [p].[StarId], [o].[Id], [o].[Discriminator], [o].[Name], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail] FROM [Planet] AS [p] LEFT JOIN [OwnedPerson] AS [o] ON [p].[Id] = [o].[Id] LEFT JOIN ( @@ -1213,7 +1394,8 @@ LEFT JOIN ( FROM [Order] AS [o2] LEFT JOIN [OrderDetail] AS [o3] ON [o2].[ClientId] = [o3].[OrderClientId] AND [o2].[Id] = [o3].[OrderId] ) AS [t0] ON [o].[Id] = [t0].[ClientId] -ORDER BY [p].[Id], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [p].[Id], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Left_join_on_entity_with_owned_navigations_complex(bool async) @@ -1221,7 +1403,8 @@ public override async Task Left_join_on_entity_with_owned_navigations_complex(bo await base.Left_join_on_entity_with_owned_navigations_complex(async); AssertSql( - @"SELECT [p].[Id], [p].[Name], [p].[StarId], [t].[Id], [t].[Name], [t].[StarId], [t].[Id0], [t].[Discriminator], [t].[Name0], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] +""" +SELECT [p].[Id], [p].[Name], [p].[StarId], [t].[Id], [t].[Name], [t].[StarId], [t].[Id0], [t].[Discriminator], [t].[Name0], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM [Planet] AS [p] LEFT JOIN ( SELECT DISTINCT [p0].[Id], [p0].[Name], [p0].[StarId], [o].[Id] AS [Id0], [o].[Discriminator], [o].[Name] AS [Name0], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] @@ -1233,7 +1416,8 @@ LEFT JOIN ( FROM [Order] AS [o0] LEFT JOIN [OrderDetail] AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id0] = [t0].[ClientId] -ORDER BY [p].[Id], [t].[Id], [t].[Id0], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [p].[Id], [t].[Id], [t].[Id0], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task GroupBy_aggregate_on_owned_navigation_in_aggregate_selector(bool async) @@ -1241,12 +1425,14 @@ public override async Task GroupBy_aggregate_on_owned_navigation_in_aggregate_se await base.GroupBy_aggregate_on_owned_navigation_in_aggregate_selector(async); AssertSql( - @"SELECT [o].[Id] AS [Key], ( +""" +SELECT [o].[Id] AS [Key], ( SELECT COALESCE(SUM([o0].[PersonAddress_Country_PlanetId]), 0) FROM [OwnedPerson] AS [o0] WHERE [o].[Id] = [o0].[Id]) AS [Sum] FROM [OwnedPerson] AS [o] -GROUP BY [o].[Id]"); +GROUP BY [o].[Id] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/QueryBugsTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/QueryBugsTest.cs index c5ed3fcc184..0bfe0f25f83 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/QueryBugsTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/QueryBugsTest.cs @@ -56,9 +56,11 @@ public async Task Where_equals_DateTime_Now(bool async) Assert.Empty(results); AssertSql( - @"SELECT [d].[Id], [d].[DateTime], [d].[DateTime2], [d].[DateTime2_0], [d].[DateTime2_1], [d].[DateTime2_2], [d].[DateTime2_3], [d].[DateTime2_4], [d].[DateTime2_5], [d].[DateTime2_6], [d].[DateTime2_7], [d].[SmallDateTime] +""" +SELECT [d].[Id], [d].[DateTime], [d].[DateTime2], [d].[DateTime2_0], [d].[DateTime2_1], [d].[DateTime2_2], [d].[DateTime2_3], [d].[DateTime2_4], [d].[DateTime2_5], [d].[DateTime2_6], [d].[DateTime2_7], [d].[SmallDateTime] FROM [Dates] AS [d] -WHERE [d].[DateTime2_2] = GETDATE() OR [d].[DateTime2_7] = GETDATE() OR [d].[DateTime] = GETDATE() OR [d].[SmallDateTime] = GETDATE()"); +WHERE [d].[DateTime2_2] = GETDATE() OR [d].[DateTime2_7] = GETDATE() OR [d].[DateTime] = GETDATE() OR [d].[SmallDateTime] = GETDATE() +"""); } [ConditionalTheory] @@ -82,9 +84,11 @@ public async Task Where_not_equals_DateTime_Now(bool async) Assert.Single(results); AssertSql( - @"SELECT [d].[Id], [d].[DateTime], [d].[DateTime2], [d].[DateTime2_0], [d].[DateTime2_1], [d].[DateTime2_2], [d].[DateTime2_3], [d].[DateTime2_4], [d].[DateTime2_5], [d].[DateTime2_6], [d].[DateTime2_7], [d].[SmallDateTime] +""" +SELECT [d].[Id], [d].[DateTime], [d].[DateTime2], [d].[DateTime2_0], [d].[DateTime2_1], [d].[DateTime2_2], [d].[DateTime2_3], [d].[DateTime2_4], [d].[DateTime2_5], [d].[DateTime2_6], [d].[DateTime2_7], [d].[SmallDateTime] FROM [Dates] AS [d] -WHERE [d].[DateTime2_2] <> GETDATE() AND [d].[DateTime2_7] <> GETDATE() AND [d].[DateTime] <> GETDATE() AND [d].[SmallDateTime] <> GETDATE()"); +WHERE [d].[DateTime2_2] <> GETDATE() AND [d].[DateTime2_7] <> GETDATE() AND [d].[DateTime] <> GETDATE() AND [d].[SmallDateTime] <> GETDATE() +"""); } [ConditionalTheory] @@ -115,9 +119,11 @@ public async Task Where_equals_new_DateTime(bool async) Assert.Single(results); AssertSql( - @"SELECT [d].[Id], [d].[DateTime], [d].[DateTime2], [d].[DateTime2_0], [d].[DateTime2_1], [d].[DateTime2_2], [d].[DateTime2_3], [d].[DateTime2_4], [d].[DateTime2_5], [d].[DateTime2_6], [d].[DateTime2_7], [d].[SmallDateTime] +""" +SELECT [d].[Id], [d].[DateTime], [d].[DateTime2], [d].[DateTime2_0], [d].[DateTime2_1], [d].[DateTime2_2], [d].[DateTime2_3], [d].[DateTime2_4], [d].[DateTime2_5], [d].[DateTime2_6], [d].[DateTime2_7], [d].[SmallDateTime] FROM [Dates] AS [d] -WHERE [d].[SmallDateTime] = '1970-09-03T12:00:00' AND [d].[DateTime] = '1971-09-03T12:00:10.220' AND [d].[DateTime2] = '1972-09-03T12:00:10.3330000' AND [d].[DateTime2_0] = '1973-09-03T12:00:10' AND [d].[DateTime2_1] = '1974-09-03T12:00:10.5' AND [d].[DateTime2_2] = '1975-09-03T12:00:10.66' AND [d].[DateTime2_3] = '1976-09-03T12:00:10.777' AND [d].[DateTime2_4] = '1977-09-03T12:00:10.8880' AND [d].[DateTime2_5] = '1978-09-03T12:00:10.99900' AND [d].[DateTime2_6] = '1979-09-03T12:00:10.111000' AND [d].[DateTime2_7] = '1980-09-03T12:00:10.2220000'"); +WHERE [d].[SmallDateTime] = '1970-09-03T12:00:00' AND [d].[DateTime] = '1971-09-03T12:00:10.220' AND [d].[DateTime2] = '1972-09-03T12:00:10.3330000' AND [d].[DateTime2_0] = '1973-09-03T12:00:10' AND [d].[DateTime2_1] = '1974-09-03T12:00:10.5' AND [d].[DateTime2_2] = '1975-09-03T12:00:10.66' AND [d].[DateTime2_3] = '1976-09-03T12:00:10.777' AND [d].[DateTime2_4] = '1977-09-03T12:00:10.8880' AND [d].[DateTime2_5] = '1978-09-03T12:00:10.99900' AND [d].[DateTime2_6] = '1979-09-03T12:00:10.111000' AND [d].[DateTime2_7] = '1980-09-03T12:00:10.2220000' +"""); } [ConditionalTheory] @@ -163,9 +169,11 @@ public async Task Where_contains_DateTime_literals(bool async) Assert.Single(results); AssertSql( - @"SELECT [d].[Id], [d].[DateTime], [d].[DateTime2], [d].[DateTime2_0], [d].[DateTime2_1], [d].[DateTime2_2], [d].[DateTime2_3], [d].[DateTime2_4], [d].[DateTime2_5], [d].[DateTime2_6], [d].[DateTime2_7], [d].[SmallDateTime] +""" +SELECT [d].[Id], [d].[DateTime], [d].[DateTime2], [d].[DateTime2_0], [d].[DateTime2_1], [d].[DateTime2_2], [d].[DateTime2_3], [d].[DateTime2_4], [d].[DateTime2_5], [d].[DateTime2_6], [d].[DateTime2_7], [d].[SmallDateTime] FROM [Dates] AS [d] -WHERE [d].[SmallDateTime] IN ('1970-09-03T12:00:00', '1971-09-03T12:00:10', '1972-09-03T12:00:10', '1973-09-03T12:00:10', '1974-09-03T12:00:10', '1975-09-03T12:00:10', '1976-09-03T12:00:10', '1977-09-03T12:00:10', '1978-09-03T12:00:10', '1979-09-03T12:00:10', '1980-09-03T12:00:10') AND [d].[DateTime] IN ('1970-09-03T12:00:00.000', '1971-09-03T12:00:10.220', '1972-09-03T12:00:10.333', '1973-09-03T12:00:10.000', '1974-09-03T12:00:10.500', '1975-09-03T12:00:10.660', '1976-09-03T12:00:10.777', '1977-09-03T12:00:10.888', '1978-09-03T12:00:10.999', '1979-09-03T12:00:10.111', '1980-09-03T12:00:10.222') AND [d].[DateTime2] IN ('1970-09-03T12:00:00.0000000', '1971-09-03T12:00:10.2200000', '1972-09-03T12:00:10.3330000', '1973-09-03T12:00:10.0000000', '1974-09-03T12:00:10.5000000', '1975-09-03T12:00:10.6600000', '1976-09-03T12:00:10.7770000', '1977-09-03T12:00:10.8880000', '1978-09-03T12:00:10.9990000', '1979-09-03T12:00:10.1110000', '1980-09-03T12:00:10.2220000') AND [d].[DateTime2_0] IN ('1970-09-03T12:00:00', '1971-09-03T12:00:10', '1972-09-03T12:00:10', '1973-09-03T12:00:10', '1974-09-03T12:00:10', '1975-09-03T12:00:10', '1976-09-03T12:00:10', '1977-09-03T12:00:10', '1978-09-03T12:00:10', '1979-09-03T12:00:10', '1980-09-03T12:00:10') AND [d].[DateTime2_1] IN ('1970-09-03T12:00:00.0', '1971-09-03T12:00:10.2', '1972-09-03T12:00:10.3', '1973-09-03T12:00:10.0', '1974-09-03T12:00:10.5', '1975-09-03T12:00:10.6', '1976-09-03T12:00:10.7', '1977-09-03T12:00:10.8', '1978-09-03T12:00:10.9', '1979-09-03T12:00:10.1', '1980-09-03T12:00:10.2') AND [d].[DateTime2_2] IN ('1970-09-03T12:00:00.00', '1971-09-03T12:00:10.22', '1972-09-03T12:00:10.33', '1973-09-03T12:00:10.00', '1974-09-03T12:00:10.50', '1975-09-03T12:00:10.66', '1976-09-03T12:00:10.77', '1977-09-03T12:00:10.88', '1978-09-03T12:00:10.99', '1979-09-03T12:00:10.11', '1980-09-03T12:00:10.22') AND [d].[DateTime2_3] IN ('1970-09-03T12:00:00.000', '1971-09-03T12:00:10.220', '1972-09-03T12:00:10.333', '1973-09-03T12:00:10.000', '1974-09-03T12:00:10.500', '1975-09-03T12:00:10.660', '1976-09-03T12:00:10.777', '1977-09-03T12:00:10.888', '1978-09-03T12:00:10.999', '1979-09-03T12:00:10.111', '1980-09-03T12:00:10.222') AND [d].[DateTime2_4] IN ('1970-09-03T12:00:00.0000', '1971-09-03T12:00:10.2200', '1972-09-03T12:00:10.3330', '1973-09-03T12:00:10.0000', '1974-09-03T12:00:10.5000', '1975-09-03T12:00:10.6600', '1976-09-03T12:00:10.7770', '1977-09-03T12:00:10.8880', '1978-09-03T12:00:10.9990', '1979-09-03T12:00:10.1110', '1980-09-03T12:00:10.2220') AND [d].[DateTime2_5] IN ('1970-09-03T12:00:00.00000', '1971-09-03T12:00:10.22000', '1972-09-03T12:00:10.33300', '1973-09-03T12:00:10.00000', '1974-09-03T12:00:10.50000', '1975-09-03T12:00:10.66000', '1976-09-03T12:00:10.77700', '1977-09-03T12:00:10.88800', '1978-09-03T12:00:10.99900', '1979-09-03T12:00:10.11100', '1980-09-03T12:00:10.22200') AND [d].[DateTime2_6] IN ('1970-09-03T12:00:00.000000', '1971-09-03T12:00:10.220000', '1972-09-03T12:00:10.333000', '1973-09-03T12:00:10.000000', '1974-09-03T12:00:10.500000', '1975-09-03T12:00:10.660000', '1976-09-03T12:00:10.777000', '1977-09-03T12:00:10.888000', '1978-09-03T12:00:10.999000', '1979-09-03T12:00:10.111000', '1980-09-03T12:00:10.222000') AND [d].[DateTime2_7] IN ('1970-09-03T12:00:00.0000000', '1971-09-03T12:00:10.2200000', '1972-09-03T12:00:10.3330000', '1973-09-03T12:00:10.0000000', '1974-09-03T12:00:10.5000000', '1975-09-03T12:00:10.6600000', '1976-09-03T12:00:10.7770000', '1977-09-03T12:00:10.8880000', '1978-09-03T12:00:10.9990000', '1979-09-03T12:00:10.1110000', '1980-09-03T12:00:10.2220000')"); +WHERE [d].[SmallDateTime] IN ('1970-09-03T12:00:00', '1971-09-03T12:00:10', '1972-09-03T12:00:10', '1973-09-03T12:00:10', '1974-09-03T12:00:10', '1975-09-03T12:00:10', '1976-09-03T12:00:10', '1977-09-03T12:00:10', '1978-09-03T12:00:10', '1979-09-03T12:00:10', '1980-09-03T12:00:10') AND [d].[DateTime] IN ('1970-09-03T12:00:00.000', '1971-09-03T12:00:10.220', '1972-09-03T12:00:10.333', '1973-09-03T12:00:10.000', '1974-09-03T12:00:10.500', '1975-09-03T12:00:10.660', '1976-09-03T12:00:10.777', '1977-09-03T12:00:10.888', '1978-09-03T12:00:10.999', '1979-09-03T12:00:10.111', '1980-09-03T12:00:10.222') AND [d].[DateTime2] IN ('1970-09-03T12:00:00.0000000', '1971-09-03T12:00:10.2200000', '1972-09-03T12:00:10.3330000', '1973-09-03T12:00:10.0000000', '1974-09-03T12:00:10.5000000', '1975-09-03T12:00:10.6600000', '1976-09-03T12:00:10.7770000', '1977-09-03T12:00:10.8880000', '1978-09-03T12:00:10.9990000', '1979-09-03T12:00:10.1110000', '1980-09-03T12:00:10.2220000') AND [d].[DateTime2_0] IN ('1970-09-03T12:00:00', '1971-09-03T12:00:10', '1972-09-03T12:00:10', '1973-09-03T12:00:10', '1974-09-03T12:00:10', '1975-09-03T12:00:10', '1976-09-03T12:00:10', '1977-09-03T12:00:10', '1978-09-03T12:00:10', '1979-09-03T12:00:10', '1980-09-03T12:00:10') AND [d].[DateTime2_1] IN ('1970-09-03T12:00:00.0', '1971-09-03T12:00:10.2', '1972-09-03T12:00:10.3', '1973-09-03T12:00:10.0', '1974-09-03T12:00:10.5', '1975-09-03T12:00:10.6', '1976-09-03T12:00:10.7', '1977-09-03T12:00:10.8', '1978-09-03T12:00:10.9', '1979-09-03T12:00:10.1', '1980-09-03T12:00:10.2') AND [d].[DateTime2_2] IN ('1970-09-03T12:00:00.00', '1971-09-03T12:00:10.22', '1972-09-03T12:00:10.33', '1973-09-03T12:00:10.00', '1974-09-03T12:00:10.50', '1975-09-03T12:00:10.66', '1976-09-03T12:00:10.77', '1977-09-03T12:00:10.88', '1978-09-03T12:00:10.99', '1979-09-03T12:00:10.11', '1980-09-03T12:00:10.22') AND [d].[DateTime2_3] IN ('1970-09-03T12:00:00.000', '1971-09-03T12:00:10.220', '1972-09-03T12:00:10.333', '1973-09-03T12:00:10.000', '1974-09-03T12:00:10.500', '1975-09-03T12:00:10.660', '1976-09-03T12:00:10.777', '1977-09-03T12:00:10.888', '1978-09-03T12:00:10.999', '1979-09-03T12:00:10.111', '1980-09-03T12:00:10.222') AND [d].[DateTime2_4] IN ('1970-09-03T12:00:00.0000', '1971-09-03T12:00:10.2200', '1972-09-03T12:00:10.3330', '1973-09-03T12:00:10.0000', '1974-09-03T12:00:10.5000', '1975-09-03T12:00:10.6600', '1976-09-03T12:00:10.7770', '1977-09-03T12:00:10.8880', '1978-09-03T12:00:10.9990', '1979-09-03T12:00:10.1110', '1980-09-03T12:00:10.2220') AND [d].[DateTime2_5] IN ('1970-09-03T12:00:00.00000', '1971-09-03T12:00:10.22000', '1972-09-03T12:00:10.33300', '1973-09-03T12:00:10.00000', '1974-09-03T12:00:10.50000', '1975-09-03T12:00:10.66000', '1976-09-03T12:00:10.77700', '1977-09-03T12:00:10.88800', '1978-09-03T12:00:10.99900', '1979-09-03T12:00:10.11100', '1980-09-03T12:00:10.22200') AND [d].[DateTime2_6] IN ('1970-09-03T12:00:00.000000', '1971-09-03T12:00:10.220000', '1972-09-03T12:00:10.333000', '1973-09-03T12:00:10.000000', '1974-09-03T12:00:10.500000', '1975-09-03T12:00:10.660000', '1976-09-03T12:00:10.777000', '1977-09-03T12:00:10.888000', '1978-09-03T12:00:10.999000', '1979-09-03T12:00:10.111000', '1980-09-03T12:00:10.222000') AND [d].[DateTime2_7] IN ('1970-09-03T12:00:00.0000000', '1971-09-03T12:00:10.2200000', '1972-09-03T12:00:10.3330000', '1973-09-03T12:00:10.0000000', '1974-09-03T12:00:10.5000000', '1975-09-03T12:00:10.6600000', '1976-09-03T12:00:10.7770000', '1977-09-03T12:00:10.8880000', '1978-09-03T12:00:10.9990000', '1979-09-03T12:00:10.1110000', '1980-09-03T12:00:10.2220000') +"""); } protected class DateTimeContext : DbContext @@ -571,10 +579,12 @@ public async Task Include_on_entity_with_composite_key_One_To_Many_Issues_925_92 Assert.Equal(3, result[1].Orders.Count); AssertSql( - @"SELECT [c].[FirstName], [c].[LastName], [o].[Id], [o].[CustomerFirstName], [o].[CustomerLastName], [o].[Name] +""" +SELECT [c].[FirstName], [c].[LastName], [o].[Id], [o].[CustomerFirstName], [o].[CustomerLastName], [o].[Name] FROM [Customer] AS [c] LEFT JOIN [Order] AS [o] ON [c].[FirstName] = [o].[CustomerFirstName] AND [c].[LastName] = [o].[CustomerLastName] -ORDER BY [c].[FirstName], [c].[LastName]"); +ORDER BY [c].[FirstName], [c].[LastName] +"""); } [ConditionalFact] @@ -594,9 +604,11 @@ public async Task Include_on_entity_with_composite_key_Many_To_One_Issues_925_92 Assert.NotNull(result[4].Customer); AssertSql( - @"SELECT [o].[Id], [o].[CustomerFirstName], [o].[CustomerLastName], [o].[Name], [c].[FirstName], [c].[LastName] +""" +SELECT [o].[Id], [o].[CustomerFirstName], [o].[CustomerLastName], [o].[Name], [c].[FirstName], [c].[LastName] FROM [Order] AS [o] -LEFT JOIN [Customer] AS [c] ON [o].[CustomerFirstName] = [c].[FirstName] AND [o].[CustomerLastName] = [c].[LastName]"); +LEFT JOIN [Customer] AS [c] ON [o].[CustomerFirstName] = [c].[FirstName] AND [o].[CustomerLastName] = [c].[LastName] +"""); } private class MyContext925 : DbContext @@ -1807,9 +1819,11 @@ public virtual async Task Enum_has_flag_applies_explicit_cast_for_constant() Assert.Single(query); AssertSql( - @"SELECT [e].[Id], [e].[Permission], [e].[PermissionByte], [e].[PermissionShort] +""" +SELECT [e].[Id], [e].[Permission], [e].[PermissionByte], [e].[PermissionShort] FROM [Entity] AS [e] -WHERE ([e].[Permission] & CAST(17179869184 AS bigint)) = CAST(17179869184 AS bigint)"); +WHERE ([e].[Permission] & CAST(17179869184 AS bigint)) = CAST(17179869184 AS bigint) +"""); } using (var context = contextFactory.CreateContext()) @@ -1820,9 +1834,11 @@ FROM [Entity] AS [e] Assert.Single(query); AssertSql( - @"SELECT [e].[Id], [e].[Permission], [e].[PermissionByte], [e].[PermissionShort] +""" +SELECT [e].[Id], [e].[Permission], [e].[PermissionByte], [e].[PermissionShort] FROM [Entity] AS [e] -WHERE ([e].[PermissionShort] & CAST(4 AS smallint)) = CAST(4 AS smallint)"); +WHERE ([e].[PermissionShort] & CAST(4 AS smallint)) = CAST(4 AS smallint) +"""); } } @@ -1838,9 +1854,11 @@ public virtual async Task Enum_has_flag_does_not_apply_explicit_cast_for_non_con Assert.Equal(3, query.Count); AssertSql( - @"SELECT [e].[Id], [e].[Permission], [e].[PermissionByte], [e].[PermissionShort] +""" +SELECT [e].[Id], [e].[Permission], [e].[PermissionByte], [e].[PermissionShort] FROM [Entity] AS [e] -WHERE ([e].[Permission] & [e].[Permission]) = [e].[Permission]"); +WHERE ([e].[Permission] & [e].[Permission]) = [e].[Permission] +"""); } using (var context = contextFactory.CreateContext()) @@ -1851,9 +1869,11 @@ FROM [Entity] AS [e] Assert.Equal(3, query.Count); AssertSql( - @"SELECT [e].[Id], [e].[Permission], [e].[PermissionByte], [e].[PermissionShort] +""" +SELECT [e].[Id], [e].[Permission], [e].[PermissionByte], [e].[PermissionShort] FROM [Entity] AS [e] -WHERE ([e].[PermissionByte] & [e].[PermissionByte]) = [e].[PermissionByte]"); +WHERE ([e].[PermissionByte] & [e].[PermissionByte]) = [e].[PermissionByte] +"""); } } @@ -1947,17 +1967,21 @@ public virtual async Task Variable_from_closure_is_parametrized() Assert.Equal(2, context.Cache.Count); AssertSql( - @"@__id_0='1' +""" +@__id_0='1' SELECT [e].[Id], [e].[Name] FROM [Entities] AS [e] -WHERE [e].[Id] = @__id_0", +WHERE [e].[Id] = @__id_0 +""", // - @"@__id_0='2' +""" +@__id_0='2' SELECT [e].[Id], [e].[Name] FROM [Entities] AS [e] -WHERE [e].[Id] = @__id_0"); +WHERE [e].[Id] = @__id_0 +"""); } using (var context = contextFactory.CreateContext()) @@ -1978,17 +2002,21 @@ FROM [Entities] AS [e] Assert.Equal(2, context.Cache.Count); AssertSql( - @"@__id_0='1' +""" +@__id_0='1' SELECT [e].[Id], [e].[Name] FROM [Entities] AS [e] -WHERE [e].[Id] = @__id_0", +WHERE [e].[Id] = @__id_0 +""", // - @"@__id_0='2' +""" +@__id_0='2' SELECT [e].[Id], [e].[Name] FROM [Entities] AS [e] -WHERE [e].[Id] = @__id_0"); +WHERE [e].[Id] = @__id_0 +"""); } using (var context = contextFactory.CreateContext()) @@ -2011,23 +2039,27 @@ FROM [Entities] AS [e] Assert.Equal(2, context.Cache.Count); AssertSql( - @"@__id_0='1' +""" +@__id_0='1' SELECT [e].[Id], [e].[Name] FROM [Entities] AS [e] WHERE EXISTS ( SELECT 1 FROM [Entities] AS [e0] - WHERE [e0].[Id] = @__id_0 AND [e0].[Id] = [e].[Id])", + WHERE [e0].[Id] = @__id_0 AND [e0].[Id] = [e].[Id]) +""", // - @"@__id_0='2' +""" +@__id_0='2' SELECT [e].[Id], [e].[Name] FROM [Entities] AS [e] WHERE EXISTS ( SELECT 1 FROM [Entities] AS [e0] - WHERE [e0].[Id] = @__id_0 AND [e0].[Id] = [e].[Id])"); + WHERE [e0].[Id] = @__id_0 AND [e0].[Id] = [e].[Id]) +"""); } } @@ -2050,15 +2082,19 @@ public virtual async Task Relational_command_cache_creates_new_entry_when_parame Assert.Equal(3, context.Cache.Count); AssertSql( - @"@__name_0='A' (Size = 4000) +""" +@__name_0='A' (Size = 4000) SELECT [e].[Id], [e].[Name] FROM [Entities] AS [e] -WHERE [e].[Name] = @__name_0", +WHERE [e].[Name] = @__name_0 +""", // - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [Entities] AS [e] -WHERE [e].[Name] IS NULL"); +WHERE [e].[Name] IS NULL +"""); } } @@ -2163,10 +2199,12 @@ public async Task Include_collection_for_entity_with_owned_type_works() Assert.True(result[0].Cast.All(a => a.Details != null)); AssertSql( - @"SELECT [m].[Id], [m].[Title], [m].[Details_Info], [m].[Details_Rating], [a].[Id], [a].[Movie9202Id], [a].[Name], [a].[Details_Info], [a].[Details_Rating] +""" +SELECT [m].[Id], [m].[Title], [m].[Details_Info], [m].[Details_Rating], [a].[Id], [a].[Movie9202Id], [a].[Name], [a].[Details_Info], [a].[Details_Rating] FROM [Movies] AS [m] LEFT JOIN [Actors] AS [a] ON [m].[Id] = [a].[Movie9202Id] -ORDER BY [m].[Id]"); +ORDER BY [m].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -2180,15 +2218,19 @@ FROM [Movies] AS [m] Assert.True(result[0].Cast.All(a => a.Details != null)); AssertSql( - @"SELECT [m].[Id], [m].[Title], [m].[Details_Info], [m].[Details_Rating], [a].[Id], [a].[Movie9202Id], [a].[Name], [a].[Details_Info], [a].[Details_Rating] +""" +SELECT [m].[Id], [m].[Title], [m].[Details_Info], [m].[Details_Rating], [a].[Id], [a].[Movie9202Id], [a].[Name], [a].[Details_Info], [a].[Details_Rating] FROM [Movies] AS [m] LEFT JOIN [Actors] AS [a] ON [m].[Id] = [a].[Movie9202Id] -ORDER BY [m].[Id]", +ORDER BY [m].[Id] +""", // - @"SELECT [m].[Id], [m].[Title], [m].[Details_Info], [m].[Details_Rating], [a].[Id], [a].[Movie9202Id], [a].[Name], [a].[Details_Info], [a].[Details_Rating] +""" +SELECT [m].[Id], [m].[Title], [m].[Details_Info], [m].[Details_Rating], [a].[Id], [a].[Movie9202Id], [a].[Name], [a].[Details_Info], [a].[Details_Rating] FROM [Movies] AS [m] LEFT JOIN [Actors] AS [a] ON [m].[Id] = [a].[Movie9202Id] -ORDER BY [m].[Id]"); +ORDER BY [m].[Id] +"""); } } @@ -2271,9 +2313,11 @@ public async Task Default_schema_applied_when_no_function_schema() Assert.Equal(2, result); AssertSql( - @"SELECT TOP(2) [foo].[AddOne]([w].[Val]) +""" +SELECT TOP(2) [foo].[AddOne]([w].[Val]) FROM [foo].[Widgets] AS [w] -WHERE [w].[Val] = 1"); +WHERE [w].[Val] = 1 +"""); } using (var context = contextFactory.CreateContext()) @@ -2284,9 +2328,11 @@ FROM [foo].[Widgets] AS [w] Assert.Equal(3, result); AssertSql( - @"SELECT TOP(2) [dbo].[AddTwo]([w].[Val]) +""" +SELECT TOP(2) [dbo].[AddTwo]([w].[Val]) FROM [foo].[Widgets] AS [w] -WHERE [w].[Val] = 1"); +WHERE [w].[Val] = 1 +"""); } } @@ -2575,7 +2621,8 @@ public virtual async Task Conditional_expression_with_conditions_does_not_collap Assert.Single(query.Where(t => t.Processing == false)); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c0].[Id] IS NOT NULL THEN CASE WHEN [c0].[Processed] = CAST(0 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -2583,7 +2630,8 @@ ELSE CAST(0 AS bit) ELSE NULL END AS [Processing] FROM [Carts] AS [c] -LEFT JOIN [Configuration9468] AS [c0] ON [c].[ConfigurationId] = [c0].[Id]"); +LEFT JOIN [Configuration9468] AS [c0] ON [c].[ConfigurationId] = [c0].[Id] +"""); } } @@ -2635,10 +2683,12 @@ public async Task Include_with_order_by_on_interface_key() var query = context.Parents.Include(p => p.Children).OrderBy(p => p.Id).ToList(); AssertSql( - @"SELECT [p].[Id], [p].[Name], [c].[Id], [c].[Name], [c].[Parent10635Id], [c].[ParentId] +""" +SELECT [p].[Id], [p].[Name], [c].[Id], [c].[Name], [c].[Parent10635Id], [c].[ParentId] FROM [Parents] AS [p] LEFT JOIN [Children] AS [c] ON [p].[Id] = [c].[Parent10635Id] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -2647,10 +2697,12 @@ FROM [Parents] AS [p] var query = context.Parents.OrderBy(p => p.Id).Select(p => p.Children.ToList()).ToList(); AssertSql( - @"SELECT [p].[Id], [c].[Id], [c].[Name], [c].[Parent10635Id], [c].[ParentId] +""" +SELECT [p].[Id], [c].[Id], [c].[Name], [c].[Parent10635Id], [c].[ParentId] FROM [Parents] AS [p] LEFT JOIN [Children] AS [c] ON [p].[Id] = [c].[Parent10635Id] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } } @@ -2718,23 +2770,29 @@ public virtual async Task MultiContext_query_filter_test() Assert.Equal(2, context.Blogs.Count()); AssertSql( - @"@__ef_filter__Tenant_0='0' +""" +@__ef_filter__Tenant_0='0' SELECT [b].[Id], [b].[SomeValue] FROM [Blogs] AS [b] -WHERE [b].[SomeValue] = @__ef_filter__Tenant_0", +WHERE [b].[SomeValue] = @__ef_filter__Tenant_0 +""", // - @"@__ef_filter__Tenant_0='1' +""" +@__ef_filter__Tenant_0='1' SELECT [b].[Id], [b].[SomeValue] FROM [Blogs] AS [b] -WHERE [b].[SomeValue] = @__ef_filter__Tenant_0", +WHERE [b].[SomeValue] = @__ef_filter__Tenant_0 +""", // - @"@__ef_filter__Tenant_0='2' +""" +@__ef_filter__Tenant_0='2' SELECT COUNT(*) FROM [Blogs] AS [b] -WHERE [b].[SomeValue] = @__ef_filter__Tenant_0"); +WHERE [b].[SomeValue] = @__ef_filter__Tenant_0 +"""); } } @@ -2795,8 +2853,10 @@ public virtual async Task QueryBuffer_requirement_is_computed_when_querying_base Assert.Equal(typeof(MyContext11104.Derived1), derived1.GetType()); AssertSql( - @"SELECT [b].[Id], [b].[IsTwo], [b].[MoreStuffId] -FROM [Bases] AS [b]"); +""" +SELECT [b].[Id], [b].[IsTwo], [b].[MoreStuffId] +FROM [Bases] AS [b] +"""); } } @@ -2871,7 +2931,8 @@ from a in grouping.DefaultIfEmpty() Assert.Empty(query); AssertSql( - @"SELECT [t0].[AnotherEntity11818_Name] AS [Key], COUNT(*) + 5 AS [cnt] +""" +SELECT [t0].[AnotherEntity11818_Name] AS [Key], COUNT(*) + 5 AS [cnt] FROM [Table] AS [t] LEFT JOIN ( SELECT [t1].[Id], [t1].[Exists], [t1].[AnotherEntity11818_Name] @@ -2880,7 +2941,8 @@ WHERE [t1].[Exists] IS NOT NULL ) AS [t0] ON [t].[Id] = CASE WHEN [t0].[Exists] IS NOT NULL THEN [t0].[Id] END -GROUP BY [t0].[AnotherEntity11818_Name]"); +GROUP BY [t0].[AnotherEntity11818_Name] +"""); } using (var context = contextFactory.CreateContext()) @@ -2903,7 +2965,8 @@ from m in grouping2.DefaultIfEmpty() Assert.Empty(query); AssertSql( - @"SELECT [t0].[AnotherEntity11818_Name] AS [MyKey], COUNT(*) + 5 AS [cnt] +""" +SELECT [t0].[AnotherEntity11818_Name] AS [MyKey], COUNT(*) + 5 AS [cnt] FROM [Table] AS [t] LEFT JOIN ( SELECT [t1].[Id], [t1].[Exists], [t1].[AnotherEntity11818_Name] @@ -2919,7 +2982,8 @@ WHERE [t3].[MaumarEntity11818_Exists] IS NOT NULL ) AS [t2] ON [t].[Id] = CASE WHEN [t2].[MaumarEntity11818_Exists] IS NOT NULL THEN [t2].[Id] END -GROUP BY [t0].[AnotherEntity11818_Name], [t2].[MaumarEntity11818_Name]"); +GROUP BY [t0].[AnotherEntity11818_Name], [t2].[MaumarEntity11818_Name] +"""); } using (var context = contextFactory.CreateContext()) @@ -2940,7 +3004,8 @@ from m in grouping2.DefaultIfEmpty() Assert.Null(query); AssertSql( - @"SELECT TOP(1) [t0].[AnotherEntity11818_Name] AS [MyKey], [t2].[MaumarEntity11818_Name] AS [cnt] +""" +SELECT TOP(1) [t0].[AnotherEntity11818_Name] AS [MyKey], [t2].[MaumarEntity11818_Name] AS [cnt] FROM [Table] AS [t] LEFT JOIN ( SELECT [t1].[Id], [t1].[Exists], [t1].[AnotherEntity11818_Name] @@ -2956,7 +3021,8 @@ WHERE [t3].[MaumarEntity11818_Exists] IS NOT NULL ) AS [t2] ON [t].[Id] = CASE WHEN [t2].[MaumarEntity11818_Exists] IS NOT NULL THEN [t2].[Id] END -GROUP BY [t0].[AnotherEntity11818_Name], [t2].[MaumarEntity11818_Name]"); +GROUP BY [t0].[AnotherEntity11818_Name], [t2].[MaumarEntity11818_Name] +"""); } } @@ -3021,12 +3087,14 @@ public virtual async Task Query_filter_with_db_set_should_not_block_other_filter Assert.Empty(query); AssertSql( - @"SELECT [f].[Id], [f].[Name] +""" +SELECT [f].[Id], [f].[Name] FROM [Factions] AS [f] WHERE EXISTS ( SELECT 1 FROM [Leaders] AS [l] - WHERE ([l].[Name] IS NOT NULL) AND ([l].[Name] LIKE N'Bran%') AND [l].[Name] = N'Crach an Craite')"); + WHERE ([l].[Name] IS NOT NULL) AND ([l].[Name] LIKE N'Bran%') AND [l].[Name] = N'Crach an Craite') +"""); } } @@ -3042,13 +3110,15 @@ public virtual async Task Keyless_type_used_inside_defining_query() Assert.Single(query); AssertSql( - @"SELECT [t].[Name] +""" +SELECT [t].[Name] FROM ( SELECT [l].[Name] FROM [Leaders] AS [l] WHERE ([l].[Name] LIKE N'Bran' + N'%' AND (LEFT([l].[Name], LEN(N'Bran')) = N'Bran')) AND (([l].[Name] <> N'Foo') OR [l].[Name] IS NULL) ) AS [t] -WHERE ([t].[Name] <> N'Bar') OR [t].[Name] IS NULL"); +WHERE ([t].[Name] <> N'Bar') OR [t].[Name] IS NULL +"""); } } @@ -3072,13 +3142,15 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) .Entity() .HasNoKey() .ToSqlQuery( - @"SELECT [t].[Name] +""" +SELECT [t].[Name] FROM ( SELECT [l].[Name] FROM [Leaders] AS [l] WHERE ([l].[Name] LIKE N'Bran' + N'%' AND (LEFT([l].[Name], LEN(N'Bran')) = N'Bran')) AND (([l].[Name] <> N'Foo') OR [l].[Name] IS NULL) ) AS [t] -WHERE ([t].[Name] <> N'Bar') OR [t].[Name] IS NULL"); +WHERE ([t].[Name] <> N'Bar') OR [t].[Name] IS NULL +"""); } public void Seed() @@ -3288,38 +3360,60 @@ public virtual async Task Average_with_cast() Assert.Equal(prices.Average(e => e.NullableDecimalColumn), context.Prices.Average(e => e.NullableDecimalColumn)); AssertSql( - @"SELECT AVG([p].[Price]) -FROM [Prices] AS [p]", +""" +SELECT AVG([p].[Price]) +FROM [Prices] AS [p] +""", // - @"SELECT AVG(CAST([p].[IntColumn] AS float)) -FROM [Prices] AS [p]", +""" +SELECT AVG(CAST([p].[IntColumn] AS float)) +FROM [Prices] AS [p] +""", // - @"SELECT AVG(CAST([p].[NullableIntColumn] AS float)) -FROM [Prices] AS [p]", +""" +SELECT AVG(CAST([p].[NullableIntColumn] AS float)) +FROM [Prices] AS [p] +""", // - @"SELECT AVG(CAST([p].[LongColumn] AS float)) -FROM [Prices] AS [p]", +""" +SELECT AVG(CAST([p].[LongColumn] AS float)) +FROM [Prices] AS [p] +""", // - @"SELECT AVG(CAST([p].[NullableLongColumn] AS float)) -FROM [Prices] AS [p]", +""" +SELECT AVG(CAST([p].[NullableLongColumn] AS float)) +FROM [Prices] AS [p] +""", // - @"SELECT CAST(AVG([p].[FloatColumn]) AS real) -FROM [Prices] AS [p]", +""" +SELECT CAST(AVG([p].[FloatColumn]) AS real) +FROM [Prices] AS [p] +""", // - @"SELECT CAST(AVG([p].[NullableFloatColumn]) AS real) -FROM [Prices] AS [p]", +""" +SELECT CAST(AVG([p].[NullableFloatColumn]) AS real) +FROM [Prices] AS [p] +""", // - @"SELECT AVG([p].[DoubleColumn]) -FROM [Prices] AS [p]", +""" +SELECT AVG([p].[DoubleColumn]) +FROM [Prices] AS [p] +""", // - @"SELECT AVG([p].[NullableDoubleColumn]) -FROM [Prices] AS [p]", +""" +SELECT AVG([p].[NullableDoubleColumn]) +FROM [Prices] AS [p] +""", // - @"SELECT AVG([p].[DecimalColumn]) -FROM [Prices] AS [p]", +""" +SELECT AVG([p].[DecimalColumn]) +FROM [Prices] AS [p] +""", // - @"SELECT AVG([p].[NullableDecimalColumn]) -FROM [Prices] AS [p]"); +""" +SELECT AVG([p].[NullableDecimalColumn]) +FROM [Prices] AS [p] +"""); } } @@ -3776,9 +3870,11 @@ public virtual async Task DateTime_Contains_with_smalldatetime_generates_correct Assert.Single(findRecordsWithDateInList); AssertSql( - @"SELECT [r].[Id], [r].[MyTime] +""" +SELECT [r].[Id], [r].[MyTime] FROM [ReproEntity] AS [r] -WHERE [r].[MyTime] = '2018-10-07T00:00:00'"); +WHERE [r].[MyTime] = '2018-10-07T00:00:00' +"""); } } @@ -3832,14 +3928,16 @@ public virtual async Task Nested_contains_with_enum() Assert.Single(query); AssertSql( - @"@__key_2='5f221fb9-66f4-442a-92c9-d97ed5989cc7' +""" +@__key_2='5f221fb9-66f4-442a-92c9-d97ed5989cc7' SELECT [t].[Id], [t].[Type] FROM [Todos] AS [t] WHERE CASE WHEN [t].[Type] = 0 THEN @__key_2 ELSE @__key_2 -END IN ('0a47bcb7-a1cb-4345-8944-c58f82d6aac7', '5f221fb9-66f4-442a-92c9-d97ed5989cc7')"); +END IN ('0a47bcb7-a1cb-4345-8944-c58f82d6aac7', '5f221fb9-66f4-442a-92c9-d97ed5989cc7') +"""); } } @@ -3908,13 +4006,15 @@ public virtual async Task Correlated_subquery_with_owned_navigation_being_compar }); AssertSql( - @"SELECT [p].[Id], CASE +""" +SELECT [p].[Id], CASE WHEN [a].[Turnovers_AmountIn] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [a].[Turnovers_AmountIn], [a].[Id] FROM [Partners] AS [p] LEFT JOIN [Address13157] AS [a] ON [p].[Id] = [a].[Partner13157Id] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } } @@ -3978,13 +4078,15 @@ public virtual async Task Multilevel_owned_entities_determine_correct_nullabilit context.SaveChanges(); AssertSql( - @"@p0='BaseEntity13079' (Nullable = false) (Size = 4000) +""" +@p0='BaseEntity13079' (Nullable = false) (Size = 4000) SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [BaseEntities] ([Discriminator]) OUTPUT INSERTED.[Id] -VALUES (@p0);"); +VALUES (@p0); +"""); } } @@ -4037,8 +4139,10 @@ public virtual async Task Type_casting_inside_sum() var result = context.InventoryPools.Sum(p => (decimal)p.Quantity); AssertSql( - @"SELECT COALESCE(SUM(CAST([i].[Quantity] AS decimal(18,2))), 0.0) -FROM [InventoryPools] AS [i]"); +""" +SELECT COALESCE(SUM(CAST([i].[Quantity] AS decimal(18,2))), 0.0) +FROM [InventoryPools] AS [i] +"""); } } @@ -4079,10 +4183,12 @@ public virtual async Task Projecting_entity_with_value_converter_and_include_wor var result = context.Parents.Include(p => p.Child).OrderBy(e => e.Id).FirstOrDefault(); AssertSql( - @"SELECT TOP(1) [p].[Id], [p].[ChildId], [c].[Id], [c].[ParentId], [c].[ULongRowVersion] +""" +SELECT TOP(1) [p].[Id], [p].[ChildId], [c].[Id], [c].[ParentId], [c].[ULongRowVersion] FROM [Parents] AS [p] LEFT JOIN [Children] AS [c] ON [p].[ChildId] = [c].[Id] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } } @@ -4096,10 +4202,12 @@ public virtual async Task Projecting_column_with_value_converter_of_ulong_byte_a var result = context.Parents.OrderBy(e => e.Id).Select(p => (ulong?)p.Child.ULongRowVersion).FirstOrDefault(); AssertSql( - @"SELECT TOP(1) [c].[ULongRowVersion] +""" +SELECT TOP(1) [c].[ULongRowVersion] FROM [Parents] AS [p] LEFT JOIN [Children] AS [c] ON [p].[ChildId] = [c].[Id] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } } @@ -4223,10 +4331,12 @@ public virtual async Task Derived_reference_is_skipped_when_base_type() Assert.True(context.Entry(Assert.IsType(result[2])).Reference("Reference").IsLoaded); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [r].[Id], [r].[DerivedTypeId] +""" +SELECT [b].[Id], [b].[Discriminator], [r].[Id], [r].[DerivedTypeId] FROM [Bases] AS [b] LEFT JOIN [Reference16233] AS [r] ON [b].[Id] = [r].[DerivedTypeId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -4241,10 +4351,12 @@ FROM [Bases] AS [b] Assert.Null(Assert.IsType(result[2]).Reference); AssertSql( - @"SELECT [b].[Id], [b].[Discriminator], [r].[Id], [r].[DerivedTypeId] +""" +SELECT [b].[Id], [b].[Discriminator], [r].[Id], [r].[DerivedTypeId] FROM [Bases] AS [b] LEFT JOIN [Reference16233] AS [r] ON [b].[Id] = [r].[DerivedTypeId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } } @@ -4311,7 +4423,8 @@ from c in grouping.DefaultIfEmpty() Assert.Equal(2, result.Count); AssertSql( - @"SELECT [p].[Id], [p].[Name], CASE +""" +SELECT [p].[Id], [p].[Name], CASE WHEN [c].[Id] IS NULL THEN N'Other' ELSE [c].[Name] END AS [CategoryName], CASE @@ -4319,7 +4432,8 @@ WHEN [c].[Id] IS NULL THEN N'Active' ELSE [c].[Status] END AS [CategoryStatus] FROM [Products] AS [p] -LEFT JOIN [Categories] AS [c] ON [p].[CategoryId] = [c].[Id]"); +LEFT JOIN [Categories] AS [c] ON [p].[CategoryId] = [c].[Id] +"""); } } @@ -4436,12 +4550,14 @@ public virtual async Task Null_check_removal_applied_recursively() Assert.True(query.First().LongName == "Two L2"); AssertSql( - @"SELECT [b].[Id], [b].[BuilderId], [b].[Identity], [b].[LongName], [b].[MandatorId], [b0].[Id], [b0].[CityId], [b0].[Name], [c].[Id], [c].[Name], [m].[Id], [m].[Identity], [m].[Name] +""" +SELECT [b].[Id], [b].[BuilderId], [b].[Identity], [b].[LongName], [b].[MandatorId], [b0].[Id], [b0].[CityId], [b0].[Name], [c].[Id], [c].[Name], [m].[Id], [m].[Identity], [m].[Name] FROM [BuildingSet] AS [b] INNER JOIN [Builder] AS [b0] ON [b].[BuilderId] = [b0].[Id] INNER JOIN [City] AS [c] ON [b0].[CityId] = [c].[Id] INNER JOIN [MandatorSet] AS [m] ON [b].[MandatorId] = [m].[Id] -WHERE [c].[Name] = N'Leeds'"); +WHERE [c].[Name] = N'Leeds' +"""); } } @@ -4676,8 +4792,10 @@ public virtual async Task New_instances_in_projection_are_not_shared_across_resu Assert.Equal(new[] { "First", "Second", "Third" }, list.Select(dto => dto.Title)); AssertSql( - @"SELECT [p].[Id], [p].[BlogId], [p].[Title] -FROM [Posts] AS [p]"); +""" +SELECT [p].[Id], [p].[BlogId], [p].[Title] +FROM [Posts] AS [p] +"""); } } @@ -4751,11 +4869,13 @@ public virtual async Task Self_reference_in_query_filter_works() var result = query.ToList(); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntitiesWithQueryFilterSelfReference] AS [e] WHERE EXISTS ( SELECT 1 - FROM [EntitiesWithQueryFilterSelfReference] AS [e0]) AND ([e].[Name] <> N'Foo' OR ([e].[Name] IS NULL))"); + FROM [EntitiesWithQueryFilterSelfReference] AS [e0]) AND ([e].[Name] <> N'Foo' OR ([e].[Name] IS NULL)) +"""); } using (var context = contextFactory.CreateContext()) @@ -4765,14 +4885,16 @@ SELECT 1 var result = query.ToList(); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntitiesReferencingEntityWithQueryFilterSelfReference] AS [e] WHERE EXISTS ( SELECT 1 FROM [EntitiesWithQueryFilterSelfReference] AS [e0] WHERE EXISTS ( SELECT 1 - FROM [EntitiesWithQueryFilterSelfReference] AS [e1])) AND ([e].[Name] <> N'Foo' OR ([e].[Name] IS NULL))"); + FROM [EntitiesWithQueryFilterSelfReference] AS [e1])) AND ([e].[Name] <> N'Foo' OR ([e].[Name] IS NULL)) +"""); } } @@ -4865,9 +4987,11 @@ public virtual async Task Expression_tree_constructed_via_interface_works_17276( var query = MyContext17276.List17276(context.RemovableEntities); AssertSql( - @"SELECT [r].[Id], [r].[IsRemoved], [r].[Removed], [r].[RemovedByUser], [r].[OwnedEntity_Exists], [r].[OwnedEntity_OwnedValue] +""" +SELECT [r].[Id], [r].[IsRemoved], [r].[Removed], [r].[RemovedByUser], [r].[OwnedEntity_Exists], [r].[OwnedEntity_OwnedValue] FROM [RemovableEntities] AS [r] -WHERE [r].[IsRemoved] = CAST(0 AS bit)"); +WHERE [r].[IsRemoved] = CAST(0 AS bit) +"""); } using (var context = contextFactory.CreateContext()) @@ -4878,10 +5002,12 @@ FROM [RemovableEntities] AS [r] .ToList(); AssertSql( - @"SELECT [p].[Id], [p].[RemovableEntityId] +""" +SELECT [p].[Id], [p].[RemovableEntityId] FROM [Parents] AS [p] LEFT JOIN [RemovableEntities] AS [r] ON [p].[RemovableEntityId] = [r].[Id] -WHERE [r].[IsRemoved] = CAST(1 AS bit)"); +WHERE [r].[IsRemoved] = CAST(1 AS bit) +"""); } using (var context = contextFactory.CreateContext()) @@ -4892,9 +5018,11 @@ FROM [Parents] AS [p] .ToList(); AssertSql( - @"SELECT [r].[Id], [r].[IsRemoved], [r].[Removed], [r].[RemovedByUser], [r].[OwnedEntity_Exists], [r].[OwnedEntity_OwnedValue] +""" +SELECT [r].[Id], [r].[IsRemoved], [r].[Removed], [r].[RemovedByUser], [r].[OwnedEntity_Exists], [r].[OwnedEntity_OwnedValue] FROM [RemovableEntities] AS [r] -WHERE [r].[OwnedEntity_OwnedValue] = N'Abc'"); +WHERE [r].[OwnedEntity_OwnedValue] = N'Abc' +"""); } // #16759 @@ -4905,11 +5033,13 @@ FROM [RemovableEntities] AS [r] var entities = context.Set().Where(specification.Criteria).ToList(); AssertSql( - @"@__id_0='1' +""" +@__id_0='1' SELECT [p].[Id], [p].[RemovableEntityId] FROM [Parents] AS [p] -WHERE [p].[Id] = @__id_0"); +WHERE [p].[Id] = @__id_0 +"""); } } @@ -4998,9 +5128,11 @@ public virtual async Task Implicit_cast_6864() Assert.Empty(result); AssertSql( - @"SELECT [f].[Id], [f].[String] +""" +SELECT [f].[Id], [f].[String] FROM [Foos] AS [f] -WHERE [f].[String] = N'1337'"); +WHERE [f].[String] = N'1337' +"""); } //Access_property_of_closure @@ -5014,11 +5146,13 @@ FROM [Foos] AS [f] Assert.Empty(result); AssertSql( - @"@__bar_Value_0='1337' (Size = 4000) +""" +@__bar_Value_0='1337' (Size = 4000) SELECT [f].[Id], [f].[String] FROM [Foos] AS [f] -WHERE [f].[String] = @__bar_Value_0"); +WHERE [f].[String] = @__bar_Value_0 +"""); } //Implicitly_cast_closure @@ -5032,11 +5166,13 @@ FROM [Foos] AS [f] Assert.Empty(result); AssertSql( - @"@__ToString_0='1337' (Size = 4000) +""" +@__ToString_0='1337' (Size = 4000) SELECT [f].[Id], [f].[String] FROM [Foos] AS [f] -WHERE [f].[String] = @__ToString_0"); +WHERE [f].[String] = @__ToString_0 +"""); } //Implicitly_cast_closure @@ -5050,11 +5186,13 @@ FROM [Foos] AS [f] Assert.Empty(result); AssertSql( - @"@__p_0='1337' (Size = 4000) +""" +@__p_0='1337' (Size = 4000) SELECT [f].[Id], [f].[String] FROM [Foos] AS [f] -WHERE [f].[String] = @__p_0"); +WHERE [f].[String] = @__p_0 +"""); } // Implicitly_cast_return_value @@ -5067,9 +5205,11 @@ FROM [Foos] AS [f] Assert.Empty(result); AssertSql( - @"SELECT [f].[Id], [f].[String] +""" +SELECT [f].[Id], [f].[String] FROM [Foos] AS [f] -WHERE [f].[String] = N'1337'"); +WHERE [f].[String] = N'1337' +"""); } } @@ -5126,9 +5266,11 @@ public virtual async Task Setting_IsUnicode_generates_unicode_literal_in_SQL() var query = context.Set().Where(xx => xx.Nombre.Contains("lla")).ToList(); AssertSql( - @"SELECT [t].[Id], [t].[Nombre] +""" +SELECT [t].[Id], [t].[Nombre] FROM [TipoServicio9582] AS [t] -WHERE [t].[Nombre] LIKE '%lla%'"); +WHERE [t].[Nombre] LIKE '%lla%' +"""); } } @@ -5178,8 +5320,10 @@ public virtual async Task Inlined_dbcontext_is_not_leaking() var entities = context.Blogs.Select(b => context.ClientMethod(b)).ToList(); AssertSql( - @"SELECT [b].[Id] -FROM [Blogs] AS [b]"); +""" +SELECT [b].[Id] +FROM [Blogs] AS [b] +"""); } using (var context = contextFactory.CreateContext()) @@ -5225,9 +5369,11 @@ public virtual async Task Return_type_of_singular_operator_is_preserved() .FirstAsync(); AssertSql( - @"SELECT TOP(1) [p].[Name], [p].[Age] +""" +SELECT TOP(1) [p].[Name], [p].[Age] FROM [Persons] AS [p] -WHERE [p].[Age] >= 21"); +WHERE [p].[Age] >= 21 +"""); } using (var context = contextFactory.CreateContext()) @@ -5238,9 +5384,11 @@ FROM [Persons] AS [p] .FirstOrDefaultAsync(); AssertSql( - @"SELECT TOP(1) [p].[Name], [p].[Age] +""" +SELECT TOP(1) [p].[Name], [p].[Age] FROM [Persons] AS [p] -WHERE [p].[Age] >= 21"); +WHERE [p].[Age] >= 21 +"""); } using (var context = contextFactory.CreateContext()) @@ -5251,9 +5399,11 @@ FROM [Persons] AS [p] .SingleAsync(); AssertSql( - @"SELECT TOP(2) [p].[Name], [p].[Age] +""" +SELECT TOP(2) [p].[Name], [p].[Age] FROM [Persons] AS [p] -WHERE [p].[Age] >= 21"); +WHERE [p].[Age] >= 21 +"""); } using (var context = contextFactory.CreateContext()) @@ -5264,9 +5414,11 @@ FROM [Persons] AS [p] .SingleOrDefaultAsync(); AssertSql( - @"SELECT TOP(2) [p].[Name], [p].[Age] +""" +SELECT TOP(2) [p].[Name], [p].[Age] FROM [Persons] AS [p] -WHERE [p].[Age] >= 21"); +WHERE [p].[Age] >= 21 +"""); } using (var context = contextFactory.CreateContext()) @@ -5278,10 +5430,12 @@ FROM [Persons] AS [p] .LastAsync(); AssertSql( - @"SELECT TOP(1) [p].[Name], [p].[Age] +""" +SELECT TOP(1) [p].[Name], [p].[Age] FROM [Persons] AS [p] WHERE [p].[Age] >= 21 -ORDER BY [p].[Id] DESC"); +ORDER BY [p].[Id] DESC +"""); } using (var context = contextFactory.CreateContext()) @@ -5293,10 +5447,12 @@ FROM [Persons] AS [p] .LastOrDefaultAsync(); AssertSql( - @"SELECT TOP(1) [p].[Name], [p].[Age] +""" +SELECT TOP(1) [p].[Name], [p].[Age] FROM [Persons] AS [p] WHERE [p].[Age] >= 21 -ORDER BY [p].[Id] DESC"); +ORDER BY [p].[Id] DESC +"""); } } @@ -5353,7 +5509,8 @@ public virtual async Task Async_correlated_projection_with_first() Assert.Equal(new[] { 1, 2 }, result.ThingIds); AssertSql( - @"SELECT [e].[Id], [t0].[ThingId], [t0].[Id], [t0].[Id0] +""" +SELECT [e].[Id], [t0].[ThingId], [t0].[Id], [t0].[Id0] FROM [Entities] AS [e] OUTER APPLY ( SELECT [s].[ThingId], [t].[Id], [s].[Id] AS [Id0] @@ -5370,7 +5527,8 @@ SELECT TOP(1) [v0].[Id] FROM [Values] AS [v0] WHERE [e].[Id] = [v0].[Entity11023Id]) IS NULL) AND ([t].[Value11023Id] IS NULL))) ) AS [t0] -ORDER BY [e].[Id], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[Id] +"""); } } @@ -5450,7 +5608,8 @@ from organisation in context.Organisations.Where(o => o.OrganisationUsers.Any()) Assert.Equal(2, users.Count); AssertSql( - @"SELECT [u].[Id] AS [UserId], [t0].[Id] AS [OrgId] +""" +SELECT [u].[Id] AS [UserId], [t0].[Id] AS [OrgId] FROM [Users] AS [u] CROSS JOIN ( SELECT [t].[Id] @@ -5465,7 +5624,8 @@ SELECT 1 FROM [OrganisationUser7973] AS [o0] WHERE [o].[Id] = [o0].[OrganisationId]) ) AS [t] ON 1 = 1 -) AS [t0]"); +) AS [t0] +"""); } } @@ -5608,7 +5768,8 @@ public virtual async Task Let_multiple_references_with_reference_to_outer() select new { cs.Id, Points = a.ActivityType.Points.Where(p => p.CompetitionSeason == cs) }).ToList(); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [c].[Id] FROM [CompetitionSeasons] AS [c] WHERE [c].[StartDate] <= [a].[DateTime] AND [a].[DateTime] < [c].[EndDate]), [a].[Id], [a0].[Id], [t].[Id], [t].[ActivityTypeId], [t].[CompetitionSeasonId], [t].[Points], [t].[Id0] @@ -5623,7 +5784,8 @@ SELECT TOP(1) [c1].[Id] FROM [CompetitionSeasons] AS [c1] WHERE [c1].[StartDate] <= [a].[DateTime] AND [a].[DateTime] < [c1].[EndDate]) ) AS [t] -ORDER BY [a].[Id], [a0].[Id], [t].[Id]"); +ORDER BY [a].[Id], [a0].[Id], [t].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -5649,7 +5811,8 @@ FROM [CompetitionSeasons] AS [c1] }).ToList(); AssertSql( - @"SELECT [a].[Id], [a].[ActivityTypeId], [a].[DateTime], [a].[Points], ( +""" +SELECT [a].[Id], [a].[ActivityTypeId], [a].[DateTime], [a].[Points], ( SELECT TOP(1) [c].[Id] FROM [CompetitionSeasons] AS [c] WHERE [c].[StartDate] <= [a].[DateTime] AND [a].[DateTime] < [c].[EndDate]) AS [CompetitionSeasonId], COALESCE([a].[Points], ( @@ -5661,7 +5824,8 @@ SELECT TOP(1) [c1].[Id] FROM [CompetitionSeasons] AS [c1] WHERE [c1].[StartDate] <= [a].[DateTime] AND [a].[DateTime] < [c1].[EndDate])), 0) AS [Points] FROM [Activities] AS [a] -INNER JOIN [ActivityType12456] AS [a0] ON [a].[ActivityTypeId] = [a0].[Id]"); +INNER JOIN [ActivityType12456] AS [a0] ON [a].[ActivityTypeId] = [a0].[Id] +"""); } } @@ -5754,7 +5918,8 @@ public virtual async Task Max_in_multi_level_nested_subquery() .SingleAsync(); AssertSql( - @"SELECT [t0].[Id], [t1].[Id], [t1].[Id0], [t1].[Id1], [t1].[IsPastTradeDeadline] +""" +SELECT [t0].[Id], [t1].[Id], [t1].[Id0], [t1].[Id1], [t1].[IsPastTradeDeadline] FROM ( SELECT TOP(2) [t].[Id] FROM [Trades] AS [t] @@ -5771,7 +5936,8 @@ FROM [DbTradeAsset] AS [d] INNER JOIN [DbContract] AS [d0] ON [d].[ContractId] = [d0].[Id] LEFT JOIN [DbSeason] AS [d1] ON [d0].[SeasonId] = [d1].[Id] ) AS [t1] ON [t0].[Id] = [t1].[DbTradeId] -ORDER BY [t0].[Id], [t1].[Id], [t1].[Id0]"); +ORDER BY [t0].[Id], [t1].[Id], [t1].[Id0] +"""); } } @@ -5864,7 +6030,8 @@ public async Task Query_filter_with_pk_fk_optimization_Issue_13517() }).Single(p => p.Id == 1); AssertSql( - @"SELECT TOP(2) [e].[Id], CASE +""" +SELECT TOP(2) [e].[Id], CASE WHEN [t].[Id] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[Id], [t].[Public], [e].[RefEntityId] @@ -5874,7 +6041,8 @@ LEFT JOIN ( FROM [RefEntities] AS [r] WHERE [r].[Public] = CAST(1 AS bit) ) AS [t] ON [e].[RefEntityId] = [t].[Id] -WHERE [e].[Id] = 1"); +WHERE [e].[Id] = 1 +"""); } } @@ -5944,14 +6112,16 @@ public async Task Double_convert_interface_created_expression_tree() Assert.Equal(1, query); AssertSql( - @"@__action_0='1' +""" +@__action_0='1' SELECT COUNT(*) FROM [Offers] AS [o] WHERE EXISTS ( SELECT 1 FROM [OfferActions] AS [o0] - WHERE [o].[Id] = [o0].[OfferId] AND [o0].[Action] = @__action_0)"); + WHERE [o].[Id] = [o0].[OfferId] AND [o0].[Action] = @__action_0) +"""); } } @@ -6036,11 +6206,13 @@ public async Task Casts_are_removed_from_expression_tree_when_redundant() Assert.Equal(1, query.Id); AssertSql( - @"@__id_0='1' +""" +@__id_0='1' SELECT TOP(1) [m].[Id], [m].[Name], [m].[NavigationEntityId] FROM [MockEntities] AS [m] -WHERE [m].[Id] = @__id_0"); +WHERE [m].[Id] = @__id_0 +"""); } // object @@ -6053,8 +6225,10 @@ FROM [MockEntities] AS [m] Assert.Equal(3, query); AssertSql( - @"SELECT COUNT(*) -FROM [MockEntities] AS [m]"); +""" +SELECT COUNT(*) +FROM [MockEntities] AS [m] +"""); } // non_implemented_interface @@ -6126,10 +6300,12 @@ public async Task Query_filter_with_null_constant() var people = context.People.ToList(); AssertSql( - @"SELECT [p].[Id], [p].[UserDeleteId] +""" +SELECT [p].[Id], [p].[UserDeleteId] FROM [People] AS [p] LEFT JOIN [User18759] AS [u] ON [p].[UserDeleteId] = [u].[Id] -WHERE [u].[Id] IS NOT NULL"); +WHERE [u].[Id] IS NOT NULL +"""); } } @@ -6177,7 +6353,8 @@ public async Task Accessing_scalar_property_in_derived_type_projection_does_not_ Assert.Equal("A", Assert.Single(result).OtherEntityData); AssertSql( - @"SELECT [t0].[Id], [t0].[OtherEntityData] +""" +SELECT [t0].[Id], [t0].[OtherEntityData] FROM [BaseEntities] AS [b] LEFT JOIN ( SELECT [t].[Id], [t].[OtherEntityData] @@ -6186,7 +6363,8 @@ LEFT JOIN ( FROM [OtherEntities] AS [o] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [b].[Data] = [t0].[OtherEntityData]"); +) AS [t0] ON [b].[Data] = [t0].[OtherEntityData] +"""); } } @@ -6253,13 +6431,15 @@ public async Task GroupJoin_SelectMany_gets_flattened() var query = context.CustomerFilters.ToList(); AssertSql( - @"SELECT [c].[CustomerId], [c].[CustomerMembershipId] +""" +SELECT [c].[CustomerId], [c].[CustomerMembershipId] FROM [CustomerFilters] AS [c] WHERE ( SELECT COUNT(*) FROM [Customers] AS [c0] LEFT JOIN [CustomerMemberships] AS [c1] ON [c0].[Id] = [c1].[CustomerId] - WHERE ([c1].[Id] IS NOT NULL) AND [c0].[Id] = [c].[CustomerId]) > 0"); + WHERE ([c1].[Id] IS NOT NULL) AND [c0].[Id] = [c].[CustomerId]) > 0 +"""); } using (var context = contextFactory.CreateContext()) @@ -6288,12 +6468,14 @@ static void AssertCustomerView( } AssertSql( - @"SELECT [c].[Id], [c].[Name], [c0].[Id] AS [CustomerMembershipId], CASE +""" +SELECT [c].[Id], [c].[Name], [c0].[Id] AS [CustomerMembershipId], CASE WHEN [c0].[Id] IS NOT NULL THEN [c0].[Name] ELSE N'' END AS [CustomerMembershipName] FROM [Customers] AS [c] -LEFT JOIN [CustomerMemberships] AS [c0] ON [c].[Id] = [c0].[CustomerId]"); +LEFT JOIN [CustomerMemberships] AS [c0] ON [c].[Id] = [c0].[CustomerId] +"""); } } @@ -6406,11 +6588,13 @@ public async Task Interface_casting_though_generic_method() Assert.Single(query); AssertSql( - @"@__id_0='1' +""" +@__id_0='1' SELECT [e].[Id] FROM [Entities] AS [e] -WHERE [e].[Id] = @__id_0"); +WHERE [e].[Id] = @__id_0 +"""); } using (var context = contextFactory.CreateContext()) @@ -6422,9 +6606,11 @@ FROM [Entities] AS [e] Assert.Single(query); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities] AS [e] -WHERE [e].[Id] = CAST(1 AS bigint)"); +WHERE [e].[Id] = CAST(1 AS bigint) +"""); } using (var context = contextFactory.CreateContext()) @@ -6436,9 +6622,11 @@ FROM [Entities] AS [e] Assert.Single(query); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities] AS [e] -WHERE [e].[Id] = CAST(1 AS bigint)"); +WHERE [e].[Id] = CAST(1 AS bigint) +"""); } using (var context = contextFactory.CreateContext()) @@ -6450,9 +6638,11 @@ FROM [Entities] AS [e] Assert.Single(query); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities] AS [e] -WHERE [e].[Id] = CAST(1 AS bigint)"); +WHERE [e].[Id] = CAST(1 AS bigint) +"""); } using (var context = contextFactory.CreateContext()) @@ -6463,9 +6653,11 @@ FROM [Entities] AS [e] Assert.Single(query); AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities] AS [e] -WHERE [e].[Id] = CAST(1 AS bigint)"); +WHERE [e].[Id] = CAST(1 AS bigint) +"""); } } @@ -6582,10 +6774,12 @@ public virtual async Task Can_configure_SingleQuery_at_context_level() var result = context.Parents.Include(p => p.Children1).ToList(); AssertSql( - @"SELECT [p].[Id], [c].[Id], [c].[ParentId] +""" +SELECT [p].[Id], [c].[Id], [c].[ParentId] FROM [Parents] AS [p] LEFT JOIN [Child21355] AS [c] ON [p].[Id] = [c].[ParentId] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -6594,12 +6788,17 @@ FROM [Parents] AS [p] var result = context.Parents.Include(p => p.Children1).AsSplitQuery().ToList(); AssertSql( - @"SELECT [p].[Id] +""" +SELECT [p].[Id] FROM [Parents] AS [p] -ORDER BY [p].[Id]", @"SELECT [c].[Id], [c].[ParentId], [p].[Id] +ORDER BY [p].[Id] +""", +""" +SELECT [c].[Id], [c].[ParentId], [p].[Id] FROM [Parents] AS [p] INNER JOIN [Child21355] AS [c] ON [p].[Id] = [c].[ParentId] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -6608,11 +6807,13 @@ FROM [Parents] AS [p] context.Parents.Include(p => p.Children1).Include(p => p.Children2).ToList(); AssertSql( - @"SELECT [p].[Id], [c].[Id], [c].[ParentId], [a].[Id], [a].[ParentId] +""" +SELECT [p].[Id], [c].[Id], [c].[ParentId], [a].[Id], [a].[ParentId] FROM [Parents] AS [p] LEFT JOIN [Child21355] AS [c] ON [p].[Id] = [c].[ParentId] LEFT JOIN [AnotherChild21355] AS [a] ON [p].[Id] = [a].[ParentId] -ORDER BY [p].[Id], [c].[Id]"); +ORDER BY [p].[Id], [c].[Id] +"""); } } @@ -6628,12 +6829,18 @@ public virtual async Task Can_configure_SplitQuery_at_context_level() var result = context.Parents.Include(p => p.Children1).ToList(); AssertSql( - @"SELECT [p].[Id] +""" +SELECT [p].[Id] FROM [Parents] AS [p] -ORDER BY [p].[Id]", @"SELECT [c].[Id], [c].[ParentId], [p].[Id] +ORDER BY [p].[Id] +""", + // +""" +SELECT [c].[Id], [c].[ParentId], [p].[Id] FROM [Parents] AS [p] INNER JOIN [Child21355] AS [c] ON [p].[Id] = [c].[ParentId] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -6642,10 +6849,12 @@ FROM [Parents] AS [p] var result = context.Parents.Include(p => p.Children1).AsSingleQuery().ToList(); AssertSql( - @"SELECT [p].[Id], [c].[Id], [c].[ParentId] +""" +SELECT [p].[Id], [c].[Id], [c].[ParentId] FROM [Parents] AS [p] LEFT JOIN [Child21355] AS [c] ON [p].[Id] = [c].[ParentId] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -6654,15 +6863,23 @@ FROM [Parents] AS [p] context.Parents.Include(p => p.Children1).Include(p => p.Children2).ToList(); AssertSql( - @"SELECT [p].[Id] +""" +SELECT [p].[Id] FROM [Parents] AS [p] -ORDER BY [p].[Id]", @"SELECT [c].[Id], [c].[ParentId], [p].[Id] +ORDER BY [p].[Id] +""", +""" +SELECT [c].[Id], [c].[ParentId], [p].[Id] FROM [Parents] AS [p] INNER JOIN [Child21355] AS [c] ON [p].[Id] = [c].[ParentId] -ORDER BY [p].[Id]", @"SELECT [a].[Id], [a].[ParentId], [p].[Id] +ORDER BY [p].[Id] +""", +""" +SELECT [a].[Id], [a].[ParentId], [p].[Id] FROM [Parents] AS [p] INNER JOIN [AnotherChild21355] AS [a] ON [p].[Id] = [a].[ParentId] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } } @@ -6677,15 +6894,25 @@ public virtual async Task Unconfigured_query_splitting_behavior_throws_a_warning context.Parents.Include(p => p.Children1).Include(p => p.Children2).AsSplitQuery().ToList(); AssertSql( - @"SELECT [p].[Id] +""" +SELECT [p].[Id] FROM [Parents] AS [p] -ORDER BY [p].[Id]", @"SELECT [c].[Id], [c].[ParentId], [p].[Id] +ORDER BY [p].[Id] +""", + // +""" +SELECT [c].[Id], [c].[ParentId], [p].[Id] FROM [Parents] AS [p] INNER JOIN [Child21355] AS [c] ON [p].[Id] = [c].[ParentId] -ORDER BY [p].[Id]", @"SELECT [a].[Id], [a].[ParentId], [p].[Id] +ORDER BY [p].[Id] +""", + // +""" +SELECT [a].[Id], [a].[ParentId], [p].[Id] FROM [Parents] AS [p] INNER JOIN [AnotherChild21355] AS [a] ON [p].[Id] = [a].[ParentId] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -6708,11 +6935,13 @@ public virtual async Task Using_AsSingleQuery_without_context_configuration_does context.Parents.Include(p => p.Children1).Include(p => p.Children2).AsSingleQuery().ToList(); AssertSql( - @"SELECT [p].[Id], [c].[Id], [c].[ParentId], [a].[Id], [a].[ParentId] +""" +SELECT [p].[Id], [c].[Id], [c].[ParentId], [a].[Id], [a].[ParentId] FROM [Parents] AS [p] LEFT JOIN [Child21355] AS [c] ON [p].[Id] = [c].[ParentId] LEFT JOIN [AnotherChild21355] AS [a] ON [p].[Id] = [a].[ParentId] -ORDER BY [p].[Id], [c].[Id]"); +ORDER BY [p].[Id], [c].[Id] +"""); } [ConditionalFact] @@ -6822,7 +7051,8 @@ public virtual async Task Can_auto_include_navigation_from_model() Assert.Single(result.SkipOtherSide); AssertSql( - @"SELECT [p].[Id], [r].[Id], [c].[Id], [c].[ParentId], [p].[OwnedReference_Id], [r].[ParentId], [t].[Id], [t].[ParentId], [t].[OtherSideId] +""" +SELECT [p].[Id], [r].[Id], [c].[Id], [c].[ParentId], [p].[OwnedReference_Id], [r].[ParentId], [t].[Id], [t].[ParentId], [t].[OtherSideId] FROM [Parents] AS [p] LEFT JOIN [Reference21540] AS [r] ON [p].[Id] = [r].[ParentId] LEFT JOIN [Collection21540] AS [c] ON [p].[Id] = [c].[ParentId] @@ -6831,7 +7061,8 @@ LEFT JOIN ( FROM [JoinEntity21540] AS [j] INNER JOIN [OtherSide21540] AS [o] ON [j].[OtherSideId] = [o].[Id] ) AS [t] ON [p].[Id] = [t].[ParentId] -ORDER BY [p].[Id], [r].[Id], [c].[Id], [t].[ParentId], [t].[OtherSideId]"); +ORDER BY [p].[Id], [r].[Id], [c].[Id], [t].[ParentId], [t].[OtherSideId] +"""); } using (var context = contextFactory.CreateContext()) @@ -6846,8 +7077,10 @@ FROM [JoinEntity21540] AS [j] Assert.Null(result.SkipOtherSide); AssertSql( - @"SELECT [p].[Id], [p].[OwnedReference_Id] -FROM [Parents] AS [p]"); +""" +SELECT [p].[Id], [p].[OwnedReference_Id] +FROM [Parents] AS [p] +"""); } } @@ -6953,8 +7186,10 @@ public virtual async Task Can_query_hierarchy_with_non_nullable_property_on_deri Assert.Equal(3, query.Count); AssertSql( - @"SELECT [b].[Id], [b].[Name], [b].[Type], [b].[IsOnline] -FROM [Businesses] AS [b]"); +""" +SELECT [b].[Id], [b].[Name], [b].[Type], [b].[IsOnline] +FROM [Businesses] AS [b] +"""); } } @@ -7077,7 +7312,8 @@ public virtual async Task Using_explicit_interface_implementation_as_navigation_ var result = context.Books.Where(b => b.Id == 1).Select(projection).SingleOrDefault(); AssertSql( - @"SELECT TOP(2) CASE +""" +SELECT TOP(2) CASE WHEN EXISTS ( SELECT 1 FROM [CoverIllustrations] AS [c] @@ -7089,7 +7325,8 @@ FROM [CoverIllustrations] AS [c0] WHERE [b0].[Id] = [c0].[CoverId] AND [c0].[State] >= 2) FROM [Books] AS [b] INNER JOIN [BookCovers] AS [b0] ON [b].[FrontCoverId] = [b0].[Id] -WHERE [b].[Id] = 1"); +WHERE [b].[Id] = 1 +"""); } } @@ -7219,7 +7456,8 @@ from t2 in context.Tests.FromSqlInterpolated( Assert.Equal(MyContext19206.TestType19206.Integration, item.t2.Type); AssertSql( - @"p0='0' +""" +p0='0' p1='1' SELECT [m].[Id], [m].[Type], [m0].[Id], [m0].[Type] @@ -7228,7 +7466,8 @@ from t2 in context.Tests.FromSqlInterpolated( ) AS [m] CROSS JOIN ( Select * from Tests Where Type = @p1 -) AS [m0]"); +) AS [m0] +"""); } } @@ -7286,17 +7525,21 @@ public virtual async Task Invoke_inside_query_filter_gets_correctly_evaluated_du Assert.True(query2.All(x => x.TenantId == 2)); AssertSql( - @"@__ef_filter__p_0='1' +""" +@__ef_filter__p_0='1' SELECT [e].[Id], [e].[Name], [e].[TenantId] FROM [Entities] AS [e] -WHERE ([e].[Name] <> N'Foo' OR ([e].[Name] IS NULL)) AND [e].[TenantId] = @__ef_filter__p_0", +WHERE ([e].[Name] <> N'Foo' OR ([e].[Name] IS NULL)) AND [e].[TenantId] = @__ef_filter__p_0 +""", // - @"@__ef_filter__p_0='2' +""" +@__ef_filter__p_0='2' SELECT [e].[Id], [e].[Name], [e].[TenantId] FROM [Entities] AS [e] -WHERE ([e].[Name] <> N'Foo' OR ([e].[Name] IS NULL)) AND [e].[TenantId] = @__ef_filter__p_0"); +WHERE ([e].[Name] <> N'Foo' OR ([e].[Name] IS NULL)) AND [e].[TenantId] = @__ef_filter__p_0 +"""); } } @@ -7389,22 +7632,28 @@ public virtual async Task Select_enumerable_navigation_backed_by_collection(bool if (split) { AssertSql( - @"SELECT [e].[Id] +""" +SELECT [e].[Id] FROM [Entities] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [o].[Id], [o].[AppEntityId], [e].[Id] +""" +SELECT [o].[Id], [o].[AppEntityId], [e].[Id] FROM [Entities] AS [e] INNER JOIN [OtherEntity21803] AS [o] ON [e].[Id] = [o].[AppEntityId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } else { AssertSql( - @"SELECT [e].[Id], [o].[Id], [o].[AppEntityId] +""" +SELECT [e].[Id], [o].[Id], [o].[AppEntityId] FROM [Entities] AS [e] LEFT JOIN [OtherEntity21803] AS [o] ON [e].[Id] = [o].[AppEntityId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } } } @@ -7466,8 +7715,10 @@ public virtual async Task Nested_owned_required_dependents_are_materialized() Assert.Equal(12345, result.Contact.Address.Zip); AssertSql( - @"SELECT [e].[Id], [e].[Contact_Name], [e].[Contact_Address_City], [e].[Contact_Address_State], [e].[Contact_Address_Street], [e].[Contact_Address_Zip] -FROM [Entity21807] AS [e]"); +""" +SELECT [e].[Id], [e].[Contact_Name], [e].[Contact_Address_City], [e].[Contact_Address_State], [e].[Contact_Address_Street], [e].[Contact_Address_Zip] +FROM [Entity21807] AS [e] +"""); } } @@ -7546,9 +7797,11 @@ public virtual async Task Optional_dependent_is_null_when_sharing_required_colum Assert.NotNull(query[2].Contact.Address); AssertSql( - @"SELECT [u].[Id], [u].[RowVersion], [u].[Contact_MobileNumber], [u].[SharedProperty], [u].[Contact_Address_City], [u].[Contact_Address_Zip], [u].[Data_Data], [u].[Data_Exists], [u].[RowVersion] +""" +SELECT [u].[Id], [u].[RowVersion], [u].[Contact_MobileNumber], [u].[SharedProperty], [u].[Contact_Address_City], [u].[Contact_Address_Zip], [u].[Data_Data], [u].[Data_Exists], [u].[RowVersion] FROM [User22054] AS [u] -ORDER BY [u].[Id] DESC"); +ORDER BY [u].[Id] DESC +"""); } } @@ -7672,7 +7925,8 @@ public virtual async Task Owned_entity_multiple_level_in_aggregate() aggregate.FirstValueObject.SecondValueObjects[0].ThirdValueObjects[0].FourthValueObject.FifthValueObjects[0].AnyValue); AssertSql( - @"SELECT [t].[Id], [t].[FirstValueObject_Value], [t2].[Id], [t2].[AggregateId], [t2].[FourthValueObject_Value], [t2].[Id0], [t2].[AnyValue], [t2].[SecondValueObjectId], [t2].[Id1], [t2].[SecondValueObjectId0], [t2].[FourthValueObject_Value0], [t2].[Id00], [t2].[AnyValue0], [t2].[ThirdValueObjectId] +""" +SELECT [t].[Id], [t].[FirstValueObject_Value], [t2].[Id], [t2].[AggregateId], [t2].[FourthValueObject_Value], [t2].[Id0], [t2].[AnyValue], [t2].[SecondValueObjectId], [t2].[Id1], [t2].[SecondValueObjectId0], [t2].[FourthValueObject_Value0], [t2].[Id00], [t2].[AnyValue0], [t2].[ThirdValueObjectId] FROM ( SELECT TOP(1) [a].[Id], [a].[FirstValueObject_Value] FROM [Aggregates] AS [a] @@ -7694,7 +7948,8 @@ WHEN [t0].[FourthValueObject_Value] IS NOT NULL THEN [t0].[Id] ) AS [t2] ON CASE WHEN [t].[FirstValueObject_Value] IS NOT NULL THEN [t].[Id] END = [t2].[AggregateId] -ORDER BY [t].[Id] DESC, [t2].[Id], [t2].[Id0], [t2].[Id1]"); +ORDER BY [t].[Id] DESC, [t2].[Id], [t2].[Id0], [t2].[Id1] +"""); } } @@ -7854,26 +8109,32 @@ public virtual async Task Repeated_parameters_in_generated_query_sql() Assert.Single(equalQuery); AssertSql( - @"@__k_0='1' +""" +@__k_0='1' SELECT TOP(1) [a].[Id], [a].[Name] FROM [Autos] AS [a] -WHERE [a].[Id] = @__k_0", +WHERE [a].[Id] = @__k_0 +""", // - @"@__p_0='2' +""" +@__p_0='2' SELECT TOP(1) [a].[Id], [a].[Name] FROM [Autos] AS [a] -WHERE [a].[Id] = @__p_0", +WHERE [a].[Id] = @__p_0 +""", // - @"@__entity_equality_a_0_Id='1' (Nullable = true) +""" +@__entity_equality_a_0_Id='1' (Nullable = true) @__entity_equality_b_1_Id='2' (Nullable = true) SELECT [e].[Id], [e].[AnotherAutoId], [e].[AutoId] FROM [EqualAutos] AS [e] LEFT JOIN [Autos] AS [a] ON [e].[AutoId] = [a].[Id] LEFT JOIN [Autos] AS [a0] ON [e].[AnotherAutoId] = [a0].[Id] -WHERE ([a].[Id] = @__entity_equality_a_0_Id AND [a0].[Id] = @__entity_equality_b_1_Id) OR ([a].[Id] = @__entity_equality_b_1_Id AND [a0].[Id] = @__entity_equality_a_0_Id)"); +WHERE ([a].[Id] = @__entity_equality_a_0_Id AND [a0].[Id] = @__entity_equality_b_1_Id) OR ([a].[Id] = @__entity_equality_b_1_Id AND [a0].[Id] = @__entity_equality_a_0_Id) +"""); } } @@ -7935,7 +8196,8 @@ public virtual async Task Owned_entity_mapped_to_separate_table() Assert.NotNull(masterTrunk); AssertSql( - @"SELECT [t].[Id], [t].[MasterTrunk22340Id], [t].[MasterTrunk22340Id0], [f0].[CurrencyBag22340MasterTrunk22340Id], [f0].[Id], [f0].[Amount], [f0].[Code], [s0].[CurrencyBag22340MasterTrunk22340Id], [s0].[Id], [s0].[Amount], [s0].[Code] +""" +SELECT [t].[Id], [t].[MasterTrunk22340Id], [t].[MasterTrunk22340Id0], [f0].[CurrencyBag22340MasterTrunk22340Id], [f0].[Id], [f0].[Amount], [f0].[Code], [s0].[CurrencyBag22340MasterTrunk22340Id], [s0].[Id], [s0].[Amount], [s0].[Code] FROM ( SELECT TOP(1) [m].[Id], [f].[MasterTrunk22340Id], [s].[MasterTrunk22340Id] AS [MasterTrunk22340Id0] FROM [MasterTrunk] AS [m] @@ -7945,7 +8207,8 @@ ORDER BY [m].[Id] ) AS [t] LEFT JOIN [FungibleBag_Currencies] AS [f0] ON [t].[MasterTrunk22340Id] = [f0].[CurrencyBag22340MasterTrunk22340Id] LEFT JOIN [StaticBag_Currencies] AS [s0] ON [t].[MasterTrunk22340Id0] = [s0].[CurrencyBag22340MasterTrunk22340Id] -ORDER BY [t].[Id], [t].[MasterTrunk22340Id], [t].[MasterTrunk22340Id0], [f0].[CurrencyBag22340MasterTrunk22340Id], [f0].[Id], [s0].[CurrencyBag22340MasterTrunk22340Id]"); +ORDER BY [t].[Id], [t].[MasterTrunk22340Id], [t].[MasterTrunk22340Id0], [f0].[CurrencyBag22340MasterTrunk22340Id], [f0].[Id], [s0].[CurrencyBag22340MasterTrunk22340Id] +"""); } } @@ -8043,13 +8306,17 @@ public virtual async Task Cycles_in_auto_include() Assert.NotNull(dependents[0].Principal.Dependent); AssertSql( - @"SELECT [p].[Id], [d].[Id], [d].[PrincipalId] +""" +SELECT [p].[Id], [d].[Id], [d].[PrincipalId] FROM [PrincipalOneToOne] AS [p] -LEFT JOIN [DependentOneToOne] AS [d] ON [p].[Id] = [d].[PrincipalId]", +LEFT JOIN [DependentOneToOne] AS [d] ON [p].[Id] = [d].[PrincipalId] +""", // - @"SELECT [d].[Id], [d].[PrincipalId], [p].[Id] +""" +SELECT [d].[Id], [d].[PrincipalId], [p].[Id] FROM [DependentOneToOne] AS [d] -INNER JOIN [PrincipalOneToOne] AS [p] ON [d].[PrincipalId] = [p].[Id]"); +INNER JOIN [PrincipalOneToOne] AS [p] ON [d].[PrincipalId] = [p].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -8067,16 +8334,20 @@ FROM [DependentOneToOne] AS [d] Assert.True(dependents.All(e => e.Principal.Dependents.All(i => i.Principal != null))); AssertSql( - @"SELECT [p].[Id], [d].[Id], [d].[PrincipalId] +""" +SELECT [p].[Id], [d].[Id], [d].[PrincipalId] FROM [PrincipalOneToMany] AS [p] LEFT JOIN [DependentOneToMany] AS [d] ON [p].[Id] = [d].[PrincipalId] -ORDER BY [p].[Id]", +ORDER BY [p].[Id] +""", // - @"SELECT [d].[Id], [d].[PrincipalId], [p].[Id], [d0].[Id], [d0].[PrincipalId] +""" +SELECT [d].[Id], [d].[PrincipalId], [p].[Id], [d0].[Id], [d0].[PrincipalId] FROM [DependentOneToMany] AS [d] INNER JOIN [PrincipalOneToMany] AS [p] ON [d].[PrincipalId] = [p].[Id] LEFT JOIN [DependentOneToMany] AS [d0] ON [p].[Id] = [d0].[PrincipalId] -ORDER BY [d].[Id], [p].[Id]"); +ORDER BY [d].[Id], [p].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -8094,11 +8365,15 @@ FROM [DependentOneToMany] AS [d] context.Set().IgnoreAutoIncludes().ToList(); AssertSql( - @"SELECT [p].[Id] -FROM [PrincipalManyToMany] AS [p]", +""" +SELECT [p].[Id] +FROM [PrincipalManyToMany] AS [p] +""", // - @"SELECT [d].[Id] -FROM [DependentManyToMany] AS [d]"); +""" +SELECT [d].[Id] +FROM [DependentManyToMany] AS [d] +"""); } using (var context = contextFactory.CreateContext()) @@ -8121,14 +8396,20 @@ FROM [DependentOneToMany] AS [d] context.Set().IgnoreAutoIncludes().ToList(); AssertSql( - @"SELECT [c].[Id], [c].[CycleCId] -FROM [CycleA] AS [c]", +""" +SELECT [c].[Id], [c].[CycleCId] +FROM [CycleA] AS [c] +""", // - @"SELECT [c].[Id], [c].[CId], [c].[CycleAId] -FROM [CycleB] AS [c]", +""" +SELECT [c].[Id], [c].[CId], [c].[CycleAId] +FROM [CycleB] AS [c] +""", // - @"SELECT [c].[Id], [c].[BId] -FROM [CycleC] AS [c]"); +""" +SELECT [c].[Id], [c].[BId] +FROM [CycleC] AS [c] +"""); } } @@ -8320,14 +8601,16 @@ public virtual async Task Projecting_correlated_collection_along_with_non_mapped }).ToList(); AssertSql( - @"SELECT [b].[Id], [t].[Id], [t].[BlogId], [t].[Name] +""" +SELECT [b].[Id], [t].[Id], [t].[BlogId], [t].[Name] FROM [Blogs] AS [b] LEFT JOIN ( SELECT [p].[Id], [p].[BlogId], [p].[Name] FROM [Posts] AS [p] WHERE [p].[Name] LIKE N'%2%' ) AS [t] ON [b].[Id] = [t].[BlogId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } using (var context = contextFactory.CreateContext()) @@ -8342,12 +8625,14 @@ WHERE [p].[Name] LIKE N'%2%' }).ToList(); AssertSql( - @"SELECT [b].[Id], ( +""" +SELECT [b].[Id], ( SELECT TOP(1) [p].[Name] FROM [Posts] AS [p] WHERE [b].[Id] = [p].[BlogId] ORDER BY [p].[Id]) -FROM [Blogs] AS [b]"); +FROM [Blogs] AS [b] +"""); } } @@ -8415,13 +8700,16 @@ public virtual async Task Collection_include_on_owner_with_owned_type_mapped_to_ Assert.Equal("B", owner.Owned2.Value); AssertSql( - @"SELECT TOP(2) [o].[Id], [o0].[Owner23211Id], [o0].[Value], [o1].[Owner23211Id], [o1].[Value] +""" +SELECT TOP(2) [o].[Id], [o0].[Owner23211Id], [o0].[Value], [o1].[Owner23211Id], [o1].[Value] FROM [Owner23211] AS [o] LEFT JOIN [Owned123211] AS [o0] ON [o].[Id] = [o0].[Owner23211Id] LEFT JOIN [Owned223211] AS [o1] ON [o].[Id] = [o1].[Owner23211Id] -ORDER BY [o].[Id], [o0].[Owner23211Id], [o1].[Owner23211Id]", +ORDER BY [o].[Id], [o0].[Owner23211Id], [o1].[Owner23211Id] +""", // - @"SELECT [d].[Id], [d].[Owner23211Id], [t].[Id], [t].[Owner23211Id], [t].[Owner23211Id0] +""" +SELECT [d].[Id], [d].[Owner23211Id], [t].[Id], [t].[Owner23211Id], [t].[Owner23211Id0] FROM ( SELECT TOP(1) [o].[Id], [o0].[Owner23211Id], [o1].[Owner23211Id] AS [Owner23211Id0] FROM [Owner23211] AS [o] @@ -8430,7 +8718,8 @@ FROM [Owner23211] AS [o] ORDER BY [o].[Id] ) AS [t] INNER JOIN [Dependent23211] AS [d] ON [t].[Id] = [d].[Owner23211Id] -ORDER BY [t].[Id], [t].[Owner23211Id], [t].[Owner23211Id0]"); +ORDER BY [t].[Id], [t].[Owner23211Id], [t].[Owner23211Id0] +"""); } using (var context = contextFactory.CreateContext()) @@ -8444,12 +8733,15 @@ ORDER BY [o].[Id] Assert.Equal("A", owner.Owned.Value); AssertSql( - @"SELECT TOP(2) [s].[Id], [o].[SecondOwner23211Id], [o].[Value] +""" +SELECT TOP(2) [s].[Id], [o].[SecondOwner23211Id], [o].[Value] FROM [SecondOwner23211] AS [s] LEFT JOIN [Owned23211] AS [o] ON [s].[Id] = [o].[SecondOwner23211Id] -ORDER BY [s].[Id], [o].[SecondOwner23211Id]", +ORDER BY [s].[Id], [o].[SecondOwner23211Id] +""", // - @"SELECT [s0].[Id], [s0].[SecondOwner23211Id], [t].[Id], [t].[SecondOwner23211Id] +""" +SELECT [s0].[Id], [s0].[SecondOwner23211Id], [t].[Id], [t].[SecondOwner23211Id] FROM ( SELECT TOP(1) [s].[Id], [o].[SecondOwner23211Id] FROM [SecondOwner23211] AS [s] @@ -8457,7 +8749,8 @@ FROM [SecondOwner23211] AS [s] ORDER BY [s].[Id] ) AS [t] INNER JOIN [SecondDependent23211] AS [s0] ON [t].[Id] = [s0].[SecondOwner23211Id] -ORDER BY [t].[Id], [t].[SecondOwner23211Id]"); +ORDER BY [t].[Id], [t].[SecondOwner23211Id] +"""); } } @@ -8540,9 +8833,11 @@ public virtual async Task Query_filter_with_contains_evaluates_correctly() Assert.Single(result); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [Entities] AS [e] -WHERE [e].[Id] NOT IN (1, 7)"); +WHERE [e].[Id] NOT IN (1, 7) +"""); } } @@ -8594,9 +8889,11 @@ public virtual async Task Can_query_point_with_buffered_data_reader() Assert.NotNull(testUser); AssertSql( - @"SELECT TOP(1) [l].[Id], [l].[Name], [l].[Address_County], [l].[Address_Line1], [l].[Address_Line2], [l].[Address_Point], [l].[Address_Postcode], [l].[Address_Town], [l].[Address_Value] +""" +SELECT TOP(1) [l].[Id], [l].[Name], [l].[Address_County], [l].[Address_Line1], [l].[Address_Line2], [l].[Address_Point], [l].[Address_Postcode], [l].[Address_Town], [l].[Address_Value] FROM [Locations] AS [l] -WHERE [l].[Name] = N'My Location'"); +WHERE [l].[Name] = N'My Location' +"""); } } @@ -8691,14 +8988,16 @@ public virtual async Task Operators_combine_nullability_of_entity_shapers() Assert.Equal(3, query.Count); AssertSql( - @"SELECT [a].[Id], [a].[a], [a].[a1], [a].[forkey], [b].[Id] AS [Id0], [b].[b], [b].[b1], [b].[forkey] AS [forkey0] +""" +SELECT [a].[Id], [a].[a], [a].[a1], [a].[forkey], [b].[Id] AS [Id0], [b].[b], [b].[b1], [b].[forkey] AS [forkey0] FROM [A] AS [a] LEFT JOIN [B] AS [b] ON [a].[forkey] = [b].[forkey] UNION ALL SELECT [a0].[Id], [a0].[a], [a0].[a1], [a0].[forkey], [b0].[Id] AS [Id0], [b0].[b], [b0].[b1], [b0].[forkey] AS [forkey0] FROM [B] AS [b0] LEFT JOIN [A] AS [a0] ON [b0].[forkey] = [a0].[forkey] -WHERE [a0].[Id] IS NULL"); +WHERE [a0].[Id] IS NULL +"""); } using (var context = contextFactory.CreateContext()) @@ -8733,14 +9032,16 @@ FROM [B] AS [b0] Assert.Equal(3, query.Count); AssertSql( - @"SELECT [a].[Id], [a].[a], [a].[a1], [a].[forkey], [b].[Id] AS [Id0], [b].[b], [b].[b1], [b].[forkey] AS [forkey0] +""" +SELECT [a].[Id], [a].[a], [a].[a1], [a].[forkey], [b].[Id] AS [Id0], [b].[b], [b].[b1], [b].[forkey] AS [forkey0] FROM [A] AS [a] LEFT JOIN [B] AS [b] ON [a].[forkey] = [b].[forkey] UNION SELECT [a0].[Id], [a0].[a], [a0].[a1], [a0].[forkey], [b0].[Id] AS [Id0], [b0].[b], [b0].[b1], [b0].[forkey] AS [forkey0] FROM [B] AS [b0] LEFT JOIN [A] AS [a0] ON [b0].[forkey] = [a0].[forkey] -WHERE [a0].[Id] IS NULL"); +WHERE [a0].[Id] IS NULL +"""); } using (var context = contextFactory.CreateContext()) @@ -8774,13 +9075,15 @@ FROM [B] AS [b0] Assert.Single(query); AssertSql( - @"SELECT [a].[Id], [a].[a], [a].[a1], [a].[forkey], [b].[Id] AS [Id0], [b].[b], [b].[b1], [b].[forkey] AS [forkey0] +""" +SELECT [a].[Id], [a].[a], [a].[a1], [a].[forkey], [b].[Id] AS [Id0], [b].[b], [b].[b1], [b].[forkey] AS [forkey0] FROM [A] AS [a] LEFT JOIN [B] AS [b] ON [a].[forkey] = [b].[forkey] EXCEPT SELECT [a0].[Id], [a0].[a], [a0].[a1], [a0].[forkey], [b0].[Id] AS [Id0], [b0].[b], [b0].[b1], [b0].[forkey] AS [forkey0] FROM [B] AS [b0] -LEFT JOIN [A] AS [a0] ON [b0].[forkey] = [a0].[forkey]"); +LEFT JOIN [A] AS [a0] ON [b0].[forkey] = [a0].[forkey] +"""); } using (var context = contextFactory.CreateContext()) @@ -8814,13 +9117,15 @@ FROM [B] AS [b0] Assert.Single(query); AssertSql( - @"SELECT [a].[Id], [a].[a], [a].[a1], [a].[forkey], [b].[Id] AS [Id0], [b].[b], [b].[b1], [b].[forkey] AS [forkey0] +""" +SELECT [a].[Id], [a].[a], [a].[a1], [a].[forkey], [b].[Id] AS [Id0], [b].[b], [b].[b1], [b].[forkey] AS [forkey0] FROM [A] AS [a] LEFT JOIN [B] AS [b] ON [a].[forkey] = [b].[forkey] INTERSECT SELECT [a0].[Id], [a0].[a], [a0].[a1], [a0].[forkey], [b0].[Id] AS [Id0], [b0].[b], [b0].[b1], [b0].[forkey] AS [forkey0] FROM [B] AS [b0] -LEFT JOIN [A] AS [a0] ON [b0].[forkey] = [a0].[forkey]"); +LEFT JOIN [A] AS [a0] ON [b0].[forkey] = [a0].[forkey] +"""); } } @@ -8918,9 +9223,11 @@ public virtual async Task Method_call_translators_are_invoked_for_indexer_if_not Assert.NotNull(testUser); AssertSql( - @"SELECT TOP(1) [b].[Id], [b].[JObject], [b].[Name] +""" +SELECT TOP(1) [b].[Id], [b].[JObject], [b].[Name] FROM [Blogs] AS [b] -WHERE JSON_VALUE([b].[JObject], '$.Author') = N'Maumar'"); +WHERE JSON_VALUE([b].[JObject], '$.Author') = N'Maumar' +"""); } } @@ -9123,7 +9430,8 @@ public virtual async Task Batch_insert_with_sqlvariant_different_types_12482() context.SaveChanges(); AssertSql( - @"@p0='10.0999' (Nullable = true) (DbType = Object) +""" +@p0='10.0999' (Nullable = true) (DbType = Object) @p1='-12345' (Nullable = true) (DbType = Object) @p2='String Value' (Size = 12) (DbType = Object) @p3='2020-01-01T00:00:00.0000000' (Nullable = true) (DbType = Object) @@ -9138,7 +9446,8 @@ MERGE [BaseEntities] USING ( WHEN NOT MATCHED THEN INSERT ([Value]) VALUES (i.[Value]) -OUTPUT INSERTED.[Id], i._Position;"); +OUTPUT INSERTED.[Id], i._Position; +"""); } } @@ -9334,7 +9643,8 @@ public virtual async Task Projection_with_multiple_includes_and_subquery_with_se // Verify the valid generated SQL AssertSql( - @"@__id_0='1' +""" +@__id_0='1' SELECT [t].[Id], [t].[Name], [t].[Surname], [t].[Birthday], [t].[Hometown], [t].[Bio], [t].[AvatarUrl], [t].[Id0], [t].[Id1], [p0].[Id], [p0].[ImageUrl], [p0].[Height], [p0].[Width], [t0].[Id], [t0].[Name], [t0].[PosterUrl], [t0].[Rating] FROM ( @@ -9356,7 +9666,8 @@ FROM [MovieDirectorEntity] AS [m1] INNER JOIN [MovieEntity] AS [m2] ON [m1].[MovieId] = [m2].[Id] WHERE ([t].[Id1] IS NOT NULL) AND [t].[Id1] = [m1].[DirectorId] ) AS [t0] -ORDER BY [t].[Id], [t].[Id0], [t].[Id1], [p0].[Id]"); +ORDER BY [t].[Id], [t].[Id0], [t].[Id1], [p0].[Id] +"""); } private class PersonEntity @@ -9484,7 +9795,8 @@ public virtual async Task Multiple_select_many_in_projection() // Verify the valid generated SQL AssertSql( - @"SELECT [t].[Id], [t1].[Rate], [t1].[UserRateText], [t1].[UserId], [t1].[Id], [t1].[Id0], [t].[c] +""" +SELECT [t].[Id], [t1].[Rate], [t1].[UserRateText], [t1].[UserId], [t1].[Id], [t1].[Id0], [t].[c] FROM ( SELECT TOP(2) ( SELECT COUNT(*) @@ -9504,7 +9816,8 @@ ORDER BY [t3].[DateArrived] DESC ) AS [t2] LEFT JOIN [Users] AS [u0] ON [t2].[UserEUserId] = [u0].[Id] ) AS [t1] -ORDER BY [t].[Id], [t1].[DateArrived] DESC, [t1].[Id], [t1].[Id0]"); +ORDER BY [t].[Id], [t1].[DateArrived] DESC, [t1].[Id], [t1].[Id0] +"""); } [ConditionalFact] @@ -9530,7 +9843,8 @@ public virtual async Task Single_select_many_in_projection_with_take() // Verify the valid generated SQL AssertSql( - @"SELECT [t].[Id], [t1].[Rate], [t1].[UserRateText], [t1].[UserId], [t1].[Id], [t1].[Id0] +""" +SELECT [t].[Id], [t1].[Rate], [t1].[UserRateText], [t1].[UserId], [t1].[Id], [t1].[Id0] FROM ( SELECT TOP(2) [u].[Id] FROM [Users] AS [u] @@ -9546,7 +9860,8 @@ ORDER BY [t2].[DateArrived] DESC ) AS [t0] LEFT JOIN [Users] AS [u0] ON [t0].[UserEUserId] = [u0].[Id] ) AS [t1] -ORDER BY [t].[Id], [t1].[DateArrived] DESC, [t1].[Id], [t1].[Id0]"); +ORDER BY [t].[Id], [t1].[DateArrived] DESC, [t1].[Id], [t1].[Id0] +"""); } private class EUser @@ -9616,7 +9931,8 @@ public virtual async Task SelectMany_and_collection_in_projection_in_FirstOrDefa // Verify the valid generated SQL AssertSql( - @"@__referenceId_0='a' (Size = 4000) +""" +@__referenceId_0='a' (Size = 4000) @__customerId_1='1115c816-6c4c-4016-94df-d8b60a22ffa1' SELECT [t].[Id], [t0].[Id], [t0].[Image], [t0].[Id0], [t0].[Id00] @@ -9636,7 +9952,8 @@ FROM [IdentityDocument] AS [i0] ) AS [t1] WHERE [t].[Id] = [i].[OrderId] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [t].[Id], [t0].[Id], [t0].[Id0] +"""); } private class Order @@ -9726,7 +10043,8 @@ from outDoorSports in context.OutDoorSports // Verify the valid generated SQL AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[Id], [t0].[Name] FROM ( @@ -9743,7 +10061,8 @@ SELECT [o].[Name] FROM [OutDoorSports] AS [o] WHERE [o].[Id] = [t].[OutCategoryId] ) AS [t0] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } private class StudentGameMapper @@ -9828,7 +10147,8 @@ from asof in context.GetPersonStatusAsOf(m.PersonId, m.Timestamp) // Verify the valid generated SQL AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT ( SELECT TOP(1) [g0].[Description] @@ -9840,7 +10160,8 @@ FROM [Message] AS [m] ORDER BY [m].[Id] ) AS [t] CROSS APPLY [dbo].[GetPersonStatusAsOf]([t].[PersonId], [t].[Timestamp]) AS [g] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } private class Gender @@ -9964,9 +10285,11 @@ from j in context.OpenJson(c.Json, "$.items") select new { c, j }).ToListAsync(); AssertSql( - @"SELECT [c].[Id], [c].[Json], [o].[Value] +""" +SELECT [c].[Id], [c].[Json], [o].[Value] FROM [Cars] AS [c] -CROSS APPLY OPENJSON([c].[Json], N'$.items') AS [o]"); +CROSS APPLY OPENJSON([c].[Json], N'$.items') AS [o] +"""); } } @@ -10032,9 +10355,11 @@ public virtual async Task NoTracking_split_query_creates_only_required_instances Assert.Equal(1, Test25400.ConstructorCallCount); AssertSql( - @"SELECT TOP(1) [t].[Id], [t].[Value] +""" +SELECT TOP(1) [t].[Id], [t].[Value] FROM [Tests] AS [t] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } } @@ -10239,11 +10564,13 @@ public virtual async Task Query_generates_correct_datetime2_parameter_definition _ = context.Entities.Where(x => x.DateTime == parameter).Select(e => e.DateTime).FirstOrDefault(); AssertSql( - $@"@__parameter_0='2021-11-12T13:14:15.1234567'{postfix} +$""" +@__parameter_0='2021-11-12T13:14:15.1234567'{postfix} SELECT TOP(1) [e].[DateTime] FROM [Entities] AS [e] -WHERE [e].[DateTime] = @__parameter_0"); +WHERE [e].[DateTime] = @__parameter_0 +"""); } } @@ -10275,11 +10602,13 @@ public virtual async Task Query_generates_correct_datetimeoffset_parameter_defin _ = context.Entities.Where(x => x.DateTimeOffset == parameter).Select(e => e.DateTimeOffset).FirstOrDefault(); AssertSql( - $@"@__parameter_0='2021-11-12T13:14:15.1234567+10:00'{postfix} +$""" +@__parameter_0='2021-11-12T13:14:15.1234567+10:00'{postfix} SELECT TOP(1) [e].[DateTimeOffset] FROM [Entities] AS [e] -WHERE [e].[DateTimeOffset] = @__parameter_0"); +WHERE [e].[DateTimeOffset] = @__parameter_0 +"""); } } @@ -10311,11 +10640,13 @@ public virtual async Task Query_generates_correct_timespan_parameter_definition( _ = context.Entities.Where(x => x.TimeSpan == parameter).Select(e => e.TimeSpan).FirstOrDefault(); AssertSql( - $@"@__parameter_0='12:34:56.7890123'{postfix} +$""" +@__parameter_0='12:34:56.7890123'{postfix} SELECT TOP(1) [e].[TimeSpan] FROM [Entities] AS [e] -WHERE [e].[TimeSpan] = @__parameter_0"); +WHERE [e].[TimeSpan] = @__parameter_0 +"""); } } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/QueryFilterFuncletizationSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/QueryFilterFuncletizationSqlServerTest.cs index 1870e2078d4..88ced32a671 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/QueryFilterFuncletizationSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/QueryFilterFuncletizationSqlServerTest.cs @@ -20,12 +20,14 @@ public override void DbContext_property_parameter_does_not_clash_with_closure_pa base.DbContext_property_parameter_does_not_clash_with_closure_parameter_name(); AssertSql( - @"@__ef_filter__Field_0='False' +""" +@__ef_filter__Field_0='False' @__Field_0='False' SELECT [f].[Id], [f].[IsEnabled] FROM [FieldFilter] AS [f] -WHERE [f].[IsEnabled] = @__ef_filter__Field_0 AND [f].[IsEnabled] = @__Field_0"); +WHERE [f].[IsEnabled] = @__ef_filter__Field_0 AND [f].[IsEnabled] = @__Field_0 +"""); } public override void DbContext_field_is_parameterized() @@ -33,17 +35,21 @@ public override void DbContext_field_is_parameterized() base.DbContext_field_is_parameterized(); AssertSql( - @"@__ef_filter__Field_0='False' +""" +@__ef_filter__Field_0='False' SELECT [f].[Id], [f].[IsEnabled] FROM [FieldFilter] AS [f] -WHERE [f].[IsEnabled] = @__ef_filter__Field_0", +WHERE [f].[IsEnabled] = @__ef_filter__Field_0 +""", // - @"@__ef_filter__Field_0='True' +""" +@__ef_filter__Field_0='True' SELECT [f].[Id], [f].[IsEnabled] FROM [FieldFilter] AS [f] -WHERE [f].[IsEnabled] = @__ef_filter__Field_0"); +WHERE [f].[IsEnabled] = @__ef_filter__Field_0 +"""); } public override void DbContext_property_is_parameterized() @@ -51,17 +57,21 @@ public override void DbContext_property_is_parameterized() base.DbContext_property_is_parameterized(); AssertSql( - @"@__ef_filter__Property_0='False' +""" +@__ef_filter__Property_0='False' SELECT [p].[Id], [p].[IsEnabled] FROM [PropertyFilter] AS [p] -WHERE [p].[IsEnabled] = @__ef_filter__Property_0", +WHERE [p].[IsEnabled] = @__ef_filter__Property_0 +""", // - @"@__ef_filter__Property_0='True' +""" +@__ef_filter__Property_0='True' SELECT [p].[Id], [p].[IsEnabled] FROM [PropertyFilter] AS [p] -WHERE [p].[IsEnabled] = @__ef_filter__Property_0"); +WHERE [p].[IsEnabled] = @__ef_filter__Property_0 +"""); } public override void DbContext_method_call_is_parameterized() @@ -69,11 +79,13 @@ public override void DbContext_method_call_is_parameterized() base.DbContext_method_call_is_parameterized(); AssertSql( - @"@__ef_filter__p_0='2' +""" +@__ef_filter__p_0='2' SELECT [m].[Id], [m].[Tenant] FROM [MethodCallFilter] AS [m] -WHERE [m].[Tenant] = @__ef_filter__p_0"); +WHERE [m].[Tenant] = @__ef_filter__p_0 +"""); } public override void DbContext_list_is_parameterized() @@ -95,17 +107,23 @@ public override void DbContext_list_is_parameterized() Assert.Equal(2, query.Count); AssertSql( - @"SELECT [l].[Id], [l].[Tenant] +""" +SELECT [l].[Id], [l].[Tenant] FROM [ListFilter] AS [l] -WHERE 0 = 1", +WHERE 0 = 1 +""", // - @"SELECT [l].[Id], [l].[Tenant] +""" +SELECT [l].[Id], [l].[Tenant] FROM [ListFilter] AS [l] -WHERE [l].[Tenant] = 1", +WHERE [l].[Tenant] = 1 +""", // - @"SELECT [l].[Id], [l].[Tenant] +""" +SELECT [l].[Id], [l].[Tenant] FROM [ListFilter] AS [l] -WHERE [l].[Tenant] IN (2, 3)"); +WHERE [l].[Tenant] IN (2, 3) +"""); } public override void DbContext_property_chain_is_parameterized() @@ -113,17 +131,21 @@ public override void DbContext_property_chain_is_parameterized() base.DbContext_property_chain_is_parameterized(); AssertSql( - @"@__ef_filter__Enabled_0='False' +""" +@__ef_filter__Enabled_0='False' SELECT [p].[Id], [p].[IsEnabled] FROM [PropertyChainFilter] AS [p] -WHERE [p].[IsEnabled] = @__ef_filter__Enabled_0", +WHERE [p].[IsEnabled] = @__ef_filter__Enabled_0 +""", // - @"@__ef_filter__Enabled_0='True' +""" +@__ef_filter__Enabled_0='True' SELECT [p].[Id], [p].[IsEnabled] FROM [PropertyChainFilter] AS [p] -WHERE [p].[IsEnabled] = @__ef_filter__Enabled_0"); +WHERE [p].[IsEnabled] = @__ef_filter__Enabled_0 +"""); } public override void DbContext_property_method_call_is_parameterized() @@ -131,11 +153,13 @@ public override void DbContext_property_method_call_is_parameterized() base.DbContext_property_method_call_is_parameterized(); AssertSql( - @"@__ef_filter__p_0='2' +""" +@__ef_filter__p_0='2' SELECT [p].[Id], [p].[Tenant] FROM [PropertyMethodCallFilter] AS [p] -WHERE [p].[Tenant] = @__ef_filter__p_0"); +WHERE [p].[Tenant] = @__ef_filter__p_0 +"""); } public override void DbContext_method_call_chain_is_parameterized() @@ -143,11 +167,13 @@ public override void DbContext_method_call_chain_is_parameterized() base.DbContext_method_call_chain_is_parameterized(); AssertSql( - @"@__ef_filter__p_0='2' +""" +@__ef_filter__p_0='2' SELECT [m].[Id], [m].[Tenant] FROM [MethodCallChainFilter] AS [m] -WHERE [m].[Tenant] = @__ef_filter__p_0"); +WHERE [m].[Tenant] = @__ef_filter__p_0 +"""); } public override void DbContext_complex_expression_is_parameterized() @@ -155,26 +181,32 @@ public override void DbContext_complex_expression_is_parameterized() base.DbContext_complex_expression_is_parameterized(); AssertSql( - @"@__ef_filter__Property_0='False' +""" +@__ef_filter__Property_0='False' @__ef_filter__p_1='True' SELECT [c].[Id], [c].[IsEnabled] FROM [ComplexFilter] AS [c] -WHERE [c].[IsEnabled] = @__ef_filter__Property_0 AND @__ef_filter__p_1 = CAST(1 AS bit)", +WHERE [c].[IsEnabled] = @__ef_filter__Property_0 AND @__ef_filter__p_1 = CAST(1 AS bit) +""", // - @"@__ef_filter__Property_0='True' +""" +@__ef_filter__Property_0='True' @__ef_filter__p_1='True' SELECT [c].[Id], [c].[IsEnabled] FROM [ComplexFilter] AS [c] -WHERE [c].[IsEnabled] = @__ef_filter__Property_0 AND @__ef_filter__p_1 = CAST(1 AS bit)", +WHERE [c].[IsEnabled] = @__ef_filter__Property_0 AND @__ef_filter__p_1 = CAST(1 AS bit) +""", // - @"@__ef_filter__Property_0='True' +""" +@__ef_filter__Property_0='True' @__ef_filter__p_1='False' SELECT [c].[Id], [c].[IsEnabled] FROM [ComplexFilter] AS [c] -WHERE [c].[IsEnabled] = @__ef_filter__Property_0 AND @__ef_filter__p_1 = CAST(1 AS bit)"); +WHERE [c].[IsEnabled] = @__ef_filter__Property_0 AND @__ef_filter__p_1 = CAST(1 AS bit) +"""); } public override void DbContext_property_based_filter_does_not_short_circuit() @@ -182,25 +214,31 @@ public override void DbContext_property_based_filter_does_not_short_circuit() base.DbContext_property_based_filter_does_not_short_circuit(); AssertSql( - @"@__ef_filter__p_0='False' +""" +@__ef_filter__p_0='False' @__ef_filter__IsModerated_1='True' (Nullable = true) SELECT [s].[Id], [s].[IsDeleted], [s].[IsModerated] FROM [ShortCircuitFilter] AS [s] -WHERE [s].[IsDeleted] = CAST(0 AS bit) AND (@__ef_filter__p_0 = CAST(1 AS bit) OR @__ef_filter__IsModerated_1 = [s].[IsModerated])", +WHERE [s].[IsDeleted] = CAST(0 AS bit) AND (@__ef_filter__p_0 = CAST(1 AS bit) OR @__ef_filter__IsModerated_1 = [s].[IsModerated]) +""", // - @"@__ef_filter__p_0='False' +""" +@__ef_filter__p_0='False' @__ef_filter__IsModerated_1='False' (Nullable = true) SELECT [s].[Id], [s].[IsDeleted], [s].[IsModerated] FROM [ShortCircuitFilter] AS [s] -WHERE [s].[IsDeleted] = CAST(0 AS bit) AND (@__ef_filter__p_0 = CAST(1 AS bit) OR @__ef_filter__IsModerated_1 = [s].[IsModerated])", +WHERE [s].[IsDeleted] = CAST(0 AS bit) AND (@__ef_filter__p_0 = CAST(1 AS bit) OR @__ef_filter__IsModerated_1 = [s].[IsModerated]) +""", // - @"@__ef_filter__p_0='True' +""" +@__ef_filter__p_0='True' SELECT [s].[Id], [s].[IsDeleted], [s].[IsModerated] FROM [ShortCircuitFilter] AS [s] -WHERE [s].[IsDeleted] = CAST(0 AS bit) AND @__ef_filter__p_0 = CAST(1 AS bit)"); +WHERE [s].[IsDeleted] = CAST(0 AS bit) AND @__ef_filter__p_0 = CAST(1 AS bit) +"""); } public override void EntityTypeConfiguration_DbContext_field_is_parameterized() @@ -208,17 +246,21 @@ public override void EntityTypeConfiguration_DbContext_field_is_parameterized() base.EntityTypeConfiguration_DbContext_field_is_parameterized(); AssertSql( - @"@__ef_filter__Field_0='False' +""" +@__ef_filter__Field_0='False' SELECT [e].[Id], [e].[IsEnabled] FROM [EntityTypeConfigurationFieldFilter] AS [e] -WHERE [e].[IsEnabled] = @__ef_filter__Field_0", +WHERE [e].[IsEnabled] = @__ef_filter__Field_0 +""", // - @"@__ef_filter__Field_0='True' +""" +@__ef_filter__Field_0='True' SELECT [e].[Id], [e].[IsEnabled] FROM [EntityTypeConfigurationFieldFilter] AS [e] -WHERE [e].[IsEnabled] = @__ef_filter__Field_0"); +WHERE [e].[IsEnabled] = @__ef_filter__Field_0 +"""); } public override void EntityTypeConfiguration_DbContext_property_is_parameterized() @@ -226,17 +268,21 @@ public override void EntityTypeConfiguration_DbContext_property_is_parameterized base.EntityTypeConfiguration_DbContext_property_is_parameterized(); AssertSql( - @"@__ef_filter__Property_0='False' +""" +@__ef_filter__Property_0='False' SELECT [e].[Id], [e].[IsEnabled] FROM [EntityTypeConfigurationPropertyFilter] AS [e] -WHERE [e].[IsEnabled] = @__ef_filter__Property_0", +WHERE [e].[IsEnabled] = @__ef_filter__Property_0 +""", // - @"@__ef_filter__Property_0='True' +""" +@__ef_filter__Property_0='True' SELECT [e].[Id], [e].[IsEnabled] FROM [EntityTypeConfigurationPropertyFilter] AS [e] -WHERE [e].[IsEnabled] = @__ef_filter__Property_0"); +WHERE [e].[IsEnabled] = @__ef_filter__Property_0 +"""); } public override void EntityTypeConfiguration_DbContext_method_call_is_parameterized() @@ -244,11 +290,13 @@ public override void EntityTypeConfiguration_DbContext_method_call_is_parameteri base.EntityTypeConfiguration_DbContext_method_call_is_parameterized(); AssertSql( - @"@__ef_filter__p_0='2' +""" +@__ef_filter__p_0='2' SELECT [e].[Id], [e].[Tenant] FROM [EntityTypeConfigurationMethodCallFilter] AS [e] -WHERE [e].[Tenant] = @__ef_filter__p_0"); +WHERE [e].[Tenant] = @__ef_filter__p_0 +"""); } public override void EntityTypeConfiguration_DbContext_property_chain_is_parameterized() @@ -256,17 +304,21 @@ public override void EntityTypeConfiguration_DbContext_property_chain_is_paramet base.EntityTypeConfiguration_DbContext_property_chain_is_parameterized(); AssertSql( - @"@__ef_filter__Enabled_0='False' +""" +@__ef_filter__Enabled_0='False' SELECT [e].[Id], [e].[IsEnabled] FROM [EntityTypeConfigurationPropertyChainFilter] AS [e] -WHERE [e].[IsEnabled] = @__ef_filter__Enabled_0", +WHERE [e].[IsEnabled] = @__ef_filter__Enabled_0 +""", // - @"@__ef_filter__Enabled_0='True' +""" +@__ef_filter__Enabled_0='True' SELECT [e].[Id], [e].[IsEnabled] FROM [EntityTypeConfigurationPropertyChainFilter] AS [e] -WHERE [e].[IsEnabled] = @__ef_filter__Enabled_0"); +WHERE [e].[IsEnabled] = @__ef_filter__Enabled_0 +"""); } public override void Local_method_DbContext_field_is_parameterized() @@ -274,17 +326,21 @@ public override void Local_method_DbContext_field_is_parameterized() base.Local_method_DbContext_field_is_parameterized(); AssertSql( - @"@__ef_filter__Field_0='False' +""" +@__ef_filter__Field_0='False' SELECT [l].[Id], [l].[IsEnabled] FROM [LocalMethodFilter] AS [l] -WHERE [l].[IsEnabled] = @__ef_filter__Field_0", +WHERE [l].[IsEnabled] = @__ef_filter__Field_0 +""", // - @"@__ef_filter__Field_0='True' +""" +@__ef_filter__Field_0='True' SELECT [l].[Id], [l].[IsEnabled] FROM [LocalMethodFilter] AS [l] -WHERE [l].[IsEnabled] = @__ef_filter__Field_0"); +WHERE [l].[IsEnabled] = @__ef_filter__Field_0 +"""); } public override void Local_static_method_DbContext_property_is_parameterized() @@ -292,17 +348,21 @@ public override void Local_static_method_DbContext_property_is_parameterized() base.Local_static_method_DbContext_property_is_parameterized(); AssertSql( - @"@__ef_filter__Property_0='False' +""" +@__ef_filter__Property_0='False' SELECT [l].[Id], [l].[IsEnabled] FROM [LocalMethodParamsFilter] AS [l] -WHERE [l].[IsEnabled] = @__ef_filter__Property_0", +WHERE [l].[IsEnabled] = @__ef_filter__Property_0 +""", // - @"@__ef_filter__Property_0='True' +""" +@__ef_filter__Property_0='True' SELECT [l].[Id], [l].[IsEnabled] FROM [LocalMethodParamsFilter] AS [l] -WHERE [l].[IsEnabled] = @__ef_filter__Property_0"); +WHERE [l].[IsEnabled] = @__ef_filter__Property_0 +"""); } public override void Remote_method_DbContext_property_method_call_is_parameterized() @@ -310,11 +370,13 @@ public override void Remote_method_DbContext_property_method_call_is_parameteriz base.Remote_method_DbContext_property_method_call_is_parameterized(); AssertSql( - @"@__ef_filter__p_0='2' +""" +@__ef_filter__p_0='2' SELECT [r].[Id], [r].[Tenant] FROM [RemoteMethodParamsFilter] AS [r] -WHERE [r].[Tenant] = @__ef_filter__p_0"); +WHERE [r].[Tenant] = @__ef_filter__p_0 +"""); } public override void Extension_method_DbContext_field_is_parameterized() @@ -322,17 +384,21 @@ public override void Extension_method_DbContext_field_is_parameterized() base.Extension_method_DbContext_field_is_parameterized(); AssertSql( - @"@__ef_filter__Field_0='False' +""" +@__ef_filter__Field_0='False' SELECT [e].[Id], [e].[IsEnabled] FROM [ExtensionBuilderFilter] AS [e] -WHERE [e].[IsEnabled] = @__ef_filter__Field_0", +WHERE [e].[IsEnabled] = @__ef_filter__Field_0 +""", // - @"@__ef_filter__Field_0='True' +""" +@__ef_filter__Field_0='True' SELECT [e].[Id], [e].[IsEnabled] FROM [ExtensionBuilderFilter] AS [e] -WHERE [e].[IsEnabled] = @__ef_filter__Field_0"); +WHERE [e].[IsEnabled] = @__ef_filter__Field_0 +"""); } public override void Extension_method_DbContext_property_chain_is_parameterized() @@ -340,17 +406,21 @@ public override void Extension_method_DbContext_property_chain_is_parameterized( base.Extension_method_DbContext_property_chain_is_parameterized(); AssertSql( - @"@__ef_filter__Enabled_0='False' +""" +@__ef_filter__Enabled_0='False' SELECT [e].[Id], [e].[IsEnabled] FROM [ExtensionContextFilter] AS [e] -WHERE [e].[IsEnabled] = @__ef_filter__Enabled_0", +WHERE [e].[IsEnabled] = @__ef_filter__Enabled_0 +""", // - @"@__ef_filter__Enabled_0='True' +""" +@__ef_filter__Enabled_0='True' SELECT [e].[Id], [e].[IsEnabled] FROM [ExtensionContextFilter] AS [e] -WHERE [e].[IsEnabled] = @__ef_filter__Enabled_0"); +WHERE [e].[IsEnabled] = @__ef_filter__Enabled_0 +"""); } public override void Using_DbSet_in_filter_works() @@ -358,7 +428,8 @@ public override void Using_DbSet_in_filter_works() base.Using_DbSet_in_filter_works(); AssertSql( - @"@__ef_filter__Property_0='False' +""" +@__ef_filter__Property_0='False' SELECT [p].[Id], [p].[Filler] FROM [PrincipalSetFilter] AS [p] @@ -368,7 +439,8 @@ FROM [Dependents] AS [d] WHERE EXISTS ( SELECT 1 FROM [MultiContextFilter] AS [m] - WHERE [m].[IsEnabled] = @__ef_filter__Property_0 AND [m].[BossId] = 1 AND [m].[BossId] = [d].[PrincipalSetFilterId]) AND [d].[PrincipalSetFilterId] = [p].[Id])"); + WHERE [m].[IsEnabled] = @__ef_filter__Property_0 AND [m].[BossId] = 1 AND [m].[BossId] = [d].[PrincipalSetFilterId]) AND [d].[PrincipalSetFilterId] = [p].[Id]) +"""); } public override void Using_Context_set_method_in_filter_works() @@ -376,14 +448,16 @@ public override void Using_Context_set_method_in_filter_works() base.Using_Context_set_method_in_filter_works(); AssertSql( - @"@__ef_filter__Property_0='False' +""" +@__ef_filter__Property_0='False' SELECT [d].[Id], [d].[PrincipalSetFilterId] FROM [Dependents] AS [d] WHERE EXISTS ( SELECT 1 FROM [MultiContextFilter] AS [m] - WHERE [m].[IsEnabled] = @__ef_filter__Property_0 AND [m].[BossId] = 1 AND [m].[BossId] = [d].[PrincipalSetFilterId])"); + WHERE [m].[IsEnabled] = @__ef_filter__Property_0 AND [m].[BossId] = 1 AND [m].[BossId] = [d].[PrincipalSetFilterId]) +"""); } public override void Static_member_from_dbContext_is_inlined() @@ -391,9 +465,11 @@ public override void Static_member_from_dbContext_is_inlined() base.Static_member_from_dbContext_is_inlined(); AssertSql( - @"SELECT [d].[Id], [d].[UserId] +""" +SELECT [d].[Id], [d].[UserId] FROM [DbContextStaticMemberFilter] AS [d] -WHERE [d].[UserId] <> 1"); +WHERE [d].[UserId] <> 1 +"""); } public override void Static_member_from_non_dbContext_is_inlined() @@ -401,9 +477,11 @@ public override void Static_member_from_non_dbContext_is_inlined() base.Static_member_from_non_dbContext_is_inlined(); AssertSql( - @"SELECT [s].[Id], [s].[IsEnabled] +""" +SELECT [s].[Id], [s].[IsEnabled] FROM [StaticMemberFilter] AS [s] -WHERE [s].[IsEnabled] = CAST(1 AS bit)"); +WHERE [s].[IsEnabled] = CAST(1 AS bit) +"""); } public override void Local_variable_from_OnModelCreating_is_inlined() @@ -411,9 +489,11 @@ public override void Local_variable_from_OnModelCreating_is_inlined() base.Local_variable_from_OnModelCreating_is_inlined(); AssertSql( - @"SELECT [l].[Id], [l].[IsEnabled] +""" +SELECT [l].[Id], [l].[IsEnabled] FROM [LocalVariableFilter] AS [l] -WHERE [l].[IsEnabled] = CAST(1 AS bit)"); +WHERE [l].[IsEnabled] = CAST(1 AS bit) +"""); } public override void Method_parameter_is_inlined() @@ -421,9 +501,11 @@ public override void Method_parameter_is_inlined() base.Method_parameter_is_inlined(); AssertSql( - @"SELECT [p].[Id], [p].[Tenant] +""" +SELECT [p].[Id], [p].[Tenant] FROM [ParameterFilter] AS [p] -WHERE [p].[Tenant] = 0"); +WHERE [p].[Tenant] = 0 +"""); } public override void Using_multiple_context_in_filter_parametrize_only_current_context() @@ -431,17 +513,21 @@ public override void Using_multiple_context_in_filter_parametrize_only_current_c base.Using_multiple_context_in_filter_parametrize_only_current_context(); AssertSql( - @"@__ef_filter__Property_0='False' +""" +@__ef_filter__Property_0='False' SELECT [m].[Id], [m].[BossId], [m].[IsEnabled] FROM [MultiContextFilter] AS [m] -WHERE [m].[IsEnabled] = @__ef_filter__Property_0 AND [m].[BossId] = 1", +WHERE [m].[IsEnabled] = @__ef_filter__Property_0 AND [m].[BossId] = 1 +""", // - @"@__ef_filter__Property_0='True' +""" +@__ef_filter__Property_0='True' SELECT [m].[Id], [m].[BossId], [m].[IsEnabled] FROM [MultiContextFilter] AS [m] -WHERE [m].[IsEnabled] = @__ef_filter__Property_0 AND [m].[BossId] = 1"); +WHERE [m].[IsEnabled] = @__ef_filter__Property_0 AND [m].[BossId] = 1 +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/RawSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/RawSqlServerTest.cs index 083bd18132b..e06354039cd 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/RawSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/RawSqlServerTest.cs @@ -24,7 +24,10 @@ public virtual async Task ToQuery_can_use_FromSqlRaw() Assert.Equal(4, query.Count); - AssertSql("SELECT o.Amount From Orders AS o -- RAW"); + AssertSql( +""" +SELECT o.Amount From Orders AS o -- RAW +"""); } } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/SharedTypeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/SharedTypeQuerySqlServerTest.cs index 7ac7f1da185..7c89f886bab 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/SharedTypeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/SharedTypeQuerySqlServerTest.cs @@ -13,12 +13,14 @@ public override async Task Can_use_shared_type_entity_type_in_query_filter(bool await base.Can_use_shared_type_entity_type_in_query_filter(async); AssertSql( - @"SELECT [v].[Value] +""" +SELECT [v].[Value] FROM [ViewQuery24601] AS [v] WHERE EXISTS ( SELECT 1 FROM [STET] AS [s] - WHERE [s].[Value] = [v].[Value] OR (([s].[Value] IS NULL) AND ([v].[Value] IS NULL)))"); + WHERE [s].[Value] = [v].[Value] OR (([s].[Value] IS NULL) AND ([v].[Value] IS NULL))) +"""); } public override async Task Can_use_shared_type_entity_type_in_query_filter_with_from_sql(bool async) @@ -26,13 +28,15 @@ public override async Task Can_use_shared_type_entity_type_in_query_filter_with_ await base.Can_use_shared_type_entity_type_in_query_filter_with_from_sql(async); AssertSql( - @"SELECT [v].[Value] +""" +SELECT [v].[Value] FROM [ViewQuery24601] AS [v] WHERE EXISTS ( SELECT 1 FROM ( Select * from STET ) AS [s] - WHERE [s].[Value] = [v].[Value] OR (([s].[Value] IS NULL) AND ([v].[Value] IS NULL)))"); + WHERE [s].[Value] = [v].[Value] OR (([s].[Value] IS NULL) AND ([v].[Value] IS NULL))) +"""); } } diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/SimpleQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/SimpleQuerySqlServerTest.cs index 0b73ec35bf9..630615fc0ce 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/SimpleQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/SimpleQuerySqlServerTest.cs @@ -17,20 +17,24 @@ public override async Task Multiple_nested_reference_navigations(bool async) await base.Multiple_nested_reference_navigations(async); AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT TOP(1) [s].[Id], [s].[Email], [s].[Logon], [s].[ManagerId], [s].[Name], [s].[SecondaryManagerId] FROM [Staff] AS [s] -WHERE [s].[Id] = @__p_0", +WHERE [s].[Id] = @__p_0 +""", // - @"@__id_0='1' +""" +@__id_0='1' SELECT TOP(2) [a].[Id], [a].[Complete], [a].[Deleted], [a].[PeriodEnd], [a].[PeriodStart], [a].[StaffId], [s].[Id], [s].[Email], [s].[Logon], [s].[ManagerId], [s].[Name], [s].[SecondaryManagerId], [s0].[Id], [s0].[Email], [s0].[Logon], [s0].[ManagerId], [s0].[Name], [s0].[SecondaryManagerId], [s1].[Id], [s1].[Email], [s1].[Logon], [s1].[ManagerId], [s1].[Name], [s1].[SecondaryManagerId] FROM [Appraisals] AS [a] INNER JOIN [Staff] AS [s] ON [a].[StaffId] = [s].[Id] LEFT JOIN [Staff] AS [s0] ON [s].[ManagerId] = [s0].[Id] LEFT JOIN [Staff] AS [s1] ON [s].[SecondaryManagerId] = [s1].[Id] -WHERE [a].[Id] = @__id_0"); +WHERE [a].[Id] = @__id_0 +"""); } public override async Task Comparing_enum_casted_to_byte_with_int_parameter(bool async) @@ -38,11 +42,13 @@ public override async Task Comparing_enum_casted_to_byte_with_int_parameter(bool await base.Comparing_enum_casted_to_byte_with_int_parameter(async); AssertSql( - @"@__bitterTaste_0='1' +""" +@__bitterTaste_0='1' SELECT [i].[IceCreamId], [i].[Name], [i].[Taste] FROM [IceCreams] AS [i] -WHERE [i].[Taste] = @__bitterTaste_0"); +WHERE [i].[Taste] = @__bitterTaste_0 +"""); } public override async Task Comparing_enum_casted_to_byte_with_int_constant(bool async) @@ -50,9 +56,11 @@ public override async Task Comparing_enum_casted_to_byte_with_int_constant(bool await base.Comparing_enum_casted_to_byte_with_int_constant(async); AssertSql( - @"SELECT [i].[IceCreamId], [i].[Name], [i].[Taste] +""" +SELECT [i].[IceCreamId], [i].[Name], [i].[Taste] FROM [IceCreams] AS [i] -WHERE [i].[Taste] = 1"); +WHERE [i].[Taste] = 1 +"""); } public override async Task Comparing_byte_column_to_enum_in_vb_creating_double_cast(bool async) @@ -60,9 +68,11 @@ public override async Task Comparing_byte_column_to_enum_in_vb_creating_double_c await base.Comparing_byte_column_to_enum_in_vb_creating_double_cast(async); AssertSql( - @"SELECT [f].[Id], [f].[Taste] +""" +SELECT [f].[Id], [f].[Taste] FROM [Food] AS [f] -WHERE [f].[Taste] = CAST(1 AS tinyint)"); +WHERE [f].[Taste] = CAST(1 AS tinyint) +"""); } public override async Task Null_check_removal_in_ternary_maintain_appropriate_cast(bool async) @@ -70,8 +80,10 @@ public override async Task Null_check_removal_in_ternary_maintain_appropriate_ca await base.Null_check_removal_in_ternary_maintain_appropriate_cast(async); AssertSql( - @"SELECT CAST([f].[Taste] AS tinyint) AS [Bar] -FROM [Food] AS [f]"); +""" +SELECT CAST([f].[Taste] AS tinyint) AS [Bar] +FROM [Food] AS [f] +"""); } public override async Task Bool_discriminator_column_works(bool async) @@ -79,9 +91,11 @@ public override async Task Bool_discriminator_column_works(bool async) await base.Bool_discriminator_column_works(async); AssertSql( - @"SELECT [a].[Id], [a].[BlogId], [b].[Id], [b].[IsPhotoBlog], [b].[Title], [b].[NumberOfPhotos] +""" +SELECT [a].[Id], [a].[BlogId], [b].[Id], [b].[IsPhotoBlog], [b].[Title], [b].[NumberOfPhotos] FROM [Authors] AS [a] -LEFT JOIN [Blog] AS [b] ON [a].[BlogId] = [b].[Id]"); +LEFT JOIN [Blog] AS [b] ON [a].[BlogId] = [b].[Id] +"""); } public override async Task Count_member_over_IReadOnlyCollection_works(bool async) @@ -89,11 +103,13 @@ public override async Task Count_member_over_IReadOnlyCollection_works(bool asyn await base.Count_member_over_IReadOnlyCollection_works(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Books] AS [b] WHERE [a].[AuthorId] = [b].[AuthorId]) AS [BooksCount] -FROM [Authors] AS [a]"); +FROM [Authors] AS [a] +"""); } public override async Task Multiple_different_entity_type_from_different_namespaces(bool async) @@ -101,7 +117,9 @@ public override async Task Multiple_different_entity_type_from_different_namespa await base.Multiple_different_entity_type_from_different_namespaces(async); AssertSql( - @"SELECT cast(null as int) AS MyValue"); +""" +SELECT cast(null as int) AS MyValue +"""); } public override async Task Unwrap_convert_node_over_projection_when_translating_contains_over_subquery(bool async) @@ -109,7 +127,8 @@ public override async Task Unwrap_convert_node_over_projection_when_translating_ await base.Unwrap_convert_node_over_projection_when_translating_contains_over_subquery(async); AssertSql( - @"@__currentUserId_0='1' +""" +@__currentUserId_0='1' SELECT CASE WHEN EXISTS ( @@ -122,7 +141,8 @@ FROM [Memberships] AS [m0] WHERE [m0].[UserId] = @__currentUserId_0 AND [m0].[GroupId] = [m].[GroupId]) AND [u0].[Id] = [u].[Id]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [HasAccess] -FROM [Users] AS [u]"); +FROM [Users] AS [u] +"""); } public override async Task Unwrap_convert_node_over_projection_when_translating_contains_over_subquery_2(bool async) @@ -130,7 +150,8 @@ public override async Task Unwrap_convert_node_over_projection_when_translating_ await base.Unwrap_convert_node_over_projection_when_translating_contains_over_subquery_2(async); AssertSql( - @"@__currentUserId_0='1' +""" +@__currentUserId_0='1' SELECT CASE WHEN EXISTS ( @@ -145,7 +166,8 @@ FROM [Memberships] AS [m0] WHERE [m0].[UserId] = @__currentUserId_0 AND [g0].[Id] = [g].[Id]) AND [u0].[Id] = [u].[Id]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [HasAccess] -FROM [Users] AS [u]"); +FROM [Users] AS [u] +"""); } public override async Task Unwrap_convert_node_over_projection_when_translating_contains_over_subquery_3(bool async) @@ -153,7 +175,8 @@ public override async Task Unwrap_convert_node_over_projection_when_translating_ await base.Unwrap_convert_node_over_projection_when_translating_contains_over_subquery_3(async); AssertSql( - @"@__currentUserId_0='1' +""" +@__currentUserId_0='1' SELECT CASE WHEN EXISTS ( @@ -166,7 +189,8 @@ FROM [Memberships] AS [m0] WHERE [m0].[UserId] = @__currentUserId_0 AND [m0].[GroupId] = [m].[GroupId]) AND [u0].[Id] = [u].[Id]) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [HasAccess] -FROM [Users] AS [u]"); +FROM [Users] AS [u] +"""); } public override async Task GroupBy_aggregate_on_right_side_of_join(bool async) @@ -174,7 +198,8 @@ public override async Task GroupBy_aggregate_on_right_side_of_join(bool async) await base.GroupBy_aggregate_on_right_side_of_join(async); AssertSql( - @"@__orderId_0='123456' +""" +@__orderId_0='123456' SELECT [o].[Id], [o].[CancellationDate], [o].[OrderId], [o].[ShippingDate] FROM [OrderItems] AS [o] @@ -188,7 +213,8 @@ FROM [OrderItems] AS [o0] GROUP BY [o0].[OrderId] ) AS [t] ON [o].[OrderId] = [t].[Key] WHERE [o].[OrderId] = @__orderId_0 -ORDER BY [o].[OrderId]"); +ORDER BY [o].[OrderId] +"""); } public override async Task Enum_with_value_converter_matching_take_value(bool async) @@ -196,7 +222,8 @@ public override async Task Enum_with_value_converter_matching_take_value(bool as await base.Enum_with_value_converter_matching_take_value(async); AssertSql( - @"@__orderItemType_1='MyType1' (Nullable = false) (Size = 4000) +""" +@__orderItemType_1='MyType1' (Nullable = false) (Size = 4000) @__p_0='1' SELECT [o1].[Id], COALESCE(( @@ -213,7 +240,8 @@ FROM [OrderItems] AS [o0] ORDER BY [o].[Id] ) AS [t] INNER JOIN [Orders] AS [o1] ON [t].[Id] = [o1].[Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task GroupBy_Aggregate_over_navigations_repeated(bool async) @@ -221,7 +249,8 @@ public override async Task GroupBy_Aggregate_over_navigations_repeated(bool asyn await base.GroupBy_Aggregate_over_navigations_repeated(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN([o].[HourlyRate]) FROM [TimeSheets] AS [t0] LEFT JOIN [Order] AS [o] ON [t0].[OrderId] = [o].[Id] @@ -238,7 +267,8 @@ FROM [TimeSheets] AS [t2] WHERE ([t2].[OrderId] IS NOT NULL) AND [t].[OrderId] = [t2].[OrderId]) AS [CustomerName] FROM [TimeSheets] AS [t] WHERE [t].[OrderId] IS NOT NULL -GROUP BY [t].[OrderId]"); +GROUP BY [t].[OrderId] +"""); } public override async Task Aggregate_over_subquery_in_group_by_projection(bool async) @@ -246,13 +276,15 @@ public override async Task Aggregate_over_subquery_in_group_by_projection(bool a await base.Aggregate_over_subquery_in_group_by_projection(async); AssertSql( - @"SELECT [o].[CustomerId], ( +""" +SELECT [o].[CustomerId], ( SELECT MIN([o0].[HourlyRate]) FROM [Order] AS [o0] WHERE [o0].[CustomerId] = [o].[CustomerId]) AS [CustomerMinHourlyRate], MIN([o].[HourlyRate]) AS [HourlyRate], COUNT(*) AS [Count] FROM [Order] AS [o] WHERE [o].[Number] <> N'A1' OR ([o].[Number] IS NULL) -GROUP BY [o].[CustomerId], [o].[Number]"); +GROUP BY [o].[CustomerId], [o].[Number] +"""); } public override async Task Aggregate_over_subquery_in_group_by_projection_2(bool async) @@ -260,12 +292,14 @@ public override async Task Aggregate_over_subquery_in_group_by_projection_2(bool await base.Aggregate_over_subquery_in_group_by_projection_2(async); AssertSql( - @"SELECT [t].[Value] AS [A], ( +""" +SELECT [t].[Value] AS [A], ( SELECT MAX([t0].[Id]) FROM [Table] AS [t0] WHERE [t0].[Value] = (MAX([t].[Id]) * 6) OR (([t0].[Value] IS NULL) AND (MAX([t].[Id]) IS NULL))) AS [B] FROM [Table] AS [t] -GROUP BY [t].[Value]"); +GROUP BY [t].[Value] +"""); } public override async Task Group_by_aggregate_in_subquery_projection_after_group_by(bool async) @@ -273,13 +307,15 @@ public override async Task Group_by_aggregate_in_subquery_projection_after_group await base.Group_by_aggregate_in_subquery_projection_after_group_by(async); AssertSql( - @"SELECT [t].[Value] AS [A], COALESCE(SUM([t].[Id]), 0) AS [B], COALESCE(( +""" +SELECT [t].[Value] AS [A], COALESCE(SUM([t].[Id]), 0) AS [B], COALESCE(( SELECT TOP(1) COALESCE(SUM([t].[Id]), 0) + COALESCE(SUM([t0].[Id]), 0) FROM [Table] AS [t0] GROUP BY [t0].[Value] ORDER BY (SELECT 1)), 0) AS [C] FROM [Table] AS [t] -GROUP BY [t].[Value]"); +GROUP BY [t].[Value] +"""); } public override async Task Group_by_multiple_aggregate_joining_different_tables(bool async) @@ -287,7 +323,8 @@ public override async Task Group_by_multiple_aggregate_joining_different_tables( await base.Group_by_multiple_aggregate_joining_different_tables(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT DISTINCT [c].[Value1] @@ -312,7 +349,8 @@ FROM [Parents] AS [p1] SELECT 1 AS [Key] FROM [Parents] AS [p] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Group_by_multiple_aggregate_joining_different_tables_with_query_filter(bool async) @@ -320,7 +358,8 @@ public override async Task Group_by_multiple_aggregate_joining_different_tables_ await base.Group_by_multiple_aggregate_joining_different_tables_with_query_filter(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT DISTINCT [t2].[Value1] @@ -353,7 +392,8 @@ FROM [ChildFilter2] AS [c0] SELECT 1 AS [Key] FROM [Parents] AS [p] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Subquery_first_member_compared_to_null(bool async) @@ -361,7 +401,8 @@ public override async Task Subquery_first_member_compared_to_null(bool async) await base.Subquery_first_member_compared_to_null(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [c1].[SomeOtherNullableDateTime] FROM [Child26744] AS [c1] WHERE [p].[Id] = [c1].[ParentId] AND ([c1].[SomeNullableDateTime] IS NULL) @@ -374,7 +415,8 @@ FROM [Child26744] AS [c] SELECT TOP(1) [c0].[SomeOtherNullableDateTime] FROM [Child26744] AS [c0] WHERE [p].[Id] = [c0].[ParentId] AND ([c0].[SomeNullableDateTime] IS NULL) - ORDER BY [c0].[SomeInteger]) IS NOT NULL)"); + ORDER BY [c0].[SomeInteger]) IS NOT NULL) +"""); } public override async Task SelectMany_where_Select(bool async) @@ -382,7 +424,8 @@ public override async Task SelectMany_where_Select(bool async) await base.SelectMany_where_Select(async); AssertSql( - @"SELECT [t0].[SomeNullableDateTime] +""" +SELECT [t0].[SomeNullableDateTime] FROM [Parents] AS [p] INNER JOIN ( SELECT [t].[ParentId], [t].[SomeNullableDateTime], [t].[SomeOtherNullableDateTime] @@ -393,7 +436,8 @@ WHERE [c].[SomeNullableDateTime] IS NULL ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [p].[Id] = [t0].[ParentId] -WHERE [t0].[SomeOtherNullableDateTime] IS NOT NULL"); +WHERE [t0].[SomeOtherNullableDateTime] IS NOT NULL +"""); } public override async Task StoreType_for_UDF_used(bool async) @@ -401,17 +445,21 @@ public override async Task StoreType_for_UDF_used(bool async) await base.StoreType_for_UDF_used(async); AssertSql( - @"@__date_0='2012-12-12T00:00:00.0000000' (DbType = DateTime) +""" +@__date_0='2012-12-12T00:00:00.0000000' (DbType = DateTime) SELECT [m].[Id], [m].[SomeDate] FROM [MyEntities] AS [m] -WHERE [m].[SomeDate] = @__date_0", +WHERE [m].[SomeDate] = @__date_0 +""", // - @"@__date_0='2012-12-12T00:00:00.0000000' (DbType = DateTime) +""" +@__date_0='2012-12-12T00:00:00.0000000' (DbType = DateTime) SELECT [m].[Id], [m].[SomeDate] FROM [MyEntities] AS [m] -WHERE [dbo].[ModifyDate]([m].[SomeDate]) = @__date_0"); +WHERE [dbo].[ModifyDate]([m].[SomeDate]) = @__date_0 +"""); } public override async Task Pushdown_does_not_add_grouping_key_to_projection_when_distinct_is_applied(bool async) @@ -419,7 +467,8 @@ public override async Task Pushdown_does_not_add_grouping_key_to_projection_when await base.Pushdown_does_not_add_grouping_key_to_projection_when_distinct_is_applied(async); AssertSql( - @"@__p_0='123456' +""" +@__p_0='123456' SELECT TOP(@__p_0) [t].[JSON] FROM [TableData] AS [t] @@ -431,7 +480,8 @@ FROM [IndexData] AS [i] HAVING COUNT(*) = 1 ) AS [t0] ON [t].[ParcelNumber] = [t0].[Parcel] WHERE [t].[TableId] = 123 -ORDER BY [t].[ParcelNumber]"); +ORDER BY [t].[ParcelNumber] +"""); } public override async Task Hierarchy_query_with_abstract_type_sibling(bool async) @@ -439,9 +489,11 @@ public override async Task Hierarchy_query_with_abstract_type_sibling(bool async await base.Hierarchy_query_with_abstract_type_sibling(async); AssertSql( - @"SELECT [a].[Id], [a].[Discriminator], [a].[Species], [a].[Name], [a].[EdcuationLevel], [a].[FavoriteToy] +""" +SELECT [a].[Id], [a].[Discriminator], [a].[Species], [a].[Name], [a].[EdcuationLevel], [a].[FavoriteToy] FROM [Animals] AS [a] -WHERE [a].[Discriminator] IN (N'Cat', N'Dog') AND ([a].[Species] IS NOT NULL) AND ([a].[Species] LIKE N'F%')"); +WHERE [a].[Discriminator] IN (N'Cat', N'Dog') AND ([a].[Species] IS NOT NULL) AND ([a].[Species] LIKE N'F%') +"""); } public override async Task Hierarchy_query_with_abstract_type_sibling_TPT(bool async) @@ -449,7 +501,8 @@ public override async Task Hierarchy_query_with_abstract_type_sibling_TPT(bool a await base.Hierarchy_query_with_abstract_type_sibling_TPT(async); AssertSql( - @"SELECT [a].[Id], [a].[Species], [p].[Name], [c].[EdcuationLevel], [d].[FavoriteToy], CASE +""" +SELECT [a].[Id], [a].[Species], [p].[Name], [c].[EdcuationLevel], [d].[FavoriteToy], CASE WHEN [d].[Id] IS NOT NULL THEN N'Dog' WHEN [c].[Id] IS NOT NULL THEN N'Cat' END AS [Discriminator] @@ -457,7 +510,8 @@ FROM [Animals] AS [a] LEFT JOIN [Pets] AS [p] ON [a].[Id] = [p].[Id] LEFT JOIN [Cats] AS [c] ON [a].[Id] = [c].[Id] LEFT JOIN [Dogs] AS [d] ON [a].[Id] = [d].[Id] -WHERE (([d].[Id] IS NOT NULL) OR ([c].[Id] IS NOT NULL)) AND ([a].[Species] IS NOT NULL) AND ([a].[Species] LIKE N'F%')"); +WHERE (([d].[Id] IS NOT NULL) OR ([c].[Id] IS NOT NULL)) AND ([a].[Species] IS NOT NULL) AND ([a].[Species] LIKE N'F%') +"""); } public override async Task Hierarchy_query_with_abstract_type_sibling_TPC(bool async) @@ -465,7 +519,8 @@ public override async Task Hierarchy_query_with_abstract_type_sibling_TPC(bool a await base.Hierarchy_query_with_abstract_type_sibling_TPC(async); AssertSql( - @"SELECT [t].[Id], [t].[Species], [t].[Name], [t].[EdcuationLevel], [t].[FavoriteToy], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[Species], [t].[Name], [t].[EdcuationLevel], [t].[FavoriteToy], [t].[Discriminator] FROM ( SELECT [c].[Id], [c].[Species], [c].[Name], [c].[EdcuationLevel], NULL AS [FavoriteToy], N'Cat' AS [Discriminator] FROM [Cats] AS [c] @@ -473,7 +528,8 @@ UNION ALL SELECT [d].[Id], [d].[Species], [d].[Name], NULL AS [EdcuationLevel], [d].[FavoriteToy], N'Dog' AS [Discriminator] FROM [Dogs] AS [d] ) AS [t] -WHERE ([t].[Species] IS NOT NULL) AND ([t].[Species] LIKE N'F%')"); +WHERE ([t].[Species] IS NOT NULL) AND ([t].[Species] LIKE N'F%') +"""); } [ConditionalTheory] @@ -501,7 +557,8 @@ public virtual async Task Muliple_occurrences_of_FromSql_in_group_by_aggregate(b } AssertSql( - @"p0='1' +""" +p0='1' SELECT [d].[Id] AS [Key], COUNT(*) AS [Aggregate] FROM [DemoEntities] AS [d] @@ -511,7 +568,8 @@ SELECT 1 SELECT * FROM DemoEntities WHERE Id = @p0 ) AS [m] WHERE [m].[Id] = [d].[Id]) -GROUP BY [d].[Id]"); +GROUP BY [d].[Id] +"""); } protected class Context27427 : DbContext diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeographyTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeographyTest.cs index 93732d8f9ae..9675a979a83 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeographyTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeographyTest.cs @@ -28,17 +28,25 @@ public override async Task SimpleSelect(bool async) await base.SimpleSelect(async); AssertSql( - @"SELECT [p].[Id], [p].[Geometry], [p].[Group], [p].[Point], [p].[PointM], [p].[PointZ], [p].[PointZM] -FROM [PointEntity] AS [p]", +""" +SELECT [p].[Id], [p].[Geometry], [p].[Group], [p].[Point], [p].[PointM], [p].[PointZ], [p].[PointZM] +FROM [PointEntity] AS [p] +""", // - @"SELECT [l].[Id], [l].[LineString] -FROM [LineStringEntity] AS [l]", +""" +SELECT [l].[Id], [l].[LineString] +FROM [LineStringEntity] AS [l] +""", // - @"SELECT [p].[Id], [p].[Polygon] -FROM [PolygonEntity] AS [p]", +""" +SELECT [p].[Id], [p].[Polygon] +FROM [PolygonEntity] AS [p] +""", // - @"SELECT [m].[Id], [m].[MultiLineString] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task WithConversion(bool async) @@ -46,8 +54,10 @@ public override async Task WithConversion(bool async) await base.WithConversion(async); AssertSql( - @"SELECT [g].[Id], [g].[Location] -FROM [GeoPointEntity] AS [g]"); +""" +SELECT [g].[Id], [g].[Location] +FROM [GeoPointEntity] AS [g] +"""); } public override async Task Area(bool async) @@ -55,8 +65,10 @@ public override async Task Area(bool async) await base.Area(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STArea() AS [Area] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STArea() AS [Area] +FROM [PolygonEntity] AS [p] +"""); } public override async Task AsBinary(bool async) @@ -64,8 +76,10 @@ public override async Task AsBinary(bool async) await base.AsBinary(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STAsBinary() AS [Binary] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STAsBinary() AS [Binary] +FROM [PointEntity] AS [p] +"""); } public override async Task AsBinary_with_null_check(bool async) @@ -73,11 +87,13 @@ public override async Task AsBinary_with_null_check(bool async) await base.AsBinary_with_null_check(async); AssertSql( - @"SELECT [p].[Id], CASE +""" +SELECT [p].[Id], CASE WHEN [p].[Point] IS NULL THEN NULL ELSE [p].[Point].STAsBinary() END AS [Binary] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task AsText(bool async) @@ -85,8 +101,10 @@ public override async Task AsText(bool async) await base.AsText(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].AsTextZM() AS [Text] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].AsTextZM() AS [Text] +FROM [PointEntity] AS [p] +"""); } // No SqlServer Translation @@ -98,8 +116,10 @@ public override async Task Buffer(bool async) await base.Buffer(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STBuffer(1.0E0) AS [Buffer] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STBuffer(1.0E0) AS [Buffer] +FROM [PolygonEntity] AS [p] +"""); } // No SqlServer Translation @@ -115,10 +135,12 @@ public override async Task Combine_aggregate(bool async) await base.Combine_aggregate(async); AssertSql( - @"SELECT [p].[Group] AS [Id], geography::CollectionAggregate([p].[Point]) AS [Combined] +""" +SELECT [p].[Group] AS [Id], geography::CollectionAggregate([p].[Point]) AS [Combined] FROM [PointEntity] AS [p] WHERE [p].[Point] IS NOT NULL -GROUP BY [p].[Group]"); +GROUP BY [p].[Group] +"""); } // SQL Server returns a CurvePolygon, https://github.com/NetTopologySuite/NetTopologySuite.IO.SqlServerBytes/issues/18 @@ -130,10 +152,12 @@ public override async Task Contains(bool async) await base.Contains(async); AssertSql( - @"@__point_0='0xE6100000010C000000000000D03F000000000000D03F' (Size = 22) (DbType = Object) +""" +@__point_0='0xE6100000010C000000000000D03F000000000000D03F' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STContains(@__point_0) AS [Contains] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task ConvexHull(bool async) @@ -141,8 +165,10 @@ public override async Task ConvexHull(bool async) await base.ConvexHull(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STConvexHull() AS [ConvexHull] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STConvexHull() AS [ConvexHull] +FROM [PolygonEntity] AS [p] +"""); } public override async Task ConvexHull_aggregate(bool async) @@ -150,10 +176,12 @@ public override async Task ConvexHull_aggregate(bool async) await base.ConvexHull_aggregate(async); AssertSql( - @"SELECT [p].[Group] AS [Id], geography::ConvexHullAggregate([p].[Point]) AS [ConvexHull] +""" +SELECT [p].[Group] AS [Id], geography::ConvexHullAggregate([p].[Point]) AS [ConvexHull] FROM [PointEntity] AS [p] WHERE [p].[Point] IS NOT NULL -GROUP BY [p].[Group]"); +GROUP BY [p].[Group] +"""); } public override async Task IGeometryCollection_Count(bool async) @@ -161,8 +189,10 @@ public override async Task IGeometryCollection_Count(bool async) await base.IGeometryCollection_Count(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STNumGeometries() AS [Count] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STNumGeometries() AS [Count] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task LineString_Count(bool async) @@ -170,8 +200,10 @@ public override async Task LineString_Count(bool async) await base.LineString_Count(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STNumPoints() AS [Count] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STNumPoints() AS [Count] +FROM [LineStringEntity] AS [l] +"""); } // No SqlServer Translation @@ -202,8 +234,10 @@ await AssertQuery( }); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STCurveToLine() AS [CurveToLine] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STCurveToLine() AS [CurveToLine] +FROM [PolygonEntity] AS [p] +"""); } public override async Task Difference(bool async) @@ -211,10 +245,12 @@ public override async Task Difference(bool async) await base.Difference(async); AssertSql( - @"@__polygon_0='0xE610000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0xE610000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STDifference(@__polygon_0) AS [Difference] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Dimension(bool async) @@ -222,8 +258,10 @@ public override async Task Dimension(bool async) await base.Dimension(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STDimension() AS [Dimension] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STDimension() AS [Dimension] +FROM [PointEntity] AS [p] +"""); } public override async Task Disjoint_with_cast_to_nullable(bool async) @@ -231,10 +269,12 @@ public override async Task Disjoint_with_cast_to_nullable(bool async) await base.Disjoint_with_cast_to_nullable(async); AssertSql( - @"@__point_0='0xE6100000010C000000000000F03F000000000000F03F' (Size = 22) (DbType = Object) +""" +@__point_0='0xE6100000010C000000000000F03F000000000000F03F' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STDisjoint(@__point_0) AS [Disjoint] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Disjoint_with_null_check(bool async) @@ -242,13 +282,15 @@ public override async Task Disjoint_with_null_check(bool async) await base.Disjoint_with_null_check(async); AssertSql( - @"@__point_0='0xE6100000010C000000000000F03F000000000000F03F' (Size = 22) (DbType = Object) +""" +@__point_0='0xE6100000010C000000000000F03F000000000000F03F' (Size = 22) (DbType = Object) SELECT [p].[Id], CASE WHEN [p].[Polygon] IS NULL THEN NULL ELSE [p].[Polygon].STDisjoint(@__point_0) END AS [Disjoint] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Distance_with_null_check(bool async) @@ -256,10 +298,12 @@ public override async Task Distance_with_null_check(bool async) await base.Distance_with_null_check(async); AssertSql( - @"@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Size = 22) (DbType = Object) +""" +@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Point].STDistance(@__point_0) AS [Distance] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task Distance_with_cast_to_nullable(bool async) @@ -267,10 +311,12 @@ public override async Task Distance_with_cast_to_nullable(bool async) await base.Distance_with_cast_to_nullable(async); AssertSql( - @"@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Size = 22) (DbType = Object) +""" +@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Point].STDistance(@__point_0) AS [Distance] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task Distance_geometry(bool async) @@ -278,10 +324,12 @@ public override async Task Distance_geometry(bool async) await base.Distance_geometry(async); AssertSql( - @"@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Size = 22) (DbType = Object) +""" +@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Geometry].STDistance(@__point_0) AS [Distance] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } // Mixing SRIDs not supported @@ -293,8 +341,10 @@ public override async Task Distance_constant_srid_4326(bool async) await base.Distance_constant_srid_4326(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STDistance('POINT (1 1)') AS [Distance] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STDistance('POINT (1 1)') AS [Distance] +FROM [PointEntity] AS [p] +"""); } // Mixing SRIDs not supported @@ -306,10 +356,12 @@ public override async Task Distance_on_converted_geometry_type(bool async) await base.Distance_on_converted_geometry_type(async); AssertSql( - @"@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Nullable = false) (Size = 22) (DbType = Object) +""" +@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Nullable = false) (Size = 22) (DbType = Object) SELECT [g].[Id], [g].[Location].STDistance(@__point_0) AS [Distance] -FROM [GeoPointEntity] AS [g]"); +FROM [GeoPointEntity] AS [g] +"""); } public override async Task Distance_on_converted_geometry_type_lhs(bool async) @@ -317,10 +369,12 @@ public override async Task Distance_on_converted_geometry_type_lhs(bool async) await base.Distance_on_converted_geometry_type_lhs(async); AssertSql( - @"@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Nullable = false) (Size = 22) (DbType = Object) +""" +@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Nullable = false) (Size = 22) (DbType = Object) SELECT [g].[Id], @__point_0.STDistance([g].[Location]) AS [Distance] -FROM [GeoPointEntity] AS [g]"); +FROM [GeoPointEntity] AS [g] +"""); } // Mixing SRIDs not supported @@ -336,8 +390,10 @@ public override async Task EndPoint(bool async) await base.EndPoint(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STEndPoint() AS [EndPoint] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STEndPoint() AS [EndPoint] +FROM [LineStringEntity] AS [l] +"""); } // No SqlServer Translation @@ -349,10 +405,12 @@ public override async Task EqualsTopologically(bool async) await base.EqualsTopologically(async); AssertSql( - @"@__point_0='0xE6100000010C00000000000000000000000000000000' (Size = 22) (DbType = Object) +""" +@__point_0='0xE6100000010C00000000000000000000000000000000' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Point].STEquals(@__point_0) AS [EqualsTopologically] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task ExteriorRing(bool async) @@ -360,8 +418,10 @@ public override async Task ExteriorRing(bool async) await base.ExteriorRing(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].RingN(1) AS [ExteriorRing] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].RingN(1) AS [ExteriorRing] +FROM [PolygonEntity] AS [p] +"""); } public override async Task GeometryType(bool async) @@ -369,8 +429,10 @@ public override async Task GeometryType(bool async) await base.GeometryType(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STGeometryType() AS [GeometryType] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STGeometryType() AS [GeometryType] +FROM [PointEntity] AS [p] +"""); } public override async Task GetGeometryN(bool async) @@ -378,8 +440,10 @@ public override async Task GetGeometryN(bool async) await base.GetGeometryN(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STGeometryN(0 + 1) AS [Geometry0] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STGeometryN(0 + 1) AS [Geometry0] +FROM [MultiLineStringEntity] AS [m] +"""); } public override Task GetGeometryN_with_null_argument(bool async) @@ -391,11 +455,13 @@ public override async Task GetInteriorRingN(bool async) await base.GetInteriorRingN(async); AssertSql( - @"SELECT [p].[Id], CASE +""" +SELECT [p].[Id], CASE WHEN ([p].[Polygon].NumRings() - 1) = 0 THEN NULL ELSE [p].[Polygon].RingN(0 + 2) END AS [InteriorRing0] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task GetPointN(bool async) @@ -403,8 +469,10 @@ public override async Task GetPointN(bool async) await base.GetPointN(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STPointN(0 + 1) AS [Point0] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STPointN(0 + 1) AS [Point0] +FROM [LineStringEntity] AS [l] +"""); } // No SqlServer Translation @@ -416,10 +484,12 @@ public override async Task Intersection(bool async) await base.Intersection(async); AssertSql( - @"@__polygon_0='0xE610000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0xE610000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STIntersection(@__polygon_0) AS [Intersection] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Intersects(bool async) @@ -427,10 +497,12 @@ public override async Task Intersects(bool async) await base.Intersects(async); AssertSql( - @"@__lineString_0='0xE61000000114000000000000E0BF000000000000E03F000000000000E03F0000...' (Size = 38) (DbType = Object) +""" +@__lineString_0='0xE61000000114000000000000E0BF000000000000E03F000000000000E03F0000...' (Size = 38) (DbType = Object) SELECT [l].[Id], [l].[LineString].STIntersects(@__lineString_0) AS [Intersects] -FROM [LineStringEntity] AS [l]"); +FROM [LineStringEntity] AS [l] +"""); } public override async Task ICurve_IsClosed(bool async) @@ -438,8 +510,10 @@ public override async Task ICurve_IsClosed(bool async) await base.ICurve_IsClosed(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STIsClosed() AS [IsClosed] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STIsClosed() AS [IsClosed] +FROM [LineStringEntity] AS [l] +"""); } public override async Task IMultiCurve_IsClosed(bool async) @@ -447,8 +521,10 @@ public override async Task IMultiCurve_IsClosed(bool async) await base.IMultiCurve_IsClosed(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STIsClosed() AS [IsClosed] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STIsClosed() AS [IsClosed] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task IsEmpty(bool async) @@ -456,8 +532,10 @@ public override async Task IsEmpty(bool async) await base.IsEmpty(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STIsEmpty() AS [IsEmpty] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STIsEmpty() AS [IsEmpty] +FROM [MultiLineStringEntity] AS [m] +"""); } // No SqlServer Translation @@ -473,8 +551,10 @@ public override async Task IsValid(bool async) await base.IsValid(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STIsValid() AS [IsValid] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STIsValid() AS [IsValid] +FROM [PointEntity] AS [p] +"""); } public override async Task IsWithinDistance(bool async) @@ -482,13 +562,15 @@ public override async Task IsWithinDistance(bool async) await base.IsWithinDistance(async); AssertSql( - @"@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Size = 22) (DbType = Object) +""" +@__point_0='0xE6100000010C000000000000F03F0000000000000000' (Size = 22) (DbType = Object) SELECT [p].[Id], CASE WHEN [p].[Point].STDistance(@__point_0) <= 1.0E0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsWithinDistance] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task Item(bool async) @@ -496,8 +578,10 @@ public override async Task Item(bool async) await base.Item(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STGeometryN(0 + 1) AS [Item0] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STGeometryN(0 + 1) AS [Item0] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task Length(bool async) @@ -505,8 +589,10 @@ public override async Task Length(bool async) await base.Length(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STLength() AS [Length] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STLength() AS [Length] +FROM [LineStringEntity] AS [l] +"""); } public override async Task M(bool async) @@ -514,8 +600,10 @@ public override async Task M(bool async) await base.M(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].M AS [M] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].M AS [M] +FROM [PointEntity] AS [p] +"""); } // No SqlServer Translation @@ -527,8 +615,10 @@ public override async Task NumGeometries(bool async) await base.NumGeometries(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STNumGeometries() AS [NumGeometries] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STNumGeometries() AS [NumGeometries] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task NumInteriorRings(bool async) @@ -536,8 +626,10 @@ public override async Task NumInteriorRings(bool async) await base.NumInteriorRings(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].NumRings() - 1 AS [NumInteriorRings] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].NumRings() - 1 AS [NumInteriorRings] +FROM [PolygonEntity] AS [p] +"""); } public override async Task NumPoints(bool async) @@ -545,8 +637,10 @@ public override async Task NumPoints(bool async) await base.NumPoints(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STNumPoints() AS [NumPoints] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STNumPoints() AS [NumPoints] +FROM [LineStringEntity] AS [l] +"""); } public override async Task OgcGeometryType(bool async) @@ -554,7 +648,8 @@ public override async Task OgcGeometryType(bool async) await base.OgcGeometryType(async); AssertSql( - @"SELECT [p].[Id], CASE [p].[Point].STGeometryType() +""" +SELECT [p].[Id], CASE [p].[Point].STGeometryType() WHEN N'Point' THEN 1 WHEN N'LineString' THEN 2 WHEN N'Polygon' THEN 3 @@ -567,7 +662,8 @@ WHEN N'CompoundCurve' THEN 9 WHEN N'CurvePolygon' THEN 10 WHEN N'FullGlobe' THEN 126 END AS [OgcGeometryType] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task Overlaps(bool async) @@ -575,10 +671,12 @@ public override async Task Overlaps(bool async) await base.Overlaps(async); AssertSql( - @"@__polygon_0='0xE610000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0xE610000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STOverlaps(@__polygon_0) AS [Overlaps] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } // No SqlServer Translation @@ -598,8 +696,10 @@ public override async Task SRID(bool async) await base.SRID(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STSrid AS [SRID] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STSrid AS [SRID] +FROM [PointEntity] AS [p] +"""); } public override async Task SRID_geometry(bool async) @@ -607,8 +707,10 @@ public override async Task SRID_geometry(bool async) await base.SRID_geometry(async); AssertSql( - @"SELECT [p].[Id], [p].[Geometry].STSrid AS [SRID] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Geometry].STSrid AS [SRID] +FROM [PointEntity] AS [p] +"""); } public override async Task StartPoint(bool async) @@ -616,8 +718,10 @@ public override async Task StartPoint(bool async) await base.StartPoint(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STStartPoint() AS [StartPoint] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STStartPoint() AS [StartPoint] +FROM [LineStringEntity] AS [l] +"""); } public override async Task SymmetricDifference(bool async) @@ -625,10 +729,12 @@ public override async Task SymmetricDifference(bool async) await base.SymmetricDifference(async); AssertSql( - @"@__polygon_0='0xE610000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0xE610000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STSymDifference(@__polygon_0) AS [SymmetricDifference] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task ToBinary(bool async) @@ -636,8 +742,10 @@ public override async Task ToBinary(bool async) await base.ToBinary(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STAsBinary() AS [Binary] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STAsBinary() AS [Binary] +FROM [PointEntity] AS [p] +"""); } public override async Task ToText(bool async) @@ -645,8 +753,10 @@ public override async Task ToText(bool async) await base.ToText(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].AsTextZM() AS [Text] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].AsTextZM() AS [Text] +FROM [PointEntity] AS [p] +"""); } // No SqlServer Translation @@ -658,10 +768,12 @@ public override async Task Union(bool async) await base.Union(async); AssertSql( - @"@__polygon_0='0xE610000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0xE610000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STUnion(@__polygon_0) AS [Union] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Union_aggregate(bool async) @@ -669,10 +781,12 @@ public override async Task Union_aggregate(bool async) await base.Union_aggregate(async); AssertSql( - @"SELECT [p].[Group] AS [Id], geography::UnionAggregate([p].[Point]) AS [Union] +""" +SELECT [p].[Group] AS [Id], geography::UnionAggregate([p].[Point]) AS [Union] FROM [PointEntity] AS [p] WHERE [p].[Point] IS NOT NULL -GROUP BY [p].[Group]"); +GROUP BY [p].[Group] +"""); } // No SqlServer Translation @@ -684,10 +798,12 @@ public override async Task Within(bool async) await base.Within(async); AssertSql( - @"@__polygon_0='0xE6100000010405000000000000000000F0BF000000000000F0BF000000000000...' (Size = 112) (DbType = Object) +""" +@__polygon_0='0xE6100000010405000000000000000000F0BF000000000000F0BF000000000000...' (Size = 112) (DbType = Object) SELECT [p].[Id], [p].[Point].STWithin(@__polygon_0) AS [Within] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task X(bool async) @@ -695,8 +811,10 @@ public override async Task X(bool async) await base.X(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].Long AS [X] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].Long AS [X] +FROM [PointEntity] AS [p] +"""); } public override async Task Y(bool async) @@ -704,8 +822,10 @@ public override async Task Y(bool async) await base.Y(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].Lat AS [Y] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].Lat AS [Y] +FROM [PointEntity] AS [p] +"""); } public override async Task Z(bool async) @@ -713,8 +833,10 @@ public override async Task Z(bool async) await base.Z(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].Z AS [Z] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].Z AS [Z] +FROM [PointEntity] AS [p] +"""); } public override async Task XY_with_collection_join(bool async) @@ -722,14 +844,16 @@ public override async Task XY_with_collection_join(bool async) await base.XY_with_collection_join(async); AssertSql( - @"SELECT [t].[Id], [t].[c], [t].[c0], [p0].[Id], [p0].[Geometry], [p0].[Group], [p0].[Point], [p0].[PointM], [p0].[PointZ], [p0].[PointZM] +""" +SELECT [t].[Id], [t].[c], [t].[c0], [p0].[Id], [p0].[Geometry], [p0].[Group], [p0].[Point], [p0].[PointM], [p0].[PointZ], [p0].[PointZM] FROM ( SELECT TOP(1) [p].[Id], [p].[Point].Long AS [c], [p].[Point].Lat AS [c0] FROM [PointEntity] AS [p] ORDER BY [p].[Id] ) AS [t] LEFT JOIN [PointEntity] AS [p0] ON [t].[Id] = [p0].[Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task IsEmpty_equal_to_null(bool async) @@ -737,9 +861,11 @@ public override async Task IsEmpty_equal_to_null(bool async) await base.IsEmpty_equal_to_null(async); AssertSql( - @"SELECT [p].[Id] +""" +SELECT [p].[Id] FROM [PointEntity] AS [p] -WHERE [p].[Point] IS NULL"); +WHERE [p].[Point] IS NULL +"""); } public override async Task IsEmpty_not_equal_to_null(bool async) @@ -747,9 +873,11 @@ public override async Task IsEmpty_not_equal_to_null(bool async) await base.IsEmpty_not_equal_to_null(async); AssertSql( - @"SELECT [p].[Id] +""" +SELECT [p].[Id] FROM [PointEntity] AS [p] -WHERE [p].[Point] IS NOT NULL"); +WHERE [p].[Point] IS NOT NULL +"""); } public override async Task Intersects_equal_to_null(bool async) @@ -757,13 +885,17 @@ public override async Task Intersects_equal_to_null(bool async) await base.Intersects_equal_to_null(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LineStringEntity] AS [l] -WHERE [l].[LineString] IS NULL", +WHERE [l].[LineString] IS NULL +""", // - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LineStringEntity] AS [l] -WHERE [l].[LineString] IS NULL"); +WHERE [l].[LineString] IS NULL +"""); } public override async Task Intersects_not_equal_to_null(bool async) @@ -771,13 +903,17 @@ public override async Task Intersects_not_equal_to_null(bool async) await base.Intersects_not_equal_to_null(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LineStringEntity] AS [l] -WHERE [l].[LineString] IS NOT NULL", +WHERE [l].[LineString] IS NOT NULL +""", // - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LineStringEntity] AS [l] -WHERE [l].[LineString] IS NOT NULL"); +WHERE [l].[LineString] IS NOT NULL +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeometryTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeometryTest.cs index 9ba9feb3fb3..9b1883bb5af 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeometryTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/SpatialQuerySqlServerGeometryTest.cs @@ -23,17 +23,25 @@ public override async Task SimpleSelect(bool async) await base.SimpleSelect(async); AssertSql( - @"SELECT [p].[Id], [p].[Geometry], [p].[Group], [p].[Point], [p].[PointM], [p].[PointZ], [p].[PointZM] -FROM [PointEntity] AS [p]", +""" +SELECT [p].[Id], [p].[Geometry], [p].[Group], [p].[Point], [p].[PointM], [p].[PointZ], [p].[PointZM] +FROM [PointEntity] AS [p] +""", // - @"SELECT [l].[Id], [l].[LineString] -FROM [LineStringEntity] AS [l]", +""" +SELECT [l].[Id], [l].[LineString] +FROM [LineStringEntity] AS [l] +""", // - @"SELECT [p].[Id], [p].[Polygon] -FROM [PolygonEntity] AS [p]", +""" +SELECT [p].[Id], [p].[Polygon] +FROM [PolygonEntity] AS [p] +""", // - @"SELECT [m].[Id], [m].[MultiLineString] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task WithConversion(bool async) @@ -41,8 +49,10 @@ public override async Task WithConversion(bool async) await base.WithConversion(async); AssertSql( - @"SELECT [g].[Id], [g].[Location] -FROM [GeoPointEntity] AS [g]"); +""" +SELECT [g].[Id], [g].[Location] +FROM [GeoPointEntity] AS [g] +"""); } public override async Task Area(bool async) @@ -50,8 +60,10 @@ public override async Task Area(bool async) await base.Area(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STArea() AS [Area] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STArea() AS [Area] +FROM [PolygonEntity] AS [p] +"""); } public override async Task AsBinary(bool async) @@ -59,8 +71,10 @@ public override async Task AsBinary(bool async) await base.AsBinary(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STAsBinary() AS [Binary] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STAsBinary() AS [Binary] +FROM [PointEntity] AS [p] +"""); } public override async Task AsBinary_with_null_check(bool async) @@ -68,11 +82,13 @@ public override async Task AsBinary_with_null_check(bool async) await base.AsBinary_with_null_check(async); AssertSql( - @"SELECT [p].[Id], CASE +""" +SELECT [p].[Id], CASE WHEN [p].[Point] IS NULL THEN NULL ELSE [p].[Point].STAsBinary() END AS [Binary] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task AsText(bool async) @@ -80,8 +96,10 @@ public override async Task AsText(bool async) await base.AsText(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].AsTextZM() AS [Text] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].AsTextZM() AS [Text] +FROM [PointEntity] AS [p] +"""); } public override async Task Boundary(bool async) @@ -89,8 +107,10 @@ public override async Task Boundary(bool async) await base.Boundary(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STBoundary() AS [Boundary] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STBoundary() AS [Boundary] +FROM [PolygonEntity] AS [p] +"""); } public override async Task Buffer(bool async) @@ -98,8 +118,10 @@ public override async Task Buffer(bool async) await base.Buffer(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STBuffer(1.0E0) AS [Buffer] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STBuffer(1.0E0) AS [Buffer] +FROM [PolygonEntity] AS [p] +"""); } // No SqlServer Translation @@ -111,8 +133,10 @@ public override async Task Centroid(bool async) await base.Centroid(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STCentroid() AS [Centroid] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STCentroid() AS [Centroid] +FROM [PolygonEntity] AS [p] +"""); } public override async Task Combine_aggregate(bool async) @@ -120,10 +144,12 @@ public override async Task Combine_aggregate(bool async) await base.Combine_aggregate(async); AssertSql( - @"SELECT [p].[Group] AS [Id], geometry::CollectionAggregate([p].[Point]) AS [Combined] +""" +SELECT [p].[Group] AS [Id], geometry::CollectionAggregate([p].[Point]) AS [Combined] FROM [PointEntity] AS [p] WHERE [p].[Point] IS NOT NULL -GROUP BY [p].[Group]"); +GROUP BY [p].[Group] +"""); } public override async Task EnvelopeCombine_aggregate(bool async) @@ -131,10 +157,12 @@ public override async Task EnvelopeCombine_aggregate(bool async) await base.EnvelopeCombine_aggregate(async); AssertSql( - @"SELECT [p].[Group] AS [Id], geometry::EnvelopeAggregate([p].[Point]) AS [Combined] +""" +SELECT [p].[Group] AS [Id], geometry::EnvelopeAggregate([p].[Point]) AS [Combined] FROM [PointEntity] AS [p] WHERE [p].[Point] IS NOT NULL -GROUP BY [p].[Group]"); +GROUP BY [p].[Group] +"""); } public override async Task Contains(bool async) @@ -142,10 +170,12 @@ public override async Task Contains(bool async) await base.Contains(async); AssertSql( - @"@__point_0='0x00000000010C000000000000D03F000000000000D03F' (Size = 22) (DbType = Object) +""" +@__point_0='0x00000000010C000000000000D03F000000000000D03F' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STContains(@__point_0) AS [Contains] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task ConvexHull(bool async) @@ -153,8 +183,10 @@ public override async Task ConvexHull(bool async) await base.ConvexHull(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STConvexHull() AS [ConvexHull] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STConvexHull() AS [ConvexHull] +FROM [PolygonEntity] AS [p] +"""); } public override async Task ConvexHull_aggregate(bool async) @@ -162,10 +194,12 @@ public override async Task ConvexHull_aggregate(bool async) await base.ConvexHull_aggregate(async); AssertSql( - @"SELECT [p].[Group] AS [Id], geometry::ConvexHullAggregate([p].[Point]) AS [ConvexHull] +""" +SELECT [p].[Group] AS [Id], geometry::ConvexHullAggregate([p].[Point]) AS [ConvexHull] FROM [PointEntity] AS [p] WHERE [p].[Point] IS NOT NULL -GROUP BY [p].[Group]"); +GROUP BY [p].[Group] +"""); } public override async Task IGeometryCollection_Count(bool async) @@ -173,8 +207,10 @@ public override async Task IGeometryCollection_Count(bool async) await base.IGeometryCollection_Count(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STNumGeometries() AS [Count] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STNumGeometries() AS [Count] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task LineString_Count(bool async) @@ -182,8 +218,10 @@ public override async Task LineString_Count(bool async) await base.LineString_Count(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STNumPoints() AS [Count] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STNumPoints() AS [Count] +FROM [LineStringEntity] AS [l] +"""); } // No SqlServer Translation @@ -199,10 +237,12 @@ public override async Task Crosses(bool async) await base.Crosses(async); AssertSql( - @"@__lineString_0='0x000000000114000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 38) (DbType = Object) +""" +@__lineString_0='0x000000000114000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 38) (DbType = Object) SELECT [l].[Id], [l].[LineString].STCrosses(@__lineString_0) AS [Crosses] -FROM [LineStringEntity] AS [l]"); +FROM [LineStringEntity] AS [l] +"""); } [ConditionalTheory] @@ -221,8 +261,10 @@ await AssertQuery( }); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STCurveToLine() AS [CurveToLine] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STCurveToLine() AS [CurveToLine] +FROM [PolygonEntity] AS [p] +"""); } public override async Task Difference(bool async) @@ -230,10 +272,12 @@ public override async Task Difference(bool async) await base.Difference(async); AssertSql( - @"@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STDifference(@__polygon_0) AS [Difference] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Distance_on_converted_geometry_type(bool async) @@ -241,10 +285,12 @@ public override async Task Distance_on_converted_geometry_type(bool async) await base.Distance_on_converted_geometry_type(async); AssertSql( - @"@__point_0='0x00000000010C000000000000F03F0000000000000000' (Nullable = false) (Size = 22) (DbType = Object) +""" +@__point_0='0x00000000010C000000000000F03F0000000000000000' (Nullable = false) (Size = 22) (DbType = Object) SELECT [g].[Id], [g].[Location].STDistance(@__point_0) AS [Distance] -FROM [GeoPointEntity] AS [g]"); +FROM [GeoPointEntity] AS [g] +"""); } public override async Task Distance_on_converted_geometry_type_lhs(bool async) @@ -252,10 +298,12 @@ public override async Task Distance_on_converted_geometry_type_lhs(bool async) await base.Distance_on_converted_geometry_type_lhs(async); AssertSql( - @"@__point_0='0x00000000010C000000000000F03F0000000000000000' (Nullable = false) (Size = 22) (DbType = Object) +""" +@__point_0='0x00000000010C000000000000F03F0000000000000000' (Nullable = false) (Size = 22) (DbType = Object) SELECT [g].[Id], @__point_0.STDistance([g].[Location]) AS [Distance] -FROM [GeoPointEntity] AS [g]"); +FROM [GeoPointEntity] AS [g] +"""); } public override async Task Distance_on_converted_geometry_type_constant(bool async) @@ -263,8 +311,10 @@ public override async Task Distance_on_converted_geometry_type_constant(bool asy await base.Distance_on_converted_geometry_type_constant(async); AssertSql( - @"SELECT [g].[Id], [g].[Location].STDistance(geometry::Parse('POINT (0 1)')) AS [Distance] -FROM [GeoPointEntity] AS [g]"); +""" +SELECT [g].[Id], [g].[Location].STDistance(geometry::Parse('POINT (0 1)')) AS [Distance] +FROM [GeoPointEntity] AS [g] +"""); } public override async Task Distance_on_converted_geometry_type_constant_lhs(bool async) @@ -272,8 +322,10 @@ public override async Task Distance_on_converted_geometry_type_constant_lhs(bool await base.Distance_on_converted_geometry_type_constant_lhs(async); AssertSql( - @"SELECT [g].[Id], geometry::Parse('POINT (0 1)').STDistance([g].[Location]) AS [Distance] -FROM [GeoPointEntity] AS [g]"); +""" +SELECT [g].[Id], geometry::Parse('POINT (0 1)').STDistance([g].[Location]) AS [Distance] +FROM [GeoPointEntity] AS [g] +"""); } public override async Task Distance_constant(bool async) @@ -281,8 +333,10 @@ public override async Task Distance_constant(bool async) await base.Distance_constant(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STDistance('POINT (0 1)') AS [Distance] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STDistance('POINT (0 1)') AS [Distance] +FROM [PointEntity] AS [p] +"""); } public override async Task Distance_constant_srid_4326(bool async) @@ -301,8 +355,10 @@ await AssertQuery( }); AssertSql( - @"SELECT [p].[Id], [p].[Point].STDistance(geometry::STGeomFromText('POINT (1 1)', 4326)) AS [Distance] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STDistance(geometry::STGeomFromText('POINT (1 1)', 4326)) AS [Distance] +FROM [PointEntity] AS [p] +"""); } public override async Task Distance_constant_lhs(bool async) @@ -310,8 +366,10 @@ public override async Task Distance_constant_lhs(bool async) await base.Distance_constant_lhs(async); AssertSql( - @"SELECT [p].[Id], geometry::Parse('POINT (0 1)').STDistance([p].[Point]) AS [Distance] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], geometry::Parse('POINT (0 1)').STDistance([p].[Point]) AS [Distance] +FROM [PointEntity] AS [p] +"""); } public override async Task Dimension(bool async) @@ -319,8 +377,10 @@ public override async Task Dimension(bool async) await base.Dimension(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STDimension() AS [Dimension] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STDimension() AS [Dimension] +FROM [PointEntity] AS [p] +"""); } public override async Task Disjoint_with_cast_to_nullable(bool async) @@ -328,10 +388,12 @@ public override async Task Disjoint_with_cast_to_nullable(bool async) await base.Disjoint_with_cast_to_nullable(async); AssertSql( - @"@__point_0='0x00000000010C000000000000F03F000000000000F03F' (Size = 22) (DbType = Object) +""" +@__point_0='0x00000000010C000000000000F03F000000000000F03F' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STDisjoint(@__point_0) AS [Disjoint] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Disjoint_with_null_check(bool async) @@ -339,13 +401,15 @@ public override async Task Disjoint_with_null_check(bool async) await base.Disjoint_with_null_check(async); AssertSql( - @"@__point_0='0x00000000010C000000000000F03F000000000000F03F' (Size = 22) (DbType = Object) +""" +@__point_0='0x00000000010C000000000000F03F000000000000F03F' (Size = 22) (DbType = Object) SELECT [p].[Id], CASE WHEN [p].[Polygon] IS NULL THEN NULL ELSE [p].[Polygon].STDisjoint(@__point_0) END AS [Disjoint] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Distance_with_null_check(bool async) @@ -353,10 +417,12 @@ public override async Task Distance_with_null_check(bool async) await base.Distance_with_null_check(async); AssertSql( - @"@__point_0='0x00000000010C0000000000000000000000000000F03F' (Size = 22) (DbType = Object) +""" +@__point_0='0x00000000010C0000000000000000000000000000F03F' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Point].STDistance(@__point_0) AS [Distance] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task Distance_with_cast_to_nullable(bool async) @@ -364,10 +430,12 @@ public override async Task Distance_with_cast_to_nullable(bool async) await base.Distance_with_cast_to_nullable(async); AssertSql( - @"@__point_0='0x00000000010C0000000000000000000000000000F03F' (Size = 22) (DbType = Object) +""" +@__point_0='0x00000000010C0000000000000000000000000000F03F' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Point].STDistance(@__point_0) AS [Distance] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task Distance_geometry(bool async) @@ -375,10 +443,12 @@ public override async Task Distance_geometry(bool async) await base.Distance_geometry(async); AssertSql( - @"@__point_0='0x00000000010C0000000000000000000000000000F03F' (Size = 22) (DbType = Object) +""" +@__point_0='0x00000000010C0000000000000000000000000000F03F' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Geometry].STDistance(@__point_0) AS [Distance] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task EndPoint(bool async) @@ -386,8 +456,10 @@ public override async Task EndPoint(bool async) await base.EndPoint(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STEndPoint() AS [EndPoint] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STEndPoint() AS [EndPoint] +FROM [LineStringEntity] AS [l] +"""); } public override async Task Envelope(bool async) @@ -395,8 +467,10 @@ public override async Task Envelope(bool async) await base.Envelope(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STEnvelope() AS [Envelope] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STEnvelope() AS [Envelope] +FROM [PolygonEntity] AS [p] +"""); } public override async Task EqualsTopologically(bool async) @@ -404,10 +478,12 @@ public override async Task EqualsTopologically(bool async) await base.EqualsTopologically(async); AssertSql( - @"@__point_0='0x00000000010C00000000000000000000000000000000' (Size = 22) (DbType = Object) +""" +@__point_0='0x00000000010C00000000000000000000000000000000' (Size = 22) (DbType = Object) SELECT [p].[Id], [p].[Point].STEquals(@__point_0) AS [EqualsTopologically] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task ExteriorRing(bool async) @@ -415,8 +491,10 @@ public override async Task ExteriorRing(bool async) await base.ExteriorRing(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STExteriorRing() AS [ExteriorRing] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STExteriorRing() AS [ExteriorRing] +FROM [PolygonEntity] AS [p] +"""); } public override async Task GeometryType(bool async) @@ -424,8 +502,10 @@ public override async Task GeometryType(bool async) await base.GeometryType(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STGeometryType() AS [GeometryType] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STGeometryType() AS [GeometryType] +FROM [PointEntity] AS [p] +"""); } public override async Task GetGeometryN(bool async) @@ -433,8 +513,10 @@ public override async Task GetGeometryN(bool async) await base.GetGeometryN(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STGeometryN(0 + 1) AS [Geometry0] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STGeometryN(0 + 1) AS [Geometry0] +FROM [MultiLineStringEntity] AS [m] +"""); } public override Task GetGeometryN_with_null_argument(bool async) @@ -446,11 +528,13 @@ public override async Task GetInteriorRingN(bool async) await base.GetInteriorRingN(async); AssertSql( - @"SELECT [p].[Id], CASE +""" +SELECT [p].[Id], CASE WHEN [p].[Polygon].STNumInteriorRing() = 0 THEN NULL ELSE [p].[Polygon].STInteriorRingN(0 + 1) END AS [InteriorRing0] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task GetPointN(bool async) @@ -458,8 +542,10 @@ public override async Task GetPointN(bool async) await base.GetPointN(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STPointN(0 + 1) AS [Point0] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STPointN(0 + 1) AS [Point0] +FROM [LineStringEntity] AS [l] +"""); } public override async Task InteriorPoint(bool async) @@ -467,8 +553,10 @@ public override async Task InteriorPoint(bool async) await base.InteriorPoint(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STPointOnSurface() AS [InteriorPoint], [p].[Polygon] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STPointOnSurface() AS [InteriorPoint], [p].[Polygon] +FROM [PolygonEntity] AS [p] +"""); } public override async Task Intersection(bool async) @@ -476,10 +564,12 @@ public override async Task Intersection(bool async) await base.Intersection(async); AssertSql( - @"@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STIntersection(@__polygon_0) AS [Intersection] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Intersects(bool async) @@ -487,10 +577,12 @@ public override async Task Intersects(bool async) await base.Intersects(async); AssertSql( - @"@__lineString_0='0x000000000114000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 38) (DbType = Object) +""" +@__lineString_0='0x000000000114000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 38) (DbType = Object) SELECT [l].[Id], [l].[LineString].STIntersects(@__lineString_0) AS [Intersects] -FROM [LineStringEntity] AS [l]"); +FROM [LineStringEntity] AS [l] +"""); } public override async Task ICurve_IsClosed(bool async) @@ -498,8 +590,10 @@ public override async Task ICurve_IsClosed(bool async) await base.ICurve_IsClosed(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STIsClosed() AS [IsClosed] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STIsClosed() AS [IsClosed] +FROM [LineStringEntity] AS [l] +"""); } public override async Task IMultiCurve_IsClosed(bool async) @@ -507,8 +601,10 @@ public override async Task IMultiCurve_IsClosed(bool async) await base.IMultiCurve_IsClosed(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STIsClosed() AS [IsClosed] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STIsClosed() AS [IsClosed] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task IsEmpty(bool async) @@ -516,8 +612,10 @@ public override async Task IsEmpty(bool async) await base.IsEmpty(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STIsEmpty() AS [IsEmpty] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STIsEmpty() AS [IsEmpty] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task IsRing(bool async) @@ -525,8 +623,10 @@ public override async Task IsRing(bool async) await base.IsRing(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STIsRing() AS [IsRing] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STIsRing() AS [IsRing] +FROM [LineStringEntity] AS [l] +"""); } public override async Task IsSimple(bool async) @@ -534,8 +634,10 @@ public override async Task IsSimple(bool async) await base.IsSimple(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STIsSimple() AS [IsSimple] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STIsSimple() AS [IsSimple] +FROM [LineStringEntity] AS [l] +"""); } public override async Task IsValid(bool async) @@ -543,8 +645,10 @@ public override async Task IsValid(bool async) await base.IsValid(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STIsValid() AS [IsValid] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STIsValid() AS [IsValid] +FROM [PointEntity] AS [p] +"""); } public override async Task IsWithinDistance(bool async) @@ -552,13 +656,15 @@ public override async Task IsWithinDistance(bool async) await base.IsWithinDistance(async); AssertSql( - @"@__point_0='0x00000000010C0000000000000000000000000000F03F' (Size = 22) (DbType = Object) +""" +@__point_0='0x00000000010C0000000000000000000000000000F03F' (Size = 22) (DbType = Object) SELECT [p].[Id], CASE WHEN [p].[Point].STDistance(@__point_0) <= 1.0E0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsWithinDistance] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task Item(bool async) @@ -566,8 +672,10 @@ public override async Task Item(bool async) await base.Item(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STGeometryN(0 + 1) AS [Item0] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STGeometryN(0 + 1) AS [Item0] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task Length(bool async) @@ -575,8 +683,10 @@ public override async Task Length(bool async) await base.Length(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STLength() AS [Length] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STLength() AS [Length] +FROM [LineStringEntity] AS [l] +"""); } public override async Task M(bool async) @@ -584,8 +694,10 @@ public override async Task M(bool async) await base.M(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].M AS [M] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].M AS [M] +FROM [PointEntity] AS [p] +"""); } // No SqlServer Translation @@ -597,8 +709,10 @@ public override async Task NumGeometries(bool async) await base.NumGeometries(async); AssertSql( - @"SELECT [m].[Id], [m].[MultiLineString].STNumGeometries() AS [NumGeometries] -FROM [MultiLineStringEntity] AS [m]"); +""" +SELECT [m].[Id], [m].[MultiLineString].STNumGeometries() AS [NumGeometries] +FROM [MultiLineStringEntity] AS [m] +"""); } public override async Task NumInteriorRings(bool async) @@ -606,8 +720,10 @@ public override async Task NumInteriorRings(bool async) await base.NumInteriorRings(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STNumInteriorRing() AS [NumInteriorRings] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STNumInteriorRing() AS [NumInteriorRings] +FROM [PolygonEntity] AS [p] +"""); } public override async Task NumPoints(bool async) @@ -615,8 +731,10 @@ public override async Task NumPoints(bool async) await base.NumPoints(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STNumPoints() AS [NumPoints] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STNumPoints() AS [NumPoints] +FROM [LineStringEntity] AS [l] +"""); } public override async Task OgcGeometryType(bool async) @@ -624,7 +742,8 @@ public override async Task OgcGeometryType(bool async) await base.OgcGeometryType(async); AssertSql( - @"SELECT [p].[Id], CASE [p].[Point].STGeometryType() +""" +SELECT [p].[Id], CASE [p].[Point].STGeometryType() WHEN N'Point' THEN 1 WHEN N'LineString' THEN 2 WHEN N'Polygon' THEN 3 @@ -636,7 +755,8 @@ WHEN N'CircularString' THEN 8 WHEN N'CompoundCurve' THEN 9 WHEN N'CurvePolygon' THEN 10 END AS [OgcGeometryType] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task Overlaps(bool async) @@ -644,10 +764,12 @@ public override async Task Overlaps(bool async) await base.Overlaps(async); AssertSql( - @"@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STOverlaps(@__polygon_0) AS [Overlaps] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task PointOnSurface(bool async) @@ -655,8 +777,10 @@ public override async Task PointOnSurface(bool async) await base.PointOnSurface(async); AssertSql( - @"SELECT [p].[Id], [p].[Polygon].STPointOnSurface() AS [PointOnSurface], [p].[Polygon] -FROM [PolygonEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Polygon].STPointOnSurface() AS [PointOnSurface], [p].[Polygon] +FROM [PolygonEntity] AS [p] +"""); } public override async Task Relate(bool async) @@ -664,10 +788,12 @@ public override async Task Relate(bool async) await base.Relate(async); AssertSql( - @"@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STRelate(@__polygon_0, N'212111212') AS [Relate] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } // No SqlServer Translation @@ -679,8 +805,10 @@ public override async Task SRID(bool async) await base.SRID(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STSrid AS [SRID] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STSrid AS [SRID] +FROM [PointEntity] AS [p] +"""); } public override async Task SRID_geometry(bool async) @@ -688,8 +816,10 @@ public override async Task SRID_geometry(bool async) await base.SRID_geometry(async); AssertSql( - @"SELECT [p].[Id], [p].[Geometry].STSrid AS [SRID] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Geometry].STSrid AS [SRID] +FROM [PointEntity] AS [p] +"""); } public override async Task StartPoint(bool async) @@ -697,8 +827,10 @@ public override async Task StartPoint(bool async) await base.StartPoint(async); AssertSql( - @"SELECT [l].[Id], [l].[LineString].STStartPoint() AS [StartPoint] -FROM [LineStringEntity] AS [l]"); +""" +SELECT [l].[Id], [l].[LineString].STStartPoint() AS [StartPoint] +FROM [LineStringEntity] AS [l] +"""); } public override async Task SymmetricDifference(bool async) @@ -706,10 +838,12 @@ public override async Task SymmetricDifference(bool async) await base.SymmetricDifference(async); AssertSql( - @"@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STSymDifference(@__polygon_0) AS [SymmetricDifference] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task ToBinary(bool async) @@ -717,8 +851,10 @@ public override async Task ToBinary(bool async) await base.ToBinary(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STAsBinary() AS [Binary] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STAsBinary() AS [Binary] +FROM [PointEntity] AS [p] +"""); } public override async Task ToText(bool async) @@ -726,8 +862,10 @@ public override async Task ToText(bool async) await base.ToText(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].AsTextZM() AS [Text] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].AsTextZM() AS [Text] +FROM [PointEntity] AS [p] +"""); } public override async Task Touches(bool async) @@ -735,10 +873,12 @@ public override async Task Touches(bool async) await base.Touches(async); AssertSql( - @"@__polygon_0='0x000000000104040000000000000000000000000000000000F03F000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0x000000000104040000000000000000000000000000000000F03F000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STTouches(@__polygon_0) AS [Touches] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Union(bool async) @@ -746,10 +886,12 @@ public override async Task Union(bool async) await base.Union(async); AssertSql( - @"@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) +""" +@__polygon_0='0x0000000001040400000000000000000000000000000000000000000000000000...' (Size = 96) (DbType = Object) SELECT [p].[Id], [p].[Polygon].STUnion(@__polygon_0) AS [Union] -FROM [PolygonEntity] AS [p]"); +FROM [PolygonEntity] AS [p] +"""); } public override async Task Union_aggregate(bool async) @@ -757,10 +899,12 @@ public override async Task Union_aggregate(bool async) await base.Union_aggregate(async); AssertSql( - @"SELECT [p].[Group] AS [Id], geometry::UnionAggregate([p].[Point]) AS [Union] +""" +SELECT [p].[Group] AS [Id], geometry::UnionAggregate([p].[Point]) AS [Union] FROM [PointEntity] AS [p] WHERE [p].[Point] IS NOT NULL -GROUP BY [p].[Group]"); +GROUP BY [p].[Group] +"""); } // No SqlServer Translation @@ -772,10 +916,12 @@ public override async Task Within(bool async) await base.Within(async); AssertSql( - @"@__polygon_0='0x00000000010405000000000000000000F0BF000000000000F0BF000000000000...' (Size = 112) (DbType = Object) +""" +@__polygon_0='0x00000000010405000000000000000000F0BF000000000000F0BF000000000000...' (Size = 112) (DbType = Object) SELECT [p].[Id], [p].[Point].STWithin(@__polygon_0) AS [Within] -FROM [PointEntity] AS [p]"); +FROM [PointEntity] AS [p] +"""); } public override async Task X(bool async) @@ -783,8 +929,10 @@ public override async Task X(bool async) await base.X(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STX AS [X] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STX AS [X] +FROM [PointEntity] AS [p] +"""); } public override async Task Y(bool async) @@ -792,8 +940,10 @@ public override async Task Y(bool async) await base.Y(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].STY AS [Y] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].STY AS [Y] +FROM [PointEntity] AS [p] +"""); } public override async Task Z(bool async) @@ -801,8 +951,10 @@ public override async Task Z(bool async) await base.Z(async); AssertSql( - @"SELECT [p].[Id], [p].[Point].Z AS [Z] -FROM [PointEntity] AS [p]"); +""" +SELECT [p].[Id], [p].[Point].Z AS [Z] +FROM [PointEntity] AS [p] +"""); } public override async Task XY_with_collection_join(bool async) @@ -810,14 +962,16 @@ public override async Task XY_with_collection_join(bool async) await base.XY_with_collection_join(async); AssertSql( - @"SELECT [t].[Id], [t].[c], [t].[c0], [p0].[Id], [p0].[Geometry], [p0].[Group], [p0].[Point], [p0].[PointM], [p0].[PointZ], [p0].[PointZM] +""" +SELECT [t].[Id], [t].[c], [t].[c0], [p0].[Id], [p0].[Geometry], [p0].[Group], [p0].[Point], [p0].[PointM], [p0].[PointZ], [p0].[PointZM] FROM ( SELECT TOP(1) [p].[Id], [p].[Point].STX AS [c], [p].[Point].STY AS [c0] FROM [PointEntity] AS [p] ORDER BY [p].[Id] ) AS [t] LEFT JOIN [PointEntity] AS [p0] ON [t].[Id] = [p0].[Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task IsEmpty_equal_to_null(bool async) @@ -825,9 +979,11 @@ public override async Task IsEmpty_equal_to_null(bool async) await base.IsEmpty_equal_to_null(async); AssertSql( - @"SELECT [p].[Id] +""" +SELECT [p].[Id] FROM [PointEntity] AS [p] -WHERE [p].[Point] IS NULL"); +WHERE [p].[Point] IS NULL +"""); } public override async Task IsEmpty_not_equal_to_null(bool async) @@ -835,9 +991,11 @@ public override async Task IsEmpty_not_equal_to_null(bool async) await base.IsEmpty_not_equal_to_null(async); AssertSql( - @"SELECT [p].[Id] +""" +SELECT [p].[Id] FROM [PointEntity] AS [p] -WHERE [p].[Point] IS NOT NULL"); +WHERE [p].[Point] IS NOT NULL +"""); } public override async Task Intersects_equal_to_null(bool async) @@ -845,13 +1003,17 @@ public override async Task Intersects_equal_to_null(bool async) await base.Intersects_equal_to_null(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LineStringEntity] AS [l] -WHERE [l].[LineString] IS NULL", +WHERE [l].[LineString] IS NULL +""", // - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LineStringEntity] AS [l] -WHERE [l].[LineString] IS NULL"); +WHERE [l].[LineString] IS NULL +"""); } public override async Task Intersects_not_equal_to_null(bool async) @@ -859,13 +1021,17 @@ public override async Task Intersects_not_equal_to_null(bool async) await base.Intersects_not_equal_to_null(async); AssertSql( - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LineStringEntity] AS [l] -WHERE [l].[LineString] IS NOT NULL", +WHERE [l].[LineString] IS NOT NULL +""", // - @"SELECT [l].[Id] +""" +SELECT [l].[Id] FROM [LineStringEntity] AS [l] -WHERE [l].[LineString] IS NOT NULL"); +WHERE [l].[LineString] IS NOT NULL +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/SqlExecutorSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/SqlExecutorSqlServerTest.cs index 3505c886931..c195a4add4d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/SqlExecutorSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/SqlExecutorSqlServerTest.cs @@ -27,9 +27,11 @@ public override void Executes_stored_procedure_with_parameter() base.Executes_stored_procedure_with_parameter(); AssertSql( - @"@CustomerID='ALFKI' (Nullable = false) (Size = 5) +""" +@CustomerID='ALFKI' (Nullable = false) (Size = 5) -[dbo].[CustOrderHist] @CustomerID"); +[dbo].[CustOrderHist] @CustomerID +"""); } public override void Executes_stored_procedure_with_generated_parameter() @@ -37,9 +39,11 @@ public override void Executes_stored_procedure_with_generated_parameter() base.Executes_stored_procedure_with_generated_parameter(); AssertSql( - @"@p0='ALFKI' (Size = 4000) +""" +@p0='ALFKI' (Size = 4000) -[dbo].[CustOrderHist] @CustomerID = @p0"); +[dbo].[CustOrderHist] @CustomerID = @p0 +"""); } public override void Query_with_parameters() @@ -47,10 +51,12 @@ public override void Query_with_parameters() base.Query_with_parameters(); AssertSql( - @"@p0='London' (Size = 4000) +""" +@p0='London' (Size = 4000) @p1='Sales Representative' (Size = 4000) -SELECT COUNT(*) FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT COUNT(*) FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } public override void Query_with_dbParameter_with_name() @@ -58,9 +64,11 @@ public override void Query_with_dbParameter_with_name() base.Query_with_dbParameter_with_name(); AssertSql( - @"@city='London' (Nullable = false) (Size = 6) +""" +@city='London' (Nullable = false) (Size = 6) -SELECT COUNT(*) FROM ""Customers"" WHERE ""City"" = @city"); +SELECT COUNT(*) FROM "Customers" WHERE "City" = @city +"""); } public override void Query_with_positional_dbParameter_with_name() @@ -68,9 +76,11 @@ public override void Query_with_positional_dbParameter_with_name() base.Query_with_positional_dbParameter_with_name(); AssertSql( - @"@city='London' (Nullable = false) (Size = 6) +""" +@city='London' (Nullable = false) (Size = 6) -SELECT COUNT(*) FROM ""Customers"" WHERE ""City"" = @city"); +SELECT COUNT(*) FROM "Customers" WHERE "City" = @city +"""); } public override void Query_with_positional_dbParameter_without_name() @@ -78,9 +88,11 @@ public override void Query_with_positional_dbParameter_without_name() base.Query_with_positional_dbParameter_without_name(); AssertSql( - @"@p0='London' (Nullable = false) (Size = 6) +""" +@p0='London' (Nullable = false) (Size = 6) -SELECT COUNT(*) FROM ""Customers"" WHERE ""City"" = @p0"); +SELECT COUNT(*) FROM "Customers" WHERE "City" = @p0 +"""); } public override void Query_with_dbParameters_mixed() @@ -88,15 +100,19 @@ public override void Query_with_dbParameters_mixed() base.Query_with_dbParameters_mixed(); AssertSql( - @"@p0='London' (Size = 4000) +""" +@p0='London' (Size = 4000) @contactTitle='Sales Representative' (Nullable = false) (Size = 20) -SELECT COUNT(*) FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @contactTitle", +SELECT COUNT(*) FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @contactTitle +""", // - @"@city='London' (Nullable = false) (Size = 6) +""" +@city='London' (Nullable = false) (Size = 6) @p0='Sales Representative' (Size = 4000) -SELECT COUNT(*) FROM ""Customers"" WHERE ""City"" = @city AND ""ContactTitle"" = @p0"); +SELECT COUNT(*) FROM "Customers" WHERE "City" = @city AND "ContactTitle" = @p0 +"""); } public override void Query_with_parameters_interpolated() @@ -104,10 +120,12 @@ public override void Query_with_parameters_interpolated() base.Query_with_parameters_interpolated(); AssertSql( - @"@p0='London' (Size = 4000) +""" +@p0='London' (Size = 4000) @p1='Sales Representative' (Size = 4000) -SELECT COUNT(*) FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT COUNT(*) FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } public override void Query_with_DbParameters_interpolated() @@ -115,10 +133,12 @@ public override void Query_with_DbParameters_interpolated() base.Query_with_DbParameters_interpolated(); AssertSql( - @"city='London' (Nullable = false) (Size = 6) +""" +city='London' (Nullable = false) (Size = 6) contactTitle='Sales Representative' (Nullable = false) (Size = 20) -SELECT COUNT(*) FROM ""Customers"" WHERE ""City"" = @city AND ""ContactTitle"" = @contactTitle"); +SELECT COUNT(*) FROM "Customers" WHERE "City" = @city AND "ContactTitle" = @contactTitle +"""); } public override async Task Query_with_parameters_async() @@ -126,10 +146,12 @@ public override async Task Query_with_parameters_async() await base.Query_with_parameters_async(); AssertSql( - @"@p0='London' (Size = 4000) +""" +@p0='London' (Size = 4000) @p1='Sales Representative' (Size = 4000) -SELECT COUNT(*) FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT COUNT(*) FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } public override async Task Query_with_parameters_interpolated_async() @@ -137,10 +159,12 @@ public override async Task Query_with_parameters_interpolated_async() await base.Query_with_parameters_interpolated_async(); AssertSql( - @"@p0='London' (Size = 4000) +""" +@p0='London' (Size = 4000) @p1='Sales Representative' (Size = 4000) -SELECT COUNT(*) FROM ""Customers"" WHERE ""City"" = @p0 AND ""ContactTitle"" = @p1"); +SELECT COUNT(*) FROM "Customers" WHERE "City" = @p0 AND "ContactTitle" = @p1 +"""); } protected override DbParameter CreateDbParameter(string name, object value) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPCFiltersInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPCFiltersInheritanceQuerySqlServerTest.cs index d7f8c805062..472dbd42967 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPCFiltersInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPCFiltersInheritanceQuerySqlServerTest.cs @@ -23,7 +23,8 @@ public override async Task Can_use_of_type_animal(bool async) await base.Can_use_of_type_animal(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -32,7 +33,8 @@ UNION ALL FROM [Kiwi] AS [k] ) AS [t] WHERE [t].[CountryId] = 1 -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_use_is_kiwi(bool async) @@ -40,12 +42,14 @@ public override async Task Can_use_is_kiwi(bool async) await base.Can_use_is_kiwi(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[CountryId] = 1"); +WHERE [t].[CountryId] = 1 +"""); } public override async Task Can_use_is_kiwi_with_other_predicate(bool async) @@ -53,7 +57,8 @@ public override async Task Can_use_is_kiwi_with_other_predicate(bool async) await base.Can_use_is_kiwi_with_other_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -61,7 +66,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[CountryId] = 1 AND [t].[Discriminator] = N'Kiwi' AND [t].[CountryId] = 1"); +WHERE [t].[CountryId] = 1 AND [t].[Discriminator] = N'Kiwi' AND [t].[CountryId] = 1 +"""); } public override async Task Can_use_is_kiwi_in_projection(bool async) @@ -69,7 +75,8 @@ public override async Task Can_use_is_kiwi_in_projection(bool async) await base.Can_use_is_kiwi_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[Discriminator] = N'Kiwi' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END @@ -80,7 +87,8 @@ UNION ALL SELECT [k].[CountryId], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[CountryId] = 1"); +WHERE [t].[CountryId] = 1 +"""); } public override async Task Can_use_of_type_bird(bool async) @@ -88,7 +96,8 @@ public override async Task Can_use_of_type_bird(bool async) await base.Can_use_of_type_bird(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -97,7 +106,8 @@ UNION ALL FROM [Kiwi] AS [k] ) AS [t] WHERE [t].[CountryId] = 1 -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_use_of_type_bird_predicate(bool async) @@ -105,7 +115,8 @@ public override async Task Can_use_of_type_bird_predicate(bool async) await base.Can_use_of_type_bird_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -114,7 +125,8 @@ UNION ALL FROM [Kiwi] AS [k] ) AS [t] WHERE [t].[CountryId] = 1 AND [t].[CountryId] = 1 -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_use_of_type_bird_with_projection(bool async) @@ -122,7 +134,8 @@ public override async Task Can_use_of_type_bird_with_projection(bool async) await base.Can_use_of_type_bird_with_projection(async); AssertSql( - @"SELECT [t].[Name] +""" +SELECT [t].[Name] FROM ( SELECT [e].[CountryId], [e].[Name] FROM [Eagle] AS [e] @@ -130,7 +143,8 @@ UNION ALL SELECT [k].[CountryId], [k].[Name] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[CountryId] = 1"); +WHERE [t].[CountryId] = 1 +"""); } public override async Task Can_use_of_type_bird_first(bool async) @@ -138,7 +152,8 @@ public override async Task Can_use_of_type_bird_first(bool async) await base.Can_use_of_type_bird_first(async); AssertSql( - @"SELECT TOP(1) [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT TOP(1) [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -147,7 +162,8 @@ UNION ALL FROM [Kiwi] AS [k] ) AS [t] WHERE [t].[CountryId] = 1 -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_use_of_type_kiwi(bool async) @@ -155,12 +171,14 @@ public override async Task Can_use_of_type_kiwi(bool async) await base.Can_use_of_type_kiwi(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[CountryId] = 1"); +WHERE [t].[CountryId] = 1 +"""); } public override async Task Can_use_derived_set(bool async) @@ -168,9 +186,11 @@ public override async Task Can_use_derived_set(bool async) await base.Can_use_derived_set(async); AssertSql( - @"SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group] +""" +SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group] FROM [Eagle] AS [e] -WHERE [e].[CountryId] = 1"); +WHERE [e].[CountryId] = 1 +"""); } public override async Task Can_use_IgnoreQueryFilters_and_GetDatabaseValues(bool async) @@ -178,14 +198,18 @@ public override async Task Can_use_IgnoreQueryFilters_and_GetDatabaseValues(bool await base.Can_use_IgnoreQueryFilters_and_GetDatabaseValues(async); AssertSql( - @"SELECT TOP(2) [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group] -FROM [Eagle] AS [e]", +""" +SELECT TOP(2) [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group] +FROM [Eagle] AS [e] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(1) [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group] FROM [Eagle] AS [e] -WHERE [e].[Id] = @__p_0"); +WHERE [e].[Id] = @__p_0 +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPCGearsOfWarQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPCGearsOfWarQuerySqlServerTest.cs index a25705bda19..066af0816d7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPCGearsOfWarQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPCGearsOfWarQuerySqlServerTest.cs @@ -28,9 +28,11 @@ public override async Task Negate_on_binary_expression(bool async) await base.Negate_on_binary_expression(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE [s].[Id] = -([s].[Id] + [s].[Id])"); +WHERE [s].[Id] = -([s].[Id] + [s].[Id]) +"""); } public override async Task Negate_on_column(bool async) @@ -38,9 +40,11 @@ public override async Task Negate_on_column(bool async) await base.Negate_on_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE [s].[Id] = -[s].[Id]"); +WHERE [s].[Id] = -[s].[Id] +"""); } public override async Task Double_negate_on_column(bool async) @@ -48,9 +52,11 @@ public override async Task Double_negate_on_column(bool async) await base.Double_negate_on_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE -(-[s].[Id]) = [s].[Id]"); +WHERE -(-[s].[Id]) = [s].[Id] +"""); } public override async Task Negate_on_like_expression(bool async) @@ -58,9 +64,11 @@ public override async Task Negate_on_like_expression(bool async) await base.Negate_on_like_expression(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE ([s].[Name] IS NOT NULL) AND NOT ([s].[Name] LIKE N'us%')"); +WHERE ([s].[Name] IS NOT NULL) AND NOT ([s].[Name] LIKE N'us%') +"""); } public override async Task Entity_equality_empty(bool async) @@ -68,7 +76,8 @@ public override async Task Entity_equality_empty(bool async) await base.Entity_equality_empty(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -76,7 +85,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Include_multiple_one_to_one_and_one_to_many(bool async) @@ -84,7 +94,8 @@ public override async Task Include_multiple_one_to_one_and_one_to_many(bool asyn await base.Include_multiple_one_to_one_and_one_to_many(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -94,7 +105,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Include_multiple_one_to_one_optional_and_one_to_one_required(bool async) @@ -102,7 +114,8 @@ public override async Task Include_multiple_one_to_one_optional_and_one_to_one_r await base.Include_multiple_one_to_one_optional_and_one_to_one_required(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -111,7 +124,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] +"""); } public override async Task Include_multiple_circular(bool async) @@ -119,7 +133,8 @@ public override async Task Include_multiple_circular(bool async) await base.Include_multiple_circular(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [c].[Name], [c].[Location], [c].[Nation], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [c].[Name], [c].[Location], [c].[Nation], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -135,7 +150,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON [c].[Name] = [t0].[AssignedCityName] -ORDER BY [t].[Nickname], [t].[SquadId], [c].[Name], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [c].[Name], [t0].[Nickname] +"""); } public override async Task Include_multiple_circular_with_filter(bool async) @@ -143,7 +159,8 @@ public override async Task Include_multiple_circular_with_filter(bool async) await base.Include_multiple_circular_with_filter(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [c].[Name], [c].[Location], [c].[Nation], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [c].[Name], [c].[Location], [c].[Nation], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -160,7 +177,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t0] ON [c].[Name] = [t0].[AssignedCityName] WHERE [t].[Nickname] = N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId], [c].[Name], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [c].[Name], [t0].[Nickname] +"""); } public override async Task Include_using_alternate_key(bool async) @@ -168,7 +186,8 @@ public override async Task Include_using_alternate_key(bool async) await base.Include_using_alternate_key(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -178,7 +197,8 @@ FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] WHERE [t].[Nickname] = N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Include_navigation_on_derived_type(bool async) @@ -186,7 +206,8 @@ public override async Task Include_navigation_on_derived_type(bool async) await base.Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] @@ -198,7 +219,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task String_based_Include_navigation_on_derived_type(bool async) @@ -206,7 +228,8 @@ public override async Task String_based_Include_navigation_on_derived_type(bool await base.String_based_Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] @@ -218,7 +241,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Select_Where_Navigation_Included(bool async) @@ -226,7 +250,8 @@ public override async Task Select_Where_Navigation_Included(bool async) await base.Select_Where_Navigation_Included(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -235,7 +260,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[Nickname] = N'Marcus'"); +WHERE [t0].[Nickname] = N'Marcus' +"""); } public override async Task Include_with_join_reference1(bool async) @@ -243,7 +269,8 @@ public override async Task Include_with_join_reference1(bool async) await base.Include_with_join_reference1(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -252,7 +279,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] INNER JOIN [Tags] AS [t0] ON [t].[SquadId] = [t0].[GearSquadId] AND [t].[Nickname] = [t0].[GearNickName] -INNER JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Include_with_join_reference2(bool async) @@ -260,7 +288,8 @@ public override async Task Include_with_join_reference2(bool async) await base.Include_with_join_reference2(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -269,7 +298,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] -INNER JOIN [Cities] AS [c] ON [t0].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [t0].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Include_with_join_collection1(bool async) @@ -277,7 +307,8 @@ public override async Task Include_with_join_collection1(bool async) await base.Include_with_join_collection1(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -287,7 +318,8 @@ FROM [Officers] AS [o] ) AS [t] INNER JOIN [Tags] AS [t0] ON [t].[SquadId] = [t0].[GearSquadId] AND [t].[Nickname] = [t0].[GearNickName] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id] +"""); } public override async Task Include_with_join_collection2(bool async) @@ -295,7 +327,8 @@ public override async Task Include_with_join_collection2(bool async) await base.Include_with_join_collection2(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -305,7 +338,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Include_where_list_contains_navigation(bool async) @@ -313,10 +347,13 @@ public override async Task Include_where_list_contains_navigation(bool async) await base.Include_where_list_contains_navigation(async); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -325,7 +362,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] -WHERE ([t0].[Id] IS NOT NULL) AND [t0].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57')"); +WHERE ([t0].[Id] IS NOT NULL) AND [t0].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57') +"""); } public override async Task Include_where_list_contains_navigation2(bool async) @@ -333,10 +371,13 @@ public override async Task Include_where_list_contains_navigation2(bool async) await base.Include_where_list_contains_navigation2(async); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -346,7 +387,8 @@ FROM [Officers] AS [o] ) AS [t] INNER JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] -WHERE ([c].[Location] IS NOT NULL) AND [t0].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57')"); +WHERE ([c].[Location] IS NOT NULL) AND [t0].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57') +"""); } public override async Task Navigation_accessed_twice_outside_and_inside_subquery(bool async) @@ -354,10 +396,13 @@ public override async Task Navigation_accessed_twice_outside_and_inside_subquery await base.Navigation_accessed_twice_outside_and_inside_subquery(async); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -366,7 +411,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] -WHERE ([t0].[Id] IS NOT NULL) AND [t0].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57')"); +WHERE ([t0].[Id] IS NOT NULL) AND [t0].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57') +"""); } public override async Task Include_with_join_multi_level(bool async) @@ -374,7 +420,8 @@ public override async Task Include_with_join_multi_level(bool async) await base.Include_with_join_multi_level(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [c].[Name], [c].[Location], [c].[Nation], [t0].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [c].[Name], [c].[Location], [c].[Nation], [t0].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -391,7 +438,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t1] ON [c].[Name] = [t1].[AssignedCityName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id], [c].[Name], [t1].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id], [c].[Name], [t1].[Nickname] +"""); } public override async Task Include_with_join_and_inheritance1(bool async) @@ -399,13 +447,15 @@ public override async Task Include_with_join_and_inheritance1(bool async) await base.Include_with_join_and_inheritance1(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] FROM [Tags] AS [t] INNER JOIN ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] -INNER JOIN [Cities] AS [c] ON [t0].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [t0].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Include_with_join_and_inheritance_with_orderby_before_and_after_include(bool async) @@ -413,7 +463,8 @@ public override async Task Include_with_join_and_inheritance_with_orderby_before await base.Include_with_join_and_inheritance_with_orderby_before_and_after_include(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Tags] AS [t] INNER JOIN ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] @@ -426,7 +477,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t1] ON [t0].[Nickname] = [t1].[LeaderNickname] AND [t0].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t0].[HasSoulPatch], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [t0].[HasSoulPatch], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Include_with_join_and_inheritance2(bool async) @@ -434,14 +486,16 @@ public override async Task Include_with_join_and_inheritance2(bool async) await base.Include_with_join_and_inheritance2(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] INNER JOIN [Tags] AS [t0] ON [t].[SquadId] = [t0].[GearSquadId] AND [t].[Nickname] = [t0].[GearNickName] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id] +"""); } public override async Task Include_with_join_and_inheritance3(bool async) @@ -449,7 +503,8 @@ public override async Task Include_with_join_and_inheritance3(bool async) await base.Include_with_join_and_inheritance3(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Tags] AS [t] INNER JOIN ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] @@ -462,7 +517,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t1] ON [t0].[Nickname] = [t1].[LeaderNickname] AND [t0].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Include_with_nested_navigation_in_order_by(bool async) @@ -470,7 +526,8 @@ public override async Task Include_with_nested_navigation_in_order_by(bool async await base.Include_with_nested_navigation_in_order_by(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -481,7 +538,8 @@ FROM [Officers] AS [o] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] LEFT JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name] WHERE [t].[Nickname] <> N'Paduk' OR ([t].[Nickname] IS NULL) -ORDER BY [c].[Name], [w].[Id]"); +ORDER BY [c].[Name], [w].[Id] +"""); } public override async Task Where_enum(bool async) @@ -489,7 +547,8 @@ public override async Task Where_enum(bool async) await base.Where_enum(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -497,7 +556,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[Rank] = 4"); +WHERE [t].[Rank] = 4 +"""); } public override async Task Where_nullable_enum_with_constant(bool async) @@ -505,9 +565,11 @@ public override async Task Where_nullable_enum_with_constant(bool async) await base.Where_nullable_enum_with_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = 1"); +WHERE [w].[AmmunitionType] = 1 +"""); } public override async Task Where_nullable_enum_with_null_constant(bool async) @@ -515,9 +577,11 @@ public override async Task Where_nullable_enum_with_null_constant(bool async) await base.Where_nullable_enum_with_null_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Where_nullable_enum_with_non_nullable_parameter(bool async) @@ -525,11 +589,13 @@ public override async Task Where_nullable_enum_with_non_nullable_parameter(bool await base.Where_nullable_enum_with_non_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' +""" +@__ammunitionType_0='1' SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0"); +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +"""); } public override async Task Where_nullable_enum_with_nullable_parameter(bool async) @@ -537,15 +603,19 @@ public override async Task Where_nullable_enum_with_nullable_parameter(bool asyn await base.Where_nullable_enum_with_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0", +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Where_bitwise_and_enum(bool async) @@ -553,7 +623,8 @@ public override async Task Where_bitwise_and_enum(bool async) await base.Where_bitwise_and_enum(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -561,9 +632,11 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & 2) > 0", +WHERE ([t].[Rank] & 2) > 0 +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -571,7 +644,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & 2) = 2"); +WHERE ([t].[Rank] & 2) = 2 +"""); } public override async Task Where_bitwise_and_integral(bool async) @@ -579,7 +653,8 @@ public override async Task Where_bitwise_and_integral(bool async) await base.Where_bitwise_and_integral(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -587,9 +662,11 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & 1) = 1", +WHERE ([t].[Rank] & 1) = 1 +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -597,9 +674,11 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE (CAST([t].[Rank] AS bigint) & CAST(1 AS bigint)) = CAST(1 AS bigint)", +WHERE (CAST([t].[Rank] AS bigint) & CAST(1 AS bigint)) = CAST(1 AS bigint) +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -607,7 +686,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE (CAST([t].[Rank] AS smallint) & CAST(1 AS smallint)) = CAST(1 AS smallint)"); +WHERE (CAST([t].[Rank] AS smallint) & CAST(1 AS smallint)) = CAST(1 AS smallint) +"""); } public override async Task Where_bitwise_and_nullable_enum_with_constant(bool async) @@ -615,9 +695,11 @@ public override async Task Where_bitwise_and_nullable_enum_with_constant(bool as await base.Where_bitwise_and_nullable_enum_with_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & 1) > 0"); +WHERE ([w].[AmmunitionType] & 1) > 0 +"""); } public override async Task Where_bitwise_and_nullable_enum_with_null_constant(bool async) @@ -625,9 +707,11 @@ public override async Task Where_bitwise_and_nullable_enum_with_null_constant(bo await base.Where_bitwise_and_nullable_enum_with_null_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & NULL) > 0"); +WHERE ([w].[AmmunitionType] & NULL) > 0 +"""); } public override async Task Where_bitwise_and_nullable_enum_with_non_nullable_parameter(bool async) @@ -635,11 +719,13 @@ public override async Task Where_bitwise_and_nullable_enum_with_non_nullable_par await base.Where_bitwise_and_nullable_enum_with_non_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' +""" +@__ammunitionType_0='1' SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0"); +WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0 +"""); } public override async Task Where_bitwise_and_nullable_enum_with_nullable_parameter(bool async) @@ -647,15 +733,19 @@ public override async Task Where_bitwise_and_nullable_enum_with_nullable_paramet await base.Where_bitwise_and_nullable_enum_with_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0", +WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0 +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & NULL) > 0"); +WHERE ([w].[AmmunitionType] & NULL) > 0 +"""); } public override async Task Where_bitwise_or_enum(bool async) @@ -663,7 +753,8 @@ public override async Task Where_bitwise_or_enum(bool async) await base.Where_bitwise_or_enum(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -671,7 +762,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] | 2) > 0"); +WHERE ([t].[Rank] | 2) > 0 +"""); } public override async Task Bitwise_projects_values_in_select(bool async) @@ -679,7 +771,8 @@ public override async Task Bitwise_projects_values_in_select(bool async) await base.Bitwise_projects_values_in_select(async); AssertSql( - @"SELECT TOP(1) CASE +""" +SELECT TOP(1) CASE WHEN ([t].[Rank] & 2) = 2 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [BitwiseTrue], CASE @@ -693,7 +786,8 @@ UNION ALL SELECT [o].[Rank] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & 2) = 2"); +WHERE ([t].[Rank] & 2) = 2 +"""); } public override async Task Where_enum_has_flag(bool async) @@ -701,7 +795,8 @@ public override async Task Where_enum_has_flag(bool async) await base.Where_enum_has_flag(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -709,9 +804,11 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & 2) = 2", +WHERE ([t].[Rank] & 2) = 2 +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -719,9 +816,11 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & 18) = 18", +WHERE ([t].[Rank] & 18) = 18 +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -729,9 +828,11 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & 1) = 1", +WHERE ([t].[Rank] & 1) = 1 +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -739,9 +840,11 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & 1) = 1", +WHERE ([t].[Rank] & 1) = 1 +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -749,7 +852,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE (2 & [t].[Rank]) = [t].[Rank]"); +WHERE (2 & [t].[Rank]) = [t].[Rank] +"""); } public override async Task Where_enum_has_flag_subquery(bool async) @@ -757,7 +861,8 @@ public override async Task Where_enum_has_flag_subquery(bool async) await base.Where_enum_has_flag_subquery(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -783,9 +888,11 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] - ORDER BY [t0].[Nickname], [t0].[SquadId]), 0)", + ORDER BY [t0].[Nickname], [t0].[SquadId]), 0) +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -811,7 +918,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] - ORDER BY [t0].[Nickname], [t0].[SquadId]), 0)"); + ORDER BY [t0].[Nickname], [t0].[SquadId]), 0) +"""); } public override async Task Where_enum_has_flag_subquery_with_pushdown(bool async) @@ -819,7 +927,8 @@ public override async Task Where_enum_has_flag_subquery_with_pushdown(bool async await base.Where_enum_has_flag_subquery_with_pushdown(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -854,9 +963,11 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] - ORDER BY [t0].[Nickname], [t0].[SquadId]) IS NULL)", + ORDER BY [t0].[Nickname], [t0].[SquadId]) IS NULL) +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -891,7 +1002,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] - ORDER BY [t0].[Nickname], [t0].[SquadId]) IS NULL)"); + ORDER BY [t0].[Nickname], [t0].[SquadId]) IS NULL) +"""); } public override async Task Where_enum_has_flag_subquery_client_eval(bool async) @@ -899,7 +1011,8 @@ public override async Task Where_enum_has_flag_subquery_client_eval(bool async) await base.Where_enum_has_flag_subquery_client_eval(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -934,7 +1047,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] - ORDER BY [t0].[Nickname], [t0].[SquadId]) IS NULL)"); + ORDER BY [t0].[Nickname], [t0].[SquadId]) IS NULL) +"""); } public override async Task Where_enum_has_flag_with_non_nullable_parameter(bool async) @@ -942,7 +1056,8 @@ public override async Task Where_enum_has_flag_with_non_nullable_parameter(bool await base.Where_enum_has_flag_with_non_nullable_parameter(async); AssertSql( - @"@__parameter_0='2' +""" +@__parameter_0='2' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -952,7 +1067,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & @__parameter_0) = @__parameter_0"); +WHERE ([t].[Rank] & @__parameter_0) = @__parameter_0 +"""); } public override async Task Where_has_flag_with_nullable_parameter(bool async) @@ -960,7 +1076,8 @@ public override async Task Where_has_flag_with_nullable_parameter(bool async) await base.Where_has_flag_with_nullable_parameter(async); AssertSql( - @"@__parameter_0='2' (Nullable = true) +""" +@__parameter_0='2' (Nullable = true) SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -970,7 +1087,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & @__parameter_0) = @__parameter_0"); +WHERE ([t].[Rank] & @__parameter_0) = @__parameter_0 +"""); } public override async Task Select_enum_has_flag(bool async) @@ -978,7 +1096,8 @@ public override async Task Select_enum_has_flag(bool async) await base.Select_enum_has_flag(async); AssertSql( - @"SELECT TOP(1) CASE +""" +SELECT TOP(1) CASE WHEN ([t].[Rank] & 2) = 2 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [hasFlagTrue], CASE @@ -992,7 +1111,8 @@ UNION ALL SELECT [o].[Rank] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & 2) = 2"); +WHERE ([t].[Rank] & 2) = 2 +"""); } public override async Task Where_count_subquery_without_collision(bool async) @@ -1000,7 +1120,8 @@ public override async Task Where_count_subquery_without_collision(bool async) await base.Where_count_subquery_without_collision(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1011,7 +1132,8 @@ FROM [Officers] AS [o] WHERE ( SELECT COUNT(*) FROM [Weapons] AS [w] - WHERE [t].[FullName] = [w].[OwnerFullName]) = 2"); + WHERE [t].[FullName] = [w].[OwnerFullName]) = 2 +"""); } public override async Task Where_any_subquery_without_collision(bool async) @@ -1019,7 +1141,8 @@ public override async Task Where_any_subquery_without_collision(bool async) await base.Where_any_subquery_without_collision(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1030,7 +1153,8 @@ FROM [Officers] AS [o] WHERE EXISTS ( SELECT 1 FROM [Weapons] AS [w] - WHERE [t].[FullName] = [w].[OwnerFullName])"); + WHERE [t].[FullName] = [w].[OwnerFullName]) +"""); } public override async Task Select_inverted_boolean(bool async) @@ -1038,12 +1162,14 @@ public override async Task Select_inverted_boolean(bool async) await base.Select_inverted_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Manual] FROM [Weapons] AS [w] -WHERE [w].[IsAutomatic] = CAST(1 AS bit)"); +WHERE [w].[IsAutomatic] = CAST(1 AS bit) +"""); } public override async Task Select_comparison_with_null(bool async) @@ -1051,21 +1177,25 @@ public override async Task Select_comparison_with_null(bool async) await base.Select_comparison_with_null(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] = @__ammunitionType_0 AND ([w].[AmmunitionType] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Cartridge] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0", +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +""", // - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Cartridge] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Select_null_parameter(bool async) @@ -1073,21 +1203,29 @@ public override async Task Select_null_parameter(bool async) await base.Select_null_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], @__ammunitionType_0 AS [AmmoType] -FROM [Weapons] AS [w]", +FROM [Weapons] AS [w] +""", // - @"SELECT [w].[Id], NULL AS [AmmoType] -FROM [Weapons] AS [w]", +""" +SELECT [w].[Id], NULL AS [AmmoType] +FROM [Weapons] AS [w] +""", // - @"@__ammunitionType_0='2' (Nullable = true) +""" +@__ammunitionType_0='2' (Nullable = true) SELECT [w].[Id], @__ammunitionType_0 AS [AmmoType] -FROM [Weapons] AS [w]", +FROM [Weapons] AS [w] +""", // - @"SELECT [w].[Id], NULL AS [AmmoType] -FROM [Weapons] AS [w]"); +""" +SELECT [w].[Id], NULL AS [AmmoType] +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_with_boolean(bool async) @@ -1095,11 +1233,13 @@ public override async Task Select_ternary_operation_with_boolean(bool async) await base.Select_ternary_operation_with_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(1 AS bit) THEN 1 ELSE 0 END AS [Num] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_with_inverted_boolean(bool async) @@ -1107,11 +1247,13 @@ public override async Task Select_ternary_operation_with_inverted_boolean(bool a await base.Select_ternary_operation_with_inverted_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN 1 ELSE 0 END AS [Num] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_with_has_value_not_null(bool async) @@ -1119,12 +1261,14 @@ public override async Task Select_ternary_operation_with_has_value_not_null(bool await base.Select_ternary_operation_with_has_value_not_null(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1"); +WHERE ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1 +"""); } public override async Task Select_ternary_operation_multiple_conditions(bool async) @@ -1132,11 +1276,13 @@ public override async Task Select_ternary_operation_multiple_conditions(bool asy await base.Select_ternary_operation_multiple_conditions(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] = 2 AND [w].[SynergyWithId] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_multiple_conditions_2(bool async) @@ -1144,11 +1290,13 @@ public override async Task Select_ternary_operation_multiple_conditions_2(bool a await base.Select_ternary_operation_multiple_conditions_2(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) AND [w].[SynergyWithId] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_multiple_conditions(bool async) @@ -1156,11 +1304,13 @@ public override async Task Select_multiple_conditions(bool async) await base.Select_multiple_conditions(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) AND [w].[SynergyWithId] = 1 AND ([w].[SynergyWithId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_nested_ternary_operations(bool async) @@ -1168,14 +1318,16 @@ public override async Task Select_nested_ternary_operations(bool async) await base.Select_nested_ternary_operations(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN CASE WHEN [w].[AmmunitionType] = 1 THEN N'ManualCartridge' ELSE N'Manual' END ELSE N'Auto' END AS [IsManualCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Null_propagation_optimization1(bool async) @@ -1183,7 +1335,8 @@ public override async Task Null_propagation_optimization1(bool async) await base.Null_propagation_optimization1(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1191,7 +1344,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[LeaderNickname] = N'Marcus' AND ([t].[LeaderNickname] IS NOT NULL)"); +WHERE [t].[LeaderNickname] = N'Marcus' AND ([t].[LeaderNickname] IS NOT NULL) +"""); } public override async Task Null_propagation_optimization2(bool async) @@ -1200,7 +1354,8 @@ public override async Task Null_propagation_optimization2(bool async) // issue #16050 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1214,7 +1369,8 @@ ELSE CASE WHEN ([t].[LeaderNickname] IS NOT NULL) AND ([t].[LeaderNickname] LIKE N'%us') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Null_propagation_optimization3(bool async) @@ -1223,7 +1379,8 @@ public override async Task Null_propagation_optimization3(bool async) // issue #16050 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1237,7 +1394,8 @@ WHEN [t].[LeaderNickname] IS NOT NULL THEN CASE ELSE CAST(0 AS bit) END ELSE NULL -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Null_propagation_optimization4(bool async) @@ -1246,7 +1404,8 @@ public override async Task Null_propagation_optimization4(bool async) // issue #16050 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1260,7 +1419,8 @@ ELSE CAST(LEN([t].[LeaderNickname]) AS int) END = 5 AND (CASE WHEN [t].[LeaderNickname] IS NULL THEN NULL ELSE CAST(LEN([t].[LeaderNickname]) AS int) -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Null_propagation_optimization5(bool async) @@ -1269,7 +1429,8 @@ public override async Task Null_propagation_optimization5(bool async) // issue #16050 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1283,7 +1444,8 @@ ELSE NULL END = 5 AND (CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN CAST(LEN([t].[LeaderNickname]) AS int) ELSE NULL -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Null_propagation_optimization6(bool async) @@ -1292,7 +1454,8 @@ public override async Task Null_propagation_optimization6(bool async) // issue #16050 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1306,7 +1469,8 @@ ELSE NULL END = 5 AND (CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN CAST(LEN([t].[LeaderNickname]) AS int) ELSE NULL -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Select_null_propagation_optimization7(bool async) @@ -1315,7 +1479,8 @@ public override async Task Select_null_propagation_optimization7(bool async) // issue #16050 AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN [t].[LeaderNickname] + [t].[LeaderNickname] ELSE NULL END @@ -1325,7 +1490,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[LeaderNickname] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_null_propagation_optimization8(bool async) @@ -1333,14 +1499,16 @@ public override async Task Select_null_propagation_optimization8(bool async) await base.Select_null_propagation_optimization8(async); AssertSql( - @"SELECT COALESCE([t].[LeaderNickname], N'') + COALESCE([t].[LeaderNickname], N'') +""" +SELECT COALESCE([t].[LeaderNickname], N'') + COALESCE([t].[LeaderNickname], N'') FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[LeaderNickname] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[LeaderNickname] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_null_propagation_optimization9(bool async) @@ -1348,14 +1516,16 @@ public override async Task Select_null_propagation_optimization9(bool async) await base.Select_null_propagation_optimization9(async); AssertSql( - @"SELECT CAST(LEN([t].[FullName]) AS int) +""" +SELECT CAST(LEN([t].[FullName]) AS int) FROM ( SELECT [g].[FullName] FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_null_propagation_negative1(bool async) @@ -1363,7 +1533,8 @@ public override async Task Select_null_propagation_negative1(bool async) await base.Select_null_propagation_negative1(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([t].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -1376,7 +1547,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[LeaderNickname] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_null_propagation_negative2(bool async) @@ -1384,7 +1556,8 @@ public override async Task Select_null_propagation_negative2(bool async) await base.Select_null_propagation_negative2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN [t0].[LeaderNickname] ELSE NULL END @@ -1401,7 +1574,8 @@ FROM [Gears] AS [g0] UNION ALL SELECT [o0].[LeaderNickname] FROM [Officers] AS [o0] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Select_null_propagation_negative3(bool async) @@ -1409,7 +1583,8 @@ public override async Task Select_null_propagation_negative3(bool async) await base.Select_null_propagation_negative3(async); AssertSql( - @"SELECT [t0].[Nickname], CASE +""" +SELECT [t0].[Nickname], CASE WHEN ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) THEN CASE WHEN [t0].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -1430,7 +1605,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[LeaderNickname] FROM [Officers] AS [o0] ) AS [t0] ON [t].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [t0].[Nickname]"); +ORDER BY [t0].[Nickname] +"""); } public override async Task Select_null_propagation_negative4(bool async) @@ -1438,7 +1614,8 @@ public override async Task Select_null_propagation_negative4(bool async) await base.Select_null_propagation_negative4(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Nickname] @@ -1456,7 +1633,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId] FROM [Officers] AS [o0] ) AS [t0] ON [t].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [t0].[Nickname]"); +ORDER BY [t0].[Nickname] +"""); } public override async Task Select_null_propagation_negative5(bool async) @@ -1464,7 +1642,8 @@ public override async Task Select_null_propagation_negative5(bool async) await base.Select_null_propagation_negative5(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Nickname] @@ -1482,7 +1661,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId] FROM [Officers] AS [o0] ) AS [t0] ON [t].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [t0].[Nickname]"); +ORDER BY [t0].[Nickname] +"""); } public override async Task Select_null_propagation_negative6(bool async) @@ -1490,7 +1670,8 @@ public override async Task Select_null_propagation_negative6(bool async) await base.Select_null_propagation_negative6(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([t].[LeaderNickname]) AS int) <> CAST(LEN([t].[LeaderNickname]) AS int) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -1503,7 +1684,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[LeaderNickname] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_null_propagation_negative7(bool async) @@ -1511,7 +1693,8 @@ public override async Task Select_null_propagation_negative7(bool async) await base.Select_null_propagation_negative7(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE NULL END @@ -1521,7 +1704,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[LeaderNickname] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_null_propagation_negative8(bool async) @@ -1529,7 +1713,8 @@ public override async Task Select_null_propagation_negative8(bool async) await base.Select_null_propagation_negative8(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [s].[Id] IS NOT NULL THEN [c].[Name] ELSE NULL END @@ -1542,7 +1727,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] -LEFT JOIN [Cities] AS [c] ON [t0].[AssignedCityName] = [c].[Name]"); +LEFT JOIN [Cities] AS [c] ON [t0].[AssignedCityName] = [c].[Name] +"""); } public override async Task Select_null_propagation_negative9(bool async) @@ -1550,7 +1736,8 @@ public override async Task Select_null_propagation_negative9(bool async) await base.Select_null_propagation_negative9(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN COALESCE(CASE WHEN CAST(LEN([t].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -1563,7 +1750,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[LeaderNickname] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_null_propagation_works_for_navigations_with_composite_keys(bool async) @@ -1571,7 +1759,8 @@ public override async Task Select_null_propagation_works_for_navigations_with_co await base.Select_null_propagation_works_for_navigations_with_composite_keys(async); AssertSql( - @"SELECT [t0].[Nickname] +""" +SELECT [t0].[Nickname] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -1579,7 +1768,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Select_null_propagation_works_for_multiple_navigations_with_composite_keys(bool async) @@ -1587,7 +1777,8 @@ public override async Task Select_null_propagation_works_for_multiple_navigation await base.Select_null_propagation_works_for_multiple_navigations_with_composite_keys(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c].[Name] IS NOT NULL THEN [c].[Name] ELSE NULL END @@ -1607,7 +1798,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName] FROM [Officers] AS [o0] ) AS [t2] ON [t1].[GearNickName] = [t2].[Nickname] AND [t1].[GearSquadId] = [t2].[SquadId] -LEFT JOIN [Cities] AS [c] ON [t2].[AssignedCityName] = [c].[Name]"); +LEFT JOIN [Cities] AS [c] ON [t2].[AssignedCityName] = [c].[Name] +"""); } public override async Task Select_conditional_with_anonymous_type_and_null_constant(bool async) @@ -1615,7 +1807,8 @@ public override async Task Select_conditional_with_anonymous_type_and_null_const await base.Select_conditional_with_anonymous_type_and_null_constant(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[HasSoulPatch] @@ -1626,7 +1819,8 @@ UNION ALL SELECT [o].[Nickname], [o].[HasSoulPatch], [o].[LeaderNickname] FROM [Officers] AS [o] ) AS [t] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Select_conditional_with_anonymous_types(bool async) @@ -1634,7 +1828,8 @@ public override async Task Select_conditional_with_anonymous_types(bool async) await base.Select_conditional_with_anonymous_types(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[Nickname], [t].[FullName] @@ -1645,7 +1840,8 @@ UNION ALL SELECT [o].[Nickname], [o].[FullName], [o].[LeaderNickname] FROM [Officers] AS [o] ) AS [t] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Where_conditional_equality_1(bool async) @@ -1653,7 +1849,8 @@ public override async Task Where_conditional_equality_1(bool async) await base.Where_conditional_equality_1(async); AssertSql( - @"SELECT [t].[Nickname] +""" +SELECT [t].[Nickname] FROM ( SELECT [g].[Nickname], [g].[HasSoulPatch], [g].[LeaderNickname] FROM [Gears] AS [g] @@ -1662,7 +1859,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] WHERE [t].[LeaderNickname] IS NULL -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Where_conditional_equality_2(bool async) @@ -1670,7 +1868,8 @@ public override async Task Where_conditional_equality_2(bool async) await base.Where_conditional_equality_2(async); AssertSql( - @"SELECT [t].[Nickname] +""" +SELECT [t].[Nickname] FROM ( SELECT [g].[Nickname], [g].[HasSoulPatch], [g].[LeaderNickname] FROM [Gears] AS [g] @@ -1679,7 +1878,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] WHERE [t].[LeaderNickname] IS NULL -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Where_conditional_equality_3(bool async) @@ -1687,7 +1887,8 @@ public override async Task Where_conditional_equality_3(bool async) await base.Where_conditional_equality_3(async); AssertSql( - @"SELECT [t].[Nickname] +""" +SELECT [t].[Nickname] FROM ( SELECT [g].[Nickname], [g].[LeaderNickname] FROM [Gears] AS [g] @@ -1695,7 +1896,8 @@ UNION ALL SELECT [o].[Nickname], [o].[LeaderNickname] FROM [Officers] AS [o] ) AS [t] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Select_coalesce_with_anonymous_types(bool async) @@ -1703,7 +1905,8 @@ public override async Task Select_coalesce_with_anonymous_types(bool async) await base.Select_coalesce_with_anonymous_types(async); AssertSql( - @"SELECT [t].[LeaderNickname], [t].[FullName] +""" +SELECT [t].[LeaderNickname], [t].[FullName] FROM ( SELECT [g].[Nickname], [g].[FullName], [g].[LeaderNickname] FROM [Gears] AS [g] @@ -1711,7 +1914,8 @@ UNION ALL SELECT [o].[Nickname], [o].[FullName], [o].[LeaderNickname] FROM [Officers] AS [o] ) AS [t] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Where_compare_anonymous_types(bool async) @@ -1726,7 +1930,8 @@ public override async Task Where_member_access_on_anonymous_type(bool async) await base.Where_member_access_on_anonymous_type(async); AssertSql( - @"SELECT [t].[Nickname] +""" +SELECT [t].[Nickname] FROM ( SELECT [g].[Nickname], [g].[LeaderNickname] FROM [Gears] AS [g] @@ -1734,7 +1939,8 @@ UNION ALL SELECT [o].[Nickname], [o].[LeaderNickname] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[LeaderNickname] = N'Marcus'"); +WHERE [t].[LeaderNickname] = N'Marcus' +"""); } public override async Task Where_compare_anonymous_types_with_uncorrelated_members(bool async) @@ -1742,7 +1948,8 @@ public override async Task Where_compare_anonymous_types_with_uncorrelated_membe await base.Where_compare_anonymous_types_with_uncorrelated_members(async); AssertSql( - @"SELECT [t].[Nickname] +""" +SELECT [t].[Nickname] FROM ( SELECT [g].[Nickname] FROM [Gears] AS [g] @@ -1750,7 +1957,8 @@ UNION ALL SELECT [o].[Nickname] FROM [Officers] AS [o] ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(bool async) @@ -1758,7 +1966,8 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM [Tags] AS [t] CROSS JOIN [Tags] AS [t0] LEFT JOIN ( @@ -1775,7 +1984,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId] FROM [Officers] AS [o0] ) AS [t2] ON [t0].[GearNickName] = [t2].[Nickname] AND [t0].[GearSquadId] = [t2].[SquadId] -WHERE [t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL))"); +WHERE [t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL)) +"""); } public override async Task Select_Singleton_Navigation_With_Member_Access(bool async) @@ -1783,7 +1993,8 @@ public override async Task Select_Singleton_Navigation_With_Member_Access(bool a await base.Select_Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -1792,7 +2003,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[Nickname] = N'Marcus' AND ([t0].[CityOfBirthName] <> N'Ephyra' OR ([t0].[CityOfBirthName] IS NULL))"); +WHERE [t0].[Nickname] = N'Marcus' AND ([t0].[CityOfBirthName] <> N'Ephyra' OR ([t0].[CityOfBirthName] IS NULL)) +"""); } public override async Task Select_Where_Navigation(bool async) @@ -1800,7 +2012,8 @@ public override async Task Select_Where_Navigation(bool async) await base.Select_Where_Navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -1809,7 +2022,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[Nickname] = N'Marcus'"); +WHERE [t0].[Nickname] = N'Marcus' +"""); } public override async Task Select_Where_Navigation_Equals_Navigation(bool async) @@ -1817,7 +2031,8 @@ public override async Task Select_Where_Navigation_Equals_Navigation(bool async) await base.Select_Where_Navigation_Equals_Navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM [Tags] AS [t] CROSS JOIN [Tags] AS [t0] LEFT JOIN ( @@ -1834,7 +2049,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId] FROM [Officers] AS [o0] ) AS [t2] ON [t0].[GearNickName] = [t2].[Nickname] AND [t0].[GearSquadId] = [t2].[SquadId] -WHERE ([t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL))) AND ([t1].[SquadId] = [t2].[SquadId] OR (([t1].[SquadId] IS NULL) AND ([t2].[SquadId] IS NULL)))"); +WHERE ([t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL))) AND ([t1].[SquadId] = [t2].[SquadId] OR (([t1].[SquadId] IS NULL) AND ([t2].[SquadId] IS NULL))) +"""); } public override async Task Select_Where_Navigation_Null(bool async) @@ -1842,7 +2058,8 @@ public override async Task Select_Where_Navigation_Null(bool async) await base.Select_Where_Navigation_Null(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -1851,7 +2068,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL)"); +WHERE ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL) +"""); } public override async Task Select_Where_Navigation_Null_Reverse(bool async) @@ -1859,7 +2077,8 @@ public override async Task Select_Where_Navigation_Null_Reverse(bool async) await base.Select_Where_Navigation_Null_Reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -1868,7 +2087,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL)"); +WHERE ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL) +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(bool async) @@ -1876,7 +2096,8 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(async); AssertSql( - @"SELECT [t].[Id] AS [Id1], [t0].[Id] AS [Id2] +""" +SELECT [t].[Id] AS [Id1], [t0].[Id] AS [Id2] FROM [Tags] AS [t] CROSS JOIN [Tags] AS [t0] LEFT JOIN ( @@ -1893,7 +2114,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId] FROM [Officers] AS [o0] ) AS [t2] ON [t0].[GearNickName] = [t2].[Nickname] AND [t0].[GearSquadId] = [t2].[SquadId] -WHERE [t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL))"); +WHERE [t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL)) +"""); } public override async Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool async) @@ -1901,10 +2123,12 @@ public override async Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool as await base.Optional_Navigation_Null_Coalesce_To_Clr_Type(async); AssertSql( - @"SELECT TOP(1) COALESCE([w0].[IsAutomatic], CAST(0 AS bit)) AS [IsAutomatic] +""" +SELECT TOP(1) COALESCE([w0].[IsAutomatic], CAST(0 AS bit)) AS [IsAutomatic] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w].[Id]"); +ORDER BY [w].[Id] +"""); } public override async Task Where_subquery_boolean(bool async) @@ -1912,7 +2136,8 @@ public override async Task Where_subquery_boolean(bool async) await base.Where_subquery_boolean(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1924,7 +2149,8 @@ WHERE COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [w].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_boolean_with_pushdown(bool async) @@ -1932,7 +2158,8 @@ public override async Task Where_subquery_boolean_with_pushdown(bool async) await base.Where_subquery_boolean_with_pushdown(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1944,7 +2171,8 @@ FROM [Officers] AS [o] SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_firstordefault_boolean(bool async) @@ -1952,7 +2180,8 @@ public override async Task Where_subquery_distinct_firstordefault_boolean(bool a await base.Where_subquery_distinct_firstordefault_boolean(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1967,7 +2196,8 @@ SELECT TOP(1) [t0].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] ) AS [t0] - ORDER BY [t0].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [t0].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_firstordefault_boolean_with_pushdown(bool async) @@ -1975,7 +2205,8 @@ public override async Task Where_subquery_distinct_firstordefault_boolean_with_p await base.Where_subquery_distinct_firstordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -1990,7 +2221,8 @@ SELECT TOP(1) [t0].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] ) AS [t0] - ORDER BY [t0].[Id]) = CAST(1 AS bit)"); + ORDER BY [t0].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_first_boolean(bool async) @@ -1998,7 +2230,8 @@ public override async Task Where_subquery_distinct_first_boolean(bool async) await base.Where_subquery_distinct_first_boolean(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2014,7 +2247,8 @@ FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] ) AS [t0] ORDER BY [t0].[Id]) = CAST(1 AS bit) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean1(bool async) @@ -2022,7 +2256,8 @@ public override async Task Where_subquery_distinct_singleordefault_boolean1(bool await base.Where_subquery_distinct_singleordefault_boolean1(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2037,7 +2272,8 @@ SELECT TOP(1) [t0].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t0]), CAST(0 AS bit)) = CAST(1 AS bit) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean2(bool async) @@ -2045,7 +2281,8 @@ public override async Task Where_subquery_distinct_singleordefault_boolean2(bool await base.Where_subquery_distinct_singleordefault_boolean2(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2057,7 +2294,8 @@ FROM [Officers] AS [o] SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%')), CAST(0 AS bit)) = CAST(1 AS bit) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) @@ -2065,7 +2303,8 @@ public override async Task Where_subquery_distinct_singleordefault_boolean_with_ await base.Where_subquery_distinct_singleordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2080,7 +2319,8 @@ SELECT TOP(1) [t0].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t0]) = CAST(1 AS bit) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Where_subquery_distinct_lastordefault_boolean(bool async) @@ -2088,7 +2328,8 @@ public override async Task Where_subquery_distinct_lastordefault_boolean(bool as await base.Where_subquery_distinct_lastordefault_boolean(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2104,7 +2345,8 @@ FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] ) AS [t0] ORDER BY [t0].[Id] DESC) = CAST(0 AS bit) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Where_subquery_distinct_last_boolean(bool async) @@ -2112,7 +2354,8 @@ public override async Task Where_subquery_distinct_last_boolean(bool async) await base.Where_subquery_distinct_last_boolean(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2128,7 +2371,8 @@ FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] ) AS [t0] ORDER BY [t0].[Id] DESC) = CAST(1 AS bit) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Where_subquery_distinct_orderby_firstordefault_boolean(bool async) @@ -2136,7 +2380,8 @@ public override async Task Where_subquery_distinct_orderby_firstordefault_boolea await base.Where_subquery_distinct_orderby_firstordefault_boolean(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2151,7 +2396,8 @@ SELECT TOP(1) [t0].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] ) AS [t0] - ORDER BY [t0].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [t0].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(bool async) @@ -2159,7 +2405,8 @@ public override async Task Where_subquery_distinct_orderby_firstordefault_boolea await base.Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2174,7 +2421,8 @@ SELECT TOP(1) [t0].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] ) AS [t0] - ORDER BY [t0].[Id]) = CAST(1 AS bit)"); + ORDER BY [t0].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_union_firstordefault_boolean(bool async) @@ -2182,7 +2430,8 @@ public override async Task Where_subquery_union_firstordefault_boolean(bool asyn await base.Where_subquery_union_firstordefault_boolean(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2201,7 +2450,8 @@ FROM [Weapons] AS [w] FROM [Weapons] AS [w0] WHERE [t].[FullName] = [w0].[OwnerFullName] ) AS [t0] - ORDER BY [t0].[Id]) = CAST(1 AS bit)"); + ORDER BY [t0].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_join_firstordefault_boolean(bool async) @@ -2209,7 +2459,8 @@ public override async Task Where_subquery_join_firstordefault_boolean(bool async await base.Where_subquery_join_firstordefault_boolean(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2226,7 +2477,8 @@ FROM [Weapons] AS [w0] WHERE [t].[FullName] = [w0].[OwnerFullName] ) AS [t0] ON [w].[Id] = [t0].[Id] WHERE [t].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_left_join_firstordefault_boolean(bool async) @@ -2234,7 +2486,8 @@ public override async Task Where_subquery_left_join_firstordefault_boolean(bool await base.Where_subquery_left_join_firstordefault_boolean(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2251,7 +2504,8 @@ FROM [Weapons] AS [w0] WHERE [t].[FullName] = [w0].[OwnerFullName] ) AS [t0] ON [w].[Id] = [t0].[Id] WHERE [t].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_concat_firstordefault_boolean(bool async) @@ -2259,7 +2513,8 @@ public override async Task Where_subquery_concat_firstordefault_boolean(bool asy await base.Where_subquery_concat_firstordefault_boolean(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2278,7 +2533,8 @@ UNION ALL FROM [Weapons] AS [w0] WHERE [t].[FullName] = [w0].[OwnerFullName] ) AS [t0] - ORDER BY [t0].[Id]) = CAST(1 AS bit)"); + ORDER BY [t0].[Id]) = CAST(1 AS bit) +"""); } public override async Task Concat_with_count(bool async) @@ -2286,7 +2542,8 @@ public override async Task Concat_with_count(bool async) await base.Concat_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2299,7 +2556,8 @@ FROM [Gears] AS [g0] UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Concat_scalars_with_count(bool async) @@ -2307,7 +2565,8 @@ public override async Task Concat_scalars_with_count(bool async) await base.Concat_scalars_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2320,7 +2579,8 @@ FROM [Gears] AS [g0] UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Concat_anonymous_with_count(bool async) @@ -2328,7 +2588,8 @@ public override async Task Concat_anonymous_with_count(bool async) await base.Concat_anonymous_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t].[Nickname] AS [Name] FROM ( @@ -2347,7 +2608,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t1] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Concat_with_scalar_projection(bool async) @@ -2355,7 +2617,8 @@ public override async Task Concat_with_scalar_projection(bool async) await base.Concat_with_scalar_projection(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname] @@ -2365,7 +2628,8 @@ SELECT [g0].[Nickname] FROM [Gears] AS [g0] UNION ALL SELECT [o0].[Nickname] -FROM [Officers] AS [o0]"); +FROM [Officers] AS [o0] +"""); } public override async Task Select_navigation_with_concat_and_count(bool async) @@ -2373,7 +2637,8 @@ public override async Task Select_navigation_with_concat_and_count(bool async) await base.Select_navigation_with_concat_and_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -2391,7 +2656,8 @@ UNION ALL SELECT [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [t].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Concat_with_collection_navigations(bool async) @@ -2399,7 +2665,8 @@ public override async Task Concat_with_collection_navigations(bool async) await base.Concat_with_collection_navigations(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -2417,7 +2684,8 @@ UNION ALL SELECT [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Union_with_collection_navigations(bool async) @@ -2425,7 +2693,8 @@ public override async Task Union_with_collection_navigations(bool async) await base.Union_with_collection_navigations(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] @@ -2451,7 +2720,8 @@ FROM [Officers] AS [o1] FROM ( SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_subquery_distinct_firstordefault(bool async) @@ -2459,7 +2729,8 @@ public override async Task Select_subquery_distinct_firstordefault(bool async) await base.Select_subquery_distinct_firstordefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t0].[Name] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -2474,7 +2745,8 @@ UNION ALL SELECT [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Singleton_Navigation_With_Member_Access(bool async) @@ -2482,7 +2754,8 @@ public override async Task Singleton_Navigation_With_Member_Access(bool async) await base.Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT [t0].[CityOfBirthName] AS [B] +""" +SELECT [t0].[CityOfBirthName] AS [B] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[CityOfBirthName] @@ -2491,7 +2764,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[CityOfBirthName] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[Nickname] = N'Marcus' AND ([t0].[CityOfBirthName] <> N'Ephyra' OR ([t0].[CityOfBirthName] IS NULL))"); +WHERE [t0].[Nickname] = N'Marcus' AND ([t0].[CityOfBirthName] <> N'Ephyra' OR ([t0].[CityOfBirthName] IS NULL)) +"""); } public override async Task GroupJoin_Composite_Key(bool async) @@ -2499,7 +2773,8 @@ public override async Task GroupJoin_Composite_Key(bool async) await base.GroupJoin_Composite_Key(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -2507,7 +2782,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Join_navigation_translated_to_subquery_composite_key(bool async) @@ -2515,7 +2791,8 @@ public override async Task Join_navigation_translated_to_subquery_composite_key( await base.Join_navigation_translated_to_subquery_composite_key(async); AssertSql( - @"SELECT [t].[FullName], [t1].[Note] +""" +SELECT [t].[FullName], [t1].[Note] FROM ( SELECT [g].[FullName] FROM [Gears] AS [g] @@ -2533,7 +2810,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[FullName] FROM [Officers] AS [o0] ) AS [t2] ON [t0].[GearNickName] = [t2].[Nickname] AND [t0].[GearSquadId] = [t2].[SquadId] -) AS [t1] ON [t].[FullName] = [t1].[FullName]"); +) AS [t1] ON [t].[FullName] = [t1].[FullName] +"""); } public override async Task Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(bool async) @@ -2541,7 +2819,8 @@ public override async Task Join_with_order_by_on_inner_sequence_navigation_trans await base.Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(async); AssertSql( - @"SELECT [t].[FullName], [t1].[Note] +""" +SELECT [t].[FullName], [t1].[Note] FROM ( SELECT [g].[FullName] FROM [Gears] AS [g] @@ -2559,7 +2838,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[FullName] FROM [Officers] AS [o0] ) AS [t2] ON [t0].[GearNickName] = [t2].[Nickname] AND [t0].[GearSquadId] = [t2].[SquadId] -) AS [t1] ON [t].[FullName] = [t1].[FullName]"); +) AS [t1] ON [t].[FullName] = [t1].[FullName] +"""); } public override async Task Join_with_order_by_without_skip_or_take(bool async) @@ -2567,7 +2847,8 @@ public override async Task Join_with_order_by_without_skip_or_take(bool async) await base.Join_with_order_by_without_skip_or_take(async); AssertSql( - @"SELECT [w].[Name], [t].[FullName] +""" +SELECT [w].[Name], [t].[FullName] FROM ( SELECT [g].[FullName] FROM [Gears] AS [g] @@ -2575,7 +2856,8 @@ UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] ) AS [t] -INNER JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName]"); +INNER JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] +"""); } public override async Task Join_with_order_by_without_skip_or_take_nested(bool async) @@ -2583,7 +2865,8 @@ public override async Task Join_with_order_by_without_skip_or_take_nested(bool a await base.Join_with_order_by_without_skip_or_take_nested(async); AssertSql( - @"SELECT [w].[Name], [t].[FullName] +""" +SELECT [w].[Name], [t].[FullName] FROM [Squads] AS [s] INNER JOIN ( SELECT [g].[SquadId], [g].[FullName] @@ -2592,7 +2875,8 @@ UNION ALL SELECT [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] ) AS [t] ON [s].[Id] = [t].[SquadId] -INNER JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName]"); +INNER JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] +"""); } public override async Task Collection_with_inheritance_and_join_include_joined(bool async) @@ -2600,13 +2884,15 @@ public override async Task Collection_with_inheritance_and_join_include_joined(b await base.Collection_with_inheritance_and_join_include_joined(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t1].[Id], [t1].[GearNickName], [t1].[GearSquadId], [t1].[IssueDate], [t1].[Note] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t1].[Id], [t1].[GearNickName], [t1].[GearSquadId], [t1].[IssueDate], [t1].[Note] FROM [Tags] AS [t] INNER JOIN ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] -LEFT JOIN [Tags] AS [t1] ON [t0].[Nickname] = [t1].[GearNickName] AND [t0].[SquadId] = [t1].[GearSquadId]"); +LEFT JOIN [Tags] AS [t1] ON [t0].[Nickname] = [t1].[GearNickName] AND [t0].[SquadId] = [t1].[GearSquadId] +"""); } public override async Task Collection_with_inheritance_and_join_include_source(bool async) @@ -2614,13 +2900,15 @@ public override async Task Collection_with_inheritance_and_join_include_source(b await base.Collection_with_inheritance_and_join_include_source(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t1].[Id], [t1].[GearNickName], [t1].[GearSquadId], [t1].[IssueDate], [t1].[Note] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t1].[Id], [t1].[GearNickName], [t1].[GearSquadId], [t1].[IssueDate], [t1].[Note] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] INNER JOIN [Tags] AS [t0] ON [t].[SquadId] = [t0].[GearSquadId] AND [t].[Nickname] = [t0].[GearNickName] -LEFT JOIN [Tags] AS [t1] ON [t].[Nickname] = [t1].[GearNickName] AND [t].[SquadId] = [t1].[GearSquadId]"); +LEFT JOIN [Tags] AS [t1] ON [t].[Nickname] = [t1].[GearNickName] AND [t].[SquadId] = [t1].[GearSquadId] +"""); } public override async Task Non_unicode_string_literal_is_used_for_non_unicode_column(bool async) @@ -2628,9 +2916,11 @@ public override async Task Non_unicode_string_literal_is_used_for_non_unicode_co await base.Non_unicode_string_literal_is_used_for_non_unicode_column(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] = 'Unknown'"); +WHERE [c].[Location] = 'Unknown' +"""); } public override async Task Non_unicode_string_literal_is_used_for_non_unicode_column_right(bool async) @@ -2638,9 +2928,11 @@ public override async Task Non_unicode_string_literal_is_used_for_non_unicode_co await base.Non_unicode_string_literal_is_used_for_non_unicode_column_right(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE 'Unknown' = [c].[Location]"); +WHERE 'Unknown' = [c].[Location] +"""); } public override async Task Non_unicode_parameter_is_used_for_non_unicode_column(bool async) @@ -2648,11 +2940,13 @@ public override async Task Non_unicode_parameter_is_used_for_non_unicode_column( await base.Non_unicode_parameter_is_used_for_non_unicode_column(async); AssertSql( - @"@__value_0='Unknown' (Size = 100) (DbType = AnsiString) +""" +@__value_0='Unknown' (Size = 100) (DbType = AnsiString) SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] = @__value_0"); +WHERE [c].[Location] = @__value_0 +"""); } public override async Task Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(bool async) @@ -2660,9 +2954,11 @@ public override async Task Non_unicode_string_literals_in_contains_is_used_for_n await base.Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] IN ('Unknown', 'Jacinto''s location', 'Ephyra''s location')"); +WHERE [c].[Location] IN ('Unknown', 'Jacinto''s location', 'Ephyra''s location') +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(bool async) @@ -2670,7 +2966,8 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] WHERE [c].[Location] = 'Unknown' AND ( SELECT COUNT(*) @@ -2681,7 +2978,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] - WHERE [c].[Name] = [t].[CityOfBirthName] AND [t].[Nickname] = N'Paduk') = 1"); + WHERE [c].[Name] = [t].[CityOfBirthName] AND [t].[Nickname] = N'Paduk') = 1 +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(bool async) @@ -2689,7 +2987,8 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2698,7 +2997,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] INNER JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name] -WHERE [t].[Nickname] = N'Marcus' AND [c].[Location] = 'Jacinto''s location'"); +WHERE [t].[Nickname] = N'Marcus' AND [c].[Location] = 'Jacinto''s location' +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(bool async) @@ -2706,9 +3006,11 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] LIKE '%Jacinto%'"); +WHERE [c].[Location] LIKE '%Jacinto%' +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool async) @@ -2716,9 +3018,11 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE COALESCE([c].[Location], '') + 'Added' LIKE '%Add%'"); +WHERE COALESCE([c].[Location], '') + 'Added' LIKE '%Add%' +"""); } public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result1() @@ -2727,7 +3031,8 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc // Issue#16897 AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2743,7 +3048,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t0] ON [t].[LeaderNickname] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId] +"""); } public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result2() @@ -2752,7 +3058,8 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc // Issue#16897 AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2768,7 +3075,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t0] ON [t].[LeaderNickname] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result3(bool async) @@ -2777,7 +3085,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c // Issue#16897 AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2794,7 +3103,8 @@ FROM [Officers] AS [o0] ) AS [t0] ON [t].[LeaderNickname] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] AS [w0] ON [t].[FullName] = [w0].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [w].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [w].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result4(bool async) @@ -2803,7 +3113,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c // Issue#16897 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2822,7 +3133,8 @@ FROM [Officers] AS [o0] LEFT JOIN [Weapons] AS [w0] ON [t0].[FullName] = [w0].[OwnerFullName] LEFT JOIN [Weapons] AS [w1] ON [t0].[FullName] = [w1].[OwnerFullName] LEFT JOIN [Weapons] AS [w2] ON [t].[FullName] = [w2].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_inheritance_and_coalesce_result(bool async) @@ -2831,7 +3143,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_i // Issue#16897 AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -2845,7 +3158,8 @@ FROM [Officers] AS [o0] ) AS [t0] ON [t].[LeaderNickname] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] AS [w0] ON [t].[FullName] = [w0].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [w].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [w].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_conditional_result(bool async) @@ -2854,7 +3168,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c // Issue#16897 AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] @@ -2874,7 +3189,8 @@ FROM [Officers] AS [o0] ) AS [t0] ON [t].[LeaderNickname] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] AS [w0] ON [t].[FullName] = [w0].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [w].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [w].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(bool async) @@ -2882,7 +3198,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[SynergyWithId], CASE +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[SynergyWithId], CASE WHEN ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [w3].[Id], [w3].[AmmunitionType], [w3].[IsAutomatic], [w3].[Name], [w3].[OwnerFullName], [w3].[SynergyWithId], [w4].[Id], [w4].[AmmunitionType], [w4].[IsAutomatic], [w4].[Name], [w4].[OwnerFullName], [w4].[SynergyWithId] @@ -2906,7 +3223,8 @@ FROM [Officers] AS [o0] LEFT JOIN [Weapons] AS [w2] ON [t].[FullName] = [w2].[OwnerFullName] LEFT JOIN [Weapons] AS [w3] ON [t0].[FullName] = [w3].[OwnerFullName] LEFT JOIN [Weapons] AS [w4] ON [t].[FullName] = [w4].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id], [w2].[Id], [w3].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id], [w2].[Id], [w3].[Id] +"""); } public override async Task Coalesce_operator_in_predicate(bool async) @@ -2914,9 +3232,11 @@ public override async Task Coalesce_operator_in_predicate(bool async) await base.Coalesce_operator_in_predicate(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit)"); +WHERE COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Coalesce_operator_in_predicate_with_other_conditions(bool async) @@ -2924,9 +3244,11 @@ public override async Task Coalesce_operator_in_predicate_with_other_conditions( await base.Coalesce_operator_in_predicate_with_other_conditions(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = 1 AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit)"); +WHERE [w].[AmmunitionType] = 1 AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Coalesce_operator_in_projection_with_other_conditions(bool async) @@ -2934,11 +3256,13 @@ public override async Task Coalesce_operator_in_projection_with_other_conditions await base.Coalesce_operator_in_projection_with_other_conditions(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[AmmunitionType] = 1 AND ([w].[AmmunitionType] IS NOT NULL) AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate(bool async) @@ -2946,7 +3270,8 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -2955,7 +3280,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [t0].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [t0].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate2(bool async) @@ -2963,7 +3289,8 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate2(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -2972,7 +3299,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [t0].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated(bool async) @@ -2980,7 +3308,8 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -2989,7 +3318,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [t0].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated_complex1(bool async) @@ -2997,7 +3327,8 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated_complex1(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -3009,7 +3340,8 @@ FROM [Officers] AS [o] WHERE CASE WHEN [t0].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE [t0].[HasSoulPatch] -END = CAST(0 AS bit)"); +END = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated_complex2(bool async) @@ -3017,7 +3349,8 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated_complex2(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -3029,7 +3362,8 @@ FROM [Officers] AS [o] WHERE CASE WHEN [t0].[HasSoulPatch] = CAST(0 AS bit) THEN CAST(0 AS bit) ELSE [t0].[HasSoulPatch] -END = CAST(0 AS bit)"); +END = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_conditional_expression(bool async) @@ -3037,7 +3371,8 @@ public override async Task Optional_navigation_type_compensation_works_with_cond await base.Optional_navigation_type_compensation_works_with_conditional_expression(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -3049,7 +3384,8 @@ FROM [Officers] AS [o] WHERE CASE WHEN [t0].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_binary_expression(bool async) @@ -3057,7 +3393,8 @@ public override async Task Optional_navigation_type_compensation_works_with_bina await base.Optional_navigation_type_compensation_works_with_binary_expression(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -3066,7 +3403,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[HasSoulPatch] = CAST(1 AS bit) OR ([t].[Note] LIKE N'%Cole%')"); +WHERE [t0].[HasSoulPatch] = CAST(1 AS bit) OR ([t].[Note] LIKE N'%Cole%') +"""); } public override async Task Optional_navigation_type_compensation_works_with_binary_and_expression(bool async) @@ -3074,7 +3412,8 @@ public override async Task Optional_navigation_type_compensation_works_with_bina await base.Optional_navigation_type_compensation_works_with_binary_and_expression(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t0].[HasSoulPatch] = CAST(1 AS bit) AND ([t].[Note] LIKE N'%Cole%') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END @@ -3085,7 +3424,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[HasSoulPatch] FROM [Officers] AS [o] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Optional_navigation_type_compensation_works_with_projection(bool async) @@ -3093,7 +3433,8 @@ public override async Task Optional_navigation_type_compensation_works_with_proj await base.Optional_navigation_type_compensation_works_with_projection(async); AssertSql( - @"SELECT [t0].[SquadId] +""" +SELECT [t0].[SquadId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -3102,7 +3443,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(bool async) @@ -3110,7 +3452,8 @@ public override async Task Optional_navigation_type_compensation_works_with_proj await base.Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(async); AssertSql( - @"SELECT [t0].[SquadId] +""" +SELECT [t0].[SquadId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -3119,7 +3462,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_DTOs(bool async) @@ -3127,7 +3471,8 @@ public override async Task Optional_navigation_type_compensation_works_with_DTOs await base.Optional_navigation_type_compensation_works_with_DTOs(async); AssertSql( - @"SELECT [t0].[SquadId] AS [Id] +""" +SELECT [t0].[SquadId] AS [Id] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -3136,7 +3481,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_list_initializers(bool async) @@ -3144,7 +3490,8 @@ public override async Task Optional_navigation_type_compensation_works_with_list await base.Optional_navigation_type_compensation_works_with_list_initializers(async); AssertSql( - @"SELECT [t0].[SquadId], [t0].[SquadId] + 1 +""" +SELECT [t0].[SquadId], [t0].[SquadId] + 1 FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -3154,7 +3501,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Optional_navigation_type_compensation_works_with_array_initializers(bool async) @@ -3162,7 +3510,8 @@ public override async Task Optional_navigation_type_compensation_works_with_arra await base.Optional_navigation_type_compensation_works_with_array_initializers(async); AssertSql( - @"SELECT [t0].[SquadId] +""" +SELECT [t0].[SquadId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -3171,7 +3520,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_orderby(bool async) @@ -3179,7 +3529,8 @@ public override async Task Optional_navigation_type_compensation_works_with_orde await base.Optional_navigation_type_compensation_works_with_orderby(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -3189,7 +3540,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) -ORDER BY [t0].[SquadId]"); +ORDER BY [t0].[SquadId] +"""); } public override async Task Optional_navigation_type_compensation_works_with_all(bool async) @@ -3197,7 +3549,8 @@ public override async Task Optional_navigation_type_compensation_works_with_all( await base.Optional_navigation_type_compensation_works_with_all(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Tags] AS [t] @@ -3210,7 +3563,8 @@ FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [t0].[HasSoulPatch] = CAST(0 AS bit)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Optional_navigation_type_compensation_works_with_negated_predicate(bool async) @@ -3218,7 +3572,8 @@ public override async Task Optional_navigation_type_compensation_works_with_nega await base.Optional_navigation_type_compensation_works_with_negated_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -3227,7 +3582,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [t0].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [t0].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_contains(bool async) @@ -3235,7 +3591,8 @@ public override async Task Optional_navigation_type_compensation_works_with_cont await base.Optional_navigation_type_compensation_works_with_contains(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -3253,7 +3610,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t1] - WHERE [t1].[SquadId] = [t0].[SquadId])"); + WHERE [t1].[SquadId] = [t0].[SquadId]) +"""); } public override async Task Optional_navigation_type_compensation_works_with_skip(bool async) @@ -3275,7 +3633,8 @@ public override async Task Select_correlated_filtered_collection(bool async) await base.Select_correlated_filtered_collection(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [c].[Name], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [c].[Name], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[CityOfBirthName], [g].[FullName] FROM [Gears] AS [g] @@ -3290,7 +3649,8 @@ FROM [Weapons] AS [w] WHERE [w].[Name] <> N'Lancer' OR ([w].[Name] IS NULL) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] WHERE [c].[Name] IN (N'Ephyra', N'Hanover') -ORDER BY [t].[Nickname], [t].[SquadId], [c].[Name]"); +ORDER BY [t].[Nickname], [t].[SquadId], [c].[Name] +"""); } public override async Task Select_correlated_filtered_collection_with_composite_key(bool async) @@ -3298,7 +3658,8 @@ public override async Task Select_correlated_filtered_collection_with_composite_ await base.Select_correlated_filtered_collection_with_composite_key(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] @@ -3314,7 +3675,8 @@ FROM [Officers] AS [o0] ) AS [t1] WHERE [t1].[Nickname] <> N'Dom' ) AS [t0] ON [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Select_correlated_filtered_collection_works_with_caching(bool async) @@ -3322,7 +3684,8 @@ public override async Task Select_correlated_filtered_collection_works_with_cach await base.Select_correlated_filtered_collection_works_with_caching(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -3331,7 +3694,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] -ORDER BY [t].[Note], [t].[Id], [t0].[Nickname]"); +ORDER BY [t].[Note], [t].[Id], [t0].[Nickname] +"""); } public override async Task Join_predicate_value_equals_condition(bool async) @@ -3339,7 +3703,8 @@ public override async Task Join_predicate_value_equals_condition(bool async) await base.Join_predicate_value_equals_condition(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -3347,7 +3712,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Join_predicate_value(bool async) @@ -3355,7 +3721,8 @@ public override async Task Join_predicate_value(bool async) await base.Join_predicate_value(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -3363,7 +3730,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -INNER JOIN [Weapons] AS [w] ON [t].[HasSoulPatch] = CAST(1 AS bit)"); +INNER JOIN [Weapons] AS [w] ON [t].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Join_predicate_condition_equals_condition(bool async) @@ -3371,7 +3739,8 @@ public override async Task Join_predicate_condition_equals_condition(bool async) await base.Join_predicate_condition_equals_condition(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -3379,7 +3748,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Left_join_predicate_value_equals_condition(bool async) @@ -3387,7 +3757,8 @@ public override async Task Left_join_predicate_value_equals_condition(bool async await base.Left_join_predicate_value_equals_condition(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -3395,7 +3766,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Left_join_predicate_value(bool async) @@ -3403,7 +3775,8 @@ public override async Task Left_join_predicate_value(bool async) await base.Left_join_predicate_value(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -3411,7 +3784,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -LEFT JOIN [Weapons] AS [w] ON [t].[HasSoulPatch] = CAST(1 AS bit)"); +LEFT JOIN [Weapons] AS [w] ON [t].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Left_join_predicate_condition_equals_condition(bool async) @@ -3419,7 +3793,8 @@ public override async Task Left_join_predicate_condition_equals_condition(bool a await base.Left_join_predicate_condition_equals_condition(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -3427,7 +3802,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Where_datetimeoffset_now(bool async) @@ -3435,9 +3811,11 @@ public override async Task Where_datetimeoffset_now(bool async) await base.Where_datetimeoffset_now(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Timeline] <> SYSDATETIMEOFFSET()"); +WHERE [m].[Timeline] <> SYSDATETIMEOFFSET() +"""); } public override async Task Where_datetimeoffset_utcnow(bool async) @@ -3445,9 +3823,11 @@ public override async Task Where_datetimeoffset_utcnow(bool async) await base.Where_datetimeoffset_utcnow(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Timeline] <> CAST(SYSUTCDATETIME() AS datetimeoffset)"); +WHERE [m].[Timeline] <> CAST(SYSUTCDATETIME() AS datetimeoffset) +"""); } public override async Task Where_datetimeoffset_date_component(bool async) @@ -3455,11 +3835,13 @@ public override async Task Where_datetimeoffset_date_component(bool async) await base.Where_datetimeoffset_date_component(async); AssertSql( - @"@__Date_0='0001-01-01T00:00:00.0000000' +""" +@__Date_0='0001-01-01T00:00:00.0000000' SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE CONVERT(date, [m].[Timeline]) > @__Date_0"); +WHERE CONVERT(date, [m].[Timeline]) > @__Date_0 +"""); } public override async Task Where_datetimeoffset_year_component(bool async) @@ -3467,9 +3849,11 @@ public override async Task Where_datetimeoffset_year_component(bool async) await base.Where_datetimeoffset_year_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(year, [m].[Timeline]) = 2"); +WHERE DATEPART(year, [m].[Timeline]) = 2 +"""); } public override async Task Where_datetimeoffset_month_component(bool async) @@ -3477,9 +3861,11 @@ public override async Task Where_datetimeoffset_month_component(bool async) await base.Where_datetimeoffset_month_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(month, [m].[Timeline]) = 1"); +WHERE DATEPART(month, [m].[Timeline]) = 1 +"""); } public override async Task Where_datetimeoffset_dayofyear_component(bool async) @@ -3487,9 +3873,11 @@ public override async Task Where_datetimeoffset_dayofyear_component(bool async) await base.Where_datetimeoffset_dayofyear_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(dayofyear, [m].[Timeline]) = 2"); +WHERE DATEPART(dayofyear, [m].[Timeline]) = 2 +"""); } public override async Task Where_datetimeoffset_day_component(bool async) @@ -3497,9 +3885,11 @@ public override async Task Where_datetimeoffset_day_component(bool async) await base.Where_datetimeoffset_day_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(day, [m].[Timeline]) = 2"); +WHERE DATEPART(day, [m].[Timeline]) = 2 +"""); } public override async Task Where_datetimeoffset_hour_component(bool async) @@ -3507,9 +3897,11 @@ public override async Task Where_datetimeoffset_hour_component(bool async) await base.Where_datetimeoffset_hour_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(hour, [m].[Timeline]) = 10"); +WHERE DATEPART(hour, [m].[Timeline]) = 10 +"""); } public override async Task Where_datetimeoffset_minute_component(bool async) @@ -3517,9 +3909,11 @@ public override async Task Where_datetimeoffset_minute_component(bool async) await base.Where_datetimeoffset_minute_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(minute, [m].[Timeline]) = 0"); +WHERE DATEPART(minute, [m].[Timeline]) = 0 +"""); } public override async Task Where_datetimeoffset_second_component(bool async) @@ -3527,9 +3921,11 @@ public override async Task Where_datetimeoffset_second_component(bool async) await base.Where_datetimeoffset_second_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(second, [m].[Timeline]) = 0"); +WHERE DATEPART(second, [m].[Timeline]) = 0 +"""); } public override async Task Where_datetimeoffset_millisecond_component(bool async) @@ -3537,9 +3933,11 @@ public override async Task Where_datetimeoffset_millisecond_component(bool async await base.Where_datetimeoffset_millisecond_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(millisecond, [m].[Timeline]) = 0"); +WHERE DATEPART(millisecond, [m].[Timeline]) = 0 +"""); } public override async Task DateTimeOffset_DateAdd_AddMonths(bool async) @@ -3547,8 +3945,10 @@ public override async Task DateTimeOffset_DateAdd_AddMonths(bool async) await base.DateTimeOffset_DateAdd_AddMonths(async); AssertSql( - @"SELECT DATEADD(month, CAST(1 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(month, CAST(1 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddDays(bool async) @@ -3556,8 +3956,10 @@ public override async Task DateTimeOffset_DateAdd_AddDays(bool async) await base.DateTimeOffset_DateAdd_AddDays(async); AssertSql( - @"SELECT DATEADD(day, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(day, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddHours(bool async) @@ -3565,8 +3967,10 @@ public override async Task DateTimeOffset_DateAdd_AddHours(bool async) await base.DateTimeOffset_DateAdd_AddHours(async); AssertSql( - @"SELECT DATEADD(hour, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(hour, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddMinutes(bool async) @@ -3574,8 +3978,10 @@ public override async Task DateTimeOffset_DateAdd_AddMinutes(bool async) await base.DateTimeOffset_DateAdd_AddMinutes(async); AssertSql( - @"SELECT DATEADD(minute, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(minute, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddSeconds(bool async) @@ -3583,8 +3989,10 @@ public override async Task DateTimeOffset_DateAdd_AddSeconds(bool async) await base.DateTimeOffset_DateAdd_AddSeconds(async); AssertSql( - @"SELECT DATEADD(second, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(second, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool async) @@ -3592,8 +4000,10 @@ public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool async) await base.DateTimeOffset_DateAdd_AddMilliseconds(async); AssertSql( - @"SELECT DATEADD(millisecond, CAST(300.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(millisecond, CAST(300.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task Where_datetimeoffset_milliseconds_parameter_and_constant(bool async) @@ -3601,9 +4011,11 @@ public override async Task Where_datetimeoffset_milliseconds_parameter_and_const await base.Where_datetimeoffset_milliseconds_parameter_and_constant(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Missions] AS [m] -WHERE [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30'"); +WHERE [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30' +"""); } public override async Task Orderby_added_for_client_side_GroupJoin_composite_dependent_to_principal_LOJ_when_incomplete_key_is_used( @@ -3619,7 +4031,8 @@ public override async Task Complex_predicate_with_AndAlso_and_nullable_bool_prop await base.Complex_predicate_with_AndAlso_and_nullable_bool_property(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[FullName], [g].[HasSoulPatch] @@ -3628,7 +4041,8 @@ UNION ALL SELECT [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] -WHERE [w].[Id] <> 50 AND [t].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [w].[Id] <> 50 AND [t].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Distinct_with_optional_navigation_is_translated_to_sql(bool async) @@ -3636,7 +4050,8 @@ public override async Task Distinct_with_optional_navigation_is_translated_to_sq await base.Distinct_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT DISTINCT [t].[HasSoulPatch] +""" +SELECT DISTINCT [t].[HasSoulPatch] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] @@ -3645,7 +4060,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] -WHERE [t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL)"); +WHERE [t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL) +"""); } public override async Task Sum_with_optional_navigation_is_translated_to_sql(bool async) @@ -3653,7 +4069,8 @@ public override async Task Sum_with_optional_navigation_is_translated_to_sql(boo await base.Sum_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT COALESCE(SUM([t].[SquadId]), 0) +""" +SELECT COALESCE(SUM([t].[SquadId]), 0) FROM ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] @@ -3662,7 +4079,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] -WHERE [t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL)"); +WHERE [t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL) +"""); } public override async Task Count_with_optional_navigation_is_translated_to_sql(bool async) @@ -3670,7 +4088,8 @@ public override async Task Count_with_optional_navigation_is_translated_to_sql(b await base.Count_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] @@ -3679,7 +4098,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] -WHERE [t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL)"); +WHERE [t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL) +"""); } public override async Task FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(bool async) @@ -3687,7 +4107,8 @@ public override async Task FirstOrDefault_with_manually_created_groupjoin_is_tra await base.FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(async); AssertSql( - @"SELECT TOP(1) [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT TOP(1) [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -3696,7 +4117,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] ON [s].[Id] = [t].[SquadId] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(bool async) @@ -3704,7 +4126,8 @@ public override async Task Any_with_optional_navigation_as_subquery_predicate_is await base.Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] AS [s] WHERE NOT (EXISTS ( SELECT 1 @@ -3716,7 +4139,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] - WHERE [s].[Id] = [t].[SquadId] AND [t0].[Note] = N'Dom''s Tag'))"); + WHERE [s].[Id] = [t].[SquadId] AND [t0].[Note] = N'Dom''s Tag')) +"""); } public override async Task All_with_optional_navigation_is_translated_to_sql(bool async) @@ -3724,7 +4148,8 @@ public override async Task All_with_optional_navigation_is_translated_to_sql(boo await base.All_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM ( @@ -3737,7 +4162,8 @@ FROM [Officers] AS [o] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] WHERE [t0].[Note] = N'Foo' AND ([t0].[Note] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Contains_with_local_nullable_guid_list_closure(bool async) @@ -3745,9 +4171,11 @@ public override async Task Contains_with_local_nullable_guid_list_closure(bool a await base.Contains_with_local_nullable_guid_list_closure(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] -WHERE [t].[Id] IN ('d2c26679-562b-44d1-ab96-23d1775e0926', '23cbcf9b-ce14-45cf-aafa-2c2667ebfdd3', 'ab1b82d7-88db-42bd-a132-7eef9aa68af4')"); +WHERE [t].[Id] IN ('d2c26679-562b-44d1-ab96-23d1775e0926', '23cbcf9b-ce14-45cf-aafa-2c2667ebfdd3', 'ab1b82d7-88db-42bd-a132-7eef9aa68af4') +"""); } public override async Task Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(bool async) @@ -3755,7 +4183,8 @@ public override async Task Unnecessary_include_doesnt_get_added_complex_when_pro await base.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(async); AssertSql( - @"SELECT [t].[FullName] +""" +SELECT [t].[FullName] FROM ( SELECT [g].[FullName], [g].[HasSoulPatch], [g].[Rank] FROM [Gears] AS [g] @@ -3764,7 +4193,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] WHERE [t].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(bool async) @@ -3772,7 +4202,8 @@ public override async Task Multiple_order_bys_are_properly_lifted_from_subquery_ await base.Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(async); AssertSql( - @"SELECT [t].[FullName] +""" +SELECT [t].[FullName] FROM ( SELECT [g].[FullName], [g].[HasSoulPatch] FROM [Gears] AS [g] @@ -3781,7 +4212,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] WHERE [t].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(bool async) @@ -3789,7 +4221,8 @@ public override async Task Order_by_is_properly_lifted_from_subquery_with_same_o await base.Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(async); AssertSql( - @"SELECT [t].[FullName] +""" +SELECT [t].[FullName] FROM ( SELECT [g].[FullName], [g].[HasSoulPatch] FROM [Gears] AS [g] @@ -3798,7 +4231,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] WHERE [t].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Where_is_properly_lifted_from_subquery_created_by_include(bool async) @@ -3806,7 +4240,8 @@ public override async Task Where_is_properly_lifted_from_subquery_created_by_inc await base.Where_is_properly_lifted_from_subquery_created_by_include(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -3816,7 +4251,8 @@ FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] WHERE [t].[FullName] <> N'Augustus Cole' AND [t].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Subquery_is_lifted_from_main_from_clause_of_SelectMany(bool async) @@ -3824,7 +4260,8 @@ public override async Task Subquery_is_lifted_from_main_from_clause_of_SelectMan await base.Subquery_is_lifted_from_main_from_clause_of_SelectMany(async); AssertSql( - @"SELECT [t].[FullName] AS [Name1], [t0].[FullName] AS [Name2] +""" +SELECT [t].[FullName] AS [Name1], [t0].[FullName] AS [Name2] FROM ( SELECT [g].[FullName], [g].[HasSoulPatch] FROM [Gears] AS [g] @@ -3840,7 +4277,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t0] WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [t0].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(bool async) @@ -3848,7 +4286,8 @@ public override async Task Subquery_containing_SelectMany_projecting_main_from_c await base.Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [t].[FullName] +""" +SELECT [t].[FullName] FROM ( SELECT [g].[FullName], [g].[HasSoulPatch] FROM [Gears] AS [g] @@ -3858,7 +4297,8 @@ FROM [Officers] AS [o] ) AS [t] CROSS JOIN [Tags] AS [t0] WHERE [t].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Subquery_containing_join_projecting_main_from_clause_gets_lifted(bool async) @@ -3866,7 +4306,8 @@ public override async Task Subquery_containing_join_projecting_main_from_clause_ await base.Subquery_containing_join_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [t].[Nickname] +""" +SELECT [t].[Nickname] FROM ( SELECT [g].[Nickname] FROM [Gears] AS [g] @@ -3875,7 +4316,8 @@ SELECT [o].[Nickname] FROM [Officers] AS [o] ) AS [t] INNER JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(bool async) @@ -3883,7 +4325,8 @@ public override async Task Subquery_containing_left_join_projecting_main_from_cl await base.Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [t].[Nickname] +""" +SELECT [t].[Nickname] FROM ( SELECT [g].[Nickname] FROM [Gears] AS [g] @@ -3892,7 +4335,8 @@ SELECT [o].[Nickname] FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Subquery_containing_join_gets_lifted_clashing_names(bool async) @@ -3900,7 +4344,8 @@ public override async Task Subquery_containing_join_gets_lifted_clashing_names(b await base.Subquery_containing_join_gets_lifted_clashing_names(async); AssertSql( - @"SELECT [t].[Nickname] +""" +SELECT [t].[Nickname] FROM ( SELECT [g].[Nickname] FROM [Gears] AS [g] @@ -3911,7 +4356,8 @@ FROM [Officers] AS [o] INNER JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] INNER JOIN [Tags] AS [t1] ON [t].[Nickname] = [t1].[GearNickName] WHERE [t0].[GearNickName] <> N'Cole Train' OR ([t0].[GearNickName] IS NULL) -ORDER BY [t].[Nickname], [t1].[Id]"); +ORDER BY [t].[Nickname], [t1].[Id] +"""); } public override async Task Subquery_created_by_include_gets_lifted_nested(bool async) @@ -3919,7 +4365,8 @@ public override async Task Subquery_created_by_include_gets_lifted_nested(bool a await base.Subquery_created_by_include_gets_lifted_nested(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -3932,7 +4379,8 @@ WHERE EXISTS ( SELECT 1 FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName]) AND [t].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Subquery_is_lifted_from_additional_from_clause(bool async) @@ -3940,7 +4388,8 @@ public override async Task Subquery_is_lifted_from_additional_from_clause(bool a await base.Subquery_is_lifted_from_additional_from_clause(async); AssertSql( - @"SELECT [t].[FullName] AS [Name1], [t0].[FullName] AS [Name2] +""" +SELECT [t].[FullName] AS [Name1], [t0].[FullName] AS [Name2] FROM ( SELECT [g].[FullName], [g].[HasSoulPatch] FROM [Gears] AS [g] @@ -3956,7 +4405,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t0] WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [t0].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Subquery_with_result_operator_is_not_lifted(bool async) @@ -3964,7 +4414,8 @@ public override async Task Subquery_with_result_operator_is_not_lifted(bool asyn await base.Subquery_with_result_operator_is_not_lifted(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t0].[FullName] FROM ( @@ -3979,7 +4430,8 @@ FROM [Officers] AS [o] WHERE [t].[HasSoulPatch] = CAST(0 AS bit) ORDER BY [t].[FullName] ) AS [t0] -ORDER BY [t0].[Rank]"); +ORDER BY [t0].[Rank] +"""); } public override async Task Skip_with_orderby_followed_by_orderBy_is_pushed_down(bool async) @@ -3987,7 +4439,8 @@ public override async Task Skip_with_orderby_followed_by_orderBy_is_pushed_down( await base.Skip_with_orderby_followed_by_orderBy_is_pushed_down(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t0].[FullName] FROM ( @@ -4003,7 +4456,8 @@ FROM [Officers] AS [o] ORDER BY [t].[FullName] OFFSET @__p_0 ROWS ) AS [t0] -ORDER BY [t0].[Rank]"); +ORDER BY [t0].[Rank] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down1(bool async) @@ -4011,7 +4465,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down1(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t0].[FullName] FROM ( @@ -4025,7 +4480,8 @@ FROM [Officers] AS [o] ) AS [t] WHERE [t].[HasSoulPatch] = CAST(0 AS bit) ) AS [t0] -ORDER BY [t0].[Rank]"); +ORDER BY [t0].[Rank] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down2(bool async) @@ -4033,7 +4489,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down2(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t0].[FullName] FROM ( @@ -4047,7 +4504,8 @@ FROM [Officers] AS [o] ) AS [t] WHERE [t].[HasSoulPatch] = CAST(0 AS bit) ) AS [t0] -ORDER BY [t0].[Rank]"); +ORDER BY [t0].[Rank] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down3(bool async) @@ -4055,7 +4513,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down3(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t0].[FullName] FROM ( @@ -4069,7 +4528,8 @@ FROM [Officers] AS [o] ) AS [t] WHERE [t].[HasSoulPatch] = CAST(0 AS bit) ) AS [t0] -ORDER BY [t0].[FullName], [t0].[Rank]"); +ORDER BY [t0].[FullName], [t0].[Rank] +"""); } public override async Task Select_length_of_string_property(bool async) @@ -4077,8 +4537,10 @@ public override async Task Select_length_of_string_property(bool async) await base.Select_length_of_string_property(async); AssertSql( - @"SELECT [w].[Name], CAST(LEN([w].[Name]) AS int) AS [Length] -FROM [Weapons] AS [w]"); +""" +SELECT [w].[Name], CAST(LEN([w].[Name]) AS int) AS [Length] +FROM [Weapons] AS [w] +"""); } public override async Task Client_method_on_collection_navigation_in_outer_join_key(bool async) @@ -4093,9 +4555,11 @@ public override async Task Member_access_on_derived_entity_using_cast(bool async await base.Member_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[Eradicated] +""" +SELECT [l].[Name], [l].[Eradicated] FROM [LocustHordes] AS [l] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Member_access_on_derived_materialized_entity_using_cast(bool async) @@ -4103,9 +4567,11 @@ public override async Task Member_access_on_derived_materialized_entity_using_ca await base.Member_access_on_derived_materialized_entity_using_cast(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] FROM [LocustHordes] AS [l] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Member_access_on_derived_entity_using_cast_and_let(bool async) @@ -4113,9 +4579,11 @@ public override async Task Member_access_on_derived_entity_using_cast_and_let(bo await base.Member_access_on_derived_entity_using_cast_and_let(async); AssertSql( - @"SELECT [l].[Name], [l].[Eradicated] +""" +SELECT [l].[Name], [l].[Eradicated] FROM [LocustHordes] AS [l] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Property_access_on_derived_entity_using_cast(bool async) @@ -4123,9 +4591,11 @@ public override async Task Property_access_on_derived_entity_using_cast(bool asy await base.Property_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[Eradicated] +""" +SELECT [l].[Name], [l].[Eradicated] FROM [LocustHordes] AS [l] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Navigation_access_on_derived_entity_using_cast(bool async) @@ -4133,10 +4603,12 @@ public override async Task Navigation_access_on_derived_entity_using_cast(bool a await base.Navigation_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [l].[Name], [l0].[ThreatLevel] AS [Threat] +""" +SELECT [l].[Name], [l0].[ThreatLevel] AS [Threat] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Navigation_access_on_derived_materialized_entity_using_cast(bool async) @@ -4144,10 +4616,12 @@ public override async Task Navigation_access_on_derived_materialized_entity_usin await base.Navigation_access_on_derived_materialized_entity_using_cast(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [l0].[ThreatLevel] AS [Threat] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [l0].[ThreatLevel] AS [Threat] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Navigation_access_via_EFProperty_on_derived_entity_using_cast(bool async) @@ -4155,10 +4629,12 @@ public override async Task Navigation_access_via_EFProperty_on_derived_entity_us await base.Navigation_access_via_EFProperty_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [l].[Name], [l0].[ThreatLevel] AS [Threat] +""" +SELECT [l].[Name], [l0].[ThreatLevel] AS [Threat] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Navigation_access_fk_on_derived_entity_using_cast(bool async) @@ -4166,10 +4642,12 @@ public override async Task Navigation_access_fk_on_derived_entity_using_cast(boo await base.Navigation_access_fk_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [l].[Name], [l0].[Name] AS [CommanderName] +""" +SELECT [l].[Name], [l0].[Name] AS [CommanderName] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Collection_navigation_access_on_derived_entity_using_cast(bool async) @@ -4177,7 +4655,8 @@ public override async Task Collection_navigation_access_on_derived_entity_using_ await base.Collection_navigation_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [l].[Name], ( +""" +SELECT [l].[Name], ( SELECT COUNT(*) FROM ( SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] @@ -4188,7 +4667,8 @@ FROM [LocustCommanders] AS [l1] ) AS [t] WHERE [l].[Id] = [t].[LocustHordeId]) AS [LeadersCount] FROM [LocustHordes] AS [l] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(bool async) @@ -4196,7 +4676,8 @@ public override async Task Collection_navigation_access_on_derived_entity_using_ await base.Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(async); AssertSql( - @"SELECT [l].[Name], [t].[Name] AS [LeaderName] +""" +SELECT [l].[Name], [t].[Name] AS [LeaderName] FROM [LocustHordes] AS [l] INNER JOIN ( SELECT [l0].[Name], [l0].[LocustHordeId] @@ -4205,7 +4686,8 @@ UNION ALL SELECT [l1].[Name], [l1].[LocustHordeId] FROM [LocustCommanders] AS [l1] ) AS [t] ON [l].[Id] = [t].[LocustHordeId] -ORDER BY [t].[Name]"); +ORDER BY [t].[Name] +"""); } public override async Task Include_on_derived_entity_using_OfType(bool async) @@ -4213,7 +4695,8 @@ public override async Task Include_on_derived_entity_using_OfType(bool async) await base.Include_on_derived_entity_using_OfType(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] LEFT JOIN ( @@ -4223,7 +4706,8 @@ UNION ALL SELECT [l2].[Name], [l2].[LocustHordeId], [l2].[ThreatLevel], [l2].[ThreatLevelByte], [l2].[ThreatLevelNullableByte], [l2].[DefeatedByNickname], [l2].[DefeatedBySquadId], [l2].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l2] ) AS [t] ON [l].[Id] = [t].[LocustHordeId] -ORDER BY [l].[Name], [l].[Id], [l0].[Name]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Name] +"""); } public override async Task Distinct_on_subquery_doesnt_get_lifted(bool async) @@ -4231,7 +4715,8 @@ public override async Task Distinct_on_subquery_doesnt_get_lifted(bool async) await base.Distinct_on_subquery_doesnt_get_lifted(async); AssertSql( - @"SELECT [t0].[HasSoulPatch] +""" +SELECT [t0].[HasSoulPatch] FROM ( SELECT DISTINCT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -4241,7 +4726,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(bool async) @@ -4249,8 +4735,10 @@ public override async Task Cast_result_operator_on_subquery_is_properly_lifted_t await base.Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(async); AssertSql( - @"SELECT [l].[Eradicated] -FROM [LocustHordes] AS [l]"); +""" +SELECT [l].[Eradicated] +FROM [LocustHordes] AS [l] +"""); } public override async Task Comparing_two_collection_navigations_composite_key(bool async) @@ -4258,7 +4746,8 @@ public override async Task Comparing_two_collection_navigations_composite_key(bo await base.Comparing_two_collection_navigations_composite_key(async); AssertSql( - @"SELECT [t].[Nickname] AS [Nickname1], [t0].[Nickname] AS [Nickname2] +""" +SELECT [t].[Nickname] AS [Nickname1], [t0].[Nickname] AS [Nickname2] FROM ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] @@ -4274,7 +4763,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t0] WHERE [t].[Nickname] = [t0].[Nickname] AND [t].[SquadId] = [t0].[SquadId] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Comparing_two_collection_navigations_inheritance(bool async) @@ -4282,7 +4772,8 @@ public override async Task Comparing_two_collection_navigations_inheritance(bool await base.Comparing_two_collection_navigations_inheritance(async); AssertSql( - @"SELECT [l].[Name], [t].[Nickname] +""" +SELECT [l].[Name], [t].[Nickname] FROM [LocustHordes] AS [l] CROSS JOIN ( SELECT [o].[Nickname], [o].[SquadId], [o].[HasSoulPatch] @@ -4296,7 +4787,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId] FROM [Officers] AS [o0] ) AS [t0] ON [l0].[DefeatedByNickname] = [t0].[Nickname] AND [l0].[DefeatedBySquadId] = [t0].[SquadId] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [t0].[Nickname] = [t].[Nickname] AND [t0].[SquadId] = [t].[SquadId]"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [t0].[Nickname] = [t].[Nickname] AND [t0].[SquadId] = [t].[SquadId] +"""); } public override async Task Comparing_entities_using_Equals_inheritance(bool async) @@ -4304,7 +4796,8 @@ public override async Task Comparing_entities_using_Equals_inheritance(bool asyn await base.Comparing_entities_using_Equals_inheritance(async); AssertSql( - @"SELECT [t].[Nickname] AS [Nickname1], [t0].[Nickname] AS [Nickname2] +""" +SELECT [t].[Nickname] AS [Nickname1], [t0].[Nickname] AS [Nickname2] FROM ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] @@ -4317,7 +4810,8 @@ CROSS JOIN ( FROM [Officers] AS [o0] ) AS [t0] WHERE [t].[Nickname] = [t0].[Nickname] AND [t].[SquadId] = [t0].[SquadId] -ORDER BY [t].[Nickname], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t0].[Nickname] +"""); } public override async Task Contains_on_nullable_array_produces_correct_sql(bool async) @@ -4325,7 +4819,8 @@ public override async Task Contains_on_nullable_array_produces_correct_sql(bool await base.Contains_on_nullable_array_produces_correct_sql(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -4334,7 +4829,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Cities] AS [c] ON [t].[AssignedCityName] = [c].[Name] -WHERE [t].[SquadId] < 2 AND ([c].[Name] = N'Ephyra' OR ([c].[Name] IS NULL))"); +WHERE [t].[SquadId] < 2 AND ([c].[Name] = N'Ephyra' OR ([c].[Name] IS NULL)) +"""); } public override async Task Optional_navigation_with_collection_composite_key(bool async) @@ -4342,7 +4838,8 @@ public override async Task Optional_navigation_with_collection_composite_key(boo await base.Optional_navigation_with_collection_composite_key(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], N'Gear' AS [Discriminator] @@ -4360,7 +4857,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t1] - WHERE ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) AND [t0].[Nickname] = [t1].[LeaderNickname] AND [t0].[SquadId] = [t1].[LeaderSquadId] AND [t1].[Nickname] = N'Dom') > 0"); + WHERE ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) AND [t0].[Nickname] = [t1].[LeaderNickname] AND [t0].[SquadId] = [t1].[LeaderSquadId] AND [t1].[Nickname] = N'Dom') > 0 +"""); } public override async Task Select_null_conditional_with_inheritance(bool async) @@ -4368,11 +4866,13 @@ public override async Task Select_null_conditional_with_inheritance(bool async) await base.Select_null_conditional_with_inheritance(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l].[CommanderName] IS NOT NULL THEN [l].[CommanderName] ELSE NULL END -FROM [LocustHordes] AS [l]"); +FROM [LocustHordes] AS [l] +"""); } public override async Task Select_null_conditional_with_inheritance_negative(bool async) @@ -4380,11 +4880,13 @@ public override async Task Select_null_conditional_with_inheritance_negative(boo await base.Select_null_conditional_with_inheritance_negative(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l].[CommanderName] IS NOT NULL THEN [l].[Eradicated] ELSE NULL END -FROM [LocustHordes] AS [l]"); +FROM [LocustHordes] AS [l] +"""); } public override async Task Project_collection_navigation_with_inheritance1(bool async) @@ -4392,7 +4894,8 @@ public override async Task Project_collection_navigation_with_inheritance1(bool await base.Project_collection_navigation_with_inheritance1(async); AssertSql( - @"SELECT [l].[Id], [l0].[Name], [l1].[Id], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [l].[Id], [l0].[Name], [l1].[Id], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] LEFT JOIN [LocustHordes] AS [l1] ON [l0].[Name] = [l1].[CommanderName] @@ -4403,7 +4906,8 @@ UNION ALL SELECT [l3].[Name], [l3].[LocustHordeId], [l3].[ThreatLevel], [l3].[ThreatLevelByte], [l3].[ThreatLevelNullableByte], [l3].[DefeatedByNickname], [l3].[DefeatedBySquadId], [l3].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l3] ) AS [t] ON [l1].[Id] = [t].[LocustHordeId] -ORDER BY [l].[Id], [l0].[Name], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Name], [l1].[Id] +"""); } public override async Task Project_collection_navigation_with_inheritance2(bool async) @@ -4411,7 +4915,8 @@ public override async Task Project_collection_navigation_with_inheritance2(bool await base.Project_collection_navigation_with_inheritance2(async); AssertSql( - @"SELECT [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] LEFT JOIN ( @@ -4428,7 +4933,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON ([t].[Nickname] = [t0].[LeaderNickname] OR (([t].[Nickname] IS NULL) AND ([t0].[LeaderNickname] IS NULL))) AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Project_collection_navigation_with_inheritance3(bool async) @@ -4436,7 +4942,8 @@ public override async Task Project_collection_navigation_with_inheritance3(bool await base.Project_collection_navigation_with_inheritance3(async); AssertSql( - @"SELECT [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] LEFT JOIN ( @@ -4453,7 +4960,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON ([t].[Nickname] = [t0].[LeaderNickname] OR (([t].[Nickname] IS NULL) AND ([t0].[LeaderNickname] IS NULL))) AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Include_reference_on_derived_type_using_string(bool async) @@ -4461,7 +4969,8 @@ public override async Task Include_reference_on_derived_type_using_string(bool a await base.Include_reference_on_derived_type_using_string(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -4475,7 +4984,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_string_nested1(bool async) @@ -4483,7 +4993,8 @@ public override async Task Include_reference_on_derived_type_using_string_nested await base.Include_reference_on_derived_type_using_string_nested1(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -4498,7 +5009,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] -LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] +"""); } public override async Task Include_reference_on_derived_type_using_string_nested2(bool async) @@ -4506,7 +5018,8 @@ public override async Task Include_reference_on_derived_type_using_string_nested await base.Include_reference_on_derived_type_using_string_nested2(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator], [t1].[Name], [t1].[Location], [t1].[Nation] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator], [t1].[Name], [t1].[Location], [t1].[Nation] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -4532,7 +5045,8 @@ FROM [Officers] AS [o0] ) AS [t2] INNER JOIN [Cities] AS [c] ON [t2].[CityOfBirthName] = [c].[Name] ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId]"); +ORDER BY [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_lambda(bool async) @@ -4540,7 +5054,8 @@ public override async Task Include_reference_on_derived_type_using_lambda(bool a await base.Include_reference_on_derived_type_using_lambda(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -4554,7 +5069,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_lambda_with_soft_cast(bool async) @@ -4562,7 +5078,8 @@ public override async Task Include_reference_on_derived_type_using_lambda_with_s await base.Include_reference_on_derived_type_using_lambda_with_soft_cast(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -4576,7 +5093,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_lambda_with_tracking(bool async) @@ -4584,7 +5102,8 @@ public override async Task Include_reference_on_derived_type_using_lambda_with_t await base.Include_reference_on_derived_type_using_lambda_with_tracking(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -4598,7 +5117,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] +"""); } public override async Task Include_collection_on_derived_type_using_string(bool async) @@ -4606,7 +5126,8 @@ public override async Task Include_collection_on_derived_type_using_string(bool await base.Include_collection_on_derived_type_using_string(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -4621,7 +5142,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Include_collection_on_derived_type_using_lambda(bool async) @@ -4629,7 +5151,8 @@ public override async Task Include_collection_on_derived_type_using_lambda(bool await base.Include_collection_on_derived_type_using_lambda(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -4644,7 +5167,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Include_collection_on_derived_type_using_lambda_with_soft_cast(bool async) @@ -4652,7 +5176,8 @@ public override async Task Include_collection_on_derived_type_using_lambda_with_ await base.Include_collection_on_derived_type_using_lambda_with_soft_cast(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -4667,7 +5192,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Include_base_navigation_on_derived_entity(bool async) @@ -4675,7 +5201,8 @@ public override async Task Include_base_navigation_on_derived_entity(bool async) await base.Include_base_navigation_on_derived_entity(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -4685,7 +5212,8 @@ FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id] +"""); } public override async Task ThenInclude_collection_on_derived_after_base_reference(bool async) @@ -4693,7 +5221,8 @@ public override async Task ThenInclude_collection_on_derived_after_base_referenc await base.ThenInclude_collection_on_derived_after_base_reference(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -4703,7 +5232,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task ThenInclude_collection_on_derived_after_derived_reference(bool async) @@ -4711,7 +5241,8 @@ public override async Task ThenInclude_collection_on_derived_after_derived_refer await base.ThenInclude_collection_on_derived_after_derived_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] LEFT JOIN ( @@ -4728,7 +5259,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON ([t].[Nickname] = [t0].[LeaderNickname] OR (([t].[Nickname] IS NULL) AND ([t0].[LeaderNickname] IS NULL))) AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task ThenInclude_collection_on_derived_after_derived_collection(bool async) @@ -4736,7 +5268,8 @@ public override async Task ThenInclude_collection_on_derived_after_derived_colle await base.ThenInclude_collection_on_derived_after_derived_collection(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator], [t1].[Nickname0], [t1].[SquadId0], [t1].[AssignedCityName0], [t1].[CityOfBirthName0], [t1].[FullName0], [t1].[HasSoulPatch0], [t1].[LeaderNickname0], [t1].[LeaderSquadId0], [t1].[Rank0], [t1].[Discriminator0] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator], [t1].[Nickname0], [t1].[SquadId0], [t1].[AssignedCityName0], [t1].[CityOfBirthName0], [t1].[FullName0], [t1].[HasSoulPatch0], [t1].[LeaderNickname0], [t1].[LeaderSquadId0], [t1].[Rank0], [t1].[Discriminator0] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -4761,7 +5294,8 @@ UNION ALL FROM [Officers] AS [o1] ) AS [t2] ON [t0].[Nickname] = [t2].[LeaderNickname] AND [t0].[SquadId] = [t2].[LeaderSquadId] ) AS [t1] ON [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[Nickname0]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[Nickname0] +"""); } public override async Task ThenInclude_reference_on_derived_after_derived_collection(bool async) @@ -4769,7 +5303,8 @@ public override async Task ThenInclude_reference_on_derived_after_derived_collec await base.ThenInclude_reference_on_derived_after_derived_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [t1].[Name], [t1].[LocustHordeId], [t1].[ThreatLevel], [t1].[ThreatLevelByte], [t1].[ThreatLevelNullableByte], [t1].[DefeatedByNickname], [t1].[DefeatedBySquadId], [t1].[HighCommandId], [t1].[Discriminator], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator0] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [t1].[Name], [t1].[LocustHordeId], [t1].[ThreatLevel], [t1].[ThreatLevelByte], [t1].[ThreatLevelNullableByte], [t1].[DefeatedByNickname], [t1].[DefeatedBySquadId], [t1].[HighCommandId], [t1].[Discriminator], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator0] FROM [LocustHordes] AS [l] LEFT JOIN ( SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] AS [Discriminator0] @@ -4788,7 +5323,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] ) AS [t1] ON [l].[Id] = [t1].[LocustHordeId] -ORDER BY [l].[Id], [t1].[Name], [t1].[Nickname]"); +ORDER BY [l].[Id], [t1].[Name], [t1].[Nickname] +"""); } public override async Task Multiple_derived_included_on_one_method(bool async) @@ -4796,7 +5332,8 @@ public override async Task Multiple_derived_included_on_one_method(bool async) await base.Multiple_derived_included_on_one_method(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] LEFT JOIN ( @@ -4813,7 +5350,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON ([t].[Nickname] = [t0].[LeaderNickname] OR (([t].[Nickname] IS NULL) AND ([t0].[LeaderNickname] IS NULL))) AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [l].[Id], [l0].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Include_on_derived_multi_level(bool async) @@ -4821,7 +5359,8 @@ public override async Task Include_on_derived_multi_level(bool async) await base.Include_on_derived_multi_level(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[Id], [t0].[Banner], [t0].[Banner5], [t0].[InternalNumber], [t0].[Name], [t0].[SquadId0], [t0].[MissionId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[Id], [t0].[Banner], [t0].[Banner5], [t0].[InternalNumber], [t0].[Name], [t0].[SquadId0], [t0].[MissionId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -4841,7 +5380,8 @@ FROM [Officers] AS [o0] INNER JOIN [Squads] AS [s] ON [t1].[SquadId] = [s].[Id] LEFT JOIN [SquadMissions] AS [s0] ON [s].[Id] = [s0].[SquadId] ) AS [t0] ON [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Projecting_nullable_bool_in_conditional_works(bool async) @@ -4849,7 +5389,8 @@ public override async Task Projecting_nullable_bool_in_conditional_works(bool as await base.Projecting_nullable_bool_in_conditional_works(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) THEN [t0].[HasSoulPatch] ELSE CAST(0 AS bit) END AS [Prop] @@ -4860,7 +5401,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[HasSoulPatch] FROM [Officers] AS [o] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Enum_ToString_is_client_eval(bool async) @@ -4868,7 +5410,8 @@ public override async Task Enum_ToString_is_client_eval(bool async) await base.Enum_ToString_is_client_eval(async); AssertSql( - @"SELECT [t].[Rank] +""" +SELECT [t].[Rank] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[Rank] FROM [Gears] AS [g] @@ -4876,7 +5419,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[Rank] FROM [Officers] AS [o] ) AS [t] -ORDER BY [t].[SquadId], [t].[Nickname]"); +ORDER BY [t].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToList(bool async) @@ -4884,7 +5428,8 @@ public override async Task Correlated_collections_naked_navigation_with_ToList(b await base.Correlated_collections_naked_navigation_with_ToList(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -4894,7 +5439,8 @@ FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(bool async) @@ -4902,7 +5448,8 @@ public override async Task Correlated_collections_naked_navigation_with_ToList_f await base.Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName]) @@ -4914,7 +5461,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToArray(bool async) @@ -4922,7 +5470,8 @@ public override async Task Correlated_collections_naked_navigation_with_ToArray( await base.Correlated_collections_naked_navigation_with_ToArray(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -4932,7 +5481,8 @@ FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection(bool async) @@ -4940,7 +5490,8 @@ public override async Task Correlated_collections_basic_projection(bool async) await base.Correlated_collections_basic_projection(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -4954,7 +5505,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection_explicit_to_list(bool async) @@ -4962,7 +5514,8 @@ public override async Task Correlated_collections_basic_projection_explicit_to_l await base.Correlated_collections_basic_projection_explicit_to_list(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -4976,7 +5529,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection_explicit_to_array(bool async) @@ -4984,7 +5538,8 @@ public override async Task Correlated_collections_basic_projection_explicit_to_a await base.Correlated_collections_basic_projection_explicit_to_array(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -4998,7 +5553,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection_ordered(bool async) @@ -5006,7 +5562,8 @@ public override async Task Correlated_collections_basic_projection_ordered(bool await base.Correlated_collections_basic_projection_ordered(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -5020,7 +5577,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Name] DESC"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Name] DESC +"""); } public override async Task Correlated_collections_basic_projection_composite_key(bool async) @@ -5028,7 +5586,8 @@ public override async Task Correlated_collections_basic_projection_composite_key await base.Correlated_collections_basic_projection_composite_key(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[FullName], [t0].[SquadId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[FullName], [t0].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] @@ -5045,7 +5604,8 @@ FROM [Officers] AS [o0] WHERE [t1].[HasSoulPatch] = CAST(0 AS bit) ) AS [t0] ON [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] WHERE [t].[Nickname] <> N'Foo' -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Correlated_collections_basic_projecting_single_property(bool async) @@ -5053,7 +5613,8 @@ public override async Task Correlated_collections_basic_projecting_single_proper await base.Correlated_collections_basic_projecting_single_property(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Name], [t0].[Id] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Name], [t0].[Id] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -5067,7 +5628,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collections_basic_projecting_constant(bool async) @@ -5075,7 +5637,8 @@ public override async Task Correlated_collections_basic_projecting_constant(bool await base.Correlated_collections_basic_projecting_constant(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[c], [t0].[Id] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[c], [t0].[Id] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -5089,7 +5652,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collections_basic_projecting_constant_bool(bool async) @@ -5097,7 +5661,8 @@ public override async Task Correlated_collections_basic_projecting_constant_bool await base.Correlated_collections_basic_projecting_constant_bool(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[c], [t0].[Id] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[c], [t0].[Id] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -5111,7 +5676,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collections_projection_of_collection_thru_navigation(bool async) @@ -5119,7 +5685,8 @@ public override async Task Correlated_collections_projection_of_collection_thru_ await base.Correlated_collections_projection_of_collection_thru_navigation(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [s].[Id], [t0].[SquadId], [t0].[MissionId] +""" +SELECT [t].[Nickname], [t].[SquadId], [s].[Id], [t0].[SquadId], [t0].[MissionId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -5134,7 +5701,8 @@ FROM [SquadMissions] AS [s0] WHERE [s0].[MissionId] <> 17 ) AS [t0] ON [s].[Id] = [t0].[SquadId] WHERE [t].[Nickname] <> N'Marcus' -ORDER BY [t].[FullName], [t].[Nickname], [t].[SquadId], [s].[Id], [t0].[SquadId]"); +ORDER BY [t].[FullName], [t].[Nickname], [t].[SquadId], [s].[Id], [t0].[SquadId] +"""); } public override async Task Correlated_collections_project_anonymous_collection_result(bool async) @@ -5142,7 +5710,8 @@ public override async Task Correlated_collections_project_anonymous_collection_r await base.Correlated_collections_project_anonymous_collection_result(async); AssertSql( - @"SELECT [s].[Name], [s].[Id], [t].[FullName], [t].[Rank], [t].[Nickname], [t].[SquadId] +""" +SELECT [s].[Name], [s].[Id], [t].[FullName], [t].[Rank], [t].[Nickname], [t].[SquadId] FROM [Squads] AS [s] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName], [g].[Rank] @@ -5152,7 +5721,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] ON [s].[Id] = [t].[SquadId] WHERE [s].[Id] < 20 -ORDER BY [s].[Id], [t].[Nickname]"); +ORDER BY [s].[Id], [t].[Nickname] +"""); } public override async Task Correlated_collections_nested(bool async) @@ -5160,7 +5730,8 @@ public override async Task Correlated_collections_nested(bool async) await base.Correlated_collections_nested(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] FROM [Squads] AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0] @@ -5173,7 +5744,8 @@ WHERE [s1].[SquadId] < 7 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 42 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Correlated_collections_nested_mixed_streaming_with_buffer1(bool async) @@ -5181,7 +5753,8 @@ public override async Task Correlated_collections_nested_mixed_streaming_with_bu await base.Correlated_collections_nested_mixed_streaming_with_buffer1(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] FROM [Squads] AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0] @@ -5194,7 +5767,8 @@ WHERE [s1].[SquadId] < 2 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 3 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Correlated_collections_nested_mixed_streaming_with_buffer2(bool async) @@ -5202,7 +5776,8 @@ public override async Task Correlated_collections_nested_mixed_streaming_with_bu await base.Correlated_collections_nested_mixed_streaming_with_buffer2(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] FROM [Squads] AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0] @@ -5215,7 +5790,8 @@ WHERE [s1].[SquadId] < 7 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 42 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Correlated_collections_nested_with_custom_ordering(bool async) @@ -5223,7 +5799,8 @@ public override async Task Correlated_collections_nested_with_custom_ordering(bo await base.Correlated_collections_nested_with_custom_ordering(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t1].[FullName], [t1].[Nickname], [t1].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t1].[FullName], [t1].[Nickname], [t1].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] @@ -5244,7 +5821,8 @@ FROM [Weapons] AS [w] ) AS [t2] ON [t0].[FullName] = [t2].[OwnerFullName] WHERE [t0].[FullName] <> N'Foo' ) AS [t1] ON [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t].[HasSoulPatch] DESC, [t].[Nickname], [t].[SquadId], [t1].[Rank], [t1].[Nickname], [t1].[SquadId], [t1].[IsAutomatic]"); +ORDER BY [t].[HasSoulPatch] DESC, [t].[Nickname], [t].[SquadId], [t1].[Rank], [t1].[Nickname], [t1].[SquadId], [t1].[IsAutomatic] +"""); } public override async Task Correlated_collections_same_collection_projected_multiple_times(bool async) @@ -5252,7 +5830,8 @@ public override async Task Correlated_collections_same_collection_projected_mult await base.Correlated_collections_same_collection_projected_multiple_times(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -5270,7 +5849,8 @@ LEFT JOIN ( FROM [Weapons] AS [w0] WHERE [w0].[IsAutomatic] = CAST(1 AS bit) ) AS [t1] ON [t].[FullName] = [t1].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id] +"""); } public override async Task Correlated_collections_similar_collection_projected_multiple_times(bool async) @@ -5278,7 +5858,8 @@ public override async Task Correlated_collections_similar_collection_projected_m await base.Correlated_collections_similar_collection_projected_multiple_times(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName], [g].[Rank] FROM [Gears] AS [g] @@ -5296,7 +5877,8 @@ LEFT JOIN ( FROM [Weapons] AS [w0] WHERE [w0].[IsAutomatic] = CAST(0 AS bit) ) AS [t1] ON [t].[FullName] = [t1].[OwnerFullName] -ORDER BY [t].[Rank], [t].[Nickname], [t].[SquadId], [t0].[OwnerFullName], [t0].[Id], [t1].[IsAutomatic]"); +ORDER BY [t].[Rank], [t].[Nickname], [t].[SquadId], [t0].[OwnerFullName], [t0].[Id], [t1].[IsAutomatic] +"""); } public override async Task Correlated_collections_different_collections_projected(bool async) @@ -5304,7 +5886,8 @@ public override async Task Correlated_collections_different_collections_projecte await base.Correlated_collections_different_collections_projected(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Name], [t0].[IsAutomatic], [t0].[Id], [t1].[Nickname], [t1].[Rank], [t1].[SquadId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Name], [t0].[IsAutomatic], [t0].[Id], [t1].[Nickname], [t1].[Rank], [t1].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -5321,7 +5904,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[FullName], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank] FROM [Officers] AS [o0] ) AS [t1] ON [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t1].[FullName], [t1].[Nickname]"); +ORDER BY [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t1].[FullName], [t1].[Nickname] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(bool async) @@ -5329,7 +5913,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(async); AssertSql( - @"SELECT [t].[FullName] +""" +SELECT [t].[FullName] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] @@ -5345,7 +5930,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t1] WHERE [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId]) -ORDER BY [t].[HasSoulPatch] DESC, [t0].[Note]"); +ORDER BY [t].[HasSoulPatch] DESC, [t0].[Note] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(bool async) @@ -5353,7 +5939,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[Id], [t3].[AmmunitionType], [t3].[IsAutomatic], [t3].[Name], [t3].[OwnerFullName], [t3].[SynergyWithId], [t3].[Nickname], [t3].[SquadId] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[Id], [t3].[AmmunitionType], [t3].[IsAutomatic], [t3].[Name], [t3].[OwnerFullName], [t3].[SynergyWithId], [t3].[Nickname], [t3].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] @@ -5387,7 +5974,8 @@ UNION ALL FROM [Officers] AS [o2] ) AS [t1] WHERE [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId]) -ORDER BY [t].[HasSoulPatch] DESC, [t0].[Note], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[IsAutomatic], [t3].[Nickname] DESC, [t3].[Id]"); +ORDER BY [t].[HasSoulPatch] DESC, [t0].[Note], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[IsAutomatic], [t3].[Nickname] DESC, [t3].[Id] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings( @@ -5396,7 +5984,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[Id], [t3].[AmmunitionType], [t3].[IsAutomatic], [t3].[Name], [t3].[OwnerFullName], [t3].[SynergyWithId], [t3].[Nickname], [t3].[SquadId] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[Id], [t3].[AmmunitionType], [t3].[IsAutomatic], [t3].[Name], [t3].[OwnerFullName], [t3].[SynergyWithId], [t3].[Nickname], [t3].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] @@ -5430,7 +6019,8 @@ UNION ALL FROM [Officers] AS [o2] ) AS [t1] WHERE [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId]) -ORDER BY [t].[HasSoulPatch] DESC, [t0].[Note], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[IsAutomatic], [t3].[Nickname] DESC, [t3].[Id]"); +ORDER BY [t].[HasSoulPatch] DESC, [t0].[Note], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[IsAutomatic], [t3].[Nickname] DESC, [t3].[Id] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings( @@ -5439,7 +6029,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[Id], [t3].[AmmunitionType], [t3].[IsAutomatic], [t3].[Name], [t3].[OwnerFullName], [t3].[SynergyWithId], [t3].[Nickname], [t3].[SquadId] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[Id], [t3].[AmmunitionType], [t3].[IsAutomatic], [t3].[Name], [t3].[OwnerFullName], [t3].[SynergyWithId], [t3].[Nickname], [t3].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] @@ -5476,7 +6067,8 @@ UNION ALL FROM [Officers] AS [o2] ) AS [t1] WHERE [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId]) -ORDER BY [t].[HasSoulPatch] DESC, [t0].[Note], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[Id] DESC, [t3].[c], [t3].[Nickname]"); +ORDER BY [t].[HasSoulPatch] DESC, [t0].[Note], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[Id] DESC, [t3].[c], [t3].[Nickname] +"""); } public override async Task Correlated_collections_multiple_nested_complex_collections(bool async) @@ -5484,7 +6076,8 @@ public override async Task Correlated_collections_multiple_nested_complex_collec await base.Correlated_collections_multiple_nested_complex_collections(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[FullName], [t3].[Nickname], [t3].[SquadId], [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Name], [t3].[IsAutomatic], [t3].[Id1], [t3].[Nickname00], [t3].[HasSoulPatch], [t3].[SquadId00], [t8].[Id], [t8].[AmmunitionType], [t8].[IsAutomatic], [t8].[Name], [t8].[OwnerFullName], [t8].[SynergyWithId], [t8].[Nickname], [t8].[SquadId] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[FullName], [t3].[Nickname], [t3].[SquadId], [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Name], [t3].[IsAutomatic], [t3].[Id1], [t3].[Nickname00], [t3].[HasSoulPatch], [t3].[SquadId00], [t8].[Id], [t8].[AmmunitionType], [t8].[IsAutomatic], [t8].[Name], [t8].[OwnerFullName], [t8].[SynergyWithId], [t8].[Nickname], [t8].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] @@ -5550,7 +6143,8 @@ UNION ALL FROM [Officers] AS [o5] ) AS [t1] WHERE [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId]) -ORDER BY [t].[HasSoulPatch] DESC, [t0].[Note], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[Rank], [t3].[Nickname], [t3].[SquadId], [t3].[IsAutomatic0], [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Id1], [t3].[Nickname00], [t3].[SquadId00], [t8].[IsAutomatic], [t8].[Nickname] DESC, [t8].[Id]"); +ORDER BY [t].[HasSoulPatch] DESC, [t0].[Note], [t].[Nickname], [t].[SquadId], [t0].[Id], [t2].[Nickname], [t2].[SquadId], [t3].[Rank], [t3].[Nickname], [t3].[SquadId], [t3].[IsAutomatic0], [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Id1], [t3].[Nickname00], [t3].[SquadId00], [t8].[IsAutomatic], [t8].[Nickname] DESC, [t8].[Id] +"""); } public override async Task Correlated_collections_inner_subquery_selector_references_outer_qsre(bool async) @@ -5558,7 +6152,8 @@ public override async Task Correlated_collections_inner_subquery_selector_refere await base.Correlated_collections_inner_subquery_selector_references_outer_qsre(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[ReportName], [t0].[OfficerName], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[ReportName], [t0].[OfficerName], [t0].[Nickname], [t0].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -5574,7 +6169,8 @@ FROM [Officers] AS [o0] ) AS [t1] WHERE [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId] ) AS [t0] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Correlated_collections_inner_subquery_predicate_references_outer_qsre(bool async) @@ -5582,7 +6178,8 @@ public override async Task Correlated_collections_inner_subquery_predicate_refer await base.Correlated_collections_inner_subquery_predicate_references_outer_qsre(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[ReportName], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[ReportName], [t0].[Nickname], [t0].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -5598,7 +6195,8 @@ FROM [Officers] AS [o0] ) AS [t1] WHERE [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId] AND [t].[FullName] <> N'Foo' ) AS [t0] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Correlated_collections_nested_inner_subquery_references_outer_qsre_one_level_up(bool async) @@ -5606,7 +6204,8 @@ public override async Task Correlated_collections_nested_inner_subquery_referenc await base.Correlated_collections_nested_inner_subquery_references_outer_qsre_one_level_up(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t1].[FullName], [t1].[Nickname], [t1].[SquadId], [t1].[Name], [t1].[Nickname0], [t1].[Id] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t1].[FullName], [t1].[Nickname], [t1].[SquadId], [t1].[Name], [t1].[Nickname0], [t1].[Id] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -5627,7 +6226,8 @@ FROM [Weapons] AS [w] ) AS [t2] WHERE [t0].[FullName] <> N'Foo' ) AS [t1] ON [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Nickname], [t1].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Nickname], [t1].[SquadId] +"""); } public override async Task Correlated_collections_nested_inner_subquery_references_outer_qsre_two_levels_up(bool async) @@ -5635,7 +6235,8 @@ public override async Task Correlated_collections_nested_inner_subquery_referenc await base.Correlated_collections_nested_inner_subquery_references_outer_qsre_two_levels_up(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t1].[FullName], [t1].[Nickname], [t1].[SquadId], [t1].[Name], [t1].[Nickname0], [t1].[Id] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t1].[FullName], [t1].[Nickname], [t1].[SquadId], [t1].[Name], [t1].[Nickname0], [t1].[Id] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -5656,7 +6257,8 @@ FROM [Weapons] AS [w] ) AS [t2] ON [t0].[FullName] = [t2].[OwnerFullName] WHERE [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] AND [t0].[FullName] <> N'Foo' ) AS [t1] -ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Nickname], [t1].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Nickname], [t1].[SquadId] +"""); } public override async Task Correlated_collections_on_select_many(bool async) @@ -5664,7 +6266,8 @@ public override async Task Correlated_collections_on_select_many(bool async) await base.Correlated_collections_on_select_many(async); AssertSql( - @"SELECT [t].[Nickname], [s].[Name], [t].[SquadId], [s].[Id], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t].[Nickname], [s].[Name], [t].[SquadId], [s].[Id], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName], [g].[HasSoulPatch] FROM [Gears] AS [g] @@ -5690,7 +6293,8 @@ FROM [Officers] AS [o0] WHERE [t2].[HasSoulPatch] = CAST(0 AS bit) ) AS [t1] ON [s].[Id] = [t1].[SquadId] WHERE [t].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [t].[Nickname], [s].[Id] DESC, [t].[SquadId], [t0].[Id], [t1].[Nickname]"); +ORDER BY [t].[Nickname], [s].[Id] DESC, [t].[SquadId], [t0].[Id], [t1].[Nickname] +"""); } public override async Task Correlated_collections_with_Skip(bool async) @@ -5698,7 +6302,8 @@ public override async Task Correlated_collections_with_Skip(bool async) await base.Correlated_collections_with_Skip(async); AssertSql( - @"SELECT [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] @@ -5714,7 +6319,8 @@ FROM [Officers] AS [o] ) AS [t0] WHERE 1 < [t0].[row] ) AS [t1] ON [s].[Id] = [t1].[SquadId] -ORDER BY [s].[Name], [s].[Id], [t1].[SquadId], [t1].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t1].[SquadId], [t1].[Nickname] +"""); } public override async Task Correlated_collections_with_Take(bool async) @@ -5722,7 +6328,8 @@ public override async Task Correlated_collections_with_Take(bool async) await base.Correlated_collections_with_Take(async); AssertSql( - @"SELECT [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] @@ -5738,7 +6345,8 @@ FROM [Officers] AS [o] ) AS [t0] WHERE [t0].[row] <= 2 ) AS [t1] ON [s].[Id] = [t1].[SquadId] -ORDER BY [s].[Name], [s].[Id], [t1].[SquadId], [t1].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t1].[SquadId], [t1].[Nickname] +"""); } public override async Task Correlated_collections_with_Distinct(bool async) @@ -5746,7 +6354,8 @@ public override async Task Correlated_collections_with_Distinct(bool async) await base.Correlated_collections_with_Distinct(async); AssertSql( - @"SELECT [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Squads] AS [s] OUTER APPLY ( SELECT DISTINCT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] @@ -5764,7 +6373,8 @@ ORDER BY [t].[Nickname] OFFSET 0 ROWS ) AS [t0] ) AS [t1] -ORDER BY [s].[Name], [s].[Id], [t1].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t1].[Nickname] +"""); } public override async Task Correlated_collections_with_FirstOrDefault(bool async) @@ -5772,7 +6382,8 @@ public override async Task Correlated_collections_with_FirstOrDefault(bool async await base.Correlated_collections_with_FirstOrDefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[FullName] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -5784,7 +6395,8 @@ FROM [Officers] AS [o] WHERE [s].[Id] = [t].[SquadId] ORDER BY [t].[Nickname]) FROM [Squads] AS [s] -ORDER BY [s].[Name]"); +ORDER BY [s].[Name] +"""); } public override async Task Correlated_collections_on_left_join_with_predicate(bool async) @@ -5792,7 +6404,8 @@ public override async Task Correlated_collections_on_left_join_with_predicate(bo await base.Correlated_collections_on_left_join_with_predicate(async); AssertSql( - @"SELECT [t0].[Nickname], [t].[Id], [t0].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [t0].[Nickname], [t].[Id], [t0].[SquadId], [w].[Name], [w].[Id] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName], [g].[HasSoulPatch] @@ -5803,7 +6416,8 @@ FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] WHERE [t0].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collections_on_left_join_with_null_value(bool async) @@ -5811,7 +6425,8 @@ public override async Task Correlated_collections_on_left_join_with_null_value(b await base.Correlated_collections_on_left_join_with_null_value(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [w].[Name], [w].[Id] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] @@ -5821,7 +6436,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collections_left_join_with_self_reference(bool async) @@ -5829,7 +6445,8 @@ public override async Task Correlated_collections_left_join_with_self_reference( await base.Correlated_collections_left_join_with_self_reference(async); AssertSql( - @"SELECT [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[FullName], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[FullName], [t1].[Nickname], [t1].[SquadId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [o].[Nickname], [o].[SquadId] @@ -5842,7 +6459,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[FullName], [o0].[LeaderNickname], [o0].[LeaderSquadId] FROM [Officers] AS [o0] ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Correlated_collections_deeply_nested_left_join(bool async) @@ -5850,7 +6468,8 @@ public override async Task Correlated_collections_deeply_nested_left_join(bool a await base.Correlated_collections_deeply_nested_left_join(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -5876,7 +6495,8 @@ FROM [Weapons] AS [w] ) AS [t3] ON [t2].[FullName] = [t3].[OwnerFullName] WHERE [t2].[HasSoulPatch] = CAST(1 AS bit) ) AS [t1] ON [s].[Id] = [t1].[SquadId] -ORDER BY [t].[Note], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [s].[Id], [t1].[Nickname], [t1].[SquadId]"); +ORDER BY [t].[Note], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [s].[Id], [t1].[Nickname], [t1].[SquadId] +"""); } public override async Task Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(bool async) @@ -5884,7 +6504,8 @@ public override async Task Correlated_collections_from_left_join_with_additional await base.Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(async); AssertSql( - @"SELECT [w].[Id], [t].[Nickname], [t].[SquadId], [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId], [t1].[Rank] +""" +SELECT [w].[Id], [t].[Nickname], [t].[SquadId], [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId], [t1].[Rank] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] @@ -5909,7 +6530,8 @@ FROM [Weapons] AS [w0] WHERE [w0].[IsAutomatic] = CAST(0 AS bit) ) AS [t2] ON [t0].[FullName] = [t2].[OwnerFullName] ) AS [t1] ON [s].[Id] = [t1].[SquadId] -ORDER BY [w].[Name], [w].[Id], [t].[Nickname], [t].[SquadId], [s].[Id], [t1].[FullName] DESC, [t1].[Nickname], [t1].[SquadId], [t1].[Id]"); +ORDER BY [w].[Name], [w].[Id], [t].[Nickname], [t].[SquadId], [s].[Id], [t1].[FullName] DESC, [t1].[Nickname], [t1].[SquadId], [t1].[Id] +"""); } public override async Task Correlated_collections_complex_scenario1(bool async) @@ -5917,7 +6539,8 @@ public override async Task Correlated_collections_complex_scenario1(bool async) await base.Correlated_collections_complex_scenario1(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0], [t1].[HasSoulPatch], [t1].[SquadId0] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0], [t1].[HasSoulPatch], [t1].[SquadId0] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -5944,7 +6567,8 @@ UNION ALL FROM [Officers] AS [o1] ) AS [t2] ON [s].[Id] = [t2].[SquadId] ) AS [t1] ON [t].[FullName] = [t1].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0] +"""); } public override async Task Correlated_collections_complex_scenario2(bool async) @@ -5952,7 +6576,8 @@ public override async Task Correlated_collections_complex_scenario2(bool async) await base.Correlated_collections_complex_scenario2(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t3].[FullName], [t3].[Nickname], [t3].[SquadId], [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Nickname00], [t3].[HasSoulPatch], [t3].[SquadId00] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t3].[FullName], [t3].[Nickname], [t3].[SquadId], [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Nickname00], [t3].[HasSoulPatch], [t3].[SquadId00] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -5986,7 +6611,8 @@ FROM [Officers] AS [o2] ) AS [t4] ON [s].[Id] = [t4].[SquadId] ) AS [t1] ON [t0].[FullName] = [t1].[OwnerFullName] ) AS [t3] ON [t].[Nickname] = [t3].[LeaderNickname] AND [t].[SquadId] = [t3].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t3].[Nickname], [t3].[SquadId], [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Nickname00]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t3].[Nickname], [t3].[SquadId], [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Nickname00] +"""); } public override async Task Correlated_collections_with_funky_orderby_complex_scenario1(bool async) @@ -5994,7 +6620,8 @@ public override async Task Correlated_collections_with_funky_orderby_complex_sce await base.Correlated_collections_with_funky_orderby_complex_scenario1(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0], [t1].[HasSoulPatch], [t1].[SquadId0] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0], [t1].[HasSoulPatch], [t1].[SquadId0] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -6021,7 +6648,8 @@ UNION ALL FROM [Officers] AS [o1] ) AS [t2] ON [s].[Id] = [t2].[SquadId] ) AS [t1] ON [t].[FullName] = [t1].[OwnerFullName] -ORDER BY [t].[FullName], [t].[Nickname] DESC, [t].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0]"); +ORDER BY [t].[FullName], [t].[Nickname] DESC, [t].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0] +"""); } public override async Task Correlated_collections_with_funky_orderby_complex_scenario2(bool async) @@ -6029,7 +6657,8 @@ public override async Task Correlated_collections_with_funky_orderby_complex_sce await base.Correlated_collections_with_funky_orderby_complex_scenario2(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t3].[FullName], [t3].[Nickname], [t3].[SquadId], [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Nickname00], [t3].[HasSoulPatch], [t3].[SquadId00] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t3].[FullName], [t3].[Nickname], [t3].[SquadId], [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Nickname00], [t3].[HasSoulPatch], [t3].[SquadId00] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname] FROM [Officers] AS [o] @@ -6063,7 +6692,8 @@ FROM [Officers] AS [o2] ) AS [t4] ON [s].[Id] = [t4].[SquadId] ) AS [t1] ON [t0].[FullName] = [t1].[OwnerFullName] ) AS [t3] ON [t].[Nickname] = [t3].[LeaderNickname] AND [t].[SquadId] = [t3].[LeaderSquadId] -ORDER BY [t].[HasSoulPatch], [t].[LeaderNickname], [t].[FullName], [t].[Nickname], [t].[SquadId], [t3].[FullName], [t3].[HasSoulPatch0] DESC, [t3].[Nickname], [t3].[SquadId], [t3].[IsAutomatic], [t3].[Name] DESC, [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Nickname00]"); +ORDER BY [t].[HasSoulPatch], [t].[LeaderNickname], [t].[FullName], [t].[Nickname], [t].[SquadId], [t3].[FullName], [t3].[HasSoulPatch0] DESC, [t3].[Nickname], [t3].[SquadId], [t3].[IsAutomatic], [t3].[Name] DESC, [t3].[Id], [t3].[Nickname0], [t3].[SquadId0], [t3].[Id0], [t3].[Nickname00] +"""); } public override async Task Correlated_collection_with_top_level_FirstOrDefault(bool async) @@ -6071,7 +6701,8 @@ public override async Task Correlated_collection_with_top_level_FirstOrDefault(b await base.Correlated_collection_with_top_level_FirstOrDefault(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT TOP(1) [t].[Nickname], [t].[SquadId], [t].[FullName] FROM ( @@ -6084,7 +6715,8 @@ FROM [Officers] AS [o] ORDER BY [t].[Nickname] ) AS [t0] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collection_with_top_level_Count(bool async) @@ -6092,14 +6724,16 @@ public override async Task Correlated_collection_with_top_level_Count(bool async await base.Correlated_collection_with_top_level_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Correlated_collection_with_top_level_Last_with_orderby_on_outer(bool async) @@ -6107,7 +6741,8 @@ public override async Task Correlated_collection_with_top_level_Last_with_orderb await base.Correlated_collection_with_top_level_Last_with_orderby_on_outer(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT TOP(1) [t].[Nickname], [t].[SquadId], [t].[FullName] FROM ( @@ -6120,7 +6755,8 @@ FROM [Officers] AS [o] ORDER BY [t].[FullName] ) AS [t0] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t0].[FullName], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t0].[FullName], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collection_with_top_level_Last_with_order_by_on_inner(bool async) @@ -6128,7 +6764,8 @@ public override async Task Correlated_collection_with_top_level_Last_with_order_ await base.Correlated_collection_with_top_level_Last_with_order_by_on_inner(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT TOP(1) [t].[Nickname], [t].[SquadId], [t].[FullName] FROM ( @@ -6141,7 +6778,8 @@ FROM [Officers] AS [o] ORDER BY [t].[FullName] DESC ) AS [t0] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t0].[FullName] DESC, [t0].[Nickname], [t0].[SquadId], [w].[Name]"); +ORDER BY [t0].[FullName] DESC, [t0].[Nickname], [t0].[SquadId], [w].[Name] +"""); } public override async Task Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(bool async) @@ -6149,7 +6787,8 @@ public override async Task Null_semantics_on_nullable_bool_from_inner_join_subqu await base.Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CapitalName], [t0].[Name], [t0].[ServerAddress], [t0].[CommanderName], [t0].[Eradicated] +""" +SELECT [t0].[Id], [t0].[CapitalName], [t0].[Name], [t0].[ServerAddress], [t0].[CommanderName], [t0].[Eradicated] FROM ( SELECT [l0].[Name] FROM [LocustLeaders] AS [l0] @@ -6162,7 +6801,8 @@ INNER JOIN ( FROM [LocustHordes] AS [l] WHERE [l].[Name] = N'Swarm' ) AS [t0] ON [t].[Name] = [t0].[CommanderName] -WHERE [t0].[Eradicated] <> CAST(1 AS bit) OR ([t0].[Eradicated] IS NULL)"); +WHERE [t0].[Eradicated] <> CAST(1 AS bit) OR ([t0].[Eradicated] IS NULL) +"""); } public override async Task Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(bool async) @@ -6170,7 +6810,8 @@ public override async Task Null_semantics_on_nullable_bool_from_left_join_subque await base.Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CapitalName], [t0].[Name], [t0].[ServerAddress], [t0].[CommanderName], [t0].[Eradicated] +""" +SELECT [t0].[Id], [t0].[CapitalName], [t0].[Name], [t0].[ServerAddress], [t0].[CommanderName], [t0].[Eradicated] FROM ( SELECT [l0].[Name] FROM [LocustLeaders] AS [l0] @@ -6183,7 +6824,8 @@ LEFT JOIN ( FROM [LocustHordes] AS [l] WHERE [l].[Name] = N'Swarm' ) AS [t0] ON [t].[Name] = [t0].[CommanderName] -WHERE [t0].[Eradicated] <> CAST(1 AS bit) OR ([t0].[Eradicated] IS NULL)"); +WHERE [t0].[Eradicated] <> CAST(1 AS bit) OR ([t0].[Eradicated] IS NULL) +"""); } public override async Task Include_on_derived_type_with_order_by_and_paging(bool async) @@ -6191,7 +6833,8 @@ public override async Task Include_on_derived_type_with_order_by_and_paging(bool await base.Include_on_derived_type_with_order_by_and_paging(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t2].[Name], [t2].[LocustHordeId], [t2].[ThreatLevel], [t2].[ThreatLevelByte], [t2].[ThreatLevelNullableByte], [t2].[DefeatedByNickname], [t2].[DefeatedBySquadId], [t2].[HighCommandId], [t2].[Discriminator], [t2].[Nickname], [t2].[SquadId], [t2].[AssignedCityName], [t2].[CityOfBirthName], [t2].[FullName], [t2].[HasSoulPatch], [t2].[LeaderNickname], [t2].[LeaderSquadId], [t2].[Rank], [t2].[Discriminator0] AS [Discriminator], [t2].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( @@ -6214,7 +6857,8 @@ LEFT JOIN [Tags] AS [t1] ON ([t0].[Nickname] = [t1].[GearNickName] OR (([t0].[Ni ORDER BY [t1].[Note] ) AS [t2] LEFT JOIN [Weapons] AS [w] ON [t2].[FullName] = [w].[OwnerFullName] -ORDER BY [t2].[Note], [t2].[Name], [t2].[Nickname], [t2].[SquadId], [t2].[Id]"); +ORDER BY [t2].[Note], [t2].[Name], [t2].[Nickname], [t2].[SquadId], [t2].[Id] +"""); } public override async Task Select_required_navigation_on_derived_type(bool async) @@ -6222,7 +6866,8 @@ public override async Task Select_required_navigation_on_derived_type(bool async await base.Select_required_navigation_on_derived_type(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM ( SELECT NULL AS [HighCommandId] FROM [LocustLeaders] AS [l0] @@ -6230,7 +6875,8 @@ UNION ALL SELECT [l1].[HighCommandId] FROM [LocustCommanders] AS [l1] ) AS [t] -LEFT JOIN [LocustHighCommands] AS [l] ON [t].[HighCommandId] = [l].[Id]"); +LEFT JOIN [LocustHighCommands] AS [l] ON [t].[HighCommandId] = [l].[Id] +"""); } public override async Task Select_required_navigation_on_the_same_type_with_cast(bool async) @@ -6238,7 +6884,8 @@ public override async Task Select_required_navigation_on_the_same_type_with_cast await base.Select_required_navigation_on_the_same_type_with_cast(async); AssertSql( - @"SELECT [c].[Name] +""" +SELECT [c].[Name] FROM ( SELECT [g].[CityOfBirthName] FROM [Gears] AS [g] @@ -6246,7 +6893,8 @@ UNION ALL SELECT [o].[CityOfBirthName] FROM [Officers] AS [o] ) AS [t] -INNER JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Where_required_navigation_on_derived_type(bool async) @@ -6254,7 +6902,8 @@ public override async Task Where_required_navigation_on_derived_type(bool async) await base.Where_required_navigation_on_derived_type(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l0] @@ -6263,7 +6912,8 @@ UNION ALL FROM [LocustCommanders] AS [l1] ) AS [t] LEFT JOIN [LocustHighCommands] AS [l] ON [t].[HighCommandId] = [l].[Id] -WHERE [l].[IsOperational] = CAST(1 AS bit)"); +WHERE [l].[IsOperational] = CAST(1 AS bit) +"""); } public override async Task Outer_parameter_in_join_key(bool async) @@ -6271,7 +6921,8 @@ public override async Task Outer_parameter_in_join_key(bool async) await base.Outer_parameter_in_join_key(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -6287,7 +6938,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t2] ON [t].[FullName] = [t2].[FullName] ) AS [t1] -ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname] +"""); } public override async Task Outer_parameter_in_join_key_inner_and_outer(bool async) @@ -6295,7 +6947,8 @@ public override async Task Outer_parameter_in_join_key_inner_and_outer(bool asyn await base.Outer_parameter_in_join_key_inner_and_outer(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -6311,7 +6964,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t2] ON [t].[FullName] = [t].[Nickname] ) AS [t1] -ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname] +"""); } public override async Task Outer_parameter_in_group_join_with_DefaultIfEmpty(bool async) @@ -6319,7 +6973,8 @@ public override async Task Outer_parameter_in_group_join_with_DefaultIfEmpty(boo await base.Outer_parameter_in_group_join_with_DefaultIfEmpty(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -6335,7 +6990,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t2] ON [t].[FullName] = [t2].[FullName] ) AS [t1] -ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t1].[Id], [t1].[Nickname] +"""); } public override async Task Negated_bool_ternary_inside_anonymous_type_in_projection(bool async) @@ -6343,7 +6999,8 @@ public override async Task Negated_bool_ternary_inside_anonymous_type_in_project await base.Negated_bool_ternary_inside_anonymous_type_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN CASE WHEN [t0].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE COALESCE([t0].[HasSoulPatch], CAST(1 AS bit)) @@ -6357,7 +7014,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[HasSoulPatch] FROM [Officers] AS [o] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Order_by_entity_qsre(bool async) @@ -6365,7 +7023,8 @@ public override async Task Order_by_entity_qsre(bool async) await base.Order_by_entity_qsre(async); AssertSql( - @"SELECT [t].[FullName] +""" +SELECT [t].[FullName] FROM ( SELECT [g].[Nickname], [g].[AssignedCityName], [g].[FullName] FROM [Gears] AS [g] @@ -6374,7 +7033,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Cities] AS [c] ON [t].[AssignedCityName] = [c].[Name] -ORDER BY [c].[Name], [t].[Nickname] DESC"); +ORDER BY [c].[Name], [t].[Nickname] DESC +"""); } public override async Task Order_by_entity_qsre_with_inheritance(bool async) @@ -6382,13 +7042,15 @@ public override async Task Order_by_entity_qsre_with_inheritance(bool async) await base.Order_by_entity_qsre_with_inheritance(async); AssertSql( - @"SELECT [t].[Name] +""" +SELECT [t].[Name] FROM ( SELECT [l0].[Name], [l0].[HighCommandId] FROM [LocustCommanders] AS [l0] ) AS [t] INNER JOIN [LocustHighCommands] AS [l] ON [t].[HighCommandId] = [l].[Id] -ORDER BY [l].[Id], [t].[Name]"); +ORDER BY [l].[Id], [t].[Name] +"""); } public override async Task Order_by_entity_qsre_composite_key(bool async) @@ -6396,7 +7058,8 @@ public override async Task Order_by_entity_qsre_composite_key(bool async) await base.Order_by_entity_qsre_composite_key(async); AssertSql( - @"SELECT [w].[Name] +""" +SELECT [w].[Name] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] @@ -6405,7 +7068,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] -ORDER BY [t].[Nickname], [t].[SquadId], [w].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [w].[Id] +"""); } public override async Task Order_by_entity_qsre_with_other_orderbys(bool async) @@ -6413,7 +7077,8 @@ public override async Task Order_by_entity_qsre_with_other_orderbys(bool async) await base.Order_by_entity_qsre_with_other_orderbys(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] @@ -6423,7 +7088,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w].[IsAutomatic], [t].[Nickname] DESC, [t].[SquadId] DESC, [w0].[Id], [w].[Name]"); +ORDER BY [w].[IsAutomatic], [t].[Nickname] DESC, [t].[SquadId] DESC, [w0].[Id], [w].[Name] +"""); } public override async Task Join_on_entity_qsre_keys(bool async) @@ -6431,9 +7097,11 @@ public override async Task Join_on_entity_qsre_keys(bool async) await base.Join_on_entity_qsre_keys(async); AssertSql( - @"SELECT [w].[Name] AS [Name1], [w0].[Name] AS [Name2] +""" +SELECT [w].[Name] AS [Name1], [w0].[Name] AS [Name2] FROM [Weapons] AS [w] -INNER JOIN [Weapons] AS [w0] ON [w].[Id] = [w0].[Id]"); +INNER JOIN [Weapons] AS [w0] ON [w].[Id] = [w0].[Id] +"""); } public override async Task Join_on_entity_qsre_keys_composite_key(bool async) @@ -6441,7 +7109,8 @@ public override async Task Join_on_entity_qsre_keys_composite_key(bool async) await base.Join_on_entity_qsre_keys_composite_key(async); AssertSql( - @"SELECT [t].[FullName] AS [GearName1], [t0].[FullName] AS [GearName2] +""" +SELECT [t].[FullName] AS [GearName1], [t0].[FullName] AS [GearName2] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -6455,7 +7124,8 @@ FROM [Gears] AS [g0] UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[FullName] FROM [Officers] AS [o0] -) AS [t0] ON [t].[Nickname] = [t0].[Nickname] AND [t].[SquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[Nickname] = [t0].[Nickname] AND [t].[SquadId] = [t0].[SquadId] +"""); } public override async Task Join_on_entity_qsre_keys_inheritance(bool async) @@ -6463,7 +7133,8 @@ public override async Task Join_on_entity_qsre_keys_inheritance(bool async) await base.Join_on_entity_qsre_keys_inheritance(async); AssertSql( - @"SELECT [t].[FullName] AS [GearName], [t0].[FullName] AS [OfficerName] +""" +SELECT [t].[FullName] AS [GearName], [t0].[FullName] AS [OfficerName] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -6474,7 +7145,8 @@ FROM [Officers] AS [o] INNER JOIN ( SELECT [o0].[Nickname], [o0].[SquadId], [o0].[FullName] FROM [Officers] AS [o0] -) AS [t0] ON [t].[Nickname] = [t0].[Nickname] AND [t].[SquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[Nickname] = [t0].[Nickname] AND [t].[SquadId] = [t0].[SquadId] +"""); } public override async Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool async) @@ -6482,10 +7154,12 @@ public override async Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool await base.Join_on_entity_qsre_keys_outer_key_is_navigation(async); AssertSql( - @"SELECT [w].[Name] AS [Name1], [w1].[Name] AS [Name2] +""" +SELECT [w].[Name] AS [Name1], [w1].[Name] AS [Name2] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -INNER JOIN [Weapons] AS [w1] ON [w0].[Id] = [w1].[Id]"); +INNER JOIN [Weapons] AS [w1] ON [w0].[Id] = [w1].[Id] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool async) @@ -6493,7 +7167,8 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool await base.Join_on_entity_qsre_keys_inner_key_is_navigation(async); AssertSql( - @"SELECT [c].[Name] AS [CityName], [t0].[Nickname] AS [GearNickname] +""" +SELECT [c].[Name] AS [CityName], [t0].[Nickname] AS [GearNickname] FROM [Cities] AS [c] INNER JOIN ( SELECT [t].[Nickname], [c0].[Name] @@ -6505,7 +7180,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Cities] AS [c0] ON [t].[AssignedCityName] = [c0].[Name] -) AS [t0] ON [c].[Name] = [t0].[Name]"); +) AS [t0] ON [c].[Name] = [t0].[Name] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(bool async) @@ -6513,7 +7189,8 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation_comp await base.Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(async); AssertSql( - @"SELECT [t].[Nickname], [t1].[Note] +""" +SELECT [t].[Nickname], [t1].[Note] FROM ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] @@ -6532,7 +7209,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t2] ON [t0].[GearNickName] = [t2].[Nickname] AND [t0].[GearSquadId] = [t2].[SquadId] WHERE [t0].[Note] IN (N'Cole''s Tag', N'Dom''s Tag') -) AS [t1] ON [t].[Nickname] = [t1].[Nickname] AND [t].[SquadId] = [t1].[SquadId]"); +) AS [t1] ON [t].[Nickname] = [t1].[Nickname] AND [t].[SquadId] = [t1].[SquadId] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) @@ -6540,7 +7218,8 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_nested_navigati await base.Join_on_entity_qsre_keys_inner_key_is_nested_navigation(async); AssertSql( - @"SELECT [s].[Name] AS [SquadName], [t0].[Name] AS [WeaponName] +""" +SELECT [s].[Name] AS [SquadName], [t0].[Name] AS [WeaponName] FROM [Squads] AS [s] INNER JOIN ( SELECT [w].[Name], [s0].[Id] AS [Id0] @@ -6554,7 +7233,8 @@ FROM [Officers] AS [o] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] LEFT JOIN [Squads] AS [s0] ON [t].[SquadId] = [s0].[Id] WHERE [w].[IsAutomatic] = CAST(1 AS bit) -) AS [t0] ON [s].[Id] = [t0].[Id0]"); +) AS [t0] ON [s].[Id] = [t0].[Id0] +"""); } public override async Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) @@ -6562,7 +7242,8 @@ public override async Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_nav await base.GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(async); AssertSql( - @"SELECT [s].[Name] AS [SquadName], [t0].[Name] AS [WeaponName] +""" +SELECT [s].[Name] AS [SquadName], [t0].[Name] AS [WeaponName] FROM [Squads] AS [s] LEFT JOIN ( SELECT [w].[Name], [s0].[Id] AS [Id0] @@ -6575,7 +7256,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] LEFT JOIN [Squads] AS [s0] ON [t].[SquadId] = [s0].[Id] -) AS [t0] ON [s].[Id] = [t0].[Id0]"); +) AS [t0] ON [s].[Id] = [t0].[Id0] +"""); } public override async Task Streaming_correlated_collection_issue_11403(bool async) @@ -6583,7 +7265,8 @@ public override async Task Streaming_correlated_collection_issue_11403(bool asyn await base.Streaming_correlated_collection_issue_11403(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] FROM ( SELECT TOP(1) [t].[Nickname], [t].[SquadId], [t].[FullName] FROM ( @@ -6600,7 +7283,8 @@ LEFT JOIN ( FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(0 AS bit) ) AS [t1] ON [t0].[FullName] = [t1].[OwnerFullName] -ORDER BY [t0].[Nickname], [t0].[SquadId], [t1].[Id]"); +ORDER BY [t0].[Nickname], [t0].[SquadId], [t1].[Id] +"""); } public override async Task Project_one_value_type_from_empty_collection(bool async) @@ -6608,7 +7292,8 @@ public override async Task Project_one_value_type_from_empty_collection(bool asy await base.Project_one_value_type_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) [t].[SquadId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -6619,7 +7304,8 @@ FROM [Officers] AS [o] ) AS [t] WHERE [s].[Id] = [t].[SquadId] AND [t].[HasSoulPatch] = CAST(1 AS bit)), 0) AS [SquadId] FROM [Squads] AS [s] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Project_one_value_type_converted_to_nullable_from_empty_collection(bool async) @@ -6627,7 +7313,8 @@ public override async Task Project_one_value_type_converted_to_nullable_from_emp await base.Project_one_value_type_converted_to_nullable_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], ( +""" +SELECT [s].[Name], ( SELECT TOP(1) [t].[SquadId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -6638,7 +7325,8 @@ FROM [Officers] AS [o] ) AS [t] WHERE [s].[Id] = [t].[SquadId] AND [t].[HasSoulPatch] = CAST(1 AS bit)) AS [SquadId] FROM [Squads] AS [s] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Project_one_value_type_with_client_projection_from_empty_collection(bool async) @@ -6646,7 +7334,8 @@ public override async Task Project_one_value_type_with_client_projection_from_em await base.Project_one_value_type_with_client_projection_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], [t1].[SquadId], [t1].[LeaderSquadId], [t1].[c] +""" +SELECT [s].[Name], [t1].[SquadId], [t1].[LeaderSquadId], [t1].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t0].[SquadId], [t0].[LeaderSquadId], [t0].[c] @@ -6663,7 +7352,8 @@ FROM [Officers] AS [o] ) AS [t0] WHERE [t0].[row] <= 1 ) AS [t1] ON [s].[Id] = [t1].[SquadId] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Filter_on_subquery_projecting_one_value_type_from_empty_collection(bool async) @@ -6671,7 +7361,8 @@ public override async Task Filter_on_subquery_projecting_one_value_type_from_emp await base.Filter_on_subquery_projecting_one_value_type_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] AS [s] WHERE [s].[Name] = N'Kilo' AND COALESCE(( SELECT TOP(1) [t].[SquadId] @@ -6682,7 +7373,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] - WHERE [s].[Id] = [t].[SquadId] AND [t].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0"); + WHERE [s].[Id] = [t].[SquadId] AND [t].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0 +"""); } public override async Task Select_subquery_projecting_single_constant_int(bool async) @@ -6690,7 +7382,8 @@ public override async Task Select_subquery_projecting_single_constant_int(bool a await base.Select_subquery_projecting_single_constant_int(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) 42 FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -6700,7 +7393,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] WHERE [s].[Id] = [t].[SquadId] AND [t].[HasSoulPatch] = CAST(1 AS bit)), 0) AS [Gear] -FROM [Squads] AS [s]"); +FROM [Squads] AS [s] +"""); } public override async Task Select_subquery_projecting_single_constant_string(bool async) @@ -6708,7 +7402,8 @@ public override async Task Select_subquery_projecting_single_constant_string(boo await base.Select_subquery_projecting_single_constant_string(async); AssertSql( - @"SELECT [s].[Name], ( +""" +SELECT [s].[Name], ( SELECT TOP(1) N'Foo' FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -6718,7 +7413,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] WHERE [s].[Id] = [t].[SquadId] AND [t].[HasSoulPatch] = CAST(1 AS bit)) AS [Gear] -FROM [Squads] AS [s]"); +FROM [Squads] AS [s] +"""); } public override async Task Select_subquery_projecting_single_constant_bool(bool async) @@ -6726,7 +7422,8 @@ public override async Task Select_subquery_projecting_single_constant_bool(bool await base.Select_subquery_projecting_single_constant_bool(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) CAST(1 AS bit) FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -6736,7 +7433,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] WHERE [s].[Id] = [t].[SquadId] AND [t].[HasSoulPatch] = CAST(1 AS bit)), CAST(0 AS bit)) AS [Gear] -FROM [Squads] AS [s]"); +FROM [Squads] AS [s] +"""); } public override async Task Select_subquery_projecting_single_constant_inside_anonymous(bool async) @@ -6744,7 +7442,8 @@ public override async Task Select_subquery_projecting_single_constant_inside_ano await base.Select_subquery_projecting_single_constant_inside_anonymous(async); AssertSql( - @"SELECT [s].[Name], [t1].[One] +""" +SELECT [s].[Name], [t1].[One] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t0].[One], [t0].[SquadId] @@ -6760,7 +7459,8 @@ FROM [Officers] AS [o] WHERE [t].[HasSoulPatch] = CAST(1 AS bit) ) AS [t0] WHERE [t0].[row] <= 1 -) AS [t1] ON [s].[Id] = [t1].[SquadId]"); +) AS [t1] ON [s].[Id] = [t1].[SquadId] +"""); } public override async Task Select_subquery_projecting_multiple_constants_inside_anonymous(bool async) @@ -6768,7 +7468,8 @@ public override async Task Select_subquery_projecting_multiple_constants_inside_ await base.Select_subquery_projecting_multiple_constants_inside_anonymous(async); AssertSql( - @"SELECT [s].[Name], [t1].[True1], [t1].[False1], [t1].[c] +""" +SELECT [s].[Name], [t1].[True1], [t1].[False1], [t1].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t0].[True1], [t0].[False1], [t0].[c], [t0].[SquadId] @@ -6784,7 +7485,8 @@ FROM [Officers] AS [o] WHERE [t].[HasSoulPatch] = CAST(1 AS bit) ) AS [t0] WHERE [t0].[row] <= 1 -) AS [t1] ON [s].[Id] = [t1].[SquadId]"); +) AS [t1] ON [s].[Id] = [t1].[SquadId] +"""); } public override async Task Include_with_order_by_constant(bool async) @@ -6792,7 +7494,8 @@ public override async Task Include_with_order_by_constant(bool async) await base.Include_with_order_by_constant(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Squads] AS [s] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -6801,7 +7504,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] ON [s].[Id] = [t].[SquadId] -ORDER BY [s].[Id], [t].[Nickname]"); +ORDER BY [s].[Id], [t].[Nickname] +"""); } public override async Task Correlated_collection_order_by_constant(bool async) @@ -6809,7 +7513,8 @@ public override async Task Correlated_collection_order_by_constant(bool async) await base.Correlated_collection_order_by_constant(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Name], [w].[Id] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -6818,7 +7523,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Select_subquery_projecting_single_constant_null_of_non_mapped_type(bool async) @@ -6826,7 +7532,8 @@ public override async Task Select_subquery_projecting_single_constant_null_of_no await base.Select_subquery_projecting_single_constant_null_of_non_mapped_type(async); AssertSql( - @"SELECT [s].[Name], [t1].[c] +""" +SELECT [s].[Name], [t1].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t0].[c], [t0].[SquadId] @@ -6842,7 +7549,8 @@ FROM [Officers] AS [o] WHERE [t].[HasSoulPatch] = CAST(1 AS bit) ) AS [t0] WHERE [t0].[row] <= 1 -) AS [t1] ON [s].[Id] = [t1].[SquadId]"); +) AS [t1] ON [s].[Id] = [t1].[SquadId] +"""); } public override async Task Select_subquery_projecting_single_constant_of_non_mapped_type(bool async) @@ -6850,7 +7558,8 @@ public override async Task Select_subquery_projecting_single_constant_of_non_map await base.Select_subquery_projecting_single_constant_of_non_mapped_type(async); AssertSql( - @"SELECT [s].[Name], [t1].[c] +""" +SELECT [s].[Name], [t1].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t0].[c], [t0].[SquadId] @@ -6866,7 +7575,8 @@ FROM [Officers] AS [o] WHERE [t].[HasSoulPatch] = CAST(1 AS bit) ) AS [t0] WHERE [t0].[row] <= 1 -) AS [t1] ON [s].[Id] = [t1].[SquadId]"); +) AS [t1] ON [s].[Id] = [t1].[SquadId] +"""); } public override async Task Include_collection_OrderBy_aggregate(bool async) @@ -6874,7 +7584,8 @@ public override async Task Include_collection_OrderBy_aggregate(bool async) await base.Include_collection_OrderBy_aggregate(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] @@ -6889,7 +7600,8 @@ FROM [Officers] AS [o0] ORDER BY ( SELECT COUNT(*) FROM [Weapons] AS [w] - WHERE [t].[FullName] = [w].[OwnerFullName]), [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); + WHERE [t].[FullName] = [w].[OwnerFullName]), [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Include_collection_with_complex_OrderBy2(bool async) @@ -6897,7 +7609,8 @@ public override async Task Include_collection_with_complex_OrderBy2(bool async) await base.Include_collection_with_complex_OrderBy2(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] @@ -6913,7 +7626,8 @@ ORDER BY ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); + ORDER BY [w].[Id]), [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Include_collection_with_complex_OrderBy3(bool async) @@ -6921,7 +7635,8 @@ public override async Task Include_collection_with_complex_OrderBy3(bool async) await base.Include_collection_with_complex_OrderBy3(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] @@ -6937,7 +7652,8 @@ ORDER BY COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), CAST(0 AS bit)), [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); + ORDER BY [w].[Id]), CAST(0 AS bit)), [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Correlated_collection_with_complex_OrderBy(bool async) @@ -6945,7 +7661,8 @@ public override async Task Correlated_collection_with_complex_OrderBy(bool async await base.Correlated_collection_with_complex_OrderBy(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -6964,7 +7681,8 @@ FROM [Officers] AS [o0] ORDER BY ( SELECT COUNT(*) FROM [Weapons] AS [w] - WHERE [t].[FullName] = [w].[OwnerFullName]), [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); + WHERE [t].[FullName] = [w].[OwnerFullName]), [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Correlated_collection_with_very_complex_order_by(bool async) @@ -6972,7 +7690,8 @@ public override async Task Correlated_collection_with_very_complex_order_by(bool await base.Correlated_collection_with_very_complex_order_by(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -7000,7 +7719,8 @@ UNION ALL SELECT [o1].[Nickname], [o1].[SquadId], [o1].[AssignedCityName], [o1].[CityOfBirthName], [o1].[FullName], [o1].[HasSoulPatch], [o1].[LeaderNickname], [o1].[LeaderSquadId], [o1].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o1] ) AS [t0] - WHERE [t0].[Nickname] = N'Marcus'), CAST(0 AS bit))), [t].[Nickname], [t].[SquadId], [t1].[Nickname]"); + WHERE [t0].[Nickname] = N'Marcus'), CAST(0 AS bit))), [t].[Nickname], [t].[SquadId], [t1].[Nickname] +"""); } public override async Task Cast_to_derived_type_after_OfType_works(bool async) @@ -7008,8 +7728,10 @@ public override async Task Cast_to_derived_type_after_OfType_works(bool async) await base.Cast_to_derived_type_after_OfType_works(async); AssertSql( - @"SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] -FROM [Officers] AS [o]"); +""" +SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] +FROM [Officers] AS [o] +"""); } public override async Task Select_subquery_boolean(bool async) @@ -7017,7 +7739,8 @@ public override async Task Select_subquery_boolean(bool async) await base.Select_subquery_boolean(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] @@ -7028,7 +7751,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_subquery_boolean_with_pushdown(bool async) @@ -7036,7 +7760,8 @@ public override async Task Select_subquery_boolean_with_pushdown(bool async) await base.Select_subquery_boolean_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] @@ -7047,7 +7772,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_subquery_int_with_inside_cast_and_coalesce(bool async) @@ -7055,7 +7781,8 @@ public override async Task Select_subquery_int_with_inside_cast_and_coalesce(boo await base.Select_subquery_int_with_inside_cast_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] @@ -7066,7 +7793,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_subquery_int_with_outside_cast_and_coalesce(bool async) @@ -7074,7 +7802,8 @@ public override async Task Select_subquery_int_with_outside_cast_and_coalesce(bo await base.Select_subquery_int_with_outside_cast_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] @@ -7085,7 +7814,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_subquery_int_with_pushdown_and_coalesce(bool async) @@ -7093,7 +7823,8 @@ public override async Task Select_subquery_int_with_pushdown_and_coalesce(bool a await base.Select_subquery_int_with_pushdown_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] @@ -7104,7 +7835,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_subquery_int_with_pushdown_and_coalesce2(bool async) @@ -7112,7 +7844,8 @@ public override async Task Select_subquery_int_with_pushdown_and_coalesce2(bool await base.Select_subquery_int_with_pushdown_and_coalesce2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] @@ -7127,7 +7860,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_subquery_boolean_empty(bool async) @@ -7135,7 +7869,8 @@ public override async Task Select_subquery_boolean_empty(bool async) await base.Select_subquery_boolean_empty(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' @@ -7146,7 +7881,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_subquery_boolean_empty_with_pushdown(bool async) @@ -7154,7 +7890,8 @@ public override async Task Select_subquery_boolean_empty_with_pushdown(bool asyn await base.Select_subquery_boolean_empty_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' @@ -7165,7 +7902,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean1(bool async) @@ -7173,7 +7911,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean1(boo await base.Select_subquery_distinct_singleordefault_boolean1(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [t0].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -7187,7 +7926,8 @@ UNION ALL SELECT [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean2(bool async) @@ -7195,7 +7935,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean2(boo await base.Select_subquery_distinct_singleordefault_boolean2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%')), CAST(0 AS bit)) @@ -7206,7 +7947,8 @@ UNION ALL SELECT [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) @@ -7214,7 +7956,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_with await base.Select_subquery_distinct_singleordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t0].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -7228,7 +7971,8 @@ UNION ALL SELECT [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty1(bool async) @@ -7236,7 +7980,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty1(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [t0].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -7250,7 +7995,8 @@ UNION ALL SELECT [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty2(bool async) @@ -7258,7 +8004,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG'), CAST(0 AS bit)) @@ -7269,7 +8016,8 @@ UNION ALL SELECT [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(bool async) @@ -7277,7 +8025,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t0].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -7291,7 +8040,8 @@ UNION ALL SELECT [o].[FullName], [o].[HasSoulPatch] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Cast_subquery_to_base_type_using_typed_ToList(bool async) @@ -7299,7 +8049,8 @@ public override async Task Cast_subquery_to_base_type_using_typed_ToList(bool as await base.Cast_subquery_to_base_type_using_typed_ToList(async); AssertSql( - @"SELECT [c].[Name], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Nickname], [t].[Rank], [t].[SquadId] +""" +SELECT [c].[Name], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Nickname], [t].[Rank], [t].[SquadId] FROM [Cities] AS [c] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] @@ -7309,7 +8060,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] ON [c].[Name] = [t].[AssignedCityName] WHERE [c].[Name] = N'Ephyra' -ORDER BY [c].[Name], [t].[Nickname]"); +ORDER BY [c].[Name], [t].[Nickname] +"""); } public override async Task Cast_ordered_subquery_to_base_type_using_typed_ToArray(bool async) @@ -7317,7 +8069,8 @@ public override async Task Cast_ordered_subquery_to_base_type_using_typed_ToArra await base.Cast_ordered_subquery_to_base_type_using_typed_ToArray(async); AssertSql( - @"SELECT [c].[Name], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Nickname], [t].[Rank], [t].[SquadId] +""" +SELECT [c].[Name], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Nickname], [t].[Rank], [t].[SquadId] FROM [Cities] AS [c] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank] @@ -7327,7 +8080,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] ON [c].[Name] = [t].[AssignedCityName] WHERE [c].[Name] = N'Ephyra' -ORDER BY [c].[Name], [t].[Nickname] DESC"); +ORDER BY [c].[Name], [t].[Nickname] DESC +"""); } public override async Task Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(bool async) @@ -7335,7 +8089,8 @@ public override async Task Correlated_collection_with_complex_order_by_funcletiz await base.Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Name], [w].[Id] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -7344,7 +8099,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Double_order_by_on_nullable_bool_coming_from_optional_navigation(bool async) @@ -7352,10 +8108,12 @@ public override async Task Double_order_by_on_nullable_bool_coming_from_optional await base.Double_order_by_on_nullable_bool_coming_from_optional_navigation(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w0].[IsAutomatic], [w0].[Id]"); +ORDER BY [w0].[IsAutomatic], [w0].[Id] +"""); } public override async Task Double_order_by_on_Like(bool async) @@ -7363,13 +8121,15 @@ public override async Task Double_order_by_on_Like(bool async) await base.Double_order_by_on_Like(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] LIKE N'%Lancer' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Double_order_by_on_is_null(bool async) @@ -7377,13 +8137,15 @@ public override async Task Double_order_by_on_is_null(bool async) await base.Double_order_by_on_is_null(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Double_order_by_on_string_compare(bool async) @@ -7391,12 +8153,14 @@ public override async Task Double_order_by_on_string_compare(bool async) await base.Double_order_by_on_string_compare(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] ORDER BY CASE WHEN [w].[Name] = N'Marcus'' Lancer' AND ([w].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END, [w].[Id]"); +END, [w].[Id] +"""); } public override async Task Double_order_by_binary_expression(bool async) @@ -7404,9 +8168,11 @@ public override async Task Double_order_by_binary_expression(bool async) await base.Double_order_by_binary_expression(async); AssertSql( - @"SELECT [w].[Id] + 2 AS [Binary] +""" +SELECT [w].[Id] + 2 AS [Binary] FROM [Weapons] AS [w] -ORDER BY [w].[Id] + 2"); +ORDER BY [w].[Id] + 2 +"""); } public override async Task String_compare_with_null_conditional_argument(bool async) @@ -7414,13 +8180,15 @@ public override async Task String_compare_with_null_conditional_argument(bool as await base.String_compare_with_null_conditional_argument(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] = N'Marcus'' Lancer' AND ([w0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task String_compare_with_null_conditional_argument2(bool async) @@ -7428,13 +8196,15 @@ public override async Task String_compare_with_null_conditional_argument2(bool a await base.String_compare_with_null_conditional_argument2(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN N'Marcus'' Lancer' = [w0].[Name] AND ([w0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task String_concat_with_null_conditional_argument(bool async) @@ -7442,10 +8212,12 @@ public override async Task String_concat_with_null_conditional_argument(bool asy await base.String_concat_with_null_conditional_argument(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY COALESCE([w0].[Name], N'') + CAST(5 AS nvarchar(max))"); +ORDER BY COALESCE([w0].[Name], N'') + CAST(5 AS nvarchar(max)) +"""); } public override async Task String_concat_with_null_conditional_argument2(bool async) @@ -7453,10 +8225,12 @@ public override async Task String_concat_with_null_conditional_argument2(bool as await base.String_concat_with_null_conditional_argument2(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY COALESCE([w0].[Name], N'') + N'Marcus'' Lancer'"); +ORDER BY COALESCE([w0].[Name], N'') + N'Marcus'' Lancer' +"""); } public override async Task String_concat_on_various_types(bool async) @@ -7464,7 +8238,8 @@ public override async Task String_concat_on_various_types(bool async) await base.String_concat_on_various_types(async); AssertSql( - @"SELECT (N'HasSoulPatch ' + CAST([t].[HasSoulPatch] AS nvarchar(max))) + N' HasSoulPatch' AS [HasSoulPatch], (N'Rank ' + CAST([t].[Rank] AS nvarchar(max))) + N' Rank' AS [Rank], (N'SquadId ' + CAST([t].[SquadId] AS nvarchar(max))) + N' SquadId' AS [SquadId], (N'Rating ' + COALESCE(CAST([m].[Rating] AS nvarchar(max)), N'')) + N' Rating' AS [Rating], (N'Timeline ' + CAST([m].[Timeline] AS nvarchar(max))) + N' Timeline' AS [Timeline] +""" +SELECT (N'HasSoulPatch ' + CAST([t].[HasSoulPatch] AS nvarchar(max))) + N' HasSoulPatch' AS [HasSoulPatch], (N'Rank ' + CAST([t].[Rank] AS nvarchar(max))) + N' Rank' AS [Rank], (N'SquadId ' + CAST([t].[SquadId] AS nvarchar(max))) + N' SquadId' AS [SquadId], (N'Rating ' + COALESCE(CAST([m].[Rating] AS nvarchar(max)), N'')) + N' Rating' AS [Rating], (N'Timeline ' + CAST([m].[Timeline] AS nvarchar(max))) + N' Timeline' AS [Timeline] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch], [g].[Rank] FROM [Gears] AS [g] @@ -7473,7 +8248,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] CROSS JOIN [Missions] AS [m] -ORDER BY [t].[Nickname], [m].[Id]"); +ORDER BY [t].[Nickname], [m].[Id] +"""); } public override async Task Time_of_day_datetimeoffset(bool async) @@ -7481,8 +8257,10 @@ public override async Task Time_of_day_datetimeoffset(bool async) await base.Time_of_day_datetimeoffset(async); AssertSql( - @"SELECT CONVERT(time, [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT CONVERT(time, [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task GroupBy_Property_Include_Select_Average(bool async) @@ -7490,7 +8268,8 @@ public override async Task GroupBy_Property_Include_Select_Average(bool async) await base.GroupBy_Property_Include_Select_Average(async); AssertSql( - @"SELECT AVG(CAST([t].[SquadId] AS float)) +""" +SELECT AVG(CAST([t].[SquadId] AS float)) FROM ( SELECT [g].[SquadId], [g].[Rank] FROM [Gears] AS [g] @@ -7498,7 +8277,8 @@ UNION ALL SELECT [o].[SquadId], [o].[Rank] FROM [Officers] AS [o] ) AS [t] -GROUP BY [t].[Rank]"); +GROUP BY [t].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Sum(bool async) @@ -7506,7 +8286,8 @@ public override async Task GroupBy_Property_Include_Select_Sum(bool async) await base.GroupBy_Property_Include_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([t].[SquadId]), 0) +""" +SELECT COALESCE(SUM([t].[SquadId]), 0) FROM ( SELECT [g].[SquadId], [g].[Rank] FROM [Gears] AS [g] @@ -7514,7 +8295,8 @@ UNION ALL SELECT [o].[SquadId], [o].[Rank] FROM [Officers] AS [o] ) AS [t] -GROUP BY [t].[Rank]"); +GROUP BY [t].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Count(bool async) @@ -7522,7 +8304,8 @@ public override async Task GroupBy_Property_Include_Select_Count(bool async) await base.GroupBy_Property_Include_Select_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Rank] FROM [Gears] AS [g] @@ -7530,7 +8313,8 @@ UNION ALL SELECT [o].[Rank] FROM [Officers] AS [o] ) AS [t] -GROUP BY [t].[Rank]"); +GROUP BY [t].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_LongCount(bool async) @@ -7538,7 +8322,8 @@ public override async Task GroupBy_Property_Include_Select_LongCount(bool async) await base.GroupBy_Property_Include_Select_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM ( SELECT [g].[Rank] FROM [Gears] AS [g] @@ -7546,7 +8331,8 @@ UNION ALL SELECT [o].[Rank] FROM [Officers] AS [o] ) AS [t] -GROUP BY [t].[Rank]"); +GROUP BY [t].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Min(bool async) @@ -7554,7 +8340,8 @@ public override async Task GroupBy_Property_Include_Select_Min(bool async) await base.GroupBy_Property_Include_Select_Min(async); AssertSql( - @"SELECT MIN([t].[SquadId]) +""" +SELECT MIN([t].[SquadId]) FROM ( SELECT [g].[SquadId], [g].[Rank] FROM [Gears] AS [g] @@ -7562,7 +8349,8 @@ UNION ALL SELECT [o].[SquadId], [o].[Rank] FROM [Officers] AS [o] ) AS [t] -GROUP BY [t].[Rank]"); +GROUP BY [t].[Rank] +"""); } public override async Task GroupBy_Property_Include_Aggregate_with_anonymous_selector(bool async) @@ -7570,7 +8358,8 @@ public override async Task GroupBy_Property_Include_Aggregate_with_anonymous_sel await base.GroupBy_Property_Include_Aggregate_with_anonymous_selector(async); AssertSql( - @"SELECT [t].[Nickname] AS [Key], COUNT(*) AS [c] +""" +SELECT [t].[Nickname] AS [Key], COUNT(*) AS [c] FROM ( SELECT [g].[Nickname] FROM [Gears] AS [g] @@ -7579,7 +8368,8 @@ SELECT [o].[Nickname] FROM [Officers] AS [o] ) AS [t] GROUP BY [t].[Nickname] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Group_by_with_include_with_entity_in_result_selector(bool async) @@ -7587,7 +8377,8 @@ public override async Task Group_by_with_include_with_entity_in_result_selector( await base.Group_by_with_include_with_entity_in_result_selector(async); AssertSql( - @"SELECT [t0].[Rank], [t0].[c], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator], [t1].[Name], [t1].[Location], [t1].[Nation] +""" +SELECT [t0].[Rank], [t0].[c], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator], [t1].[Name], [t1].[Location], [t1].[Nation] FROM ( SELECT [t].[Rank], COUNT(*) AS [c] FROM ( @@ -7614,7 +8405,8 @@ FROM [Officers] AS [o0] ) AS [t2] WHERE [t2].[row] <= 1 ) AS [t1] ON [t0].[Rank] = [t1].[Rank] -ORDER BY [t0].[Rank]"); +ORDER BY [t0].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Max(bool async) @@ -7622,7 +8414,8 @@ public override async Task GroupBy_Property_Include_Select_Max(bool async) await base.GroupBy_Property_Include_Select_Max(async); AssertSql( - @"SELECT MAX([t].[SquadId]) +""" +SELECT MAX([t].[SquadId]) FROM ( SELECT [g].[SquadId], [g].[Rank] FROM [Gears] AS [g] @@ -7630,7 +8423,8 @@ UNION ALL SELECT [o].[SquadId], [o].[Rank] FROM [Officers] AS [o] ) AS [t] -GROUP BY [t].[Rank]"); +GROUP BY [t].[Rank] +"""); } public override async Task Include_with_group_by_and_FirstOrDefault_gets_properly_applied(bool async) @@ -7638,7 +8432,8 @@ public override async Task Include_with_group_by_and_FirstOrDefault_gets_properl await base.Include_with_group_by_and_FirstOrDefault_gets_properly_applied(async); AssertSql( - @"SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator], [t1].[Name], [t1].[Location], [t1].[Nation] +""" +SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator], [t1].[Name], [t1].[Location], [t1].[Nation] FROM ( SELECT [t].[Rank] FROM ( @@ -7665,7 +8460,8 @@ FROM [Officers] AS [o0] WHERE [t3].[HasSoulPatch] = CAST(1 AS bit) ) AS [t2] WHERE [t2].[row] <= 1 -) AS [t1] ON [t0].[Rank] = [t1].[Rank]"); +) AS [t1] ON [t0].[Rank] = [t1].[Rank] +"""); } public override async Task Include_collection_with_Cast_to_base(bool async) @@ -7673,13 +8469,15 @@ public override async Task Include_collection_with_Cast_to_base(bool async) await base.Include_collection_with_Cast_to_base(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Include_with_client_method_and_member_access_still_applies_includes(bool async) @@ -7687,7 +8485,8 @@ public override async Task Include_with_client_method_and_member_access_still_ap await base.Include_with_client_method_and_member_access_still_applies_includes(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -7695,7 +8494,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId]"); +LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] +"""); } public override async Task Include_with_projection_of_unmapped_property_still_gets_applied(bool async) @@ -7703,7 +8503,8 @@ public override async Task Include_with_projection_of_unmapped_property_still_ge await base.Include_with_projection_of_unmapped_property_still_gets_applied(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -7712,7 +8513,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Multiple_includes_with_client_method_around_entity_and_also_projecting_included_collection() @@ -7720,7 +8522,8 @@ public override async Task Multiple_includes_with_client_method_around_entity_an await base.Multiple_includes_with_client_method_around_entity_and_also_projecting_included_collection(); AssertSql( - @"SELECT [s].[Name], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [s].[Name], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -7734,7 +8537,8 @@ FROM [Officers] AS [o] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] ) AS [t0] ON [s].[Id] = [t0].[SquadId] WHERE [s].[Name] = N'Delta' -ORDER BY [s].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [s].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(bool async) @@ -7742,7 +8546,8 @@ public override async Task OrderBy_same_expression_containing_IsNull_correctly_d await base.OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([t].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -7765,7 +8570,8 @@ ELSE CAST(0 AS bit) ELSE NULL END IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task GetValueOrDefault_in_projection(bool async) @@ -7773,8 +8579,10 @@ public override async Task GetValueOrDefault_in_projection(bool async) await base.GetValueOrDefault_in_projection(async); AssertSql( - @"SELECT COALESCE([w].[SynergyWithId], 0) -FROM [Weapons] AS [w]"); +""" +SELECT COALESCE([w].[SynergyWithId], 0) +FROM [Weapons] AS [w] +"""); } public override async Task GetValueOrDefault_in_filter(bool async) @@ -7782,9 +8590,11 @@ public override async Task GetValueOrDefault_in_filter(bool async) await base.GetValueOrDefault_in_filter(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[SynergyWithId], 0) = 0"); +WHERE COALESCE([w].[SynergyWithId], 0) = 0 +"""); } public override async Task GetValueOrDefault_in_filter_non_nullable_column(bool async) @@ -7792,9 +8602,11 @@ public override async Task GetValueOrDefault_in_filter_non_nullable_column(bool await base.GetValueOrDefault_in_filter_non_nullable_column(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[Id], 0) = 0"); +WHERE COALESCE([w].[Id], 0) = 0 +"""); } public override async Task GetValueOrDefault_in_order_by(bool async) @@ -7802,9 +8614,11 @@ public override async Task GetValueOrDefault_in_order_by(bool async) await base.GetValueOrDefault_in_order_by(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -ORDER BY COALESCE([w].[SynergyWithId], 0), [w].[Id]"); +ORDER BY COALESCE([w].[SynergyWithId], 0), [w].[Id] +"""); } public override async Task GetValueOrDefault_with_argument(bool async) @@ -7812,9 +8626,11 @@ public override async Task GetValueOrDefault_with_argument(bool async) await base.GetValueOrDefault_with_argument(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[SynergyWithId], [w].[Id]) = 1"); +WHERE COALESCE([w].[SynergyWithId], [w].[Id]) = 1 +"""); } public override async Task GetValueOrDefault_with_argument_complex(bool async) @@ -7822,9 +8638,11 @@ public override async Task GetValueOrDefault_with_argument_complex(bool async) await base.GetValueOrDefault_with_argument_complex(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[SynergyWithId], CAST(LEN([w].[Name]) AS int) + 42) > 10"); +WHERE COALESCE([w].[SynergyWithId], CAST(LEN([w].[Name]) AS int) + 42) > 10 +"""); } public override async Task Filter_with_complex_predicate_containing_subquery(bool async) @@ -7832,7 +8650,8 @@ public override async Task Filter_with_complex_predicate_containing_subquery(boo await base.Filter_with_complex_predicate_containing_subquery(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -7843,7 +8662,8 @@ FROM [Officers] AS [o] WHERE [t].[FullName] <> N'Dom' AND EXISTS ( SELECT 1 FROM [Weapons] AS [w] - WHERE [t].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit))"); + WHERE [t].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit)) +"""); } public override async Task Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let( @@ -7852,7 +8672,8 @@ public override async Task Query_with_complex_let_containing_ordering_and_filter await base.Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let(async); AssertSql( - @"SELECT [t].[Nickname], ( +""" +SELECT [t].[Nickname], ( SELECT TOP(1) [w].[Name] FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit) @@ -7864,7 +8685,8 @@ UNION ALL SELECT [o].[Nickname], [o].[FullName] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[Nickname] <> N'Dom'"); +WHERE [t].[Nickname] <> N'Dom' +"""); } public override async Task @@ -7873,7 +8695,8 @@ public override async Task await base.Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -7882,7 +8705,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE SUBSTRING([t].[Note], 0 + 1, [t0].[SquadId]) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([t0].[SquadId] IS NULL)) AND ([t].[GearNickName] IS NULL))"); +WHERE SUBSTRING([t].[Note], 0 + 1, [t0].[SquadId]) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([t0].[SquadId] IS NULL)) AND ([t].[GearNickName] IS NULL)) +"""); } public override async Task @@ -7892,7 +8716,8 @@ await base.Null_semantics_is_correctly_applied_for_function_comparisons_that_tak async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -7902,7 +8727,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] -WHERE SUBSTRING([t].[Note], 0 + 1, CAST(LEN([s].[Name]) AS int)) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([s].[Name] IS NULL)) AND ([t].[GearNickName] IS NULL))"); +WHERE SUBSTRING([t].[Note], 0 + 1, CAST(LEN([s].[Name]) AS int)) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([s].[Name] IS NULL)) AND ([t].[GearNickName] IS NULL)) +"""); } public override async Task Filter_with_new_Guid(bool async) @@ -7910,9 +8736,11 @@ public override async Task Filter_with_new_Guid(bool async) await base.Filter_with_new_Guid(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] -WHERE [t].[Id] = 'df36f493-463f-4123-83f9-6b135deeb7ba'"); +WHERE [t].[Id] = 'df36f493-463f-4123-83f9-6b135deeb7ba' +"""); } public override async Task Filter_with_new_Guid_closure(bool async) @@ -7927,14 +8755,16 @@ public override async Task OfTypeNav1(bool async) await base.OfTypeNav1(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] LEFT JOIN [Tags] AS [t1] ON [t].[Nickname] = [t1].[GearNickName] AND [t].[SquadId] = [t1].[GearSquadId] -WHERE ([t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL)) AND ([t1].[Note] <> N'Bar' OR ([t1].[Note] IS NULL))"); +WHERE ([t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL)) AND ([t1].[Note] <> N'Bar' OR ([t1].[Note] IS NULL)) +"""); } public override async Task OfTypeNav2(bool async) @@ -7942,14 +8772,16 @@ public override async Task OfTypeNav2(bool async) await base.OfTypeNav2(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] LEFT JOIN [Cities] AS [c] ON [t].[AssignedCityName] = [c].[Name] -WHERE ([t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL)) AND ([c].[Location] <> 'Bar' OR ([c].[Location] IS NULL))"); +WHERE ([t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL)) AND ([c].[Location] <> 'Bar' OR ([c].[Location] IS NULL)) +"""); } public override async Task OfTypeNav3(bool async) @@ -7957,7 +8789,8 @@ public override async Task OfTypeNav3(bool async) await base.OfTypeNav3(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] @@ -7965,7 +8798,8 @@ FROM [Officers] AS [o] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] INNER JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] LEFT JOIN [Tags] AS [t1] ON [t].[Nickname] = [t1].[GearNickName] AND [t].[SquadId] = [t1].[GearSquadId] -WHERE ([t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL)) AND ([t1].[Note] <> N'Bar' OR ([t1].[Note] IS NULL))"); +WHERE ([t0].[Note] <> N'Foo' OR ([t0].[Note] IS NULL)) AND ([t1].[Note] <> N'Bar' OR ([t1].[Note] IS NULL)) +"""); } public override async Task Nav_rewrite_Distinct_with_convert() @@ -7987,11 +8821,13 @@ public override async Task Nav_rewrite_with_convert1(bool async) await base.Nav_rewrite_with_convert1(async); AssertSql( - @"SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] +""" +SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [LocustHordes] AS [l] LEFT JOIN [Cities] AS [c] ON [l].[CapitalName] = [c].[Name] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] -WHERE [c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)"); +WHERE [c].[Name] <> N'Foo' OR ([c].[Name] IS NULL) +"""); } public override async Task Nav_rewrite_with_convert2(bool async) @@ -7999,11 +8835,13 @@ public override async Task Nav_rewrite_with_convert2(bool async) await base.Nav_rewrite_with_convert2(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] FROM [LocustHordes] AS [l] LEFT JOIN [Cities] AS [c] ON [l].[CapitalName] = [c].[Name] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] -WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([l0].[Name] <> N'Bar' OR ([l0].[Name] IS NULL))"); +WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([l0].[Name] <> N'Bar' OR ([l0].[Name] IS NULL)) +"""); } public override async Task Nav_rewrite_with_convert3(bool async) @@ -8011,11 +8849,13 @@ public override async Task Nav_rewrite_with_convert3(bool async) await base.Nav_rewrite_with_convert3(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] FROM [LocustHordes] AS [l] LEFT JOIN [Cities] AS [c] ON [l].[CapitalName] = [c].[Name] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] -WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([l0].[Name] <> N'Bar' OR ([l0].[Name] IS NULL))"); +WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([l0].[Name] <> N'Bar' OR ([l0].[Name] IS NULL)) +"""); } public override async Task Where_contains_on_navigation_with_composite_keys(bool async) @@ -8023,7 +8863,8 @@ public override async Task Where_contains_on_navigation_with_composite_keys(bool await base.Where_contains_on_navigation_with_composite_keys(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -8043,7 +8884,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] - WHERE [c].[Name] = [t0].[CityOfBirthName] AND [t0].[Nickname] = [t].[Nickname] AND [t0].[SquadId] = [t].[SquadId]))"); + WHERE [c].[Name] = [t0].[CityOfBirthName] AND [t0].[Nickname] = [t].[Nickname] AND [t0].[SquadId] = [t].[SquadId])) +"""); } public override async Task Include_with_complex_order_by(bool async) @@ -8051,7 +8893,8 @@ public override async Task Include_with_complex_order_by(bool async) await base.Include_with_complex_order_by(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -8063,7 +8906,8 @@ FROM [Officers] AS [o] ORDER BY ( SELECT TOP(1) [w].[Name] FROM [Weapons] AS [w] - WHERE [t].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Gnasher%')), [t].[Nickname], [t].[SquadId]"); + WHERE [t].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Gnasher%')), [t].[Nickname], [t].[SquadId] +"""); } public override async Task Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(bool async) @@ -8071,7 +8915,8 @@ public override async Task Anonymous_projection_take_followed_by_projecting_sing await base.Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(async); AssertSql( - @"@__p_0='25' +""" +@__p_0='25' SELECT [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] FROM ( @@ -8091,7 +8936,8 @@ LEFT JOIN ( FROM [Weapons] AS [w] ) AS [t2] WHERE [t2].[row] <= 1 -) AS [t1] ON [t0].[FullName] = [t1].[OwnerFullName]"); +) AS [t1] ON [t0].[FullName] = [t1].[OwnerFullName] +"""); } public override async Task Bool_projection_from_subquery_treated_appropriately_in_where(bool async) @@ -8099,7 +8945,8 @@ public override async Task Bool_projection_from_subquery_treated_appropriately_i await base.Bool_projection_from_subquery_treated_appropriately_in_where(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] WHERE ( SELECT TOP(1) [t].[HasSoulPatch] @@ -8110,7 +8957,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] - ORDER BY [t].[Nickname], [t].[SquadId]) = CAST(1 AS bit)"); + ORDER BY [t].[Nickname], [t].[SquadId]) = CAST(1 AS bit) +"""); } public override async Task DateTimeOffset_Contains_Less_than_Greater_than(bool async) @@ -8118,12 +8966,14 @@ public override async Task DateTimeOffset_Contains_Less_than_Greater_than(bool a await base.DateTimeOffset_Contains_Less_than_Greater_than(async); AssertSql( - @"@__start_0='1902-01-01T10:00:00.1234567+01:30' +""" +@__start_0='1902-01-01T10:00:00.1234567+01:30' @__end_1='1902-01-03T10:00:00.1234567+01:30' SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE @__start_0 <= CAST(CONVERT(date, [m].[Timeline]) AS datetimeoffset) AND [m].[Timeline] < @__end_1 AND [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30'"); +WHERE @__start_0 <= CAST(CONVERT(date, [m].[Timeline]) AS datetimeoffset) AND [m].[Timeline] < @__end_1 AND [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30' +"""); } public override Task DateTimeOffsetNow_minus_timespan(bool async) @@ -8134,12 +8984,14 @@ public override async Task Navigation_inside_interpolated_string_expanded(bool a await base.Navigation_inside_interpolated_string_expanded(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [w0].[OwnerFullName] FROM [Weapons] AS [w] -LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id]"); +LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] +"""); } public override async Task Left_join_projection_using_coalesce_tracking(bool async) @@ -8147,7 +8999,8 @@ public override async Task Left_join_projection_using_coalesce_tracking(bool asy await base.Left_join_projection_using_coalesce_tracking(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -8161,7 +9014,8 @@ FROM [Gears] AS [g0] UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] -) AS [t0] ON [t].[LeaderNickname] = [t0].[Nickname]"); +) AS [t0] ON [t].[LeaderNickname] = [t0].[Nickname] +"""); } public override async Task Left_join_projection_using_conditional_tracking(bool async) @@ -8169,7 +9023,8 @@ public override async Task Left_join_projection_using_conditional_tracking(bool await base.Left_join_projection_using_conditional_tracking(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] @@ -8186,7 +9041,8 @@ FROM [Gears] AS [g0] UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] -) AS [t0] ON [t].[LeaderNickname] = [t0].[Nickname]"); +) AS [t0] ON [t].[LeaderNickname] = [t0].[Nickname] +"""); } public override async Task Project_collection_navigation_nested_with_take_composite_key(bool async) @@ -8194,7 +9050,8 @@ public override async Task Project_collection_navigation_nested_with_take_compos await base.Project_collection_navigation_nested_with_take_composite_key(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], N'Gear' AS [Discriminator] @@ -8218,7 +9075,8 @@ FROM [Officers] AS [o0] WHERE [t2].[row] <= 50 ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] WHERE [t0].[Discriminator] = N'Officer' -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Project_collection_navigation_nested_composite_key(bool async) @@ -8226,7 +9084,8 @@ public override async Task Project_collection_navigation_nested_composite_key(bo await base.Project_collection_navigation_nested_composite_key(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], N'Gear' AS [Discriminator] @@ -8243,7 +9102,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] WHERE [t0].[Discriminator] = N'Officer' -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Null_checks_in_correlated_predicate_are_correctly_translated(bool async) @@ -8251,7 +9111,8 @@ public override async Task Null_checks_in_correlated_predicate_are_correctly_tra await base.Null_checks_in_correlated_predicate_are_correctly_translated(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -8260,7 +9121,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] AND ([t].[Note] IS NOT NULL) -ORDER BY [t].[Id], [t0].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname] +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(bool async) @@ -8268,7 +9130,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(async); AssertSql( - @"@__isAutomatic_0='True' +""" +@__isAutomatic_0='True' SELECT [t].[Nickname], [t].[FullName], CASE WHEN [t0].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -8285,7 +9148,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = @__isAutomatic_0 -) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName]"); +) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] +"""); } public override async Task Join_with_inner_being_a_subquery_projecting_single_property(bool async) @@ -8293,7 +9157,8 @@ public override async Task Join_with_inner_being_a_subquery_projecting_single_pr await base.Join_with_inner_being_a_subquery_projecting_single_property(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -8307,7 +9172,8 @@ FROM [Gears] AS [g0] UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] -) AS [t0] ON [t].[Nickname] = [t0].[Nickname]"); +) AS [t0] ON [t].[Nickname] = [t0].[Nickname] +"""); } public override async Task Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(bool async) @@ -8315,7 +9181,8 @@ public override async Task Join_with_inner_being_a_subquery_projecting_anonymous await base.Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -8329,7 +9196,8 @@ FROM [Gears] AS [g0] UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] -) AS [t0] ON [t].[Nickname] = [t0].[Nickname]"); +) AS [t0] ON [t].[Nickname] = [t0].[Nickname] +"""); } public override async Task Navigation_based_on_complex_expression1(bool async) @@ -8337,10 +9205,12 @@ public override async Task Navigation_based_on_complex_expression1(bool async) await base.Navigation_based_on_complex_expression1(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] -WHERE [l0].[Name] IS NOT NULL"); +WHERE [l0].[Name] IS NOT NULL +"""); } public override async Task Navigation_based_on_complex_expression2(bool async) @@ -8348,10 +9218,12 @@ public override async Task Navigation_based_on_complex_expression2(bool async) await base.Navigation_based_on_complex_expression2(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] FROM [LocustHordes] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] -WHERE [l0].[Name] IS NOT NULL"); +WHERE [l0].[Name] IS NOT NULL +"""); } public override async Task Navigation_based_on_complex_expression3(bool async) @@ -8359,9 +9231,11 @@ public override async Task Navigation_based_on_complex_expression3(bool async) await base.Navigation_based_on_complex_expression3(async); AssertSql( - @"SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] +""" +SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [LocustHordes] AS [l] -LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name]"); +LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] +"""); } public override async Task Navigation_based_on_complex_expression4(bool async) @@ -8369,13 +9243,15 @@ public override async Task Navigation_based_on_complex_expression4(bool async) await base.Navigation_based_on_complex_expression4(async); AssertSql( - @"SELECT CAST(1 AS bit), [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT CAST(1 AS bit), [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM [LocustHordes] AS [l] CROSS JOIN ( SELECT [l1].[Name], [l1].[LocustHordeId], [l1].[ThreatLevel], [l1].[ThreatLevelByte], [l1].[ThreatLevelNullableByte], [l1].[DefeatedByNickname], [l1].[DefeatedBySquadId], [l1].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l1] ) AS [t] -LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name]"); +LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] +"""); } public override async Task Navigation_based_on_complex_expression5(bool async) @@ -8383,13 +9259,15 @@ public override async Task Navigation_based_on_complex_expression5(bool async) await base.Navigation_based_on_complex_expression5(async); AssertSql( - @"SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM [LocustHordes] AS [l] CROSS JOIN ( SELECT [l1].[Name], [l1].[LocustHordeId], [l1].[ThreatLevel], [l1].[ThreatLevelByte], [l1].[ThreatLevelNullableByte], [l1].[DefeatedByNickname], [l1].[DefeatedBySquadId], [l1].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l1] ) AS [t] -LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name]"); +LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] +"""); } public override async Task Navigation_based_on_complex_expression6(bool async) @@ -8397,7 +9275,8 @@ public override async Task Navigation_based_on_complex_expression6(bool async) await base.Navigation_based_on_complex_expression6(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l0].[Name] = N'Queen Myrrah' AND ([l0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] @@ -8406,7 +9285,8 @@ CROSS JOIN ( SELECT [l1].[Name], [l1].[LocustHordeId], [l1].[ThreatLevel], [l1].[ThreatLevelByte], [l1].[ThreatLevelNullableByte], [l1].[DefeatedByNickname], [l1].[DefeatedBySquadId], [l1].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l1] ) AS [t] -LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name]"); +LEFT JOIN [LocustCommanders] AS [l0] ON [l].[CommanderName] = [l0].[Name] +"""); } public override async Task Select_as_operator(bool async) @@ -8414,11 +9294,13 @@ public override async Task Select_as_operator(bool async) await base.Select_as_operator(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] UNION ALL SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], N'LocustCommander' AS [Discriminator] -FROM [LocustCommanders] AS [l0]"); +FROM [LocustCommanders] AS [l0] +"""); } public override async Task Select_datetimeoffset_comparison_in_projection(bool async) @@ -8426,11 +9308,13 @@ public override async Task Select_datetimeoffset_comparison_in_projection(bool a await base.Select_datetimeoffset_comparison_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [m].[Timeline] > SYSDATETIMEOFFSET() THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Missions] AS [m]"); +FROM [Missions] AS [m] +"""); } public override async Task OfType_in_subquery_works(bool async) @@ -8438,7 +9322,8 @@ public override async Task OfType_in_subquery_works(bool async) await base.OfType_in_subquery_works(async); AssertSql( - @"SELECT [t0].[Name], [t0].[Location], [t0].[Nation] +""" +SELECT [t0].[Name], [t0].[Location], [t0].[Nation] FROM [Officers] AS [o] INNER JOIN ( SELECT [c].[Name], [c].[Location], [c].[Nation], [t].[LeaderNickname], [t].[LeaderSquadId] @@ -8447,7 +9332,8 @@ INNER JOIN ( FROM [Officers] AS [o0] ) AS [t] LEFT JOIN [Cities] AS [c] ON [t].[AssignedCityName] = [c].[Name] -) AS [t0] ON [o].[Nickname] = [t0].[LeaderNickname] AND [o].[SquadId] = [t0].[LeaderSquadId]"); +) AS [t0] ON [o].[Nickname] = [t0].[LeaderNickname] AND [o].[SquadId] = [t0].[LeaderSquadId] +"""); } public override async Task Nullable_bool_comparison_is_translated_to_server(bool async) @@ -8455,11 +9341,13 @@ public override async Task Nullable_bool_comparison_is_translated_to_server(bool await base.Nullable_bool_comparison_is_translated_to_server(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l].[Eradicated] = CAST(1 AS bit) AND ([l].[Eradicated] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsEradicated] -FROM [LocustHordes] AS [l]"); +FROM [LocustHordes] AS [l] +"""); } public override async Task Accessing_reference_navigation_collection_composition_generates_single_query(bool async) @@ -8467,7 +9355,8 @@ public override async Task Accessing_reference_navigation_collection_composition await base.Accessing_reference_navigation_collection_composition_generates_single_query(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[IsAutomatic], [t0].[Name], [t0].[Id0] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[IsAutomatic], [t0].[Name], [t0].[Id0] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -8480,7 +9369,8 @@ LEFT JOIN ( FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id] +"""); } public override async Task Reference_include_chain_loads_correctly_when_middle_is_null(bool async) @@ -8488,7 +9378,8 @@ public override async Task Reference_include_chain_loads_correctly_when_middle_i await base.Reference_include_chain_loads_correctly_when_middle_is_null(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] @@ -8498,7 +9389,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Accessing_property_of_optional_navigation_in_child_projection_works(bool async) @@ -8506,7 +9398,8 @@ public override async Task Accessing_property_of_optional_navigation_in_child_pr await base.Accessing_property_of_optional_navigation_in_child_projection_works(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[Id], [t1].[SquadId] @@ -8529,7 +9422,8 @@ UNION ALL FROM [Officers] AS [o0] ) AS [t2] ON [w].[OwnerFullName] = [t2].[FullName] ) AS [t1] ON [t0].[FullName] = [t1].[OwnerFullName] -ORDER BY [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[Nickname]"); +ORDER BY [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[Nickname] +"""); } public override async Task Collection_navigation_ofType_filter_works(bool async) @@ -8537,7 +9431,8 @@ public override async Task Collection_navigation_ofType_filter_works(bool async) await base.Collection_navigation_ofType_filter_works(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] WHERE EXISTS ( SELECT 1 @@ -8545,7 +9440,8 @@ SELECT 1 SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] - WHERE [c].[Name] = [t].[CityOfBirthName] AND [t].[Nickname] = N'Marcus')"); + WHERE [c].[Name] = [t].[CityOfBirthName] AND [t].[Nickname] = N'Marcus') +"""); } public override async Task Query_reusing_parameter_doesnt_declare_duplicate_parameter(bool async) @@ -8553,7 +9449,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para await base.Query_reusing_parameter_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__prm_Inner_Nickname_0='Marcus' (Size = 450) +""" +@__prm_Inner_Nickname_0='Marcus' (Size = 450) SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( @@ -8567,7 +9464,8 @@ FROM [Officers] AS [o] ) AS [t] WHERE [t].[Nickname] <> @__prm_Inner_Nickname_0 AND [t].[Nickname] <> @__prm_Inner_Nickname_0 ) AS [t0] -ORDER BY [t0].[FullName]"); +ORDER BY [t0].[FullName] +"""); } public override async Task Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(bool async) @@ -8575,7 +9473,8 @@ public override async Task Query_reusing_parameter_with_inner_query_doesnt_decla await base.Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__squadId_0='1' +""" +@__squadId_0='1' SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( @@ -8607,7 +9506,8 @@ SELECT 1 FROM [Squads] AS [s2] WHERE [s2].[Id] = @__squadId_0 AND [s2].[Id] = [s1].[Id]) ) AS [t0] -ORDER BY [t0].[FullName]"); +ORDER BY [t0].[FullName] +"""); } public override async Task Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(bool async) @@ -8615,7 +9515,8 @@ public override async Task Query_reusing_parameter_with_inner_query_expression_d await base.Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__gearId_0='1' +""" +@__gearId_0='1' SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] @@ -8628,7 +9529,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] - WHERE [s].[Id] = [t].[SquadId] AND [t].[SquadId] = @__gearId_0 AND [t].[SquadId] = @__gearId_0)"); + WHERE [s].[Id] = [t].[SquadId] AND [t].[SquadId] = @__gearId_0 AND [t].[SquadId] = @__gearId_0) +"""); } public override async Task Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(bool async) @@ -8636,7 +9538,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para await base.Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(async); AssertSql( - @"@__entity_equality_prm_Inner_Squad_0_Id='1' (Nullable = true) +""" +@__entity_equality_prm_Inner_Squad_0_Id='1' (Nullable = true) SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( @@ -8653,7 +9556,8 @@ FROM [Officers] AS [o] ) AS [t0] INNER JOIN [Squads] AS [s0] ON [t0].[SquadId] = [s0].[Id] WHERE [s0].[Id] = @__entity_equality_prm_Inner_Squad_0_Id -ORDER BY [t0].[FullName]"); +ORDER BY [t0].[FullName] +"""); } public override async Task Complex_GroupBy_after_set_operator(bool async) @@ -8661,7 +9565,8 @@ public override async Task Complex_GroupBy_after_set_operator(bool async) await base.Complex_GroupBy_after_set_operator(async); AssertSql( - @"SELECT [t0].[Name], [t0].[Count], COALESCE(SUM([t0].[Count]), 0) AS [Sum] +""" +SELECT [t0].[Name], [t0].[Count], COALESCE(SUM([t0].[Count]), 0) AS [Sum] FROM ( SELECT [c].[Name], ( SELECT COUNT(*) @@ -8689,7 +9594,8 @@ FROM [Officers] AS [o0] ) AS [t1] INNER JOIN [Cities] AS [c0] ON [t1].[CityOfBirthName] = [c0].[Name] ) AS [t0] -GROUP BY [t0].[Name], [t0].[Count]"); +GROUP BY [t0].[Name], [t0].[Count] +"""); } public override async Task Complex_GroupBy_after_set_operator_using_result_selector(bool async) @@ -8697,7 +9603,8 @@ public override async Task Complex_GroupBy_after_set_operator_using_result_selec await base.Complex_GroupBy_after_set_operator_using_result_selector(async); AssertSql( - @"SELECT [t0].[Name], [t0].[Count], COALESCE(SUM([t0].[Count]), 0) AS [Sum] +""" +SELECT [t0].[Name], [t0].[Count], COALESCE(SUM([t0].[Count]), 0) AS [Sum] FROM ( SELECT [c].[Name], ( SELECT COUNT(*) @@ -8725,7 +9632,8 @@ FROM [Officers] AS [o0] ) AS [t1] INNER JOIN [Cities] AS [c0] ON [t1].[CityOfBirthName] = [c0].[Name] ) AS [t0] -GROUP BY [t0].[Name], [t0].[Count]"); +GROUP BY [t0].[Name], [t0].[Count] +"""); } public override async Task Left_join_with_GroupBy_with_composite_group_key(bool async) @@ -8733,7 +9641,8 @@ public override async Task Left_join_with_GroupBy_with_composite_group_key(bool await base.Left_join_with_GroupBy_with_composite_group_key(async); AssertSql( - @"SELECT [t].[CityOfBirthName], [t].[HasSoulPatch] +""" +SELECT [t].[CityOfBirthName], [t].[HasSoulPatch] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[CityOfBirthName], [g].[HasSoulPatch] FROM [Gears] AS [g] @@ -8743,7 +9652,8 @@ FROM [Officers] AS [o] ) AS [t] INNER JOIN [Squads] AS [s] ON [t].[SquadId] = [s].[Id] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] -GROUP BY [t].[CityOfBirthName], [t].[HasSoulPatch]"); +GROUP BY [t].[CityOfBirthName], [t].[HasSoulPatch] +"""); } public override async Task GroupBy_with_boolean_grouping_key(bool async) @@ -8751,7 +9661,8 @@ public override async Task GroupBy_with_boolean_grouping_key(bool async) await base.GroupBy_with_boolean_grouping_key(async); AssertSql( - @"SELECT [t0].[CityOfBirthName], [t0].[HasSoulPatch], [t0].[IsMarcus], COUNT(*) AS [Count] +""" +SELECT [t0].[CityOfBirthName], [t0].[HasSoulPatch], [t0].[IsMarcus], COUNT(*) AS [Count] FROM ( SELECT [t].[CityOfBirthName], [t].[HasSoulPatch], CASE WHEN [t].[Nickname] = N'Marcus' THEN CAST(1 AS bit) @@ -8765,7 +9676,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] ) AS [t0] -GROUP BY [t0].[CityOfBirthName], [t0].[HasSoulPatch], [t0].[IsMarcus]"); +GROUP BY [t0].[CityOfBirthName], [t0].[HasSoulPatch], [t0].[IsMarcus] +"""); } public override async Task GroupBy_with_boolean_groupin_key_thru_navigation_access(bool async) @@ -8773,7 +9685,8 @@ public override async Task GroupBy_with_boolean_groupin_key_thru_navigation_acce await base.GroupBy_with_boolean_groupin_key_thru_navigation_access(async); AssertSql( - @"SELECT [t0].[HasSoulPatch], LOWER([s].[Name]) AS [Name] +""" +SELECT [t0].[HasSoulPatch], LOWER([s].[Name]) AS [Name] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -8783,7 +9696,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] -GROUP BY [t0].[HasSoulPatch], [s].[Name]"); +GROUP BY [t0].[HasSoulPatch], [s].[Name] +"""); } public override async Task Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(bool async) @@ -8791,7 +9705,8 @@ public override async Task Group_by_over_projection_with_multiple_properties_acc await base.Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(async); AssertSql( - @"SELECT [c].[Name] +""" +SELECT [c].[Name] FROM ( SELECT [g].[CityOfBirthName] FROM [Gears] AS [g] @@ -8800,7 +9715,8 @@ SELECT [o].[CityOfBirthName] FROM [Officers] AS [o] ) AS [t] INNER JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name] -GROUP BY [c].[Name]"); +GROUP BY [c].[Name] +"""); } public override async Task Group_by_on_StartsWith_with_null_parameter_as_argument(bool async) @@ -8808,7 +9724,8 @@ public override async Task Group_by_on_StartsWith_with_null_parameter_as_argumen await base.Group_by_on_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [t0].[Key] +""" +SELECT [t0].[Key] FROM ( SELECT CAST(0 AS bit) AS [Key] FROM ( @@ -8819,7 +9736,8 @@ SELECT [o].[FullName] FROM [Officers] AS [o] ) AS [t] ) AS [t0] -GROUP BY [t0].[Key]"); +GROUP BY [t0].[Key] +"""); } public override async Task Group_by_with_having_StartsWith_with_null_parameter_as_argument(bool async) @@ -8827,7 +9745,8 @@ public override async Task Group_by_with_having_StartsWith_with_null_parameter_a await base.Group_by_with_having_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [t].[FullName] +""" +SELECT [t].[FullName] FROM ( SELECT [g].[FullName] FROM [Gears] AS [g] @@ -8836,7 +9755,8 @@ SELECT [o].[FullName] FROM [Officers] AS [o] ) AS [t] GROUP BY [t].[FullName] -HAVING 0 = 1"); +HAVING 0 = 1 +"""); } public override async Task Select_StartsWith_with_null_parameter_as_argument(bool async) @@ -8844,14 +9764,16 @@ public override async Task Select_StartsWith_with_null_parameter_as_argument(boo await base.Select_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT CAST(0 AS bit) +""" +SELECT CAST(0 AS bit) FROM ( SELECT [g].[FullName] FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_null_parameter_is_not_null(bool async) @@ -8859,7 +9781,8 @@ public override async Task Select_null_parameter_is_not_null(bool async) await base.Select_null_parameter_is_not_null(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT @__p_0 FROM ( @@ -8868,7 +9791,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Where_null_parameter_is_not_null(bool async) @@ -8876,7 +9800,8 @@ public override async Task Where_null_parameter_is_not_null(bool async) await base.Where_null_parameter_is_not_null(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -8886,7 +9811,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE @__p_0 = CAST(1 AS bit)"); +WHERE @__p_0 = CAST(1 AS bit) +"""); } public override async Task OrderBy_StartsWith_with_null_parameter_as_argument(bool async) @@ -8894,7 +9820,8 @@ public override async Task OrderBy_StartsWith_with_null_parameter_as_argument(bo await base.OrderBy_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -8902,7 +9829,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task OrderBy_Contains_empty_list(bool async) @@ -8910,14 +9838,16 @@ public override async Task OrderBy_Contains_empty_list(bool async) await base.OrderBy_Contains_empty_list(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Where_with_enum_flags_parameter(bool async) @@ -8925,7 +9855,8 @@ public override async Task Where_with_enum_flags_parameter(bool async) await base.Where_with_enum_flags_parameter(async); AssertSql( - @"@__rank_0='1' (Nullable = true) +""" +@__rank_0='1' (Nullable = true) SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -8935,18 +9866,22 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & @__rank_0) = @__rank_0", +WHERE ([t].[Rank] & @__rank_0) = @__rank_0 +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t]", +) AS [t] +""", // - @"@__rank_0='2' (Nullable = true) +""" +@__rank_0='2' (Nullable = true) SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -8956,9 +9891,11 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] | @__rank_0) <> @__rank_0", +WHERE ([t].[Rank] | @__rank_0) <> @__rank_0 +""", // - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -8966,7 +9903,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(bool async) @@ -8974,7 +9912,8 @@ public override async Task FirstOrDefault_navigation_access_entity_equality_in_w await base.FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] FROM [LocustHordes] AS [l] LEFT JOIN [Cities] AS [c] ON [l].[CapitalName] = [c].[Name] WHERE [c].[Name] = ( @@ -8997,7 +9936,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] INNER JOIN [Cities] AS [c0] ON [t].[CityOfBirthName] = [c0].[Name] - ORDER BY [t].[Nickname]) IS NULL))"); + ORDER BY [t].[Nickname]) IS NULL)) +"""); } public override async Task Bitwise_operation_with_non_null_parameter_optimizes_null_checks(bool async) @@ -9005,7 +9945,8 @@ public override async Task Bitwise_operation_with_non_null_parameter_optimizes_n await base.Bitwise_operation_with_non_null_parameter_optimizes_null_checks(async); AssertSql( - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -9015,9 +9956,11 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE ([t].[Rank] & @__ranks_0) <> 0", +WHERE ([t].[Rank] & @__ranks_0) <> 0 +""", // - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT CASE WHEN ([t].[Rank] | @__ranks_0) = @__ranks_0 THEN CAST(1 AS bit) @@ -9029,9 +9972,11 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Rank] FROM [Officers] AS [o] -) AS [t]", +) AS [t] +""", // - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT CASE WHEN ([t].[Rank] | ([t].[Rank] | (@__ranks_0 | ([t].[Rank] | @__ranks_0)))) = @__ranks_0 THEN CAST(1 AS bit) @@ -9043,7 +9988,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Rank] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Bitwise_operation_with_null_arguments(bool async) @@ -9051,32 +9997,44 @@ public override async Task Bitwise_operation_with_null_arguments(bool async) await base.Bitwise_operation_with_null_arguments(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] -FROM [Weapons] AS [w]", +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +FROM [Weapons] AS [w] +""", // - @"@__prm_0='2' (Nullable = true) +""" +@__prm_0='2' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__prm_0) <> 0 OR ([w].[AmmunitionType] IS NULL)", +WHERE ([w].[AmmunitionType] & @__prm_0) <> 0 OR ([w].[AmmunitionType] IS NULL) +""", // - @"@__prm_0='1' (Nullable = true) +""" +@__prm_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__prm_0) = @__prm_0"); +WHERE ([w].[AmmunitionType] & @__prm_0) = @__prm_0 +"""); } public override async Task Logical_operation_with_non_null_parameter_optimizes_null_checks(bool async) @@ -9084,7 +10042,8 @@ public override async Task Logical_operation_with_non_null_parameter_optimizes_n await base.Logical_operation_with_non_null_parameter_optimizes_null_checks(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -9094,9 +10053,11 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] <> @__prm_0", +WHERE [t].[HasSoulPatch] <> @__prm_0 +""", // - @"@__prm_0='False' +""" +@__prm_0='False' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -9106,7 +10067,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] <> @__prm_0"); +WHERE [t].[HasSoulPatch] <> @__prm_0 +"""); } public override async Task Cast_OfType_works_correctly(bool async) @@ -9114,8 +10076,10 @@ public override async Task Cast_OfType_works_correctly(bool async) await base.Cast_OfType_works_correctly(async); AssertSql( - @"SELECT [o].[FullName] -FROM [Officers] AS [o]"); +""" +SELECT [o].[FullName] +FROM [Officers] AS [o] +"""); } public override async Task Join_inner_source_custom_projection_followed_by_filter(bool async) @@ -9123,7 +10087,8 @@ public override async Task Join_inner_source_custom_projection_followed_by_filte await base.Join_inner_source_custom_projection_followed_by_filter(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l].[Name] = N'Locust' THEN CAST(1 AS bit) ELSE NULL END AS [IsEradicated], [l].[CommanderName], [l].[Name] @@ -9141,7 +10106,8 @@ ELSE NULL END <> CAST(1 AS bit) OR (CASE WHEN [l].[Name] = N'Locust' THEN CAST(1 AS bit) ELSE NULL -END IS NULL)"); +END IS NULL) +"""); } public override async Task Byte_array_contains_literal(bool async) @@ -9149,9 +10115,11 @@ public override async Task Byte_array_contains_literal(bool async) await base.Byte_array_contains_literal(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CHARINDEX(0x01, [s].[Banner]) > 0"); +WHERE CHARINDEX(0x01, [s].[Banner]) > 0 +"""); } public override async Task Byte_array_filter_by_length_literal(bool async) @@ -9159,9 +10127,11 @@ public override async Task Byte_array_filter_by_length_literal(bool async) await base.Byte_array_filter_by_length_literal(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = 1"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = 1 +"""); } public override async Task Byte_array_filter_by_length_parameter(bool async) @@ -9169,11 +10139,13 @@ public override async Task Byte_array_filter_by_length_parameter(bool async) await base.Byte_array_filter_by_length_parameter(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = @__p_0"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = @__p_0 +"""); } public override void Byte_array_filter_by_length_parameter_compiled() @@ -9181,11 +10153,13 @@ public override void Byte_array_filter_by_length_parameter_compiled() base.Byte_array_filter_by_length_parameter_compiled(); AssertSql( - @"@__byteArrayParam='0x2A80' (Size = 8000) +""" +@__byteArrayParam='0x2A80' (Size = 8000) SELECT COUNT(*) FROM [Squads] AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = CAST(DATALENGTH(@__byteArrayParam) AS int)"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = CAST(DATALENGTH(@__byteArrayParam) AS int) +"""); } public override async Task Byte_array_contains_parameter(bool async) @@ -9193,11 +10167,13 @@ public override async Task Byte_array_contains_parameter(bool async) await base.Byte_array_contains_parameter(async); AssertSql( - @"@__someByte_0='1' (Size = 1) +""" +@__someByte_0='1' (Size = 1) SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CHARINDEX(CAST(@__someByte_0 AS varbinary(max)), [s].[Banner]) > 0"); +WHERE CHARINDEX(CAST(@__someByte_0 AS varbinary(max)), [s].[Banner]) > 0 +"""); } public override async Task Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(bool async) @@ -9205,9 +10181,11 @@ public override async Task Byte_array_filter_by_length_literal_does_not_cast_on_ await base.Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE DATALENGTH([s].[Banner5]) = 5"); +WHERE DATALENGTH([s].[Banner5]) = 5 +"""); } public override async Task Conditional_expression_with_test_being_simplified_to_constant_simple(bool isAsync) @@ -9215,7 +10193,8 @@ public override async Task Conditional_expression_with_test_being_simplified_to_ await base.Conditional_expression_with_test_being_simplified_to_constant_simple(isAsync); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -9228,7 +10207,8 @@ FROM [Officers] AS [o] WHERE CASE WHEN [t].[HasSoulPatch] = @__prm_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Conditional_expression_with_test_being_simplified_to_constant_complex(bool isAsync) @@ -9236,7 +10216,8 @@ public override async Task Conditional_expression_with_test_being_simplified_to_ await base.Conditional_expression_with_test_being_simplified_to_constant_complex(isAsync); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' @__prm2_1='Dom's Lancer' (Size = 4000) SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] @@ -9259,7 +10240,8 @@ FROM [Weapons] AS [w] ELSE CAST(0 AS bit) END ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task OrderBy_bool_coming_from_optional_navigation(bool async) @@ -9267,10 +10249,12 @@ public override async Task OrderBy_bool_coming_from_optional_navigation(bool asy await base.OrderBy_bool_coming_from_optional_navigation(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w0].[IsAutomatic]"); +ORDER BY [w0].[IsAutomatic] +"""); } public override async Task DateTimeOffset_Date_returns_datetime(bool async) @@ -9278,11 +10262,13 @@ public override async Task DateTimeOffset_Date_returns_datetime(bool async) await base.DateTimeOffset_Date_returns_datetime(async); AssertSql( - @"@__dateTimeOffset_Date_0='0002-03-01T00:00:00.0000000' +""" +@__dateTimeOffset_Date_0='0002-03-01T00:00:00.0000000' SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE CONVERT(date, [m].[Timeline]) >= @__dateTimeOffset_Date_0"); +WHERE CONVERT(date, [m].[Timeline]) >= @__dateTimeOffset_Date_0 +"""); } public override async Task Conditional_with_conditions_evaluating_to_false_gets_optimized(bool async) @@ -9290,14 +10276,16 @@ public override async Task Conditional_with_conditions_evaluating_to_false_gets_ await base.Conditional_with_conditions_evaluating_to_false_gets_optimized(async); AssertSql( - @"SELECT [t].[FullName] +""" +SELECT [t].[FullName] FROM ( SELECT [g].[Nickname], [g].[CityOfBirthName], [g].[FullName] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[CityOfBirthName], [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Conditional_with_conditions_evaluating_to_true_gets_optimized(bool async) @@ -9305,14 +10293,16 @@ public override async Task Conditional_with_conditions_evaluating_to_true_gets_o await base.Conditional_with_conditions_evaluating_to_true_gets_optimized(async); AssertSql( - @"SELECT [t].[CityOfBirthName] +""" +SELECT [t].[CityOfBirthName] FROM ( SELECT [g].[Nickname], [g].[CityOfBirthName], [g].[FullName] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[CityOfBirthName], [o].[FullName] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Projecting_required_string_column_compared_to_null_parameter(bool async) @@ -9320,14 +10310,16 @@ public override async Task Projecting_required_string_column_compared_to_null_pa await base.Projecting_required_string_column_compared_to_null_parameter(async); AssertSql( - @"SELECT CAST(0 AS bit) +""" +SELECT CAST(0 AS bit) FROM ( SELECT [g].[Nickname] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Byte_array_filter_by_SequenceEqual(bool isAsync) @@ -9335,11 +10327,13 @@ public override async Task Byte_array_filter_by_SequenceEqual(bool isAsync) await base.Byte_array_filter_by_SequenceEqual(isAsync); AssertSql( - @"@__byteArrayParam_0='0x0405060708' (Size = 5) +""" +@__byteArrayParam_0='0x0405060708' (Size = 5) SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE [s].[Banner5] = @__byteArrayParam_0"); +WHERE [s].[Banner5] = @__byteArrayParam_0 +"""); } public override async Task Group_by_nullable_property_HasValue_and_project_the_grouping_key(bool async) @@ -9347,7 +10341,8 @@ public override async Task Group_by_nullable_property_HasValue_and_project_the_g await base.Group_by_nullable_property_HasValue_and_project_the_grouping_key(async); AssertSql( - @"SELECT [t].[Key] +""" +SELECT [t].[Key] FROM ( SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) @@ -9355,7 +10350,8 @@ ELSE CAST(0 AS bit) END AS [Key] FROM [Weapons] AS [w] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Group_by_nullable_property_and_project_the_grouping_key_HasValue(bool async) @@ -9363,12 +10359,14 @@ public override async Task Group_by_nullable_property_and_project_the_grouping_k await base.Group_by_nullable_property_and_project_the_grouping_key_HasValue(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Weapons] AS [w] -GROUP BY [w].[SynergyWithId]"); +GROUP BY [w].[SynergyWithId] +"""); } public override async Task Checked_context_with_cast_does_not_fail(bool isAsync) @@ -9376,7 +10374,8 @@ public override async Task Checked_context_with_cast_does_not_fail(bool isAsync) await base.Checked_context_with_cast_does_not_fail(isAsync); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -9384,7 +10383,8 @@ UNION ALL SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l0] ) AS [t] -WHERE CAST([t].[ThreatLevel] AS tinyint) >= CAST(5 AS tinyint)"); +WHERE CAST([t].[ThreatLevel] AS tinyint) >= CAST(5 AS tinyint) +"""); } public override async Task Checked_context_with_addition_does_not_fail(bool isAsync) @@ -9392,7 +10392,8 @@ public override async Task Checked_context_with_addition_does_not_fail(bool isAs await base.Checked_context_with_addition_does_not_fail(isAsync); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -9400,7 +10401,8 @@ UNION ALL SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l0] ) AS [t] -WHERE CAST([t].[ThreatLevel] AS bigint) >= (CAST(5 AS bigint) + CAST([t].[ThreatLevel] AS bigint))"); +WHERE CAST([t].[ThreatLevel] AS bigint) >= (CAST(5 AS bigint) + CAST([t].[ThreatLevel] AS bigint)) +"""); } public override async Task TimeSpan_Hours(bool async) @@ -9408,8 +10410,10 @@ public override async Task TimeSpan_Hours(bool async) await base.TimeSpan_Hours(async); AssertSql( - @"SELECT DATEPART(hour, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(hour, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task TimeSpan_Minutes(bool async) @@ -9417,8 +10421,10 @@ public override async Task TimeSpan_Minutes(bool async) await base.TimeSpan_Minutes(async); AssertSql( - @"SELECT DATEPART(minute, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(minute, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task TimeSpan_Seconds(bool async) @@ -9426,8 +10432,10 @@ public override async Task TimeSpan_Seconds(bool async) await base.TimeSpan_Seconds(async); AssertSql( - @"SELECT DATEPART(second, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(second, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task TimeSpan_Milliseconds(bool async) @@ -9435,8 +10443,10 @@ public override async Task TimeSpan_Milliseconds(bool async) await base.TimeSpan_Milliseconds(async); AssertSql( - @"SELECT DATEPART(millisecond, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(millisecond, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task Where_TimeSpan_Hours(bool async) @@ -9444,9 +10454,11 @@ public override async Task Where_TimeSpan_Hours(bool async) await base.Where_TimeSpan_Hours(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(hour, [m].[Duration]) = 1"); +WHERE DATEPART(hour, [m].[Duration]) = 1 +"""); } public override async Task Where_TimeSpan_Minutes(bool async) @@ -9454,9 +10466,11 @@ public override async Task Where_TimeSpan_Minutes(bool async) await base.Where_TimeSpan_Minutes(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(minute, [m].[Duration]) = 1"); +WHERE DATEPART(minute, [m].[Duration]) = 1 +"""); } public override async Task Where_TimeSpan_Seconds(bool async) @@ -9464,9 +10478,11 @@ public override async Task Where_TimeSpan_Seconds(bool async) await base.Where_TimeSpan_Seconds(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(second, [m].[Duration]) = 1"); +WHERE DATEPART(second, [m].[Duration]) = 1 +"""); } public override async Task Where_TimeSpan_Milliseconds(bool async) @@ -9474,9 +10490,11 @@ public override async Task Where_TimeSpan_Milliseconds(bool async) await base.Where_TimeSpan_Milliseconds(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(millisecond, [m].[Duration]) = 1"); +WHERE DATEPART(millisecond, [m].[Duration]) = 1 +"""); } public override async Task Contains_on_collection_of_byte_subquery(bool async) @@ -9484,7 +10502,8 @@ public override async Task Contains_on_collection_of_byte_subquery(bool async) await base.Contains_on_collection_of_byte_subquery(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -9501,7 +10520,8 @@ UNION ALL SELECT [l2].[Name], [l2].[LocustHordeId], [l2].[ThreatLevel], [l2].[ThreatLevelByte], [l2].[ThreatLevelNullableByte], [l2].[DefeatedByNickname], [l2].[DefeatedBySquadId], [l2].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l2] ) AS [t0] - WHERE [t0].[ThreatLevelByte] = [t].[ThreatLevelByte])"); + WHERE [t0].[ThreatLevelByte] = [t].[ThreatLevelByte]) +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery(bool async) @@ -9509,7 +10529,8 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery(bool await base.Contains_on_collection_of_nullable_byte_subquery(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -9526,7 +10547,8 @@ UNION ALL SELECT [l2].[Name], [l2].[LocustHordeId], [l2].[ThreatLevel], [l2].[ThreatLevelByte], [l2].[ThreatLevelNullableByte], [l2].[DefeatedByNickname], [l2].[DefeatedBySquadId], [l2].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l2] ) AS [t0] - WHERE [t0].[ThreatLevelNullableByte] = [t].[ThreatLevelNullableByte] OR (([t0].[ThreatLevelNullableByte] IS NULL) AND ([t].[ThreatLevelNullableByte] IS NULL)))"); + WHERE [t0].[ThreatLevelNullableByte] = [t].[ThreatLevelNullableByte] OR (([t0].[ThreatLevelNullableByte] IS NULL) AND ([t].[ThreatLevelNullableByte] IS NULL))) +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery_null_constant(bool async) @@ -9534,7 +10556,8 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery_null await base.Contains_on_collection_of_nullable_byte_subquery_null_constant(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -9551,7 +10574,8 @@ UNION ALL SELECT [l2].[Name], [l2].[LocustHordeId], [l2].[ThreatLevel], [l2].[ThreatLevelByte], [l2].[ThreatLevelNullableByte], [l2].[DefeatedByNickname], [l2].[DefeatedBySquadId], [l2].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l2] ) AS [t0] - WHERE [t0].[ThreatLevelNullableByte] IS NULL)"); + WHERE [t0].[ThreatLevelNullableByte] IS NULL) +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery_null_parameter(bool async) @@ -9559,7 +10583,8 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery_null await base.Contains_on_collection_of_nullable_byte_subquery_null_parameter(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -9576,7 +10601,8 @@ UNION ALL SELECT [l2].[Name], [l2].[LocustHordeId], [l2].[ThreatLevel], [l2].[ThreatLevelByte], [l2].[ThreatLevelNullableByte], [l2].[DefeatedByNickname], [l2].[DefeatedBySquadId], [l2].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l2] ) AS [t0] - WHERE [t0].[ThreatLevelNullableByte] IS NULL)"); + WHERE [t0].[ThreatLevelNullableByte] IS NULL) +"""); } public override async Task Contains_on_byte_array_property_using_byte_column(bool async) @@ -9584,7 +10610,8 @@ public override async Task Contains_on_byte_array_property_using_byte_column(boo await base.Contains_on_byte_array_property_using_byte_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM [Squads] AS [s] CROSS JOIN ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] @@ -9593,7 +10620,8 @@ UNION ALL SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l0] ) AS [t] -WHERE CHARINDEX(CAST([t].[ThreatLevelByte] AS varbinary(max)), [s].[Banner]) > 0"); +WHERE CHARINDEX(CAST([t].[ThreatLevelByte] AS varbinary(max)), [s].[Banner]) > 0 +"""); } public override async Task Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion( @@ -9602,7 +10630,8 @@ public override async Task Subquery_projecting_non_nullable_scalar_contains_non_ await base.Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion(async); AssertSql( - @"SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM ( SELECT [l].[ThreatLevelByte] FROM [LocustLeaders] AS [l] @@ -9629,7 +10658,8 @@ UNION ALL FROM [LocustCommanders] AS [l2] ) AS [t2] WHERE [t2].[ThreatLevelByte] = [t].[ThreatLevelByte]) -) AS [t1]"); +) AS [t1] +"""); } public override async Task Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion_negated( @@ -9638,7 +10668,8 @@ public override async Task Subquery_projecting_non_nullable_scalar_contains_non_ await base.Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion_negated(async); AssertSql( - @"SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM ( SELECT [l].[ThreatLevelByte] FROM [LocustLeaders] AS [l] @@ -9665,7 +10696,8 @@ UNION ALL FROM [LocustCommanders] AS [l2] ) AS [t2] WHERE [t2].[ThreatLevelByte] = [t].[ThreatLevelByte])) -) AS [t1]"); +) AS [t1] +"""); } public override async Task Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion(bool async) @@ -9673,7 +10705,8 @@ public override async Task Subquery_projecting_nullable_scalar_contains_nullable await base.Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion(async); AssertSql( - @"SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM ( SELECT [l].[ThreatLevelNullableByte] FROM [LocustLeaders] AS [l] @@ -9700,7 +10733,8 @@ UNION ALL FROM [LocustCommanders] AS [l2] ) AS [t2] WHERE [t2].[ThreatLevelNullableByte] = [t].[ThreatLevelNullableByte] OR (([t2].[ThreatLevelNullableByte] IS NULL) AND ([t].[ThreatLevelNullableByte] IS NULL))) -) AS [t1]"); +) AS [t1] +"""); } public override async Task Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion_negated(bool async) @@ -9708,7 +10742,8 @@ public override async Task Subquery_projecting_nullable_scalar_contains_nullable await base.Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion_negated(async); AssertSql( - @"SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM ( SELECT [l].[ThreatLevelNullableByte] FROM [LocustLeaders] AS [l] @@ -9735,7 +10770,8 @@ UNION ALL FROM [LocustCommanders] AS [l2] ) AS [t2] WHERE [t2].[ThreatLevelNullableByte] = [t].[ThreatLevelNullableByte] OR (([t2].[ThreatLevelNullableByte] IS NULL) AND ([t].[ThreatLevelNullableByte] IS NULL)))) -) AS [t1]"); +) AS [t1] +"""); } public override async Task Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) @@ -9743,11 +10779,13 @@ public override async Task Enum_closure_typed_as_underlying_type_generates_corre await base.Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='1' (Nullable = true) +""" +@__prm_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE @__prm_0 = [w].[AmmunitionType]"); +WHERE @__prm_0 = [w].[AmmunitionType] +"""); } public override async Task Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) @@ -9755,7 +10793,8 @@ public override async Task Enum_flags_closure_typed_as_underlying_type_generates await base.Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='133' +""" +@__prm_0='133' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -9765,7 +10804,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE (@__prm_0 & [t].[Rank]) = [t].[Rank]"); +WHERE (@__prm_0 & [t].[Rank]) = [t].[Rank] +"""); } public override async Task Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(bool async) @@ -9773,7 +10813,8 @@ public override async Task Enum_flags_closure_typed_as_different_type_generates_ await base.Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='5' +""" +@__prm_0='5' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -9783,7 +10824,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE (@__prm_0 & CAST([t].[Rank] AS int)) = CAST([t].[Rank] AS int)"); +WHERE (@__prm_0 & CAST([t].[Rank] AS int)) = CAST([t].[Rank] AS int) +"""); } public override async Task Constant_enum_with_same_underlying_value_as_previously_parameterized_int(bool async) @@ -9791,7 +10833,8 @@ public override async Task Constant_enum_with_same_underlying_value_as_previousl await base.Constant_enum_with_same_underlying_value_as_previously_parameterized_int(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(@__p_0) [t].[Rank] & 1 FROM ( @@ -9801,7 +10844,8 @@ UNION ALL SELECT [o].[Nickname], [o].[Rank] FROM [Officers] AS [o] ) AS [t] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Enum_array_contains(bool async) @@ -9809,10 +10853,12 @@ public override async Task Enum_array_contains(bool async) await base.Enum_array_contains(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -WHERE ([w0].[Id] IS NOT NULL) AND ([w0].[AmmunitionType] = 1 OR ([w0].[AmmunitionType] IS NULL))"); +WHERE ([w0].[Id] IS NOT NULL) AND ([w0].[AmmunitionType] = 1 OR ([w0].[AmmunitionType] IS NULL)) +"""); } [ConditionalTheory] @@ -9825,8 +10871,10 @@ await AssertQueryScalar( ss => ss.Set().Select(m => (int?)(m.CodeName.Length * 2))); AssertSql( - @"SELECT CAST(DATALENGTH([m].[CodeName]) AS int) -FROM [Missions] AS [m]"); +""" +SELECT CAST(DATALENGTH([m].[CodeName]) AS int) +FROM [Missions] AS [m] +"""); } public override async Task CompareTo_used_with_non_unicode_string_column_and_constant(bool async) @@ -9834,9 +10882,11 @@ public override async Task CompareTo_used_with_non_unicode_string_column_and_con await base.CompareTo_used_with_non_unicode_string_column_and_constant(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] = 'Unknown'"); +WHERE [c].[Location] = 'Unknown' +"""); } public override async Task Coalesce_used_with_non_unicode_string_column_and_constant(bool async) @@ -9844,8 +10894,10 @@ public override async Task Coalesce_used_with_non_unicode_string_column_and_cons await base.Coalesce_used_with_non_unicode_string_column_and_constant(async); AssertSql( - @"SELECT COALESCE([c].[Location], 'Unknown') -FROM [Cities] AS [c]"); +""" +SELECT COALESCE([c].[Location], 'Unknown') +FROM [Cities] AS [c] +"""); } public override async Task Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(bool async) @@ -9853,7 +10905,8 @@ public override async Task Groupby_anonymous_type_with_navigations_followed_up_b await base.Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], COUNT(*) AS [Count] +""" +SELECT [c].[Name], [c].[Location], COUNT(*) AS [Count] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[CityOfBirthName], [g].[FullName] @@ -9864,7 +10917,8 @@ FROM [Officers] AS [o] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] LEFT JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name] GROUP BY [c].[Name], [c].[Location] -ORDER BY [c].[Location]"); +ORDER BY [c].[Location] +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(bool async) @@ -9872,7 +10926,8 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_con await base.SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -9881,7 +10936,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] INNER JOIN [Weapons] AS [w] ON [t].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) -ORDER BY [t].[Nickname], [w].[Id]"); +ORDER BY [t].[Nickname], [w].[Id] +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(bool async) @@ -9889,7 +10945,8 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_Def await base.SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -9898,7 +10955,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) -ORDER BY [t].[Nickname], [w].[Id]"); +ORDER BY [t].[Nickname], [w].[Id] +"""); } public override async Task SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join( @@ -9907,7 +10965,8 @@ public override async Task SelectMany_predicate_after_navigation_with_non_equali await base.SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -9920,7 +10979,8 @@ LEFT JOIN ( FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ) AS [t0] ON [t].[FullName] <> [t0].[OwnerFullName] OR ([t0].[OwnerFullName] IS NULL) -ORDER BY [t].[Nickname], [t0].[Id]"); +ORDER BY [t].[Nickname], [t0].[Id] +"""); } public override async Task SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(bool async) @@ -9928,7 +10988,8 @@ public override async Task SelectMany_without_result_selector_and_non_equality_c await base.SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[FullName] FROM [Gears] AS [g] @@ -9936,7 +10997,8 @@ UNION ALL SELECT [o].[FullName] FROM [Officers] AS [o] ) AS [t] -LEFT JOIN [Weapons] AS [w] ON [t].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL)"); +LEFT JOIN [Weapons] AS [w] ON [t].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(bool async) @@ -9944,7 +11006,8 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -9953,7 +11016,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] AND [t].[SquadId] < [w].[Id] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(bool async) @@ -9961,7 +11025,8 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -9970,7 +11035,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] AND [t].[SquadId] <= [w].[Id] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(bool async) @@ -9978,7 +11044,8 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -9987,7 +11054,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] AND [t].[SquadId] >= [w].[Id] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_with_Take_doesnt_convert_to_join(bool async) @@ -9995,7 +11063,8 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_wit await base.SelectMany_predicate_with_non_equality_comparison_with_Take_doesnt_convert_to_join(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -10009,7 +11078,8 @@ FROM [Weapons] AS [w] WHERE [w].[OwnerFullName] <> [t].[FullName] OR ([w].[OwnerFullName] IS NULL) ORDER BY [w].[Id] ) AS [t0] -ORDER BY [t].[Nickname], [t0].[Id]"); +ORDER BY [t].[Nickname], [t0].[Id] +"""); } public override async Task FirstOrDefault_over_int_compared_to_zero(bool async) @@ -10017,7 +11087,8 @@ public override async Task FirstOrDefault_over_int_compared_to_zero(bool async) await base.FirstOrDefault_over_int_compared_to_zero(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] AS [s] WHERE [s].[Name] = N'Kilo' AND COALESCE(( SELECT TOP(1) [t].[SquadId] @@ -10028,7 +11099,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] - WHERE [s].[Id] = [t].[SquadId] AND [t].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0"); + WHERE [s].[Id] = [t].[SquadId] AND [t].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0 +"""); } public override async Task Correlated_collection_with_inner_collection_references_element_two_levels_up(bool async) @@ -10036,7 +11108,8 @@ public override async Task Correlated_collection_with_inner_collection_reference await base.Correlated_collection_with_inner_collection_references_element_two_levels_up(async); AssertSql( - @"SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[ReportName], [t0].[OfficerName], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [t].[FullName], [t].[Nickname], [t].[SquadId], [t0].[ReportName], [t0].[OfficerName], [t0].[Nickname], [t0].[SquadId] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[FullName] FROM [Officers] AS [o] @@ -10052,7 +11125,8 @@ FROM [Officers] AS [o0] ) AS [t1] WHERE [t].[Nickname] = [t1].[LeaderNickname] AND [t].[SquadId] = [t1].[LeaderSquadId] ) AS [t0] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task Accessing_derived_property_using_hard_and_soft_cast(bool async) @@ -10060,7 +11134,8 @@ public override async Task Accessing_derived_property_using_hard_and_soft_cast(b await base.Accessing_derived_property_using_hard_and_soft_cast(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -10068,9 +11143,11 @@ UNION ALL SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l0] ) AS [t] -WHERE [t].[Discriminator] = N'LocustCommander' AND ([t].[HighCommandId] <> 0 OR ([t].[HighCommandId] IS NULL))", +WHERE [t].[Discriminator] = N'LocustCommander' AND ([t].[HighCommandId] <> 0 OR ([t].[HighCommandId] IS NULL)) +""", // - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -10078,7 +11155,8 @@ UNION ALL SELECT [l0].[Name], [l0].[LocustHordeId], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l0] ) AS [t] -WHERE [t].[Discriminator] = N'LocustCommander' AND ([t].[HighCommandId] <> 0 OR ([t].[HighCommandId] IS NULL))"); +WHERE [t].[Discriminator] = N'LocustCommander' AND ([t].[HighCommandId] <> 0 OR ([t].[HighCommandId] IS NULL)) +"""); } public override async Task Cast_to_derived_followed_by_include_and_FirstOrDefault(bool async) @@ -10086,7 +11164,8 @@ public override async Task Cast_to_derived_followed_by_include_and_FirstOrDefaul await base.Cast_to_derived_followed_by_include_and_FirstOrDefault(async); AssertSql( - @"SELECT TOP(1) [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT TOP(1) [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -10101,7 +11180,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] -WHERE [t].[Name] LIKE N'%Queen%'"); +WHERE [t].[Name] LIKE N'%Queen%' +"""); } public override async Task Correlated_collection_take(bool async) @@ -10109,7 +11189,8 @@ public override async Task Correlated_collection_take(bool async) await base.Correlated_collection_take(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [c].[Name], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [c].[Location], [c].[Nation] +""" +SELECT [t].[Nickname], [t].[SquadId], [c].[Name], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [c].[Location], [c].[Nation] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[CityOfBirthName], [g].[FullName] FROM [Gears] AS [g] @@ -10126,7 +11207,8 @@ FROM [Weapons] AS [w] ) AS [t1] WHERE [t1].[row] <= 10 ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [c].[Name]"); +ORDER BY [t].[Nickname], [t].[SquadId], [c].[Name] +"""); } public override async Task First_on_byte_array(bool async) @@ -10134,9 +11216,11 @@ public override async Task First_on_byte_array(bool async) await base.First_on_byte_array(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(SUBSTRING([s].[Banner], 1, 1) AS tinyint) = CAST(2 AS tinyint)"); +WHERE CAST(SUBSTRING([s].[Banner], 1, 1) AS tinyint) = CAST(2 AS tinyint) +"""); } public override async Task Array_access_on_byte_array(bool async) @@ -10144,9 +11228,11 @@ public override async Task Array_access_on_byte_array(bool async) await base.Array_access_on_byte_array(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(SUBSTRING([s].[Banner5], 2 + 1, 1) AS tinyint) = CAST(6 AS tinyint)"); +WHERE CAST(SUBSTRING([s].[Banner5], 2 + 1, 1) AS tinyint) = CAST(6 AS tinyint) +"""); } public override async Task Project_shadow_properties(bool async) @@ -10154,11 +11240,13 @@ public override async Task Project_shadow_properties(bool async) await base.Project_shadow_properties(async); AssertSql( - @"SELECT [g].[Nickname], [g].[AssignedCityName] +""" +SELECT [g].[Nickname], [g].[AssignedCityName] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[AssignedCityName] -FROM [Officers] AS [o]"); +FROM [Officers] AS [o] +"""); } public override async Task Composite_key_entity_equal(bool async) @@ -10166,7 +11254,8 @@ public override async Task Composite_key_entity_equal(bool async) await base.Composite_key_entity_equal(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -10181,7 +11270,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] -WHERE [t].[Nickname] = [t0].[Nickname] AND [t].[SquadId] = [t0].[SquadId]"); +WHERE [t].[Nickname] = [t0].[Nickname] AND [t].[SquadId] = [t0].[SquadId] +"""); } public override async Task Composite_key_entity_not_equal(bool async) @@ -10189,7 +11279,8 @@ public override async Task Composite_key_entity_not_equal(bool async) await base.Composite_key_entity_not_equal(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -10204,7 +11295,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] -WHERE [t].[Nickname] <> [t0].[Nickname] OR [t].[SquadId] <> [t0].[SquadId]"); +WHERE [t].[Nickname] <> [t0].[Nickname] OR [t].[SquadId] <> [t0].[SquadId] +"""); } public override async Task Composite_key_entity_equal_null(bool async) @@ -10212,7 +11304,8 @@ public override async Task Composite_key_entity_equal_null(bool async) await base.Composite_key_entity_equal_null(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l] @@ -10224,7 +11317,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] ) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] -WHERE ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL)"); +WHERE ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL) +"""); } public override async Task Composite_key_entity_not_equal_null(bool async) @@ -10232,7 +11326,8 @@ public override async Task Composite_key_entity_not_equal_null(bool async) await base.Composite_key_entity_not_equal_null(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], N'LocustCommander' AS [Discriminator] FROM [LocustCommanders] AS [l] @@ -10244,7 +11339,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] ) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] -WHERE ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL)"); +WHERE ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) +"""); } public override async Task Projecting_property_converted_to_nullable_with_comparison(bool async) @@ -10252,7 +11348,8 @@ public override async Task Projecting_property_converted_to_nullable_with_compar await base.Projecting_property_converted_to_nullable_with_comparison(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch] @@ -10267,7 +11364,8 @@ FROM [Officers] AS [o] WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL -END = 1"); +END = 1 +"""); } public override async Task Projecting_property_converted_to_nullable_with_addition(bool async) @@ -10275,7 +11373,8 @@ public override async Task Projecting_property_converted_to_nullable_with_additi await base.Projecting_property_converted_to_nullable_with_addition(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch] @@ -10290,7 +11389,8 @@ FROM [Officers] AS [o] WHERE (CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL -END + 1) = 2"); +END + 1) = 2 +"""); } public override async Task Projecting_property_converted_to_nullable_with_addition_and_final_projection(bool async) @@ -10298,7 +11398,8 @@ public override async Task Projecting_property_converted_to_nullable_with_additi await base.Projecting_property_converted_to_nullable_with_addition_and_final_projection(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL END + 1 AS [Value] @@ -10313,7 +11414,8 @@ FROM [Officers] AS [o] WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Projecting_property_converted_to_nullable_with_conditional(bool async) @@ -10321,7 +11423,8 @@ public override async Task Projecting_property_converted_to_nullable_with_condit await base.Projecting_property_converted_to_nullable_with_conditional(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) THEN CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL @@ -10335,7 +11438,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Projecting_property_converted_to_nullable_with_function_call(bool async) @@ -10343,7 +11447,8 @@ public override async Task Projecting_property_converted_to_nullable_with_functi await base.Projecting_property_converted_to_nullable_with_function_call(async); AssertSql( - @"SELECT SUBSTRING(CASE +""" +SELECT SUBSTRING(CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL END, 0 + 1, 3) @@ -10354,7 +11459,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId] FROM [Officers] AS [o] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Projecting_property_converted_to_nullable_with_function_call2(bool async) @@ -10362,7 +11468,8 @@ public override async Task Projecting_property_converted_to_nullable_with_functi await base.Projecting_property_converted_to_nullable_with_function_call2(async); AssertSql( - @"SELECT [t].[Note], SUBSTRING([t].[Note], 0 + 1, CASE +""" +SELECT [t].[Note], SUBSTRING([t].[Note], 0 + 1, CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL END) AS [Function] @@ -10377,7 +11484,8 @@ FROM [Officers] AS [o] WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Projecting_property_converted_to_nullable_into_element_init(bool async) @@ -10385,7 +11493,8 @@ public override async Task Projecting_property_converted_to_nullable_into_elemen await base.Projecting_property_converted_to_nullable_into_element_init(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(LEN([t0].[Nickname]) AS int) ELSE NULL END, CASE @@ -10407,7 +11516,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_member_assignment(bool async) @@ -10415,7 +11525,8 @@ public override async Task Projecting_property_converted_to_nullable_into_member await base.Projecting_property_converted_to_nullable_into_member_assignment(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL END AS [Id] @@ -10431,7 +11542,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_new_array(bool async) @@ -10439,7 +11551,8 @@ public override async Task Projecting_property_converted_to_nullable_into_new_ar await base.Projecting_property_converted_to_nullable_into_new_array(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(LEN([t0].[Nickname]) AS int) ELSE NULL END, CASE @@ -10461,7 +11574,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_unary(bool async) @@ -10469,7 +11583,8 @@ public override async Task Projecting_property_converted_to_nullable_into_unary( await base.Projecting_property_converted_to_nullable_into_unary(async); AssertSql( - @"SELECT [t].[Note] +""" +SELECT [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -10485,7 +11600,8 @@ ELSE NULL WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[HasSoulPatch] ELSE NULL END = CAST(0 AS bit) -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_member_access(bool async) @@ -10493,7 +11609,8 @@ public override async Task Projecting_property_converted_to_nullable_into_member await base.Projecting_property_converted_to_nullable_into_member_access(async); AssertSql( - @"SELECT [t].[Nickname] +""" +SELECT [t].[Nickname] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[CityOfBirthName] FROM [Gears] AS [g] @@ -10503,7 +11620,8 @@ FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] WHERE DATEPART(month, [t0].[IssueDate]) <> 5 OR ([t0].[IssueDate] IS NULL) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Projecting_property_converted_to_nullable_and_use_it_in_order_by(bool async) @@ -10511,7 +11629,8 @@ public override async Task Projecting_property_converted_to_nullable_and_use_it_ await base.Projecting_property_converted_to_nullable_and_use_it_in_order_by(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch] @@ -10530,7 +11649,8 @@ END IS NOT NULL ORDER BY CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL -END, [t].[Note]"); +END, [t].[Note] +"""); } public override async Task Where_DateOnly_Year(bool async) @@ -10674,7 +11794,8 @@ public override async Task Project_navigation_defined_on_base_from_entity_with_i await base.Project_navigation_defined_on_base_from_entity_with_inheritance_using_soft_cast(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note], CASE +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note], CASE WHEN [t0].[Id] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsNull], [c].[Name], [c].[Location], [c].[Nation], CASE @@ -10693,7 +11814,8 @@ FROM [Officers] AS [o] ) AS [t] LEFT JOIN [Tags] AS [t0] ON [t].[Nickname] = [t0].[GearNickName] AND [t].[SquadId] = [t0].[GearSquadId] LEFT JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name] -LEFT JOIN [Squads] AS [s] ON [t].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] AS [s] ON [t].[SquadId] = [s].[Id] +"""); } public override async Task Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(bool async) @@ -10701,7 +11823,8 @@ public override async Task Project_navigation_defined_on_derived_from_entity_wit await base.Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], CASE +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], CASE WHEN ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsNull], [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE @@ -10726,7 +11849,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] LEFT JOIN [LocustHordes] AS [l] ON [t].[Name] = [l].[CommanderName] -LEFT JOIN [LocustHighCommands] AS [l0] ON [t].[HighCommandId] = [l0].[Id]"); +LEFT JOIN [LocustHighCommands] AS [l0] ON [t].[HighCommandId] = [l0].[Id] +"""); } public override async Task Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(bool async) @@ -10734,7 +11858,8 @@ public override async Task Join_entity_with_itself_grouped_by_key_followed_by_in await base.Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t2].[Nickname], [t2].[SquadId], [t2].[AssignedCityName], [t2].[CityOfBirthName], [t2].[FullName], [t2].[HasSoulPatch], [t2].[LeaderNickname], [t2].[LeaderSquadId], [t2].[Rank], [t2].[Discriminator], [t2].[HasSoulPatch0], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -10763,7 +11888,8 @@ ORDER BY [t].[Nickname] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t2] LEFT JOIN [Weapons] AS [w] ON [t2].[FullName] = [w].[OwnerFullName] -ORDER BY [t2].[Nickname], [t2].[SquadId], [t2].[HasSoulPatch0]"); +ORDER BY [t2].[Nickname], [t2].[SquadId], [t2].[HasSoulPatch0] +"""); } public override async Task Where_bool_column_and_Contains(bool async) @@ -10771,7 +11897,8 @@ public override async Task Where_bool_column_and_Contains(bool async) await base.Where_bool_column_and_Contains(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -10779,7 +11906,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [t].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit))"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [t].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit)) +"""); } public override async Task Where_bool_column_or_Contains(bool async) @@ -10787,7 +11915,8 @@ public override async Task Where_bool_column_or_Contains(bool async) await base.Where_bool_column_or_Contains(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -10795,7 +11924,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [t].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit))"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [t].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit)) +"""); } public override async Task Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(bool async) @@ -10803,12 +11933,14 @@ public override async Task Parameter_used_multiple_times_take_appropriate_inferr await base.Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(async); AssertSql( - @"@__place_0='Seattle' (Size = 4000) +""" +@__place_0='Seattle' (Size = 4000) @__place_0_1='Seattle' (Size = 100) (DbType = AnsiString) SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Nation] = @__place_0 OR [c].[Location] = @__place_0_1"); +WHERE [c].[Nation] = @__place_0 OR [c].[Location] = @__place_0_1 +"""); } public override async Task Enum_matching_take_value_gets_different_type_mapping(bool async) @@ -10816,7 +11948,8 @@ public override async Task Enum_matching_take_value_gets_different_type_mapping( await base.Enum_matching_take_value_gets_different_type_mapping(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__value_1='1' SELECT TOP(@__p_0) [t].[Rank] & @__value_1 @@ -10827,7 +11960,8 @@ UNION ALL SELECT [o].[Nickname], [o].[Rank] FROM [Officers] AS [o] ) AS [t] -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(bool async) @@ -10835,7 +11969,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(async); AssertSql( - @"@__prm_0='1' +""" +@__prm_0='1' SELECT [t].[Nickname], [t].[FullName], CASE WHEN [t0].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -10852,7 +11987,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] AS [w] WHERE [w].[Id] > @__prm_0 -) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName]"); +) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] +"""); } public override async Task Project_entity_and_collection_element(bool async) @@ -10860,7 +11996,8 @@ public override async Task Project_entity_and_collection_element(bool async) await base.Project_entity_and_collection_element(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -10878,7 +12015,8 @@ FROM [Weapons] AS [w0] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [s].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [s].[Id] +"""); } public override async Task DateTimeOffset_DateAdd_AddYears(bool async) @@ -10886,8 +12024,10 @@ public override async Task DateTimeOffset_DateAdd_AddYears(bool async) await base.DateTimeOffset_DateAdd_AddYears(async); AssertSql( - @"SELECT DATEADD(year, CAST(1 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(year, CAST(1 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task Correlated_collection_via_SelectMany_with_Distinct_missing_indentifying_columns_in_projection(bool async) @@ -10895,7 +12035,8 @@ public override async Task Correlated_collection_via_SelectMany_with_Distinct_mi await base.Correlated_collection_via_SelectMany_with_Distinct_missing_indentifying_columns_in_projection(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t1].[HasSoulPatch] +""" +SELECT [t].[Nickname], [t].[SquadId], [t1].[HasSoulPatch] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -10923,7 +12064,8 @@ FROM [Officers] AS [o1] ) AS [t2] ON [c].[Name] = [t2].[CityOfBirthName] WHERE [t].[FullName] = [w].[OwnerFullName] ) AS [t1] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Basic_query_gears(bool async) @@ -10931,11 +12073,13 @@ public override async Task Basic_query_gears(bool async) await base.Basic_query_gears(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] -FROM [Officers] AS [o]"); +FROM [Officers] AS [o] +"""); } public override async Task Contains_on_readonly_enumerable(bool async) @@ -10943,9 +12087,11 @@ public override async Task Contains_on_readonly_enumerable(bool async) await base.Contains_on_readonly_enumerable(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = 1"); +WHERE [w].[AmmunitionType] = 1 +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(bool async) @@ -10953,7 +12099,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(async); AssertSql( - @"@__isAutomatic_0='True' +""" +@__isAutomatic_0='True' SELECT [t].[Nickname], [t].[FullName], CASE WHEN [t0].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -10970,7 +12117,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] <> @__isAutomatic_0 -) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName]"); +) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] +"""); } public override async Task Trying_to_access_unmapped_property_in_projection(bool async) @@ -10978,11 +12126,13 @@ public override async Task Trying_to_access_unmapped_property_in_projection(bool await base.Trying_to_access_unmapped_property_in_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] -FROM [Officers] AS [o]"); +FROM [Officers] AS [o] +"""); } public override async Task Cast_to_derived_type_causes_client_eval(bool async) @@ -10990,11 +12140,13 @@ public override async Task Cast_to_derived_type_causes_client_eval(bool async) await base.Cast_to_derived_type_causes_client_eval(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] -FROM [Officers] AS [o]"); +FROM [Officers] AS [o] +"""); } public override async Task Comparison_with_value_converted_subclass(bool async) @@ -11002,9 +12154,11 @@ public override async Task Comparison_with_value_converted_subclass(bool async) await base.Comparison_with_value_converted_subclass(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] FROM [LocustHordes] AS [l] -WHERE [l].[ServerAddress] = CAST(N'127.0.0.1' AS nvarchar(45))"); +WHERE [l].[ServerAddress] = CAST(N'127.0.0.1' AS nvarchar(45)) +"""); } public override async Task FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(bool async) @@ -11012,7 +12166,8 @@ public override async Task FirstOrDefault_on_empty_collection_of_DateTime_in_sub await base.FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(async); AssertSql( - @"SELECT [t].[Nickname], COALESCE(( +""" +SELECT [t].[Nickname], COALESCE(( SELECT TOP(1) [t2].[IssueDate] FROM [Tags] AS [t2] WHERE [t2].[GearNickName] = [t].[FullName] @@ -11029,7 +12184,8 @@ FROM [Officers] AS [o] SELECT TOP(1) [t1].[IssueDate] FROM [Tags] AS [t1] WHERE [t1].[GearNickName] = [t].[FullName] - ORDER BY [t1].[Id]), '0001-01-01T00:00:00.0000000')"); + ORDER BY [t1].[Id]), '0001-01-01T00:00:00.0000000') +"""); } public override async Task @@ -11041,7 +12197,8 @@ await base async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[IsAutomatic], [t0].[Name], [t0].[Count] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[IsAutomatic], [t0].[Name], [t0].[Count] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -11055,7 +12212,8 @@ FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic], [w].[Name] ) AS [t0] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[IsAutomatic]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[IsAutomatic] +"""); } public override async Task Sum_with_no_data_nullable_double(bool async) @@ -11063,9 +12221,11 @@ public override async Task Sum_with_no_data_nullable_double(bool async) await base.Sum_with_no_data_nullable_double(async); AssertSql( - @"SELECT COALESCE(SUM([m].[Rating]), 0.0E0) +""" +SELECT COALESCE(SUM([m].[Rating]), 0.0E0) FROM [Missions] AS [m] -WHERE [m].[CodeName] = N'Operation Foobar'"); +WHERE [m].[CodeName] = N'Operation Foobar' +"""); } public override async Task ToString_guid_property_projection(bool async) @@ -11073,8 +12233,10 @@ public override async Task ToString_guid_property_projection(bool async) await base.ToString_guid_property_projection(async); AssertSql( - @"SELECT [t].[GearNickName] AS [A], CONVERT(varchar(36), [t].[Id]) AS [B] -FROM [Tags] AS [t]"); +""" +SELECT [t].[GearNickName] AS [A], CONVERT(varchar(36), [t].[Id]) AS [B] +FROM [Tags] AS [t] +"""); } public override async Task Correlated_collection_with_distinct_not_projecting_identifier_column(bool async) @@ -11082,7 +12244,8 @@ public override async Task Correlated_collection_with_distinct_not_projecting_id await base.Correlated_collection_with_distinct_not_projecting_identifier_column(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Name], [t0].[IsAutomatic] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Name], [t0].[IsAutomatic] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -11095,7 +12258,8 @@ OUTER APPLY ( FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] ) AS [t0] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Name]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Name] +"""); } public override async Task Include_after_Select_throws(bool async) @@ -11103,9 +12267,11 @@ public override async Task Include_after_Select_throws(bool async) await base.Include_after_Select_throws(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [c].[Name], [c].[Location], [c].[Nation] FROM [LocustHordes] AS [l] -LEFT JOIN [Cities] AS [c] ON [l].[CapitalName] = [c].[Name]"); +LEFT JOIN [Cities] AS [c] ON [l].[CapitalName] = [c].[Name] +"""); } public override async Task Cast_to_derived_followed_by_multiple_includes(bool async) @@ -11113,7 +12279,8 @@ public override async Task Cast_to_derived_followed_by_multiple_includes(bool as await base.Cast_to_derived_followed_by_multiple_includes(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -11130,7 +12297,8 @@ FROM [Officers] AS [o] ) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] WHERE [t].[Name] LIKE N'%Queen%' -ORDER BY [t].[Name], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Name], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column(bool async) @@ -11138,7 +12306,8 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[Name] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[Name] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -11151,7 +12320,8 @@ OUTER APPLY ( FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] ) AS [t0] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Where_equals_method_on_nullable_with_object_overload(bool async) @@ -11159,9 +12329,11 @@ public override async Task Where_equals_method_on_nullable_with_object_overload( await base.Where_equals_method_on_nullable_with_object_overload(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Rating] IS NULL"); +WHERE [m].[Rating] IS NULL +"""); } public override async Task @@ -11170,7 +12342,8 @@ public override async Task await base.Correlated_collection_with_groupby_not_projecting_identifier_column_but_only_grouping_key_in_final_projection(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Key] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Key] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -11184,7 +12357,8 @@ FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic] ) AS [t0] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Project_derivied_entity_with_convert_to_parent(bool async) @@ -11192,8 +12366,10 @@ public override async Task Project_derivied_entity_with_convert_to_parent(bool a await base.Project_derivied_entity_with_convert_to_parent(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] -FROM [LocustHordes] AS [l]"); +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated] +FROM [LocustHordes] AS [l] +"""); } public override async Task Include_after_SelectMany_throws(bool async) @@ -11201,7 +12377,8 @@ public override async Task Include_after_SelectMany_throws(bool async) await base.Include_after_SelectMany_throws(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [LocustHordes] AS [l] LEFT JOIN [Cities] AS [c] ON [l].[CapitalName] = [c].[Name] INNER JOIN ( @@ -11211,7 +12388,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] ON [c].[Name] = [t].[CityOfBirthName] -INNER JOIN [Squads] AS [s] ON [t].[SquadId] = [s].[Id]"); +INNER JOIN [Squads] AS [s] ON [t].[SquadId] = [s].[Id] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column_composite_key(bool async) @@ -11219,7 +12397,8 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column_composite_key(async); AssertSql( - @"SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch] +""" +SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch] FROM [Squads] AS [s] LEFT JOIN ( SELECT DISTINCT [t].[Nickname], [t].[SquadId], [t].[HasSoulPatch] @@ -11231,7 +12410,8 @@ UNION ALL FROM [Officers] AS [o] ) AS [t] ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[Nickname]"); +ORDER BY [s].[Id], [t0].[Nickname] +"""); } public override async Task Include_on_entity_that_is_not_present_in_final_projection_but_uses_TypeIs_instead(bool async) @@ -11239,7 +12419,8 @@ public override async Task Include_on_entity_that_is_not_present_in_final_projec await base.Include_on_entity_that_is_not_present_in_final_projection_but_uses_TypeIs_instead(async); AssertSql( - @"SELECT [t].[Nickname], CASE +""" +SELECT [t].[Nickname], CASE WHEN [t].[Discriminator] = N'Officer' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsOfficer] @@ -11249,7 +12430,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task GroupBy_Select_sum(bool async) @@ -11257,9 +12439,11 @@ public override async Task GroupBy_Select_sum(bool async) await base.GroupBy_Select_sum(async); AssertSql( - @"SELECT COALESCE(SUM([m].[Rating]), 0.0E0) +""" +SELECT COALESCE(SUM([m].[Rating]), 0.0E0) FROM [Missions] AS [m] -GROUP BY [m].[CodeName]"); +GROUP BY [m].[CodeName] +"""); } public override async Task ToString_boolean_property_nullable(bool async) @@ -11267,12 +12451,14 @@ public override async Task ToString_boolean_property_nullable(bool async) await base.ToString_boolean_property_nullable(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l].[Eradicated] = CAST(0 AS bit) THEN N'False' WHEN [l].[Eradicated] = CAST(1 AS bit) THEN N'True' ELSE NULL END -FROM [LocustHordes] AS [l]"); +FROM [LocustHordes] AS [l] +"""); } public override async Task Correlated_collection_after_distinct_3_levels(bool async) @@ -11280,7 +12466,8 @@ public override async Task Correlated_collection_after_distinct_3_levels(bool as await base.Correlated_collection_after_distinct_3_levels(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t2].[Nickname], [t2].[FullName], [t2].[HasSoulPatch], [t2].[Id], [t2].[Name], [t2].[Nickname0], [t2].[FullName0], [t2].[HasSoulPatch0], [t2].[Id0] +""" +SELECT [t].[Id], [t].[Name], [t2].[Nickname], [t2].[FullName], [t2].[HasSoulPatch], [t2].[Id], [t2].[Name], [t2].[Nickname0], [t2].[FullName0], [t2].[HasSoulPatch0], [t2].[Id0] FROM ( SELECT DISTINCT [s].[Id], [s].[Name] FROM [Squads] AS [s] @@ -11304,7 +12491,8 @@ FROM [Weapons] AS [w] WHERE [w].[OwnerFullName] = [t0].[FullName] ) AS [t1] ) AS [t2] -ORDER BY [t].[Id], [t2].[Nickname], [t2].[FullName], [t2].[HasSoulPatch]"); +ORDER BY [t].[Id], [t2].[Nickname], [t2].[FullName], [t2].[HasSoulPatch] +"""); } public override async Task ToString_boolean_property_non_nullable(bool async) @@ -11312,11 +12500,13 @@ public override async Task ToString_boolean_property_non_nullable(bool async) await base.ToString_boolean_property_non_nullable(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN N'False' ELSE N'True' END -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Include_on_derived_entity_with_cast(bool async) @@ -11324,10 +12514,12 @@ public override async Task Include_on_derived_entity_with_cast(bool async) await base.Include_on_derived_entity_with_cast(async); AssertSql( - @"SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [l].[Id], [l].[CapitalName], [l].[Name], [l].[ServerAddress], [l].[CommanderName], [l].[Eradicated], [c].[Name], [c].[Location], [c].[Nation] FROM [LocustHordes] AS [l] LEFT JOIN [Cities] AS [c] ON [l].[CapitalName] = [c].[Name] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task String_concat_nullable_expressions_are_coalesced(bool async) @@ -11335,14 +12527,16 @@ public override async Task String_concat_nullable_expressions_are_coalesced(bool await base.String_concat_nullable_expressions_are_coalesced(async); AssertSql( - @"SELECT (([t].[FullName] + N'') + COALESCE([t].[LeaderNickname], N'')) + N'' +""" +SELECT (([t].[FullName] + N'') + COALESCE([t].[LeaderNickname], N'')) + N'' FROM ( SELECT [g].[FullName], [g].[LeaderNickname] FROM [Gears] AS [g] UNION ALL SELECT [o].[FullName], [o].[LeaderNickname] FROM [Officers] AS [o] -) AS [t]"); +) AS [t] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(bool async) @@ -11350,7 +12544,8 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[Name], [t0].[OwnerFullName] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[Name], [t0].[OwnerFullName] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -11362,7 +12557,8 @@ LEFT JOIN ( SELECT DISTINCT [w].[Id], [w].[Name], [w].[OwnerFullName] FROM [Weapons] AS [w] ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collection_with_groupby_not_projecting_identifier_column_with_group_aggregate_in_final_projection( @@ -11371,7 +12567,8 @@ public override async Task Correlated_collection_with_groupby_not_projecting_ide await base.Correlated_collection_with_groupby_not_projecting_identifier_column_with_group_aggregate_in_final_projection(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Key], [t0].[Count] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Key], [t0].[Count] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -11385,7 +12582,8 @@ FROM [Weapons] AS [w] WHERE [t].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic] ) AS [t0] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Project_discriminator_columns(bool async) @@ -11404,7 +12602,8 @@ await base async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Key], [t0].[Count] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Key], [t0].[Count] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -11421,7 +12620,8 @@ FROM [Weapons] AS [w] ) AS [t1] GROUP BY [t1].[Key] ) AS [t0] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collection_with_distinct_not_projecting_identifier_column_also_projecting_complex_expressions( @@ -11612,13 +12812,15 @@ public override async Task Join_with_complex_key_selector(bool async) await base.Join_with_complex_key_selector(async); AssertSql( - @"SELECT [s].[Id], [t0].[Id] AS [TagId] +""" +SELECT [s].[Id], [t0].[Id] AS [TagId] FROM [Squads] AS [s] CROSS JOIN ( SELECT [t].[Id] FROM [Tags] AS [t] WHERE [t].[Note] = N'Marcus'' Tag' -) AS [t0]"); +) AS [t0] +"""); } public override async Task Streaming_correlated_collection_issue_11403_returning_ordered_enumerable_throws(bool async) @@ -11696,7 +12898,8 @@ public override async Task Where_subquery_equality_to_null_with_composite_key(bo await base.Where_subquery_equality_to_null_with_composite_key(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] WHERE NOT (EXISTS ( SELECT 1 @@ -11707,7 +12910,8 @@ UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] ) AS [t] - WHERE [s].[Id] = [t].[SquadId]))"); + WHERE [s].[Id] = [t].[SquadId])) +"""); } public override async Task Where_subquery_equality_to_null_without_composite_key(bool async) @@ -11715,7 +12919,8 @@ public override async Task Where_subquery_equality_to_null_without_composite_key await base.Where_subquery_equality_to_null_without_composite_key(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -11726,7 +12931,8 @@ FROM [Officers] AS [o] WHERE NOT (EXISTS ( SELECT 1 FROM [Weapons] AS [w] - WHERE [t].[FullName] = [w].[OwnerFullName]))"); + WHERE [t].[FullName] = [w].[OwnerFullName])) +"""); } public override async Task Include_reference_on_derived_type_using_EF_Property(bool async) @@ -11734,7 +12940,8 @@ public override async Task Include_reference_on_derived_type_using_EF_Property(b await base.Include_reference_on_derived_type_using_EF_Property(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], NULL AS [DefeatedByNickname], NULL AS [DefeatedBySquadId], NULL AS [HighCommandId], N'LocustLeader' AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -11748,7 +12955,8 @@ FROM [Gears] AS [g] UNION ALL SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] -) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[DefeatedByNickname] = [t0].[Nickname] AND [t].[DefeatedBySquadId] = [t0].[SquadId] +"""); } public override async Task Include_collection_on_derived_type_using_EF_Property(bool async) @@ -11756,7 +12964,8 @@ public override async Task Include_collection_on_derived_type_using_EF_Property( await base.Include_collection_on_derived_type_using_EF_Property(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], N'Gear' AS [Discriminator] FROM [Gears] AS [g] @@ -11771,7 +12980,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } public override async Task EF_Property_based_Include_navigation_on_derived_type(bool async) @@ -11779,7 +12989,8 @@ public override async Task EF_Property_based_Include_navigation_on_derived_type( await base.EF_Property_based_Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM ( SELECT [o].[Nickname], [o].[SquadId], [o].[AssignedCityName], [o].[CityOfBirthName], [o].[FullName], [o].[HasSoulPatch], [o].[LeaderNickname], [o].[LeaderSquadId], [o].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o] @@ -11791,7 +13002,8 @@ UNION ALL SELECT [o0].[Nickname], [o0].[SquadId], [o0].[AssignedCityName], [o0].[CityOfBirthName], [o0].[FullName], [o0].[HasSoulPatch], [o0].[LeaderNickname], [o0].[LeaderSquadId], [o0].[Rank], N'Officer' AS [Discriminator] FROM [Officers] AS [o0] ) AS [t0] ON [t].[Nickname] = [t0].[LeaderNickname] AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Nickname] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPCInheritanceQuerySqlServerTestBase.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPCInheritanceQuerySqlServerTestBase.cs index 9d1fae2b40b..cbf297d0179 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPCInheritanceQuerySqlServerTestBase.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPCInheritanceQuerySqlServerTestBase.cs @@ -21,11 +21,13 @@ public override async Task Byte_enum_value_constant_used_in_projection(bool asyn await base.Byte_enum_value_constant_used_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [k].[IsFlightless] = CAST(1 AS bit) THEN CAST(0 AS tinyint) ELSE CAST(1 AS tinyint) END -FROM [Kiwi] AS [k]"); +FROM [Kiwi] AS [k] +"""); } public override async Task Can_filter_all_animals(bool async) @@ -33,7 +35,8 @@ public override async Task Can_filter_all_animals(bool async) await base.Can_filter_all_animals(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -42,7 +45,8 @@ UNION ALL FROM [Kiwi] AS [k] ) AS [t] WHERE [t].[Name] = N'Great spotted kiwi' -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_include_animals(bool async) @@ -50,7 +54,8 @@ public override async Task Can_include_animals(bool async) await base.Can_include_animals(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [c].[Id], [c].[Name], [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM [Countries] AS [c] LEFT JOIN ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] @@ -59,7 +64,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] ON [c].[Id] = [t].[CountryId] -ORDER BY [c].[Name], [c].[Id]"); +ORDER BY [c].[Name], [c].[Id] +"""); } public override async Task Can_include_prey(bool async) @@ -67,7 +73,8 @@ public override async Task Can_include_prey(bool async) await base.Can_include_prey(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t0].[Id], [t0].[CountryId], [t0].[Name], [t0].[Species], [t0].[EagleId], [t0].[IsFlightless], [t0].[Group], [t0].[FoundOn], [t0].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t0].[Id], [t0].[CountryId], [t0].[Name], [t0].[Species], [t0].[EagleId], [t0].[IsFlightless], [t0].[Group], [t0].[FoundOn], [t0].[Discriminator] FROM ( SELECT TOP(2) [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group] FROM [Eagle] AS [e] @@ -79,7 +86,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t0] ON [t].[Id] = [t0].[EagleId] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override void Can_insert_update_delete() @@ -90,7 +98,8 @@ public override async Task Can_query_all_animals(bool async) await base.Can_query_all_animals(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -98,7 +107,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_query_all_birds(bool async) @@ -106,7 +116,8 @@ public override async Task Can_query_all_birds(bool async) await base.Can_query_all_birds(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -114,7 +125,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_query_all_plants(bool async) @@ -122,7 +134,8 @@ public override async Task Can_query_all_plants(bool async) await base.Can_query_all_plants(async); AssertSql( - @"SELECT [t].[Species], [t].[CountryId], [t].[Genus], [t].[Name], [t].[HasThorns], [t].[Discriminator] +""" +SELECT [t].[Species], [t].[CountryId], [t].[Genus], [t].[Name], [t].[HasThorns], [t].[Discriminator] FROM ( SELECT [d].[Species], [d].[CountryId], [d].[Genus], [d].[Name], NULL AS [HasThorns], N'Daisy' AS [Discriminator] FROM [Daisies] AS [d] @@ -130,7 +143,8 @@ UNION ALL SELECT [r].[Species], [r].[CountryId], [r].[Genus], [r].[Name], [r].[HasThorns], N'Rose' AS [Discriminator] FROM [Roses] AS [r] ) AS [t] -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_query_all_types_when_shared_column(bool async) @@ -138,7 +152,8 @@ public override async Task Can_query_all_types_when_shared_column(bool async) await base.Can_query_all_types_when_shared_column(async); AssertSql( - @"SELECT [d].[Id], [d].[SortIndex], NULL AS [CaffeineGrams], NULL AS [CokeCO2], NULL AS [SugarGrams], NULL AS [LiltCO2], NULL AS [SugarGrams0], NULL AS [CaffeineGrams0], NULL AS [HasMilk], N'Drink' AS [Discriminator] +""" +SELECT [d].[Id], [d].[SortIndex], NULL AS [CaffeineGrams], NULL AS [CokeCO2], NULL AS [SugarGrams], NULL AS [LiltCO2], NULL AS [SugarGrams0], NULL AS [CaffeineGrams0], NULL AS [HasMilk], N'Drink' AS [Discriminator] FROM [Drinks] AS [d] UNION ALL SELECT [c].[Id], [c].[SortIndex], [c].[CaffeineGrams], [c].[CokeCO2], [c].[SugarGrams], NULL AS [LiltCO2], NULL AS [SugarGrams0], NULL AS [CaffeineGrams0], NULL AS [HasMilk], N'Coke' AS [Discriminator] @@ -148,7 +163,8 @@ UNION ALL FROM [Lilt] AS [l] UNION ALL SELECT [t0].[Id], [t0].[SortIndex], NULL AS [CaffeineGrams], NULL AS [CokeCO2], NULL AS [SugarGrams], NULL AS [LiltCO2], NULL AS [SugarGrams0], [t0].[CaffeineGrams] AS [CaffeineGrams0], [t0].[HasMilk], N'Tea' AS [Discriminator] -FROM [Tea] AS [t0]"); +FROM [Tea] AS [t0] +"""); } public override async Task Can_query_just_kiwis(bool async) @@ -156,8 +172,10 @@ public override async Task Can_query_just_kiwis(bool async) await base.Can_query_just_kiwis(async); AssertSql( - @"SELECT TOP(2) [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn] -FROM [Kiwi] AS [k]"); +""" +SELECT TOP(2) [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn] +FROM [Kiwi] AS [k] +"""); } public override async Task Can_query_just_roses(bool async) @@ -165,8 +183,10 @@ public override async Task Can_query_just_roses(bool async) await base.Can_query_just_roses(async); AssertSql( - @"SELECT TOP(2) [r].[Species], [r].[CountryId], [r].[Genus], [r].[Name], [r].[HasThorns] -FROM [Roses] AS [r]"); +""" +SELECT TOP(2) [r].[Species], [r].[CountryId], [r].[Genus], [r].[Name], [r].[HasThorns] +FROM [Roses] AS [r] +"""); } public override async Task Can_query_when_shared_column(bool async) @@ -174,14 +194,20 @@ public override async Task Can_query_when_shared_column(bool async) await base.Can_query_when_shared_column(async); AssertSql( - @"SELECT TOP(2) [c].[Id], [c].[SortIndex], [c].[CaffeineGrams], [c].[CokeCO2], [c].[SugarGrams] -FROM [Coke] AS [c]", +""" +SELECT TOP(2) [c].[Id], [c].[SortIndex], [c].[CaffeineGrams], [c].[CokeCO2], [c].[SugarGrams] +FROM [Coke] AS [c] +""", // - @"SELECT TOP(2) [l].[Id], [l].[SortIndex], [l].[LiltCO2], [l].[SugarGrams] -FROM [Lilt] AS [l]", +""" +SELECT TOP(2) [l].[Id], [l].[SortIndex], [l].[LiltCO2], [l].[SugarGrams] +FROM [Lilt] AS [l] +""", // - @"SELECT TOP(2) [t].[Id], [t].[SortIndex], [t].[CaffeineGrams], [t].[HasMilk] -FROM [Tea] AS [t]"); +""" +SELECT TOP(2) [t].[Id], [t].[SortIndex], [t].[CaffeineGrams], [t].[HasMilk] +FROM [Tea] AS [t] +"""); } public override async Task Can_use_backwards_is_animal(bool async) @@ -189,8 +215,10 @@ public override async Task Can_use_backwards_is_animal(bool async) await base.Can_use_backwards_is_animal(async); AssertSql( - @"SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn] -FROM [Kiwi] AS [k]"); +""" +SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn] +FROM [Kiwi] AS [k] +"""); } public override async Task Can_use_backwards_of_type_animal(bool async) @@ -198,8 +226,10 @@ public override async Task Can_use_backwards_of_type_animal(bool async) await base.Can_use_backwards_of_type_animal(async); AssertSql( - @"SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn] -FROM [Kiwi] AS [k]"); +""" +SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn] +FROM [Kiwi] AS [k] +"""); } public override async Task Can_use_is_kiwi(bool async) @@ -207,8 +237,10 @@ public override async Task Can_use_is_kiwi(bool async) await base.Can_use_is_kiwi(async); AssertSql( - @"SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] -FROM [Kiwi] AS [k]"); +""" +SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] +FROM [Kiwi] AS [k] +"""); } public override async Task Can_use_is_kiwi_with_cast(bool async) @@ -216,7 +248,8 @@ public override async Task Can_use_is_kiwi_with_cast(bool async) await base.Can_use_is_kiwi_with_cast(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[Discriminator] = N'Kiwi' THEN [t].[FoundOn] ELSE CAST(0 AS tinyint) END AS [Value] @@ -226,7 +259,8 @@ FROM [Eagle] AS [e] UNION ALL SELECT [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] -) AS [t]"); +) AS [t] +"""); } public override async Task Can_use_is_kiwi_in_projection(bool async) @@ -234,7 +268,8 @@ public override async Task Can_use_is_kiwi_in_projection(bool async) await base.Can_use_is_kiwi_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[Discriminator] = N'Kiwi' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END @@ -244,7 +279,8 @@ FROM [Eagle] AS [e] UNION ALL SELECT N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] -) AS [t]"); +) AS [t] +"""); } public override async Task Can_use_is_kiwi_with_other_predicate(bool async) @@ -252,7 +288,8 @@ public override async Task Can_use_is_kiwi_with_other_predicate(bool async) await base.Can_use_is_kiwi_with_other_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -260,7 +297,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[Discriminator] = N'Kiwi' AND [t].[CountryId] = 1"); +WHERE [t].[Discriminator] = N'Kiwi' AND [t].[CountryId] = 1 +"""); } public override async Task Can_use_of_type_animal(bool async) @@ -268,7 +306,8 @@ public override async Task Can_use_of_type_animal(bool async) await base.Can_use_of_type_animal(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -276,7 +315,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_use_of_type_bird(bool async) @@ -284,7 +324,8 @@ public override async Task Can_use_of_type_bird(bool async) await base.Can_use_of_type_bird(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -292,7 +333,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_use_of_type_bird_first(bool async) @@ -300,7 +342,8 @@ public override async Task Can_use_of_type_bird_first(bool async) await base.Can_use_of_type_bird_first(async); AssertSql( - @"SELECT TOP(1) [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT TOP(1) [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -308,7 +351,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_use_of_type_bird_predicate(bool async) @@ -316,7 +360,8 @@ public override async Task Can_use_of_type_bird_predicate(bool async) await base.Can_use_of_type_bird_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -325,7 +370,8 @@ UNION ALL FROM [Kiwi] AS [k] ) AS [t] WHERE [t].[CountryId] = 1 -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Can_use_of_type_bird_with_projection(bool async) @@ -333,11 +379,13 @@ public override async Task Can_use_of_type_bird_with_projection(bool async) await base.Can_use_of_type_bird_with_projection(async); AssertSql( - @"SELECT [e].[EagleId] +""" +SELECT [e].[EagleId] FROM [Eagle] AS [e] UNION ALL SELECT [k].[EagleId] -FROM [Kiwi] AS [k]"); +FROM [Kiwi] AS [k] +"""); } public override async Task Can_use_of_type_kiwi(bool async) @@ -345,8 +393,10 @@ public override async Task Can_use_of_type_kiwi(bool async) await base.Can_use_of_type_kiwi(async); AssertSql( - @"SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn], N'Kiwi' AS [Discriminator] -FROM [Kiwi] AS [k]"); +""" +SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn], N'Kiwi' AS [Discriminator] +FROM [Kiwi] AS [k] +"""); } public override async Task Can_use_of_type_kiwi_where_north_on_derived_property(bool async) @@ -354,12 +404,14 @@ public override async Task Can_use_of_type_kiwi_where_north_on_derived_property( await base.Can_use_of_type_kiwi_where_north_on_derived_property(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[FoundOn] = CAST(0 AS tinyint)"); +WHERE [t].[FoundOn] = CAST(0 AS tinyint) +"""); } public override async Task Can_use_of_type_kiwi_where_south_on_derived_property(bool async) @@ -367,12 +419,14 @@ public override async Task Can_use_of_type_kiwi_where_south_on_derived_property( await base.Can_use_of_type_kiwi_where_south_on_derived_property(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[FoundOn] = CAST(1 AS tinyint)"); +WHERE [t].[FoundOn] = CAST(1 AS tinyint) +"""); } public override async Task Can_use_of_type_rose(bool async) @@ -380,8 +434,10 @@ public override async Task Can_use_of_type_rose(bool async) await base.Can_use_of_type_rose(async); AssertSql( - @"SELECT [r].[Species], [r].[CountryId], [r].[Genus], [r].[Name], [r].[HasThorns], N'Rose' AS [Discriminator] -FROM [Roses] AS [r]"); +""" +SELECT [r].[Species], [r].[CountryId], [r].[Genus], [r].[Name], [r].[HasThorns], N'Rose' AS [Discriminator] +FROM [Roses] AS [r] +"""); } public override void Member_access_on_intermediate_type_works() @@ -389,9 +445,11 @@ public override void Member_access_on_intermediate_type_works() base.Member_access_on_intermediate_type_works(); AssertSql( - @"SELECT [k].[Name] +""" +SELECT [k].[Name] FROM [Kiwi] AS [k] -ORDER BY [k].[Name]"); +ORDER BY [k].[Name] +"""); } public override async Task OfType_Union_OfType(bool async) @@ -416,7 +474,8 @@ public override async Task Subquery_OfType(bool async) await base.Subquery_OfType(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT DISTINCT [t0].[Id], [t0].[CountryId], [t0].[Name], [t0].[Species], [t0].[EagleId], [t0].[IsFlightless], [t0].[FoundOn], [t0].[Discriminator] FROM ( @@ -430,7 +489,8 @@ FROM [Kiwi] AS [k] ) AS [t] ORDER BY [t].[Species] ) AS [t0] -WHERE [t0].[Discriminator] = N'Kiwi'"); +WHERE [t0].[Discriminator] = N'Kiwi' +"""); } public override async Task Union_entity_equality(bool async) @@ -452,7 +512,8 @@ public override async Task Is_operator_on_result_of_FirstOrDefault(bool async) await base.Is_operator_on_result_of_FirstOrDefault(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -474,7 +535,8 @@ FROM [Kiwi] AS [k0] WHERE [t1].[Name] = N'Great spotted kiwi' ) AS [t0] WHERE [t0].[Discriminator] = N'Kiwi') -ORDER BY [t].[Species]"); +ORDER BY [t].[Species] +"""); } public override async Task Selecting_only_base_properties_on_base_type(bool async) @@ -482,11 +544,13 @@ public override async Task Selecting_only_base_properties_on_base_type(bool asyn await base.Selecting_only_base_properties_on_base_type(async); AssertSql( - @"SELECT [e].[Name] +""" +SELECT [e].[Name] FROM [Eagle] AS [e] UNION ALL SELECT [k].[Name] -FROM [Kiwi] AS [k]"); +FROM [Kiwi] AS [k] +"""); } public override async Task Selecting_only_base_properties_on_derived_type(bool async) @@ -494,11 +558,13 @@ public override async Task Selecting_only_base_properties_on_derived_type(bool a await base.Selecting_only_base_properties_on_derived_type(async); AssertSql( - @"SELECT [e].[Name] +""" +SELECT [e].[Name] FROM [Eagle] AS [e] UNION ALL SELECT [k].[Name] -FROM [Kiwi] AS [k]"); +FROM [Kiwi] AS [k] +"""); } public override async Task Can_query_all_animal_views(bool async) @@ -548,12 +614,14 @@ public override async Task Using_is_operator_on_multiple_type_with_no_result(boo await base.Using_is_operator_on_multiple_type_with_no_result(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[Discriminator] = N'Eagle'"); +WHERE [t].[Discriminator] = N'Eagle' +"""); } public override async Task Using_is_operator_with_of_type_on_multiple_type_with_no_result(bool async) @@ -561,12 +629,14 @@ public override async Task Using_is_operator_with_of_type_on_multiple_type_with_ await base.Using_is_operator_with_of_type_on_multiple_type_with_no_result(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[Discriminator] FROM ( SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[Discriminator] = N'Eagle'"); +WHERE [t].[Discriminator] = N'Eagle' +"""); } public override async Task Using_OfType_on_multiple_type_with_no_result(bool async) @@ -581,7 +651,8 @@ public override async Task GetType_in_hierarchy_in_abstract_base_type(bool async await base.GetType_in_hierarchy_in_abstract_base_type(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -589,7 +660,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) @@ -597,7 +669,8 @@ public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) await base.GetType_in_hierarchy_in_intermediate_type(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -605,7 +678,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool async) @@ -613,8 +687,10 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool a await base.GetType_in_hierarchy_in_leaf_type_with_sibling(async); AssertSql( - @"SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] -FROM [Eagle] AS [e]"); +""" +SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] +FROM [Eagle] AS [e] +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool async) @@ -622,8 +698,10 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool await base.GetType_in_hierarchy_in_leaf_type_with_sibling2(async); AssertSql( - @"SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] -FROM [Kiwi] AS [k]"); +""" +SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] +FROM [Kiwi] AS [k] +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(bool async) @@ -631,8 +709,10 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_rever await base.GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(async); AssertSql( - @"SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] -FROM [Kiwi] AS [k]"); +""" +SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] +FROM [Kiwi] AS [k] +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(bool async) @@ -640,7 +720,8 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_e await base.GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM ( SELECT [e].[Id], [e].[CountryId], [e].[Name], [e].[Species], [e].[EagleId], [e].[IsFlightless], [e].[Group], NULL AS [FoundOn], N'Eagle' AS [Discriminator] FROM [Eagle] AS [e] @@ -648,7 +729,8 @@ UNION ALL SELECT [k].[Id], [k].[CountryId], [k].[Name], [k].[Species], [k].[EagleId], [k].[IsFlightless], NULL AS [Group], [k].[FoundOn], N'Kiwi' AS [Discriminator] FROM [Kiwi] AS [k] ) AS [t] -WHERE [t].[Discriminator] <> N'Kiwi'"); +WHERE [t].[Discriminator] <> N'Kiwi' +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPCManyToManyNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPCManyToManyNoTrackingQuerySqlServerTest.cs index c770174e779..34af34d3af6 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPCManyToManyNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPCManyToManyNoTrackingQuerySqlServerTest.cs @@ -24,13 +24,15 @@ public override async Task Skip_navigation_all(bool async) await base.Skip_navigation_all(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE NOT EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_without_predicate(bool async) @@ -38,13 +40,15 @@ public override async Task Skip_navigation_any_without_predicate(bool async) await base.Skip_navigation_any_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate(bool async) @@ -52,13 +56,15 @@ public override async Task Skip_navigation_any_with_predicate(bool async) await base.Skip_navigation_any_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] - WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains(bool async) @@ -66,13 +72,15 @@ public override async Task Skip_navigation_contains(bool async) await base.Skip_navigation_contains(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate(bool async) @@ -80,13 +88,15 @@ public override async Task Skip_navigation_count_without_predicate(bool async) await base.Skip_navigation_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE ( SELECT COUNT(*) FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] - WHERE [e].[Id] = [j].[RightId]) > 0"); + WHERE [e].[Id] = [j].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate(bool async) @@ -94,7 +104,8 @@ public override async Task Skip_navigation_count_with_predicate(bool async) await base.Skip_navigation_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] ORDER BY ( SELECT COUNT(*) @@ -106,7 +117,8 @@ UNION ALL SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], N'EntityLeaf' AS [Discriminator] FROM [Leaves] AS [l] ) AS [t] ON [j].[EntityBranchId] = [t].[Id] - WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id]"); + WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id] +"""); } public override async Task Skip_navigation_long_count_without_predicate(bool async) @@ -114,13 +126,15 @@ public override async Task Skip_navigation_long_count_without_predicate(bool asy await base.Skip_navigation_long_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] WHERE ( SELECT COUNT_BIG(*) FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint)"); + WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint) +"""); } public override async Task Skip_navigation_long_count_with_predicate(bool async) @@ -128,13 +142,15 @@ public override async Task Skip_navigation_long_count_with_predicate(bool async) await base.Skip_navigation_long_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] ORDER BY ( SELECT COUNT_BIG(*) FROM [EntityTwoEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[SelfSkipSharedLeftId] = [e1].[Id] - WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id]"); + WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id] +"""); } public override async Task Skip_navigation_select_many_average(bool async) @@ -142,13 +158,15 @@ public override async Task Skip_navigation_select_many_average(bool async) await base.Skip_navigation_select_many_average(async); AssertSql( - @"SELECT AVG(CAST([t].[Key1] AS float)) +""" +SELECT AVG(CAST([t].[Key1] AS float)) FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e1].[Key1], [e0].[TwoSkipSharedId] FROM [EntityCompositeKeyEntityTwo] AS [e0] INNER JOIN [EntityCompositeKeys] AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] -) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_max(bool async) @@ -156,13 +174,15 @@ public override async Task Skip_navigation_select_many_max(bool async) await base.Skip_navigation_select_many_max(async); AssertSql( - @"SELECT MAX([t].[Key1]) +""" +SELECT MAX([t].[Key1]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Key1], [j].[ThreeId] FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityCompositeKeys] AS [e0] ON [j].[CompositeId1] = [e0].[Key1] AND [j].[CompositeId2] = [e0].[Key2] AND [j].[CompositeId3] = [e0].[Key3] -) AS [t] ON [e].[Id] = [t].[ThreeId]"); +) AS [t] ON [e].[Id] = [t].[ThreeId] +"""); } public override async Task Skip_navigation_select_many_min(bool async) @@ -170,7 +190,8 @@ public override async Task Skip_navigation_select_many_min(bool async) await base.Skip_navigation_select_many_min(async); AssertSql( - @"SELECT MIN([t0].[Id]) +""" +SELECT MIN([t0].[Id]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [t].[Id], [e0].[ThreeSkipSharedId] @@ -188,7 +209,8 @@ UNION ALL SELECT [l0].[Id] FROM [Leaf2s] AS [l0] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_sum(bool async) @@ -196,7 +218,8 @@ public override async Task Skip_navigation_select_many_sum(bool async) await base.Skip_navigation_select_many_sum(async); AssertSql( - @"SELECT COALESCE(SUM([t0].[Key1]), 0) +""" +SELECT COALESCE(SUM([t0].[Key1]), 0) FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -214,7 +237,8 @@ INNER JOIN ( SELECT [e0].[Key1], [e].[RootSkipSharedId] FROM [EntityCompositeKeyEntityRoot] AS [e] INNER JOIN [EntityCompositeKeys] AS [e0] ON [e].[CompositeKeySkipSharedKey1] = [e0].[Key1] AND [e].[CompositeKeySkipSharedKey2] = [e0].[Key2] AND [e].[CompositeKeySkipSharedKey3] = [e0].[Key3] -) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId]"); +) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId] +"""); } public override async Task Skip_navigation_select_subquery_average(bool async) @@ -222,12 +246,14 @@ public override async Task Skip_navigation_select_subquery_average(bool async) await base.Skip_navigation_select_subquery_average(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([e].[Key1] AS float)) FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [EntityCompositeKeys] AS [e] ON [j].[CompositeId1] = [e].[Key1] AND [j].[CompositeId2] = [e].[Key2] AND [j].[CompositeId3] = [e].[Key3] WHERE [l].[Id] = [j].[LeafId]) -FROM [Leaves] AS [l]"); +FROM [Leaves] AS [l] +"""); } public override async Task Skip_navigation_select_subquery_max(bool async) @@ -235,12 +261,14 @@ public override async Task Skip_navigation_select_subquery_max(bool async) await base.Skip_navigation_select_subquery_max(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MAX([e0].[Id]) FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[TwoId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_min(bool async) @@ -248,12 +276,14 @@ public override async Task Skip_navigation_select_subquery_min(bool async) await base.Skip_navigation_select_subquery_min(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN([e0].[Id]) FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[ThreeId]) -FROM [EntityThrees] AS [e]"); +FROM [EntityThrees] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_sum(bool async) @@ -261,12 +291,14 @@ public override async Task Skip_navigation_select_subquery_sum(bool async) await base.Skip_navigation_select_subquery_sum(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COALESCE(SUM([e1].[Id]), 0) FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityOnes] AS [e1] ON [e0].[OneSkipSharedId] = [e1].[Id] WHERE [e].[Id] = [e0].[TwoSkipSharedId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_order_by_first_or_default(bool async) @@ -274,7 +306,8 @@ public override async Task Skip_navigation_order_by_first_or_default(bool async) await base.Skip_navigation_order_by_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[ThreeId] @@ -284,7 +317,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_order_by_single_or_default(bool async) @@ -292,7 +326,8 @@ public override async Task Skip_navigation_order_by_single_or_default(bool async await base.Skip_navigation_order_by_single_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT TOP(1) [t].[Id], [t].[Name] @@ -304,7 +339,8 @@ FROM [JoinOneSelfPayload] AS [j] ORDER BY [e0].[Id] ) AS [t] ORDER BY [t].[Id] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Skip_navigation_order_by_last_or_default(bool async) @@ -312,7 +348,8 @@ public override async Task Skip_navigation_order_by_last_or_default(bool async) await base.Skip_navigation_order_by_last_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM ( SELECT [b].[Id] FROM [Branches] AS [b] @@ -328,7 +365,8 @@ FROM [JoinOneToBranch] AS [j] INNER JOIN [EntityOnes] AS [e] ON [j].[EntityOneId] = [e].[Id] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[Id] = [t0].[EntityBranchId]"); +) AS [t0] ON [t].[Id] = [t0].[EntityBranchId] +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default(bool async) @@ -336,7 +374,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default(boo await base.Skip_navigation_order_by_reverse_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId] @@ -346,7 +385,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_cast(bool async) @@ -354,14 +394,16 @@ public override async Task Skip_navigation_cast(bool async) await base.Skip_navigation_cast(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [Leaves] AS [l] ON [j].[LeafId] = [l].[Id] ) AS [t] ON [e].[Key1] = [t].[CompositeId1] AND [e].[Key2] = [t].[CompositeId2] AND [e].[Key3] = [t].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] +"""); } public override async Task Skip_navigation_of_type(bool async) @@ -369,7 +411,8 @@ public override async Task Skip_navigation_of_type(bool async) await base.Skip_navigation_of_type(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -389,7 +432,8 @@ FROM [Leaf2s] AS [l0] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] = N'EntityLeaf' ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Join_with_skip_navigation(bool async) @@ -397,14 +441,16 @@ public override async Task Join_with_skip_navigation(bool async) await base.Join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] INNER JOIN [EntityTwos] AS [e0] ON [e].[Id] = ( SELECT TOP(1) [e2].[Id] FROM [EntityTwoEntityTwo] AS [e1] INNER JOIN [EntityTwos] AS [e2] ON [e1].[SelfSkipSharedRightId] = [e2].[Id] WHERE [e0].[Id] = [e1].[SelfSkipSharedLeftId] - ORDER BY [e2].[Id])"); + ORDER BY [e2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation(bool async) @@ -412,7 +458,8 @@ public override async Task Left_join_with_skip_navigation(bool async) await base.Left_join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] FROM [EntityCompositeKeys] AS [e] LEFT JOIN [EntityCompositeKeys] AS [e0] ON ( SELECT TOP(1) [e2].[Id] @@ -425,7 +472,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityThrees] AS [e3] ON [j].[ThreeId] = [e3].[Id] WHERE [e0].[Key1] = [j].[CompositeId1] AND [e0].[Key2] = [j].[CompositeId2] AND [e0].[Key3] = [j].[CompositeId3] ORDER BY [e3].[Id]) -ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2]"); +ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation(bool async) @@ -433,7 +481,8 @@ public override async Task Select_many_over_skip_navigation(bool async) await base.Select_many_over_skip_navigation(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -451,7 +500,8 @@ INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [e].[RootSkipSharedId] FROM [EntityRootEntityThree] AS [e] INNER JOIN [EntityThrees] AS [e0] ON [e].[ThreeSkipSharedId] = [e0].[Id] -) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId]"); +) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_where(bool async) @@ -459,13 +509,15 @@ public override async Task Select_many_over_skip_navigation_where(bool async) await base.Select_many_over_skip_navigation_where(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId]"); +) AS [t] ON [e].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip(bool async) @@ -473,7 +525,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip(bool a await base.Select_many_over_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -483,7 +536,8 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take(bool async) @@ -491,7 +545,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take(bool a await base.Select_many_over_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneSkipSharedId] @@ -501,7 +556,8 @@ FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take(bool async) @@ -509,7 +565,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take(b await base.Select_many_over_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -519,7 +576,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_of_type(bool async) @@ -527,7 +585,8 @@ public override async Task Select_many_over_skip_navigation_of_type(bool async) await base.Select_many_over_skip_navigation_of_type(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [e0].[ThreeSkipSharedId] @@ -546,7 +605,8 @@ UNION ALL FROM [Leaf2s] AS [l0] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') -) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_cast(bool async) @@ -554,7 +614,8 @@ public override async Task Select_many_over_skip_navigation_cast(bool async) await base.Select_many_over_skip_navigation_cast(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [j].[EntityOneId] @@ -566,7 +627,8 @@ UNION ALL SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], N'EntityLeaf' AS [Discriminator] FROM [Leaves] AS [l] ) AS [t] ON [j].[EntityBranchId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[EntityOneId]"); +) AS [t0] ON [e].[Id] = [t0].[EntityOneId] +"""); } public override async Task Select_skip_navigation(bool async) @@ -574,14 +636,16 @@ public override async Task Select_skip_navigation(bool async) await base.Select_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] +""" +SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[LeftId], [j].[RightId] FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[RightId] -ORDER BY [e].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [e].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Select_skip_navigation_multiple(bool async) @@ -589,7 +653,8 @@ public override async Task Select_skip_navigation_multiple(bool async) await base.Select_skip_navigation_multiple(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId], [j].[TwoId] @@ -606,7 +671,8 @@ LEFT JOIN ( FROM [EntityCompositeKeyEntityTwo] AS [e3] INNER JOIN [EntityCompositeKeys] AS [e4] ON [e3].[CompositeKeySkipSharedKey1] = [e4].[Key1] AND [e3].[CompositeKeySkipSharedKey2] = [e4].[Key2] AND [e3].[CompositeKeySkipSharedKey3] = [e4].[Key3] ) AS [t1] ON [e].[Id] = [t1].[TwoSkipSharedId] -ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2]"); +ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2] +"""); } public override async Task Select_skip_navigation_first_or_default(bool async) @@ -614,7 +680,8 @@ public override async Task Select_skip_navigation_first_or_default(bool async) await base.Select_skip_navigation_first_or_default(async); AssertSql( - @"SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] +""" +SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [t].[ThreeId] @@ -625,7 +692,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation(bool async) @@ -633,7 +701,8 @@ public override async Task Include_skip_navigation(bool async) await base.Include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -652,7 +721,8 @@ UNION ALL FROM [Leaf2s] AS [l0] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Include_skip_navigation_then_reference(bool async) @@ -660,7 +730,8 @@ public override async Task Include_skip_navigation_then_reference(bool async) await base.Include_skip_navigation_then_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId] @@ -668,7 +739,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation(bool async) @@ -676,7 +748,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation( await base.Include_skip_navigation_then_include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0], [t0].[Name0], [t0].[EntityBranchId], [t0].[EntityOneId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0], [t0].[Name0], [t0].[EntityBranchId], [t0].[EntityOneId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t].[Id] AS [Id0], [t].[Name] AS [Name0], [t].[EntityBranchId], [t].[EntityOneId] @@ -688,7 +761,8 @@ FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e0] ON [j0].[EntityOneId] = [e0].[Id] ) AS [t] ON [l].[Id] = [t].[EntityBranchId] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[EntityBranchId], [t0].[EntityOneId]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[EntityBranchId], [t0].[EntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation(bool async) @@ -696,7 +770,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Id1], [t0].[Name1], [t0].[LeftId], [t0].[RightId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Id1], [t0].[Name1], [t0].[LeftId], [t0].[RightId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[ThreeId], [t].[Id] AS [Id1], [t].[Name] AS [Name1], [t].[LeftId], [t].[RightId] @@ -709,7 +784,8 @@ FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t] ON [e0].[Id] = [t].[LeftId] ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference(bool async) @@ -717,7 +793,8 @@ public override async Task Include_skip_navigation_and_reference(bool async) await base.Include_skip_navigation_and_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[Id], [t].[Name], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[Id], [t].[Name], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] LEFT JOIN ( @@ -725,7 +802,8 @@ LEFT JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId] +"""); } public override async Task Filtered_include_skip_navigation_where(bool async) @@ -733,7 +811,8 @@ public override async Task Filtered_include_skip_navigation_where(bool async) await base.Filtered_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[OneId], [t].[ThreeId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -741,7 +820,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by(bool async) @@ -749,14 +829,16 @@ public override async Task Filtered_include_skip_navigation_order_by(bool async) await base.Filtered_include_skip_navigation_order_by(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId], [j].[TwoId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip(bool async) @@ -764,7 +846,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip(bool a await base.Filtered_include_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[SelfSkipSharedLeftId], [t].[SelfSkipSharedRightId] @@ -775,7 +858,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take(bool async) @@ -783,7 +867,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take(bool a await base.Filtered_include_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] @@ -794,7 +879,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take(bool async) @@ -802,7 +888,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take(b await base.Filtered_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[Id0], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] @@ -813,7 +900,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_where(bool async) @@ -821,7 +909,8 @@ public override async Task Filtered_then_include_skip_navigation_where(bool asyn await base.Filtered_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id0], [t0].[Name0], [t0].[OneId], [t0].[ThreeId] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id0], [t0].[Name0], [t0].[OneId], [t0].[ThreeId] FROM ( SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] FROM [Roots] AS [r] @@ -846,7 +935,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] WHERE [e1].[Id] < 10 ) AS [t1] ON [e0].[Id] = [t1].[ThreeId] ) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId] -ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId]"); +ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take(bool async) @@ -854,7 +944,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name0], [t1].[ReferenceInverseId], [t1].[Id0] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name0], [t1].[ReferenceInverseId], [t1].[Id0] FROM ( SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] FROM [Roots] AS [r] @@ -882,7 +973,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] WHERE 1 < [t2].[row] AND [t2].[row] <= 3 ) AS [t0] ON [e0].[Key1] = [t0].[CompositeId1] AND [e0].[Key2] = [t0].[CompositeId2] AND [e0].[Key3] = [t0].[CompositeId3] ) AS [t1] ON [t].[Id] = [t1].[RootSkipSharedId] -ORDER BY [t].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id]"); +ORDER BY [t].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation(bool async) @@ -890,7 +982,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [Leaves] AS [l] LEFT JOIN ( SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId], [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] @@ -903,7 +996,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] WHERE [e].[Key1] < 5 ) AS [t0] ON [l].[Id] = [t0].[LeafId] -ORDER BY [l].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [l].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(bool async) @@ -911,7 +1005,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0] @@ -930,7 +1025,8 @@ FROM [JoinTwoToThree] AS [j0] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(bool async) @@ -938,7 +1034,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId], [j].[TwoId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0] @@ -955,7 +1052,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t0] ON [e0].[Id] = [t0].[TwoId] WHERE [e0].[Id] < 10 ) AS [t1] ON [e].[Id] = [t1].[OneId] -ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0]"); +ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined(bool async) @@ -963,7 +1061,8 @@ public override async Task Filter_include_on_skip_navigation_combined(bool async await base.Filter_include_on_skip_navigation_combined(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -973,7 +1072,8 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes(bool async) @@ -981,7 +1081,8 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[Id], [t3].[Name], [t3].[OneId], [t3].[ThreeId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[OneId0], [t3].[TwoId], [t3].[Id1], [t3].[Name1], [t3].[Number], [t3].[IsGreen], [t3].[Discriminator], [t3].[EntityBranchId], [t3].[EntityOneId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[Id], [t3].[Name], [t3].[OneId], [t3].[ThreeId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[OneId0], [t3].[TwoId], [t3].[Id1], [t3].[Name1], [t3].[Number], [t3].[IsGreen], [t3].[Discriminator], [t3].[EntityBranchId], [t3].[EntityOneId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId], [t0].[OneId] AS [OneId0], [t0].[TwoId], [t1].[Id] AS [Id1], [t1].[Name] AS [Name1], [t1].[Number], [t1].[IsGreen], [t1].[Discriminator], [t1].[EntityBranchId], [t1].[EntityOneId] @@ -1010,7 +1111,8 @@ WHERE [t2].[Id] < 20 ) AS [t1] ON [e0].[Id] = [t1].[EntityOneId] WHERE [e0].[Id] < 10 ) AS [t3] ON [e].[Id] = [t3].[ThreeId] -ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId]"); +ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(bool async) @@ -1018,7 +1120,8 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[OneId], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[OneId], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -1031,7 +1134,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[CollectionInverseId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(bool async) @@ -1039,7 +1143,8 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] +""" +SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [t].[Id] AS [Id0], [t].[CollectionInverseId] AS [CollectionInverseId0], [t].[Name] AS [Name0], [t].[ReferenceInverseId] AS [ReferenceInverseId0], [t].[ThreeId], [t].[TwoId] @@ -1052,7 +1157,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[TwoId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId] +"""); } public override async Task Includes_accessed_via_different_path_are_merged(bool async) @@ -1074,11 +1180,14 @@ public override async Task Include_skip_navigation_split(bool async) await base.Include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -1097,7 +1206,8 @@ UNION ALL FROM [Leaf2s] AS [l0] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +"""); } public override async Task Include_skip_navigation_then_reference_split(bool async) @@ -1105,11 +1215,14 @@ public override async Task Include_skip_navigation_then_reference_split(bool asy await base.Include_skip_navigation_then_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[TwoId] @@ -1117,7 +1230,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation_split(bool async) @@ -1125,20 +1239,25 @@ public override async Task Include_skip_navigation_then_include_skip_navigation_ await base.Include_skip_navigation_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [Leaves] AS [l] ON [j].[LeafId] = [l].[Id] ) AS [t] ON [e].[Key1] = [t].[CompositeId1] AND [e].[Key2] = [t].[CompositeId2] AND [e].[Key3] = [t].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id] +""" +SELECT [t0].[Id], [t0].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [l].[Id], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -1150,7 +1269,8 @@ INNER JOIN ( FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e0] ON [j0].[EntityOneId] = [e0].[Id] ) AS [t0] ON [t].[Id] = [t0].[EntityBranchId] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation_split(bool async) @@ -1158,11 +1278,14 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId] +""" +SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[ThreeId] @@ -1170,9 +1293,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""", // - @"SELECT [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""" +SELECT [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e1].[Id] AS [Id0], [j].[OneId], [j].[ThreeId] @@ -1185,7 +1310,8 @@ INNER JOIN ( FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t0] ON [t].[Id] = [t0].[LeftId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +"""); } public override async Task Include_skip_navigation_and_reference_split(bool async) @@ -1193,12 +1319,15 @@ public override async Task Include_skip_navigation_and_reference_split(bool asyn await base.Include_skip_navigation_and_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] -ORDER BY [e].[Id], [e0].[Id]", +ORDER BY [e].[Id], [e0].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id], [e0].[Id] +""" +SELECT [t].[Id], [t].[Name], [e].[Id], [e0].[Id] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] INNER JOIN ( @@ -1206,7 +1335,8 @@ INNER JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id]"); +ORDER BY [e].[Id], [e0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_split(bool async) @@ -1214,11 +1344,14 @@ public override async Task Filtered_include_skip_navigation_where_split(bool asy await base.Filtered_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[ThreeId] @@ -1226,7 +1359,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_split(bool async) @@ -1234,18 +1368,22 @@ public override async Task Filtered_include_skip_navigation_order_by_split(bool await base.Filtered_include_skip_navigation_order_by_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_split(bool async) @@ -1253,11 +1391,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_split( await base.Filtered_include_skip_navigation_order_by_skip_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[SelfSkipSharedLeftId] @@ -1268,7 +1409,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_split(bool async) @@ -1276,11 +1418,14 @@ public override async Task Filtered_include_skip_navigation_order_by_take_split( await base.Filtered_include_skip_navigation_order_by_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] @@ -1291,7 +1436,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1299,11 +1445,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_s await base.Filtered_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] @@ -1314,7 +1463,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_where_split(bool async) @@ -1322,7 +1472,8 @@ public override async Task Filtered_then_include_skip_navigation_where_split(boo await base.Filtered_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] FROM ( SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] FROM [Roots] AS [r] @@ -1336,9 +1487,11 @@ UNION ALL SELECT [l0].[Id], [l0].[Name], NULL AS [Number], [l0].[Slumber], NULL AS [IsGreen], [l0].[IsBrown], N'EntityLeaf2' AS [Discriminator] FROM [Leaf2s] AS [l0] ) AS [t] -ORDER BY [t].[Id]", +ORDER BY [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId] FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -1357,9 +1510,11 @@ INNER JOIN ( FROM [EntityRootEntityThree] AS [e] INNER JOIN [EntityThrees] AS [e0] ON [e].[ThreeSkipSharedId] = [e0].[Id] ) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId] -ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id]", +ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id] +""", // - @"SELECT [t1].[Id], [t1].[Name], [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id] +""" +SELECT [t1].[Id], [t1].[Name], [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id] FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -1384,7 +1539,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e1] ON [j].[OneId] = [e1].[Id] WHERE [e1].[Id] < 10 ) AS [t1] ON [t0].[Id] = [t1].[ThreeId] -ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1392,7 +1548,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] FROM ( SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] FROM [Roots] AS [r] @@ -1406,9 +1563,11 @@ UNION ALL SELECT [l0].[Id], [l0].[Name], NULL AS [Number], [l0].[Slumber], NULL AS [IsGreen], [l0].[IsBrown], N'EntityLeaf2' AS [Discriminator] FROM [Leaf2s] AS [l0] ) AS [t] -ORDER BY [t].[Id]", +ORDER BY [t].[Id] +""", // - @"SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -1427,9 +1586,11 @@ INNER JOIN ( FROM [EntityCompositeKeyEntityRoot] AS [e] INNER JOIN [EntityCompositeKeys] AS [e0] ON [e].[CompositeKeySkipSharedKey1] = [e0].[Key1] AND [e].[CompositeKeySkipSharedKey2] = [e0].[Key2] AND [e].[CompositeKeySkipSharedKey3] = [e0].[Key3] ) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId] -ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3]", +ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3] +""", // - @"SELECT [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3] +""" +SELECT [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3] FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -1457,7 +1618,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t2] WHERE 1 < [t2].[row] AND [t2].[row] <= 3 ) AS [t1] ON [t0].[Key1] = [t1].[CompositeId1] AND [t0].[Key2] = [t1].[CompositeId2] AND [t0].[Key3] = [t1].[CompositeId3] -ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id]"); +ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_split(bool async) @@ -1465,11 +1627,14 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen] +""" +SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen] FROM [Leaves] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] +""" +SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] FROM [Leaves] AS [l] INNER JOIN ( SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -1477,9 +1642,11 @@ FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [EntityCompositeKeys] AS [e] ON [j].[CompositeId1] = [e].[Key1] AND [j].[CompositeId2] = [e].[Key2] AND [j].[CompositeId3] = [e].[Key3] WHERE [e].[Key1] < 5 ) AS [t] ON [l].[Id] = [t].[LeafId] -ORDER BY [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]", +ORDER BY [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] FROM [Leaves] AS [l] INNER JOIN ( SELECT [e].[Key1], [e].[Key2], [e].[Key3], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -1492,7 +1659,8 @@ INNER JOIN ( FROM [EntityCompositeKeyEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t0] ON [t].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [t].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [t].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]"); +ORDER BY [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(bool async) @@ -1500,11 +1668,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] @@ -1515,9 +1686,11 @@ FROM [JoinOneToTwo] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]", +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +""", // - @"SELECT [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] +""" +SELECT [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[OneId], [t].[TwoId] @@ -1534,7 +1707,8 @@ FROM [JoinTwoToThree] AS [j0] INNER JOIN [EntityThrees] AS [e1] ON [j0].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 10 ) AS [t1] ON [t0].[Id] = [t1].[TwoId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1542,11 +1716,14 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId], [j].[TwoId] @@ -1554,9 +1731,11 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[TwoId] @@ -1573,7 +1752,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id] +"""); } public override async Task Filter_include_on_skip_navigation_combined_split(bool async) @@ -1581,11 +1761,14 @@ public override async Task Filter_include_on_skip_navigation_combined_split(bool await base.Filter_include_on_skip_navigation_combined_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] +""" +SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId] @@ -1594,9 +1777,11 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""", // - @"SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""" +SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e0].[Id], [e1].[Id] AS [Id0], [j].[OneId], [j].[TwoId] @@ -1606,7 +1791,8 @@ FROM [JoinOneToTwo] AS [j] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] INNER JOIN [EntityTwos] AS [e2] ON [t].[Id] = [e2].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(bool async) @@ -1614,11 +1800,14 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] +""" +SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -1626,9 +1815,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[ThreeId] @@ -1645,9 +1836,11 @@ FROM [JoinOneToTwo] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[ThreeId] @@ -1667,7 +1860,8 @@ FROM [Leaves] AS [l] ) AS [t1] ON [j0].[EntityBranchId] = [t1].[Id] WHERE [t1].[Id] < 20 ) AS [t0] ON [t].[Id] = [t0].[EntityOneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(bool async) @@ -1675,11 +1869,14 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] +""" +SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -1687,9 +1884,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[ThreeId] @@ -1702,7 +1901,8 @@ INNER JOIN ( FROM [EntityTwos] AS [e1] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(bool async) @@ -1710,20 +1910,25 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e0] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[CollectionInverseId] -ORDER BY [e].[Id], [t].[Id]", +ORDER BY [e].[Id], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId] @@ -1736,7 +1941,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e1] ON [j].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_inverse_throws_in_no_tracking(bool async) @@ -1779,13 +1985,15 @@ public override async Task Select_many_over_skip_navigation_where_non_equality(b await base.Select_many_over_skip_navigation_where_non_equality(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId] AND [e].[Id] <> [t].[Id]"); +) AS [t] ON [e].[Id] = [t].[OneId] AND [e].[Id] <> [t].[Id] +"""); } public override async Task Contains_on_skip_collection_navigation(bool async) @@ -1793,7 +2001,8 @@ public override async Task Contains_on_skip_collection_navigation(bool async) await base.Contains_on_skip_collection_navigation(async); AssertSql( - @"@__entity_equality_two_0_Id='1' (Nullable = true) +""" +@__entity_equality_two_0_Id='1' (Nullable = true) SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] @@ -1801,7 +2010,8 @@ WHERE EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = @__entity_equality_two_0_Id)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = @__entity_equality_two_0_Id) +"""); } public override async Task GetType_in_hierarchy_in_base_type(bool async) @@ -1809,8 +2019,10 @@ public override async Task GetType_in_hierarchy_in_base_type(bool async) await base.GetType_in_hierarchy_in_base_type(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] -FROM [Roots] AS [r]"); +""" +SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] +FROM [Roots] AS [r] +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) @@ -1818,8 +2030,10 @@ public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) await base.GetType_in_hierarchy_in_intermediate_type(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [b].[Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityBranch' AS [Discriminator] -FROM [Branches] AS [b]"); +""" +SELECT [b].[Id], [b].[Name], [b].[Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityBranch' AS [Discriminator] +FROM [Branches] AS [b] +"""); } public override async Task GetType_in_hierarchy_in_leaf_type(bool async) @@ -1827,8 +2041,10 @@ public override async Task GetType_in_hierarchy_in_leaf_type(bool async) await base.GetType_in_hierarchy_in_leaf_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], [l].[Number], NULL AS [Slumber], [l].[IsGreen], NULL AS [IsBrown], N'EntityLeaf' AS [Discriminator] -FROM [Leaves] AS [l]"); +""" +SELECT [l].[Id], [l].[Name], [l].[Number], NULL AS [Slumber], [l].[IsGreen], NULL AS [IsBrown], N'EntityLeaf' AS [Discriminator] +FROM [Leaves] AS [l] +"""); } public override async Task GetType_in_hierarchy_in_querying_base_type(bool async) @@ -1836,7 +2052,8 @@ public override async Task GetType_in_hierarchy_in_querying_base_type(bool async await base.GetType_in_hierarchy_in_querying_base_type(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator] FROM ( SELECT [b].[Id], [b].[Name], [b].[Number], NULL AS [IsGreen], N'EntityBranch' AS [Discriminator] FROM [Branches] AS [b] @@ -1844,7 +2061,8 @@ UNION ALL SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], N'EntityLeaf' AS [Discriminator] FROM [Leaves] AS [l] ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_EF_Property(bool async) @@ -1852,7 +2070,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take_EF_Pro await base.Filtered_include_skip_navigation_order_by_take_EF_Property(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] @@ -1863,7 +2082,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_EF_Property( @@ -1872,7 +2092,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_EF_Property(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0] @@ -1891,7 +2112,8 @@ FROM [JoinTwoToThree] AS [j0] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Include_skip_navigation_then_include_inverse_works_for_tracking_query_unidirectional(bool async) @@ -1906,13 +2128,15 @@ public override async Task Skip_navigation_all_unidirectional(bool async) await base.Skip_navigation_all_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE NOT EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND NOT ([u1].[Name] LIKE N'%B%'))"); + WHERE [u].[Id] = [u0].[OneId] AND NOT ([u1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate_unidirectional(bool async) @@ -1920,13 +2144,15 @@ public override async Task Skip_navigation_any_with_predicate_unidirectional(boo await base.Skip_navigation_any_with_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE EXISTS ( SELECT 1 FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoSkipSharedId] = [u1].[Id] - WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([u1].[Name] LIKE N'%B%'))"); + WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([u1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains_unidirectional(bool async) @@ -1934,13 +2160,15 @@ public override async Task Skip_navigation_contains_unidirectional(bool async) await base.Skip_navigation_contains_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u0] INNER JOIN [UnidirectionalEntityThrees] AS [u1] ON [u0].[ThreeId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = 1)"); + WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate_unidirectional(bool async) @@ -1948,13 +2176,15 @@ public override async Task Skip_navigation_count_without_predicate_unidirectiona await base.Skip_navigation_count_without_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE ( SELECT COUNT(*) FROM [UnidirectionalJoinOneSelfPayload] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[LeftId] = [u1].[Id] - WHERE [u].[Id] = [u0].[RightId]) > 0"); + WHERE [u].[Id] = [u0].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate_unidirectional(bool async) @@ -1962,7 +2192,8 @@ public override async Task Skip_navigation_count_with_predicate_unidirectional(b await base.Skip_navigation_count_with_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] ORDER BY ( SELECT COUNT(*) @@ -1974,7 +2205,8 @@ UNION ALL SELECT [u2].[Id], [u2].[Name], [u2].[Number], [u2].[IsGreen], N'UnidirectionalEntityLeaf' AS [Discriminator] FROM [UnidirectionalLeaves] AS [u2] ) AS [t] ON [u0].[UnidirectionalEntityBranchId] = [t].[Id] - WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [u].[Id]"); + WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [u].[Id] +"""); } public override async Task Skip_navigation_select_subquery_average_unidirectional(bool async) @@ -1982,12 +2214,14 @@ public override async Task Skip_navigation_select_subquery_average_unidirectiona await base.Skip_navigation_select_subquery_average_unidirectional(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([u1].[Key1] AS float)) FROM [UnidirectionalJoinCompositeKeyToLeaf] AS [u0] INNER JOIN [UnidirectionalEntityCompositeKeys] AS [u1] ON [u0].[CompositeId1] = [u1].[Key1] AND [u0].[CompositeId2] = [u1].[Key2] AND [u0].[CompositeId3] = [u1].[Key3] WHERE [u].[Id] = [u0].[LeafId]) -FROM [UnidirectionalLeaves] AS [u]"); +FROM [UnidirectionalLeaves] AS [u] +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default_unidirectional(bool async) @@ -1995,7 +2229,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default_uni await base.Skip_navigation_order_by_reverse_first_or_default_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId] @@ -2005,7 +2240,8 @@ FROM [UnidirectionalJoinTwoToThree] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [u].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [u].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_of_type_unidirectional(bool async) @@ -2013,7 +2249,8 @@ public override async Task Skip_navigation_of_type_unidirectional(bool async) await base.Skip_navigation_of_type_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [u0].[RootSkipSharedId], [u0].[UnidirectionalEntityCompositeKeyKey1], [u0].[UnidirectionalEntityCompositeKeyKey2], [u0].[UnidirectionalEntityCompositeKeyKey3] @@ -2030,7 +2267,8 @@ FROM [UnidirectionalLeaves] AS [u3] ) AS [t] ON [u0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] = N'UnidirectionalEntityLeaf' ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Join_with_skip_navigation_unidirectional(bool async) @@ -2038,14 +2276,16 @@ public override async Task Join_with_skip_navigation_unidirectional(bool async) await base.Join_with_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [u0].[CollectionInverseId], [u0].[ExtraId], [u0].[Name], [u0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [u0].[CollectionInverseId], [u0].[ExtraId], [u0].[Name], [u0].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] INNER JOIN [UnidirectionalEntityTwos] AS [u0] ON [u].[Id] = ( SELECT TOP(1) [u2].[Id] FROM [UnidirectionalEntityTwoUnidirectionalEntityTwo] AS [u1] INNER JOIN [UnidirectionalEntityTwos] AS [u2] ON [u1].[SelfSkipSharedRightId] = [u2].[Id] WHERE [u0].[Id] = [u1].[UnidirectionalEntityTwoId] - ORDER BY [u2].[Id])"); + ORDER BY [u2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation_unidirectional(bool async) @@ -2053,7 +2293,8 @@ public override async Task Left_join_with_skip_navigation_unidirectional(bool as await base.Left_join_with_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [u0].[Key1], [u0].[Key2], [u0].[Key3], [u0].[Name] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [u0].[Key1], [u0].[Key2], [u0].[Key3], [u0].[Name] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN [UnidirectionalEntityCompositeKeys] AS [u0] ON ( SELECT TOP(1) [u2].[Id] @@ -2066,7 +2307,8 @@ FROM [UnidirectionalJoinThreeToCompositeKeyFull] AS [u3] INNER JOIN [UnidirectionalEntityThrees] AS [u4] ON [u3].[ThreeId] = [u4].[Id] WHERE [u0].[Key1] = [u3].[CompositeId1] AND [u0].[Key2] = [u3].[CompositeId2] AND [u0].[Key3] = [u3].[CompositeId3] ORDER BY [u4].[Id]) -ORDER BY [u].[Key1], [u0].[Key1], [u].[Key2], [u0].[Key2]"); +ORDER BY [u].[Key1], [u0].[Key1], [u].[Key2], [u0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation_unidirectional(bool async) @@ -2074,7 +2316,8 @@ public override async Task Select_many_over_skip_navigation_unidirectional(bool await base.Select_many_over_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM ( SELECT [u1].[Id] FROM [UnidirectionalRoots] AS [u1] @@ -2089,7 +2332,8 @@ INNER JOIN ( SELECT [u0].[Id], [u0].[CollectionInverseId], [u0].[Name], [u0].[ReferenceInverseId], [u].[UnidirectionalEntityRootId] FROM [UnidirectionalEntityRootUnidirectionalEntityThree] AS [u] INNER JOIN [UnidirectionalEntityThrees] AS [u0] ON [u].[ThreeSkipSharedId] = [u0].[Id] -) AS [t0] ON [t].[Id] = [t0].[UnidirectionalEntityRootId]"); +) AS [t0] ON [t].[Id] = [t0].[UnidirectionalEntityRootId] +"""); } public override async Task Select_many_over_skip_navigation_where_unidirectional(bool async) @@ -2097,13 +2341,15 @@ public override async Task Select_many_over_skip_navigation_where_unidirectional await base.Select_many_over_skip_navigation_where_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId], [u0].[OneId] FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] -) AS [t] ON [u].[Id] = [t].[OneId]"); +) AS [t] ON [u].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take_unidirectional(bool async) @@ -2111,7 +2357,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take_unidir await base.Select_many_over_skip_navigation_order_by_take_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[UnidirectionalEntityOneId] @@ -2121,7 +2368,8 @@ FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoSkipSharedId] = [u1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId]"); +) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take_unidirectional(bool async) @@ -2129,7 +2377,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take_u await base.Select_many_over_skip_navigation_order_by_skip_take_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -2139,7 +2388,8 @@ FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u0] INNER JOIN [UnidirectionalEntityThrees] AS [u1] ON [u0].[ThreeId] = [u1].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [u].[Id] = [t0].[OneId]"); +) AS [t0] ON [u].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_cast_unidirectional(bool async) @@ -2147,7 +2397,8 @@ public override async Task Select_many_over_skip_navigation_cast_unidirectional( await base.Select_many_over_skip_navigation_cast_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [u0].[UnidirectionalEntityOneId] @@ -2159,7 +2410,8 @@ UNION ALL SELECT [u2].[Id], [u2].[Name], [u2].[Number], [u2].[IsGreen], N'UnidirectionalEntityLeaf' AS [Discriminator] FROM [UnidirectionalLeaves] AS [u2] ) AS [t] ON [u0].[UnidirectionalEntityBranchId] = [t].[Id] -) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId]"); +) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId] +"""); } public override async Task Select_skip_navigation_unidirectional(bool async) @@ -2167,14 +2419,16 @@ public override async Task Select_skip_navigation_unidirectional(bool async) await base.Select_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] +""" +SELECT [u].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[Name], [u0].[LeftId], [u0].[RightId] FROM [UnidirectionalJoinOneSelfPayload] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[LeftId] = [u1].[Id] ) AS [t] ON [u].[Id] = [t].[RightId] -ORDER BY [u].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [u].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Include_skip_navigation_unidirectional(bool async) @@ -2182,7 +2436,8 @@ public override async Task Include_skip_navigation_unidirectional(bool async) await base.Include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [u0].[RootSkipSharedId], [u0].[UnidirectionalEntityCompositeKeyKey1], [u0].[UnidirectionalEntityCompositeKeyKey2], [u0].[UnidirectionalEntityCompositeKeyKey3] @@ -2198,7 +2453,8 @@ UNION ALL FROM [UnidirectionalLeaves] AS [u3] ) AS [t] ON [u0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Include_skip_navigation_then_reference_unidirectional(bool async) @@ -2206,7 +2462,8 @@ public override async Task Include_skip_navigation_then_reference_unidirectional await base.Include_skip_navigation_then_reference_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[Name], [u2].[Id] AS [Id0], [u2].[CollectionInverseId], [u2].[ExtraId], [u2].[Name] AS [Name0], [u2].[ReferenceInverseId], [u0].[OneId], [u0].[TwoId] @@ -2214,7 +2471,8 @@ FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[OneId] = [u1].[Id] LEFT JOIN [UnidirectionalEntityTwos] AS [u2] ON [u1].[Id] = [u2].[ReferenceInverseId] ) AS [t] ON [u].[Id] = [t].[TwoId] -ORDER BY [u].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [u].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation_unidirectional(bool async) @@ -2222,7 +2480,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation_ await base.Include_skip_navigation_then_include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0], [t0].[Name0], [t0].[UnidirectionalEntityBranchId], [t0].[UnidirectionalEntityOneId] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0], [t0].[Name0], [t0].[UnidirectionalEntityBranchId], [t0].[UnidirectionalEntityOneId] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[Name], [u1].[Number], [u1].[IsGreen], [u0].[LeafId], [u0].[CompositeId1], [u0].[CompositeId2], [u0].[CompositeId3], [t].[Id] AS [Id0], [t].[Name] AS [Name0], [t].[UnidirectionalEntityBranchId], [t].[UnidirectionalEntityOneId] @@ -2234,7 +2493,8 @@ FROM [UnidirectionalJoinOneToBranch] AS [u2] INNER JOIN [UnidirectionalEntityOnes] AS [u3] ON [u2].[UnidirectionalEntityOneId] = [u3].[Id] ) AS [t] ON [u1].[Id] = [t].[UnidirectionalEntityBranchId] ) AS [t0] ON [u].[Key1] = [t0].[CompositeId1] AND [u].[Key2] = [t0].[CompositeId2] AND [u].[Key3] = [t0].[CompositeId3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[UnidirectionalEntityBranchId], [t0].[UnidirectionalEntityOneId]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[UnidirectionalEntityBranchId], [t0].[UnidirectionalEntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation_unidirectional(bool async) @@ -2242,7 +2502,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Id1], [t0].[Name1], [t0].[LeftId], [t0].[RightId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Id1], [t0].[Name1], [t0].[LeftId], [t0].[RightId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[Name], [u2].[Id] AS [Id0], [u2].[CollectionInverseId], [u2].[ExtraId], [u2].[Name] AS [Name0], [u2].[ReferenceInverseId], [u0].[OneId], [u0].[ThreeId], [t].[Id] AS [Id1], [t].[Name] AS [Name1], [t].[LeftId], [t].[RightId] @@ -2255,7 +2516,8 @@ FROM [UnidirectionalJoinOneSelfPayload] AS [u3] INNER JOIN [UnidirectionalEntityOnes] AS [u4] ON [u3].[RightId] = [u4].[Id] ) AS [t] ON [u1].[Id] = [t].[LeftId] ) AS [t0] ON [u].[Id] = [t0].[ThreeId] -ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference_unidirectional(bool async) @@ -2263,7 +2525,8 @@ public override async Task Include_skip_navigation_and_reference_unidirectional( await base.Include_skip_navigation_and_reference_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [t].[Id], [t].[Name], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId], [u0].[CollectionInverseId], [u0].[Name], [u0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [t].[Id], [t].[Name], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId], [u0].[CollectionInverseId], [u0].[Name], [u0].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN [UnidirectionalEntityThrees] AS [u0] ON [u].[Id] = [u0].[ReferenceInverseId] LEFT JOIN ( @@ -2271,7 +2534,8 @@ LEFT JOIN ( FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u1] INNER JOIN [UnidirectionalEntityOnes] AS [u2] ON [u1].[UnidirectionalEntityOneId] = [u2].[Id] ) AS [t] ON [u].[Id] = [t].[TwoSkipSharedId] -ORDER BY [u].[Id], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId]"); +ORDER BY [u].[Id], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId] +"""); } public override async Task Filtered_include_skip_navigation_where_unidirectional(bool async) @@ -2279,7 +2543,8 @@ public override async Task Filtered_include_skip_navigation_where_unidirectional await base.Filtered_include_skip_navigation_where_unidirectional(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[OneId], [t].[ThreeId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -2287,7 +2552,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_unidirectional(bool async) @@ -2295,14 +2561,16 @@ public override async Task Filtered_include_skip_navigation_order_by_unidirectio await base.Filtered_include_skip_navigation_order_by_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId], [u0].[ThreeId], [u0].[TwoId] FROM [UnidirectionalJoinTwoToThree] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] ) AS [t] ON [u].[Id] = [t].[ThreeId] -ORDER BY [u].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [u].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_unidirectional(bool async) @@ -2310,7 +2578,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_unidir await base.Filtered_include_skip_navigation_order_by_skip_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedRightId], [t0].[UnidirectionalEntityTwoId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedRightId], [t0].[UnidirectionalEntityTwoId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[SelfSkipSharedRightId], [t].[UnidirectionalEntityTwoId] @@ -2321,7 +2590,8 @@ FROM [UnidirectionalEntityTwoUnidirectionalEntityTwo] AS [u0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityTwoId] -ORDER BY [u].[Id], [t0].[UnidirectionalEntityTwoId], [t0].[Id]"); +ORDER BY [u].[Id], [t0].[UnidirectionalEntityTwoId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_unidirectional(bool async) @@ -2329,7 +2599,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take_unidir await base.Filtered_include_skip_navigation_order_by_take_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityCompositeKeyKey1], [t].[UnidirectionalEntityCompositeKeyKey2], [t].[UnidirectionalEntityCompositeKeyKey3] @@ -2340,14 +2611,16 @@ FROM [UnidirectionalEntityCompositeKeyUnidirectionalEntityTwo] AS [u0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_unidirectional(bool async) { await base.Filtered_include_skip_navigation_order_by_skip_take_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[Id0], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] @@ -2358,7 +2631,8 @@ FROM [UnidirectionalJoinThreeToCompositeKeyFull] AS [u0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [u].[Key1] = [t0].[CompositeId1] AND [u].[Key2] = [t0].[CompositeId2] AND [u].[Key3] = [t0].[CompositeId3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_unidirectional(bool async) @@ -2366,7 +2640,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u].[Number], [u].[IsGreen], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +""" +SELECT [u].[Id], [u].[Name], [u].[Number], [u].[IsGreen], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] FROM [UnidirectionalLeaves] AS [u] LEFT JOIN ( SELECT [u1].[Key1], [u1].[Key2], [u1].[Key3], [u1].[Name], [u0].[LeafId], [u0].[CompositeId1], [u0].[CompositeId2], [u0].[CompositeId3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityCompositeKeyKey1], [t].[UnidirectionalEntityCompositeKeyKey2], [t].[UnidirectionalEntityCompositeKeyKey3] @@ -2379,7 +2654,8 @@ FROM [UnidirectionalEntityCompositeKeyUnidirectionalEntityTwo] AS [u2] ) AS [t] ON [u1].[Key1] = [t].[UnidirectionalEntityCompositeKeyKey1] AND [u1].[Key2] = [t].[UnidirectionalEntityCompositeKeyKey2] AND [u1].[Key3] = [t].[UnidirectionalEntityCompositeKeyKey3] WHERE [u1].[Key1] < 5 ) AS [t0] ON [u].[Id] = [t0].[LeafId] -ORDER BY [u].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Filter_include_on_skip_navigation_combined_unidirectional(bool async) @@ -2387,7 +2663,8 @@ public override async Task Filter_include_on_skip_navigation_combined_unidirecti await base.Filter_include_on_skip_navigation_combined_unidirectional(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -2397,7 +2674,8 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Throws_when_different_filtered_include_unidirectional(bool async) @@ -2412,7 +2690,8 @@ public override async Task Includes_accessed_via_different_path_are_merged_unidi await base.Includes_accessed_via_different_path_are_merged_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[Id0], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] @@ -2423,7 +2702,8 @@ FROM [UnidirectionalJoinThreeToCompositeKeyFull] AS [u0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [u].[Key1] = [t0].[CompositeId1] AND [u].[Key2] = [t0].[CompositeId2] AND [u].[Key3] = [t0].[CompositeId3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Select_many_over_skip_navigation_where_non_equality_unidirectional(bool async) @@ -2431,13 +2711,15 @@ public override async Task Select_many_over_skip_navigation_where_non_equality_u await base.Select_many_over_skip_navigation_where_non_equality_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId], [u0].[OneId] FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] -) AS [t] ON [u].[Id] = [t].[OneId] AND [u].[Id] <> [t].[Id]"); +) AS [t] ON [u].[Id] = [t].[OneId] AND [u].[Id] <> [t].[Id] +"""); } public override async Task Contains_on_skip_collection_navigation_unidirectional(bool async) @@ -2445,7 +2727,8 @@ public override async Task Contains_on_skip_collection_navigation_unidirectional await base.Contains_on_skip_collection_navigation_unidirectional(async); AssertSql( - @"@__entity_equality_two_0_Id='1' (Nullable = true) +""" +@__entity_equality_two_0_Id='1' (Nullable = true) SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] @@ -2453,7 +2736,8 @@ WHERE EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = @__entity_equality_two_0_Id)"); + WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = @__entity_equality_two_0_Id) +"""); } public override async Task GetType_in_hierarchy_in_base_type_unidirectional(bool async) @@ -2461,8 +2745,10 @@ public override async Task GetType_in_hierarchy_in_base_type_unidirectional(bool await base.GetType_in_hierarchy_in_base_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], NULL AS [Number], NULL AS [IsGreen], N'UnidirectionalEntityRoot' AS [Discriminator] -FROM [UnidirectionalRoots] AS [u]"); +""" +SELECT [u].[Id], [u].[Name], NULL AS [Number], NULL AS [IsGreen], N'UnidirectionalEntityRoot' AS [Discriminator] +FROM [UnidirectionalRoots] AS [u] +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type_unidirectional(bool async) @@ -2470,16 +2756,20 @@ public override async Task GetType_in_hierarchy_in_intermediate_type_unidirectio await base.GetType_in_hierarchy_in_intermediate_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u].[Number], NULL AS [IsGreen], N'UnidirectionalEntityBranch' AS [Discriminator] -FROM [UnidirectionalBranches] AS [u]"); +""" +SELECT [u].[Id], [u].[Name], [u].[Number], NULL AS [IsGreen], N'UnidirectionalEntityBranch' AS [Discriminator] +FROM [UnidirectionalBranches] AS [u] +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_unidirectional(bool async) { await base.GetType_in_hierarchy_in_leaf_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u].[Number], [u].[IsGreen], N'UnidirectionalEntityLeaf' AS [Discriminator] -FROM [UnidirectionalLeaves] AS [u]"); +""" +SELECT [u].[Id], [u].[Name], [u].[Number], [u].[IsGreen], N'UnidirectionalEntityLeaf' AS [Discriminator] +FROM [UnidirectionalLeaves] AS [u] +"""); } public override async Task GetType_in_hierarchy_in_querying_base_type_unidirectional(bool async) @@ -2487,7 +2777,8 @@ public override async Task GetType_in_hierarchy_in_querying_base_type_unidirecti await base.GetType_in_hierarchy_in_querying_base_type_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator] FROM ( SELECT [u].[Id], [u].[Name], [u].[Number], NULL AS [IsGreen], N'UnidirectionalEntityBranch' AS [Discriminator] FROM [UnidirectionalBranches] AS [u] @@ -2495,7 +2786,8 @@ UNION ALL SELECT [u0].[Id], [u0].[Name], [u0].[Number], [u0].[IsGreen], N'UnidirectionalEntityLeaf' AS [Discriminator] FROM [UnidirectionalLeaves] AS [u0] ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPCManyToManyQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPCManyToManyQuerySqlServerTest.cs index ac4b1acb85c..89104f9f9a5 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPCManyToManyQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPCManyToManyQuerySqlServerTest.cs @@ -24,13 +24,15 @@ public override async Task Skip_navigation_all(bool async) await base.Skip_navigation_all(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE NOT EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_without_predicate(bool async) @@ -38,13 +40,15 @@ public override async Task Skip_navigation_any_without_predicate(bool async) await base.Skip_navigation_any_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate(bool async) @@ -52,13 +56,15 @@ public override async Task Skip_navigation_any_with_predicate(bool async) await base.Skip_navigation_any_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] - WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains(bool async) @@ -66,13 +72,15 @@ public override async Task Skip_navigation_contains(bool async) await base.Skip_navigation_contains(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate(bool async) @@ -80,13 +88,15 @@ public override async Task Skip_navigation_count_without_predicate(bool async) await base.Skip_navigation_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE ( SELECT COUNT(*) FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] - WHERE [e].[Id] = [j].[RightId]) > 0"); + WHERE [e].[Id] = [j].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate(bool async) @@ -94,7 +104,8 @@ public override async Task Skip_navigation_count_with_predicate(bool async) await base.Skip_navigation_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] ORDER BY ( SELECT COUNT(*) @@ -106,7 +117,8 @@ UNION ALL SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], N'EntityLeaf' AS [Discriminator] FROM [Leaves] AS [l] ) AS [t] ON [j].[EntityBranchId] = [t].[Id] - WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id]"); + WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id] +"""); } public override async Task Skip_navigation_long_count_without_predicate(bool async) @@ -114,13 +126,15 @@ public override async Task Skip_navigation_long_count_without_predicate(bool asy await base.Skip_navigation_long_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] WHERE ( SELECT COUNT_BIG(*) FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint)"); + WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint) +"""); } public override async Task Skip_navigation_long_count_with_predicate(bool async) @@ -128,13 +142,15 @@ public override async Task Skip_navigation_long_count_with_predicate(bool async) await base.Skip_navigation_long_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] ORDER BY ( SELECT COUNT_BIG(*) FROM [EntityTwoEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[SelfSkipSharedLeftId] = [e1].[Id] - WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id]"); + WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id] +"""); } public override async Task Skip_navigation_select_many_average(bool async) @@ -142,13 +158,15 @@ public override async Task Skip_navigation_select_many_average(bool async) await base.Skip_navigation_select_many_average(async); AssertSql( - @"SELECT AVG(CAST([t].[Key1] AS float)) +""" +SELECT AVG(CAST([t].[Key1] AS float)) FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e1].[Key1], [e0].[TwoSkipSharedId] FROM [EntityCompositeKeyEntityTwo] AS [e0] INNER JOIN [EntityCompositeKeys] AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] -) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_max(bool async) @@ -156,13 +174,15 @@ public override async Task Skip_navigation_select_many_max(bool async) await base.Skip_navigation_select_many_max(async); AssertSql( - @"SELECT MAX([t].[Key1]) +""" +SELECT MAX([t].[Key1]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Key1], [j].[ThreeId] FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityCompositeKeys] AS [e0] ON [j].[CompositeId1] = [e0].[Key1] AND [j].[CompositeId2] = [e0].[Key2] AND [j].[CompositeId3] = [e0].[Key3] -) AS [t] ON [e].[Id] = [t].[ThreeId]"); +) AS [t] ON [e].[Id] = [t].[ThreeId] +"""); } public override async Task Skip_navigation_select_many_min(bool async) @@ -170,7 +190,8 @@ public override async Task Skip_navigation_select_many_min(bool async) await base.Skip_navigation_select_many_min(async); AssertSql( - @"SELECT MIN([t0].[Id]) +""" +SELECT MIN([t0].[Id]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [t].[Id], [e0].[ThreeSkipSharedId] @@ -188,7 +209,8 @@ UNION ALL SELECT [l0].[Id] FROM [Leaf2s] AS [l0] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_sum(bool async) @@ -196,7 +218,8 @@ public override async Task Skip_navigation_select_many_sum(bool async) await base.Skip_navigation_select_many_sum(async); AssertSql( - @"SELECT COALESCE(SUM([t0].[Key1]), 0) +""" +SELECT COALESCE(SUM([t0].[Key1]), 0) FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -214,7 +237,8 @@ INNER JOIN ( SELECT [e0].[Key1], [e].[RootSkipSharedId] FROM [EntityCompositeKeyEntityRoot] AS [e] INNER JOIN [EntityCompositeKeys] AS [e0] ON [e].[CompositeKeySkipSharedKey1] = [e0].[Key1] AND [e].[CompositeKeySkipSharedKey2] = [e0].[Key2] AND [e].[CompositeKeySkipSharedKey3] = [e0].[Key3] -) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId]"); +) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId] +"""); } public override async Task Skip_navigation_select_subquery_average(bool async) @@ -222,12 +246,14 @@ public override async Task Skip_navigation_select_subquery_average(bool async) await base.Skip_navigation_select_subquery_average(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([e].[Key1] AS float)) FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [EntityCompositeKeys] AS [e] ON [j].[CompositeId1] = [e].[Key1] AND [j].[CompositeId2] = [e].[Key2] AND [j].[CompositeId3] = [e].[Key3] WHERE [l].[Id] = [j].[LeafId]) -FROM [Leaves] AS [l]"); +FROM [Leaves] AS [l] +"""); } public override async Task Skip_navigation_select_subquery_max(bool async) @@ -235,12 +261,14 @@ public override async Task Skip_navigation_select_subquery_max(bool async) await base.Skip_navigation_select_subquery_max(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MAX([e0].[Id]) FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[TwoId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_min(bool async) @@ -248,12 +276,14 @@ public override async Task Skip_navigation_select_subquery_min(bool async) await base.Skip_navigation_select_subquery_min(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN([e0].[Id]) FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[ThreeId]) -FROM [EntityThrees] AS [e]"); +FROM [EntityThrees] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_sum(bool async) @@ -261,12 +291,14 @@ public override async Task Skip_navigation_select_subquery_sum(bool async) await base.Skip_navigation_select_subquery_sum(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COALESCE(SUM([e1].[Id]), 0) FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityOnes] AS [e1] ON [e0].[OneSkipSharedId] = [e1].[Id] WHERE [e].[Id] = [e0].[TwoSkipSharedId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_order_by_first_or_default(bool async) @@ -274,7 +306,8 @@ public override async Task Skip_navigation_order_by_first_or_default(bool async) await base.Skip_navigation_order_by_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[ThreeId] @@ -284,7 +317,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_order_by_single_or_default(bool async) @@ -292,7 +326,8 @@ public override async Task Skip_navigation_order_by_single_or_default(bool async await base.Skip_navigation_order_by_single_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT TOP(1) [t].[Id], [t].[Name] @@ -304,7 +339,8 @@ FROM [JoinOneSelfPayload] AS [j] ORDER BY [e0].[Id] ) AS [t] ORDER BY [t].[Id] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Skip_navigation_order_by_last_or_default(bool async) @@ -312,7 +348,8 @@ public override async Task Skip_navigation_order_by_last_or_default(bool async) await base.Skip_navigation_order_by_last_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM ( SELECT [b].[Id] FROM [Branches] AS [b] @@ -328,7 +365,8 @@ FROM [JoinOneToBranch] AS [j] INNER JOIN [EntityOnes] AS [e] ON [j].[EntityOneId] = [e].[Id] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[Id] = [t0].[EntityBranchId]"); +) AS [t0] ON [t].[Id] = [t0].[EntityBranchId] +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default(bool async) @@ -336,7 +374,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default(boo await base.Skip_navigation_order_by_reverse_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId] @@ -346,7 +385,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_cast(bool async) @@ -354,14 +394,16 @@ public override async Task Skip_navigation_cast(bool async) await base.Skip_navigation_cast(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [Leaves] AS [l] ON [j].[LeafId] = [l].[Id] ) AS [t] ON [e].[Key1] = [t].[CompositeId1] AND [e].[Key2] = [t].[CompositeId2] AND [e].[Key3] = [t].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] +"""); } public override async Task Skip_navigation_of_type(bool async) @@ -369,7 +411,8 @@ public override async Task Skip_navigation_of_type(bool async) await base.Skip_navigation_of_type(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -389,7 +432,8 @@ FROM [Leaf2s] AS [l0] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] = N'EntityLeaf' ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Join_with_skip_navigation(bool async) @@ -397,14 +441,16 @@ public override async Task Join_with_skip_navigation(bool async) await base.Join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] INNER JOIN [EntityTwos] AS [e0] ON [e].[Id] = ( SELECT TOP(1) [e2].[Id] FROM [EntityTwoEntityTwo] AS [e1] INNER JOIN [EntityTwos] AS [e2] ON [e1].[SelfSkipSharedRightId] = [e2].[Id] WHERE [e0].[Id] = [e1].[SelfSkipSharedLeftId] - ORDER BY [e2].[Id])"); + ORDER BY [e2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation(bool async) @@ -412,7 +458,8 @@ public override async Task Left_join_with_skip_navigation(bool async) await base.Left_join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] FROM [EntityCompositeKeys] AS [e] LEFT JOIN [EntityCompositeKeys] AS [e0] ON ( SELECT TOP(1) [e2].[Id] @@ -425,7 +472,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityThrees] AS [e3] ON [j].[ThreeId] = [e3].[Id] WHERE [e0].[Key1] = [j].[CompositeId1] AND [e0].[Key2] = [j].[CompositeId2] AND [e0].[Key3] = [j].[CompositeId3] ORDER BY [e3].[Id]) -ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2]"); +ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation(bool async) @@ -433,7 +481,8 @@ public override async Task Select_many_over_skip_navigation(bool async) await base.Select_many_over_skip_navigation(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -451,7 +500,8 @@ INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [e].[RootSkipSharedId] FROM [EntityRootEntityThree] AS [e] INNER JOIN [EntityThrees] AS [e0] ON [e].[ThreeSkipSharedId] = [e0].[Id] -) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId]"); +) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_where(bool async) @@ -459,13 +509,15 @@ public override async Task Select_many_over_skip_navigation_where(bool async) await base.Select_many_over_skip_navigation_where(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId]"); +) AS [t] ON [e].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip(bool async) @@ -473,7 +525,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip(bool a await base.Select_many_over_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -483,7 +536,8 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take(bool async) @@ -491,7 +545,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take(bool a await base.Select_many_over_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneSkipSharedId] @@ -501,7 +556,8 @@ FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take(bool async) @@ -509,7 +565,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take(b await base.Select_many_over_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -519,7 +576,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_of_type(bool async) @@ -527,7 +585,8 @@ public override async Task Select_many_over_skip_navigation_of_type(bool async) await base.Select_many_over_skip_navigation_of_type(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [e0].[ThreeSkipSharedId] @@ -546,7 +605,8 @@ UNION ALL FROM [Leaf2s] AS [l0] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') -) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_cast(bool async) @@ -554,7 +614,8 @@ public override async Task Select_many_over_skip_navigation_cast(bool async) await base.Select_many_over_skip_navigation_cast(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [j].[EntityOneId] @@ -566,7 +627,8 @@ UNION ALL SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], N'EntityLeaf' AS [Discriminator] FROM [Leaves] AS [l] ) AS [t] ON [j].[EntityBranchId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[EntityOneId]"); +) AS [t0] ON [e].[Id] = [t0].[EntityOneId] +"""); } public override async Task Select_skip_navigation(bool async) @@ -574,14 +636,16 @@ public override async Task Select_skip_navigation(bool async) await base.Select_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] +""" +SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[LeftId], [j].[RightId] FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[RightId] -ORDER BY [e].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [e].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Select_skip_navigation_multiple(bool async) @@ -589,7 +653,8 @@ public override async Task Select_skip_navigation_multiple(bool async) await base.Select_skip_navigation_multiple(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId], [j].[TwoId] @@ -606,7 +671,8 @@ LEFT JOIN ( FROM [EntityCompositeKeyEntityTwo] AS [e3] INNER JOIN [EntityCompositeKeys] AS [e4] ON [e3].[CompositeKeySkipSharedKey1] = [e4].[Key1] AND [e3].[CompositeKeySkipSharedKey2] = [e4].[Key2] AND [e3].[CompositeKeySkipSharedKey3] = [e4].[Key3] ) AS [t1] ON [e].[Id] = [t1].[TwoSkipSharedId] -ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2]"); +ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2] +"""); } public override async Task Select_skip_navigation_first_or_default(bool async) @@ -614,7 +680,8 @@ public override async Task Select_skip_navigation_first_or_default(bool async) await base.Select_skip_navigation_first_or_default(async); AssertSql( - @"SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] +""" +SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [t].[ThreeId] @@ -625,7 +692,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation(bool async) @@ -633,7 +701,8 @@ public override async Task Include_skip_navigation(bool async) await base.Include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] @@ -652,7 +721,8 @@ UNION ALL FROM [Leaf2s] AS [l0] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Include_skip_navigation_then_reference(bool async) @@ -660,7 +730,8 @@ public override async Task Include_skip_navigation_then_reference(bool async) await base.Include_skip_navigation_then_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -668,7 +739,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation(bool async) @@ -676,7 +748,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation( await base.Include_skip_navigation_then_include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id0], [t0].[Name0] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id0], [t0].[Name0] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], [t].[EntityBranchId], [t].[EntityOneId], [t].[Id] AS [Id0], [t].[Name] AS [Name0] @@ -688,7 +761,8 @@ FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e0] ON [j0].[EntityOneId] = [e0].[Id] ) AS [t] ON [l].[Id] = [t].[EntityBranchId] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[EntityBranchId], [t0].[EntityOneId]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[EntityBranchId], [t0].[EntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation(bool async) @@ -696,7 +770,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[Id1], [t0].[Name1] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[Id1], [t0].[Name1] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [t].[LeftId], [t].[RightId], [t].[Payload] AS [Payload0], [t].[Id] AS [Id1], [t].[Name] AS [Name1] @@ -709,7 +784,8 @@ FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t] ON [e0].[Id] = [t].[LeftId] ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference(bool async) @@ -717,7 +793,8 @@ public override async Task Include_skip_navigation_and_reference(bool async) await base.Include_skip_navigation_and_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] LEFT JOIN ( @@ -725,7 +802,8 @@ LEFT JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId] +"""); } public override async Task Filtered_include_skip_navigation_where(bool async) @@ -733,7 +811,8 @@ public override async Task Filtered_include_skip_navigation_where(bool async) await base.Filtered_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -741,7 +820,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by(bool async) @@ -749,14 +829,16 @@ public override async Task Filtered_include_skip_navigation_order_by(bool async) await base.Filtered_include_skip_navigation_order_by(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[ThreeId], [j].[TwoId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip(bool async) @@ -764,7 +846,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip(bool a await base.Filtered_include_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [t].[SelfSkipSharedLeftId], [t].[SelfSkipSharedRightId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -775,7 +858,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take(bool async) @@ -783,7 +867,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take(bool a await base.Filtered_include_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -794,7 +879,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take(bool async) @@ -802,7 +888,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take(b await base.Filtered_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[ThreeId], [t].[Id0], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] @@ -813,7 +900,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_then_include_skip_navigation_where(bool async) @@ -821,7 +909,8 @@ public override async Task Filtered_then_include_skip_navigation_where(bool asyn await base.Filtered_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id0], [t0].[Name0] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id0], [t0].[Name0] FROM ( SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] FROM [Roots] AS [r] @@ -846,7 +935,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] WHERE [e1].[Id] < 10 ) AS [t1] ON [e0].[Id] = [t1].[ThreeId] ) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId] -ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId]"); +ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take(bool async) @@ -854,7 +944,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[Id], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[ThreeId], [t1].[Id0], [t1].[CollectionInverseId], [t1].[Name0], [t1].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[Id], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[ThreeId], [t1].[Id0], [t1].[CollectionInverseId], [t1].[Name0], [t1].[ReferenceInverseId] FROM ( SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] FROM [Roots] AS [r] @@ -882,7 +973,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] WHERE 1 < [t2].[row] AND [t2].[row] <= 3 ) AS [t0] ON [e0].[Key1] = [t0].[CompositeId1] AND [e0].[Key2] = [t0].[CompositeId2] AND [e0].[Key3] = [t0].[CompositeId3] ) AS [t1] ON [t].[Id] = [t1].[RootSkipSharedId] -ORDER BY [t].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0]"); +ORDER BY [t].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation(bool async) @@ -890,7 +982,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [Leaves] AS [l] LEFT JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -903,7 +996,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] WHERE [e].[Key1] < 5 ) AS [t0] ON [l].[Id] = [t0].[LeafId] -ORDER BY [l].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [l].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(bool async) @@ -911,7 +1005,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -930,7 +1025,8 @@ FROM [JoinTwoToThree] AS [j0] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(bool async) @@ -938,7 +1034,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -955,7 +1052,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t0] ON [e0].[Id] = [t0].[TwoId] WHERE [e0].[Id] < 10 ) AS [t1] ON [e].[Id] = [t1].[OneId] -ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0]"); +ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined(bool async) @@ -963,7 +1061,8 @@ public override async Task Filter_include_on_skip_navigation_combined(bool async await base.Filter_include_on_skip_navigation_combined(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -973,7 +1072,8 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes(bool async) @@ -981,7 +1081,8 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[OneId], [t3].[ThreeId], [t3].[Payload], [t3].[Id], [t3].[Name], [t3].[OneId0], [t3].[TwoId], [t3].[JoinOneToTwoExtraId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[EntityBranchId], [t3].[EntityOneId], [t3].[Id1], [t3].[Name1], [t3].[Number], [t3].[IsGreen], [t3].[Discriminator] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[OneId], [t3].[ThreeId], [t3].[Payload], [t3].[Id], [t3].[Name], [t3].[OneId0], [t3].[TwoId], [t3].[JoinOneToTwoExtraId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[EntityBranchId], [t3].[EntityOneId], [t3].[Id1], [t3].[Name1], [t3].[Number], [t3].[IsGreen], [t3].[Discriminator] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [t0].[OneId] AS [OneId0], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId], [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id] AS [Id1], [t1].[Name] AS [Name1], [t1].[Number], [t1].[IsGreen], [t1].[Discriminator] @@ -1010,7 +1111,8 @@ WHERE [t2].[Id] < 20 ) AS [t1] ON [e0].[Id] = [t1].[EntityOneId] WHERE [e0].[Id] < 10 ) AS [t3] ON [e].[Id] = [t3].[ThreeId] -ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId]"); +ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(bool async) @@ -1018,7 +1120,8 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -1031,7 +1134,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[CollectionInverseId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(bool async) @@ -1039,7 +1143,8 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id] AS [Id0], [t].[CollectionInverseId] AS [CollectionInverseId0], [t].[Name] AS [Name0], [t].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -1052,7 +1157,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[TwoId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId] +"""); } public override async Task Includes_accessed_via_different_path_are_merged(bool async) @@ -1074,11 +1180,14 @@ public override async Task Include_skip_navigation_split(bool async) await base.Include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] @@ -1097,7 +1206,8 @@ UNION ALL FROM [Leaf2s] AS [l0] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +"""); } public override async Task Include_skip_navigation_then_reference_split(bool async) @@ -1105,11 +1215,14 @@ public override async Task Include_skip_navigation_then_reference_split(bool asy await base.Include_skip_navigation_then_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -1117,7 +1230,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation_split(bool async) @@ -1125,20 +1239,25 @@ public override async Task Include_skip_navigation_then_include_skip_navigation_ await base.Include_skip_navigation_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen] FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [Leaves] AS [l] ON [j].[LeafId] = [l].[Id] ) AS [t] ON [e].[Key1] = [t].[CompositeId1] AND [e].[Key2] = [t].[CompositeId2] AND [e].[Key3] = [t].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id] +""", // - @"SELECT [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id], [t0].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id] +""" +SELECT [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id], [t0].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [l].[Id] @@ -1150,7 +1269,8 @@ INNER JOIN ( FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e0] ON [j0].[EntityOneId] = [e0].[Id] ) AS [t0] ON [t].[Id] = [t0].[EntityBranchId] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation_split(bool async) @@ -1158,11 +1278,14 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -1170,9 +1293,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""", // - @"SELECT [t0].[LeftId], [t0].[RightId], [t0].[Payload], [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""" +SELECT [t0].[LeftId], [t0].[RightId], [t0].[Payload], [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id], [e1].[Id] AS [Id0] @@ -1185,7 +1310,8 @@ INNER JOIN ( FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t0] ON [t].[Id] = [t0].[LeftId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +"""); } public override async Task Include_skip_navigation_and_reference_split(bool async) @@ -1193,12 +1319,15 @@ public override async Task Include_skip_navigation_and_reference_split(bool asyn await base.Include_skip_navigation_and_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] -ORDER BY [e].[Id], [e0].[Id]", +ORDER BY [e].[Id], [e0].[Id] +""", // - @"SELECT [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e].[Id], [e0].[Id] +""" +SELECT [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e].[Id], [e0].[Id] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] INNER JOIN ( @@ -1206,7 +1335,8 @@ INNER JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id]"); +ORDER BY [e].[Id], [e0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_split(bool async) @@ -1214,11 +1344,14 @@ public override async Task Filtered_include_skip_navigation_where_split(bool asy await base.Filtered_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -1226,7 +1359,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_split(bool async) @@ -1234,18 +1368,22 @@ public override async Task Filtered_include_skip_navigation_order_by_split(bool await base.Filtered_include_skip_navigation_order_by_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[ThreeId], [j].[TwoId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_split(bool async) @@ -1253,11 +1391,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_split( await base.Filtered_include_skip_navigation_order_by_skip_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] +""" +SELECT [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [t].[SelfSkipSharedLeftId], [t].[SelfSkipSharedRightId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1268,7 +1409,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_split(bool async) @@ -1276,11 +1418,14 @@ public override async Task Filtered_include_skip_navigation_order_by_take_split( await base.Filtered_include_skip_navigation_order_by_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1291,7 +1436,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1299,11 +1445,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_s await base.Filtered_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[ThreeId], [t].[Id0], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] @@ -1314,7 +1463,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_then_include_skip_navigation_where_split(bool async) @@ -1322,7 +1472,8 @@ public override async Task Filtered_then_include_skip_navigation_where_split(boo await base.Filtered_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] FROM ( SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] FROM [Roots] AS [r] @@ -1336,9 +1487,11 @@ UNION ALL SELECT [l0].[Id], [l0].[Name], NULL AS [Number], [l0].[Slumber], NULL AS [IsGreen], [l0].[IsBrown], N'EntityLeaf2' AS [Discriminator] FROM [Leaf2s] AS [l0] ) AS [t] -ORDER BY [t].[Id]", +ORDER BY [t].[Id] +""", // - @"SELECT [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t].[Id] +""" +SELECT [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t].[Id] FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -1357,9 +1510,11 @@ INNER JOIN ( FROM [EntityRootEntityThree] AS [e] INNER JOIN [EntityThrees] AS [e0] ON [e].[ThreeSkipSharedId] = [e0].[Id] ) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId] -ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id]", +ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id] +""", // - @"SELECT [t1].[OneId], [t1].[ThreeId], [t1].[Payload], [t1].[Id], [t1].[Name], [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id] +""" +SELECT [t1].[OneId], [t1].[ThreeId], [t1].[Payload], [t1].[Id], [t1].[Name], [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id] FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -1384,7 +1539,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e1] ON [j].[OneId] = [e1].[Id] WHERE [e1].[Id] < 10 ) AS [t1] ON [t0].[Id] = [t1].[ThreeId] -ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1392,7 +1548,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] FROM ( SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] FROM [Roots] AS [r] @@ -1406,9 +1563,11 @@ UNION ALL SELECT [l0].[Id], [l0].[Name], NULL AS [Number], [l0].[Slumber], NULL AS [IsGreen], [l0].[IsBrown], N'EntityLeaf2' AS [Discriminator] FROM [Leaf2s] AS [l0] ) AS [t] -ORDER BY [t].[Id]", +ORDER BY [t].[Id] +""", // - @"SELECT [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t].[Id] +""" +SELECT [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t].[Id] FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -1427,9 +1586,11 @@ INNER JOIN ( FROM [EntityCompositeKeyEntityRoot] AS [e] INNER JOIN [EntityCompositeKeys] AS [e0] ON [e].[CompositeKeySkipSharedKey1] = [e0].[Key1] AND [e].[CompositeKeySkipSharedKey2] = [e0].[Key2] AND [e].[CompositeKeySkipSharedKey3] = [e0].[Key3] ) AS [t0] ON [t].[Id] = [t0].[RootSkipSharedId] -ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3]", +ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3] +""", // - @"SELECT [t1].[Id], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[ThreeId], [t1].[Id0], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3] +""" +SELECT [t1].[Id], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[ThreeId], [t1].[Id0], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3] FROM ( SELECT [r].[Id] FROM [Roots] AS [r] @@ -1457,7 +1618,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t2] WHERE 1 < [t2].[row] AND [t2].[row] <= 3 ) AS [t1] ON [t0].[Key1] = [t1].[CompositeId1] AND [t0].[Key2] = [t1].[CompositeId2] AND [t0].[Key3] = [t1].[CompositeId3] -ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0]"); +ORDER BY [t].[Id], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_split(bool async) @@ -1465,11 +1627,14 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen] +""" +SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen] FROM [Leaves] AS [l] -ORDER BY [l].[Id]", +ORDER BY [l].[Id] +""", // - @"SELECT [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [l].[Id] +""" +SELECT [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [l].[Id] FROM [Leaves] AS [l] INNER JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] @@ -1477,9 +1642,11 @@ FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [EntityCompositeKeys] AS [e] ON [j].[CompositeId1] = [e].[Key1] AND [j].[CompositeId2] = [e].[Key2] AND [j].[CompositeId3] = [e].[Key3] WHERE [e].[Key1] < 5 ) AS [t] ON [l].[Id] = [t].[LeafId] -ORDER BY [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]", +ORDER BY [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""", // - @"SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""" +SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] FROM [Leaves] AS [l] INNER JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [e].[Key1], [e].[Key2], [e].[Key3] @@ -1492,7 +1659,8 @@ INNER JOIN ( FROM [EntityCompositeKeyEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t0] ON [t].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [t].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [t].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]"); +ORDER BY [l].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(bool async) @@ -1500,11 +1668,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] +""" +SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1515,9 +1686,11 @@ FROM [JoinOneToTwo] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]", +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +""", // - @"SELECT [t1].[ThreeId], [t1].[TwoId], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] +""" +SELECT [t1].[ThreeId], [t1].[TwoId], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[OneId], [t].[TwoId], [t].[Id] @@ -1534,7 +1707,8 @@ FROM [JoinTwoToThree] AS [j0] INNER JOIN [EntityThrees] AS [e1] ON [j0].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 10 ) AS [t1] ON [t0].[Id] = [t1].[TwoId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1542,11 +1716,14 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] @@ -1554,9 +1731,11 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""", // - @"SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""" +SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [e0].[Id] @@ -1573,7 +1752,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id] +"""); } public override async Task Filter_include_on_skip_navigation_combined_split(bool async) @@ -1581,11 +1761,14 @@ public override async Task Filter_include_on_skip_navigation_combined_split(bool await base.Filter_include_on_skip_navigation_combined_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -1594,9 +1777,11 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""", // - @"SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""" +SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [e0].[Id], [e1].[Id] AS [Id0] @@ -1606,7 +1791,8 @@ FROM [JoinOneToTwo] AS [j] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] INNER JOIN [EntityTwos] AS [e2] ON [t].[Id] = [e2].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(bool async) @@ -1614,11 +1800,14 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -1626,9 +1815,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id] @@ -1645,9 +1836,11 @@ FROM [JoinOneToTwo] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id] +""", // - @"SELECT [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id] @@ -1667,7 +1860,8 @@ FROM [Leaves] AS [l] ) AS [t1] ON [j0].[EntityBranchId] = [t1].[Id] WHERE [t1].[Id] < 20 ) AS [t0] ON [t].[Id] = [t0].[EntityOneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(bool async) @@ -1675,11 +1869,14 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -1687,9 +1884,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id] @@ -1702,7 +1901,8 @@ INNER JOIN ( FROM [EntityTwos] AS [e1] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(bool async) @@ -1710,20 +1910,25 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e0] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[CollectionInverseId] -ORDER BY [e].[Id], [t].[Id]", +ORDER BY [e].[Id], [t].[Id] +""", // - @"SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] +""" +SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId] @@ -1736,7 +1941,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e1] ON [j].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_inverse_works_for_tracking_query(bool async) @@ -1744,7 +1950,8 @@ public override async Task Include_skip_navigation_then_include_inverse_works_fo await base.Include_skip_navigation_then_include_inverse_works_for_tracking_query(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [t].[OneId] AS [OneId0], [t].[ThreeId] AS [ThreeId0], [t].[Payload] AS [Payload0], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -1756,7 +1963,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j0] INNER JOIN [EntityThrees] AS [e1] ON [j0].[ThreeId] = [e1].[Id] ) AS [t] ON [e0].[Id] = [t].[OneId] ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0] +"""); } public override async Task Throws_when_different_filtered_include(bool async) @@ -1785,13 +1993,15 @@ public override async Task Select_many_over_skip_navigation_where_non_equality(b await base.Select_many_over_skip_navigation_where_non_equality(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId] AND [e].[Id] <> [t].[Id]"); +) AS [t] ON [e].[Id] = [t].[OneId] AND [e].[Id] <> [t].[Id] +"""); } public override async Task Contains_on_skip_collection_navigation(bool async) @@ -1799,7 +2009,8 @@ public override async Task Contains_on_skip_collection_navigation(bool async) await base.Contains_on_skip_collection_navigation(async); AssertSql( - @"@__entity_equality_two_0_Id='1' (Nullable = true) +""" +@__entity_equality_two_0_Id='1' (Nullable = true) SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] @@ -1807,7 +2018,8 @@ WHERE EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = @__entity_equality_two_0_Id)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = @__entity_equality_two_0_Id) +"""); } public override async Task GetType_in_hierarchy_in_base_type(bool async) @@ -1815,8 +2027,10 @@ public override async Task GetType_in_hierarchy_in_base_type(bool async) await base.GetType_in_hierarchy_in_base_type(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] -FROM [Roots] AS [r]"); +""" +SELECT [r].[Id], [r].[Name], NULL AS [Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityRoot' AS [Discriminator] +FROM [Roots] AS [r] +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) @@ -1824,8 +2038,10 @@ public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) await base.GetType_in_hierarchy_in_intermediate_type(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [b].[Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityBranch' AS [Discriminator] -FROM [Branches] AS [b]"); +""" +SELECT [b].[Id], [b].[Name], [b].[Number], NULL AS [Slumber], NULL AS [IsGreen], NULL AS [IsBrown], N'EntityBranch' AS [Discriminator] +FROM [Branches] AS [b] +"""); } public override async Task GetType_in_hierarchy_in_leaf_type(bool async) @@ -1833,8 +2049,10 @@ public override async Task GetType_in_hierarchy_in_leaf_type(bool async) await base.GetType_in_hierarchy_in_leaf_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Name], [l].[Number], NULL AS [Slumber], [l].[IsGreen], NULL AS [IsBrown], N'EntityLeaf' AS [Discriminator] -FROM [Leaves] AS [l]"); +""" +SELECT [l].[Id], [l].[Name], [l].[Number], NULL AS [Slumber], [l].[IsGreen], NULL AS [IsBrown], N'EntityLeaf' AS [Discriminator] +FROM [Leaves] AS [l] +"""); } public override async Task GetType_in_hierarchy_in_querying_base_type(bool async) @@ -1842,7 +2060,8 @@ public override async Task GetType_in_hierarchy_in_querying_base_type(bool async await base.GetType_in_hierarchy_in_querying_base_type(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator] FROM ( SELECT [b].[Id], [b].[Name], [b].[Number], NULL AS [IsGreen], N'EntityBranch' AS [Discriminator] FROM [Branches] AS [b] @@ -1850,7 +2069,8 @@ UNION ALL SELECT [l].[Id], [l].[Name], [l].[Number], [l].[IsGreen], N'EntityLeaf' AS [Discriminator] FROM [Leaves] AS [l] ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_EF_Property(bool async) @@ -1858,7 +2078,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take_EF_Pro await base.Filtered_include_skip_navigation_order_by_take_EF_Property(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1869,7 +2090,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_EF_Property( @@ -1878,7 +2100,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_EF_Property(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -1897,7 +2120,8 @@ FROM [JoinTwoToThree] AS [j0] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Skip_navigation_all_unidirectional(bool async) @@ -1905,13 +2129,15 @@ public override async Task Skip_navigation_all_unidirectional(bool async) await base.Skip_navigation_all_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE NOT EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND NOT ([u1].[Name] LIKE N'%B%'))"); + WHERE [u].[Id] = [u0].[OneId] AND NOT ([u1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate_unidirectional(bool async) @@ -1919,13 +2145,15 @@ public override async Task Skip_navigation_any_with_predicate_unidirectional(boo await base.Skip_navigation_any_with_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE EXISTS ( SELECT 1 FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoSkipSharedId] = [u1].[Id] - WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([u1].[Name] LIKE N'%B%'))"); + WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([u1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains_unidirectional(bool async) @@ -1933,13 +2161,15 @@ public override async Task Skip_navigation_contains_unidirectional(bool async) await base.Skip_navigation_contains_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u0] INNER JOIN [UnidirectionalEntityThrees] AS [u1] ON [u0].[ThreeId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = 1)"); + WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate_unidirectional(bool async) @@ -1947,13 +2177,15 @@ public override async Task Skip_navigation_count_without_predicate_unidirectiona await base.Skip_navigation_count_without_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE ( SELECT COUNT(*) FROM [UnidirectionalJoinOneSelfPayload] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[LeftId] = [u1].[Id] - WHERE [u].[Id] = [u0].[RightId]) > 0"); + WHERE [u].[Id] = [u0].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate_unidirectional(bool async) @@ -1961,7 +2193,8 @@ public override async Task Skip_navigation_count_with_predicate_unidirectional(b await base.Skip_navigation_count_with_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] ORDER BY ( SELECT COUNT(*) @@ -1973,7 +2206,8 @@ UNION ALL SELECT [u2].[Id], [u2].[Name], [u2].[Number], [u2].[IsGreen], N'UnidirectionalEntityLeaf' AS [Discriminator] FROM [UnidirectionalLeaves] AS [u2] ) AS [t] ON [u0].[UnidirectionalEntityBranchId] = [t].[Id] - WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [u].[Id]"); + WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [u].[Id] +"""); } public override async Task Skip_navigation_select_subquery_average_unidirectional(bool async) @@ -1981,12 +2215,14 @@ public override async Task Skip_navigation_select_subquery_average_unidirectiona await base.Skip_navigation_select_subquery_average_unidirectional(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([u1].[Key1] AS float)) FROM [UnidirectionalJoinCompositeKeyToLeaf] AS [u0] INNER JOIN [UnidirectionalEntityCompositeKeys] AS [u1] ON [u0].[CompositeId1] = [u1].[Key1] AND [u0].[CompositeId2] = [u1].[Key2] AND [u0].[CompositeId3] = [u1].[Key3] WHERE [u].[Id] = [u0].[LeafId]) -FROM [UnidirectionalLeaves] AS [u]"); +FROM [UnidirectionalLeaves] AS [u] +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default_unidirectional(bool async) @@ -1994,7 +2230,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default_uni await base.Skip_navigation_order_by_reverse_first_or_default_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId] @@ -2004,7 +2241,8 @@ FROM [UnidirectionalJoinTwoToThree] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [u].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [u].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_of_type_unidirectional(bool async) @@ -2012,7 +2250,8 @@ public override async Task Skip_navigation_of_type_unidirectional(bool async) await base.Skip_navigation_of_type_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [u0].[RootSkipSharedId], [u0].[UnidirectionalEntityCompositeKeyKey1], [u0].[UnidirectionalEntityCompositeKeyKey2], [u0].[UnidirectionalEntityCompositeKeyKey3] @@ -2029,7 +2268,8 @@ FROM [UnidirectionalLeaves] AS [u3] ) AS [t] ON [u0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] = N'UnidirectionalEntityLeaf' ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Join_with_skip_navigation_unidirectional(bool async) @@ -2037,14 +2277,16 @@ public override async Task Join_with_skip_navigation_unidirectional(bool async) await base.Join_with_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [u0].[CollectionInverseId], [u0].[ExtraId], [u0].[Name], [u0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [u0].[CollectionInverseId], [u0].[ExtraId], [u0].[Name], [u0].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] INNER JOIN [UnidirectionalEntityTwos] AS [u0] ON [u].[Id] = ( SELECT TOP(1) [u2].[Id] FROM [UnidirectionalEntityTwoUnidirectionalEntityTwo] AS [u1] INNER JOIN [UnidirectionalEntityTwos] AS [u2] ON [u1].[SelfSkipSharedRightId] = [u2].[Id] WHERE [u0].[Id] = [u1].[UnidirectionalEntityTwoId] - ORDER BY [u2].[Id])"); + ORDER BY [u2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation_unidirectional(bool async) @@ -2052,7 +2294,8 @@ public override async Task Left_join_with_skip_navigation_unidirectional(bool as await base.Left_join_with_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [u0].[Key1], [u0].[Key2], [u0].[Key3], [u0].[Name] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [u0].[Key1], [u0].[Key2], [u0].[Key3], [u0].[Name] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN [UnidirectionalEntityCompositeKeys] AS [u0] ON ( SELECT TOP(1) [u2].[Id] @@ -2065,7 +2308,8 @@ FROM [UnidirectionalJoinThreeToCompositeKeyFull] AS [u3] INNER JOIN [UnidirectionalEntityThrees] AS [u4] ON [u3].[ThreeId] = [u4].[Id] WHERE [u0].[Key1] = [u3].[CompositeId1] AND [u0].[Key2] = [u3].[CompositeId2] AND [u0].[Key3] = [u3].[CompositeId3] ORDER BY [u4].[Id]) -ORDER BY [u].[Key1], [u0].[Key1], [u].[Key2], [u0].[Key2]"); +ORDER BY [u].[Key1], [u0].[Key1], [u].[Key2], [u0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation_unidirectional(bool async) @@ -2073,7 +2317,8 @@ public override async Task Select_many_over_skip_navigation_unidirectional(bool await base.Select_many_over_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM ( SELECT [u1].[Id] FROM [UnidirectionalRoots] AS [u1] @@ -2088,7 +2333,8 @@ INNER JOIN ( SELECT [u0].[Id], [u0].[CollectionInverseId], [u0].[Name], [u0].[ReferenceInverseId], [u].[UnidirectionalEntityRootId] FROM [UnidirectionalEntityRootUnidirectionalEntityThree] AS [u] INNER JOIN [UnidirectionalEntityThrees] AS [u0] ON [u].[ThreeSkipSharedId] = [u0].[Id] -) AS [t0] ON [t].[Id] = [t0].[UnidirectionalEntityRootId]"); +) AS [t0] ON [t].[Id] = [t0].[UnidirectionalEntityRootId] +"""); } public override async Task Select_many_over_skip_navigation_where_unidirectional(bool async) @@ -2096,13 +2342,15 @@ public override async Task Select_many_over_skip_navigation_where_unidirectional await base.Select_many_over_skip_navigation_where_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId], [u0].[OneId] FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] -) AS [t] ON [u].[Id] = [t].[OneId]"); +) AS [t] ON [u].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take_unidirectional(bool async) @@ -2110,7 +2358,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take_unidir await base.Select_many_over_skip_navigation_order_by_take_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[UnidirectionalEntityOneId] @@ -2120,7 +2369,8 @@ FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoSkipSharedId] = [u1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId]"); +) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take_unidirectional(bool async) @@ -2128,7 +2378,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take_u await base.Select_many_over_skip_navigation_order_by_skip_take_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -2138,7 +2389,8 @@ FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u0] INNER JOIN [UnidirectionalEntityThrees] AS [u1] ON [u0].[ThreeId] = [u1].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [u].[Id] = [t0].[OneId]"); +) AS [t0] ON [u].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_cast_unidirectional(bool async) @@ -2146,7 +2398,8 @@ public override async Task Select_many_over_skip_navigation_cast_unidirectional( await base.Select_many_over_skip_navigation_cast_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [u0].[UnidirectionalEntityOneId] @@ -2158,21 +2411,24 @@ UNION ALL SELECT [u2].[Id], [u2].[Name], [u2].[Number], [u2].[IsGreen], N'UnidirectionalEntityLeaf' AS [Discriminator] FROM [UnidirectionalLeaves] AS [u2] ) AS [t] ON [u0].[UnidirectionalEntityBranchId] = [t].[Id] -) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId]"); +) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId] +"""); } public override async Task Select_skip_navigation_unidirectional(bool async) { await base.Select_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] +""" +SELECT [u].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[Name], [u0].[LeftId], [u0].[RightId] FROM [UnidirectionalJoinOneSelfPayload] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[LeftId] = [u1].[Id] ) AS [t] ON [u].[Id] = [t].[RightId] -ORDER BY [u].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [u].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Include_skip_navigation_unidirectional(bool async) @@ -2180,7 +2436,8 @@ public override async Task Include_skip_navigation_unidirectional(bool async) await base.Include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [u0].[RootSkipSharedId], [u0].[UnidirectionalEntityCompositeKeyKey1], [u0].[UnidirectionalEntityCompositeKeyKey2], [u0].[UnidirectionalEntityCompositeKeyKey3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator] @@ -2196,7 +2453,8 @@ UNION ALL FROM [UnidirectionalLeaves] AS [u3] ) AS [t] ON [u0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Include_skip_navigation_then_reference_unidirectional(bool async) @@ -2204,7 +2462,8 @@ public override async Task Include_skip_navigation_then_reference_unidirectional await base.Include_skip_navigation_then_reference_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[UnidirectionalJoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[UnidirectionalJoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN ( SELECT [u0].[OneId], [u0].[TwoId], [u0].[UnidirectionalJoinOneToTwoExtraId], [u1].[Id], [u1].[Name], [u2].[Id] AS [Id0], [u2].[CollectionInverseId], [u2].[ExtraId], [u2].[Name] AS [Name0], [u2].[ReferenceInverseId] @@ -2212,7 +2471,8 @@ FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[OneId] = [u1].[Id] LEFT JOIN [UnidirectionalEntityTwos] AS [u2] ON [u1].[Id] = [u2].[ReferenceInverseId] ) AS [t] ON [u].[Id] = [t].[TwoId] -ORDER BY [u].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [u].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation_unidirectional(bool async) @@ -2220,7 +2480,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation_ await base.Include_skip_navigation_then_include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[UnidirectionalEntityBranchId], [t0].[UnidirectionalEntityOneId], [t0].[Id0], [t0].[Name0] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[UnidirectionalEntityBranchId], [t0].[UnidirectionalEntityOneId], [t0].[Id0], [t0].[Name0] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [u0].[LeafId], [u0].[CompositeId1], [u0].[CompositeId2], [u0].[CompositeId3], [u1].[Id], [u1].[Name], [u1].[Number], [u1].[IsGreen], [t].[UnidirectionalEntityBranchId], [t].[UnidirectionalEntityOneId], [t].[Id] AS [Id0], [t].[Name] AS [Name0] @@ -2232,7 +2493,8 @@ FROM [UnidirectionalJoinOneToBranch] AS [u2] INNER JOIN [UnidirectionalEntityOnes] AS [u3] ON [u2].[UnidirectionalEntityOneId] = [u3].[Id] ) AS [t] ON [u1].[Id] = [t].[UnidirectionalEntityBranchId] ) AS [t0] ON [u].[Key1] = [t0].[CompositeId1] AND [u].[Key2] = [t0].[CompositeId2] AND [u].[Key3] = [t0].[CompositeId3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[UnidirectionalEntityBranchId], [t0].[UnidirectionalEntityOneId]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[UnidirectionalEntityBranchId], [t0].[UnidirectionalEntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation_unidirectional(bool async) @@ -2240,7 +2502,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[Id1], [t0].[Name1] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[Id1], [t0].[Name1] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u0].[OneId], [u0].[ThreeId], [u0].[Payload], [u1].[Id], [u1].[Name], [u2].[Id] AS [Id0], [u2].[CollectionInverseId], [u2].[ExtraId], [u2].[Name] AS [Name0], [u2].[ReferenceInverseId], [t].[LeftId], [t].[RightId], [t].[Payload] AS [Payload0], [t].[Id] AS [Id1], [t].[Name] AS [Name1] @@ -2253,7 +2516,8 @@ FROM [UnidirectionalJoinOneSelfPayload] AS [u3] INNER JOIN [UnidirectionalEntityOnes] AS [u4] ON [u3].[RightId] = [u4].[Id] ) AS [t] ON [u1].[Id] = [t].[LeftId] ) AS [t0] ON [u].[Id] = [t0].[ThreeId] -ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference_unidirectional(bool async) @@ -2261,7 +2525,8 @@ public override async Task Include_skip_navigation_and_reference_unidirectional( await base.Include_skip_navigation_and_reference_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId], [t].[Id], [t].[Name], [u0].[CollectionInverseId], [u0].[Name], [u0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId], [t].[Id], [t].[Name], [u0].[CollectionInverseId], [u0].[Name], [u0].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN [UnidirectionalEntityThrees] AS [u0] ON [u].[Id] = [u0].[ReferenceInverseId] LEFT JOIN ( @@ -2269,7 +2534,8 @@ LEFT JOIN ( FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u1] INNER JOIN [UnidirectionalEntityOnes] AS [u2] ON [u1].[UnidirectionalEntityOneId] = [u2].[Id] ) AS [t] ON [u].[Id] = [t].[TwoSkipSharedId] -ORDER BY [u].[Id], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId]"); +ORDER BY [u].[Id], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_inverse_works_for_tracking_query_unidirectional(bool async) @@ -2277,7 +2543,8 @@ public override async Task Include_skip_navigation_then_include_inverse_works_fo await base.Include_skip_navigation_then_include_inverse_works_for_tracking_query_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u0].[OneId], [u0].[ThreeId], [u0].[Payload], [u1].[Id], [u1].[Name], [t].[OneId] AS [OneId0], [t].[ThreeId] AS [ThreeId0], [t].[Payload] AS [Payload0], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -2289,7 +2556,8 @@ FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u2] INNER JOIN [UnidirectionalEntityThrees] AS [u3] ON [u2].[ThreeId] = [u3].[Id] ) AS [t] ON [u1].[Id] = [t].[OneId] ) AS [t0] ON [u].[Id] = [t0].[ThreeId] -ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0]"); +ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0] +"""); } public override async Task Filtered_include_skip_navigation_where_unidirectional(bool async) @@ -2297,7 +2565,8 @@ public override async Task Filtered_include_skip_navigation_where_unidirectional await base.Filtered_include_skip_navigation_where_unidirectional(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -2305,7 +2574,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_unidirectional(bool async) @@ -2313,14 +2583,16 @@ public override async Task Filtered_include_skip_navigation_order_by_unidirectio await base.Filtered_include_skip_navigation_order_by_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u0].[ThreeId], [u0].[TwoId], [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId] FROM [UnidirectionalJoinTwoToThree] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] ) AS [t] ON [u].[Id] = [t].[ThreeId] -ORDER BY [u].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [u].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_unidirectional(bool async) @@ -2328,7 +2600,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_unidir await base.Filtered_include_skip_navigation_order_by_skip_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t0].[SelfSkipSharedRightId], [t0].[UnidirectionalEntityTwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t0].[SelfSkipSharedRightId], [t0].[UnidirectionalEntityTwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN ( SELECT [t].[SelfSkipSharedRightId], [t].[UnidirectionalEntityTwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -2339,7 +2612,8 @@ FROM [UnidirectionalEntityTwoUnidirectionalEntityTwo] AS [u0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityTwoId] -ORDER BY [u].[Id], [t0].[UnidirectionalEntityTwoId], [t0].[Id]"); +ORDER BY [u].[Id], [t0].[UnidirectionalEntityTwoId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_unidirectional(bool async) @@ -2347,7 +2621,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take_unidir await base.Filtered_include_skip_navigation_order_by_take_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[TwoSkipSharedId], [t].[UnidirectionalEntityCompositeKeyKey1], [t].[UnidirectionalEntityCompositeKeyKey2], [t].[UnidirectionalEntityCompositeKeyKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -2358,7 +2633,8 @@ FROM [UnidirectionalEntityCompositeKeyUnidirectionalEntityTwo] AS [u0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_unidirectional(bool async) @@ -2366,7 +2642,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_u await base.Filtered_include_skip_navigation_order_by_skip_take_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[ThreeId], [t].[Id0], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] @@ -2377,7 +2654,8 @@ FROM [UnidirectionalJoinThreeToCompositeKeyFull] AS [u0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [u].[Key1] = [t0].[CompositeId1] AND [u].[Key2] = [t0].[CompositeId2] AND [u].[Key3] = [t0].[CompositeId3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_unidirectional(bool async) @@ -2385,7 +2663,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u].[Number], [u].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[Name], [u].[Number], [u].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [UnidirectionalLeaves] AS [u] LEFT JOIN ( SELECT [u0].[LeafId], [u0].[CompositeId1], [u0].[CompositeId2], [u0].[CompositeId3], [u1].[Key1], [u1].[Key2], [u1].[Key3], [u1].[Name], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityCompositeKeyKey1], [t].[UnidirectionalEntityCompositeKeyKey2], [t].[UnidirectionalEntityCompositeKeyKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -2398,7 +2677,8 @@ FROM [UnidirectionalEntityCompositeKeyUnidirectionalEntityTwo] AS [u2] ) AS [t] ON [u1].[Key1] = [t].[UnidirectionalEntityCompositeKeyKey1] AND [u1].[Key2] = [t].[UnidirectionalEntityCompositeKeyKey2] AND [u1].[Key3] = [t].[UnidirectionalEntityCompositeKeyKey3] WHERE [u1].[Key1] < 5 ) AS [t0] ON [u].[Id] = [t0].[LeafId] -ORDER BY [u].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Filter_include_on_skip_navigation_combined_unidirectional(bool async) @@ -2406,7 +2686,8 @@ public override async Task Filter_include_on_skip_navigation_combined_unidirecti await base.Filter_include_on_skip_navigation_combined_unidirectional(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -2416,7 +2697,8 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Throws_when_different_filtered_include_unidirectional(bool async) @@ -2429,8 +2711,10 @@ public override async Task Throws_when_different_filtered_include_unidirectional public override async Task Includes_accessed_via_different_path_are_merged_unidirectional(bool async) { await base.Includes_accessed_via_different_path_are_merged_unidirectional(async); + AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u0].[OneId], [u0].[ThreeId], [u0].[Payload], [u1].[Id], [u1].[Name], [t].[OneId] AS [OneId0], [t].[ThreeId] AS [ThreeId0], [t].[Payload] AS [Payload0], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -2442,20 +2726,24 @@ FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u2] INNER JOIN [UnidirectionalEntityThrees] AS [u3] ON [u2].[ThreeId] = [u3].[Id] ) AS [t] ON [u1].[Id] = [t].[OneId] ) AS [t0] ON [u].[Id] = [t0].[ThreeId] -ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0]"); +ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0] +"""); } public override async Task Select_many_over_skip_navigation_where_non_equality_unidirectional(bool async) { await base.Select_many_over_skip_navigation_where_non_equality_unidirectional(async); + AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId], [u0].[OneId] FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] -) AS [t] ON [u].[Id] = [t].[OneId] AND [u].[Id] <> [t].[Id]"); +) AS [t] ON [u].[Id] = [t].[OneId] AND [u].[Id] <> [t].[Id] +"""); } public override async Task Contains_on_skip_collection_navigation_unidirectional(bool async) @@ -2463,7 +2751,8 @@ public override async Task Contains_on_skip_collection_navigation_unidirectional await base.Contains_on_skip_collection_navigation_unidirectional(async); AssertSql( - @"@__entity_equality_two_0_Id='1' (Nullable = true) +""" +@__entity_equality_two_0_Id='1' (Nullable = true) SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] @@ -2471,7 +2760,8 @@ WHERE EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = @__entity_equality_two_0_Id)"); + WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = @__entity_equality_two_0_Id) +"""); } public override async Task GetType_in_hierarchy_in_base_type_unidirectional(bool async) @@ -2479,16 +2769,20 @@ public override async Task GetType_in_hierarchy_in_base_type_unidirectional(bool await base.GetType_in_hierarchy_in_base_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], NULL AS [Number], NULL AS [IsGreen], N'UnidirectionalEntityRoot' AS [Discriminator] -FROM [UnidirectionalRoots] AS [u]"); +""" +SELECT [u].[Id], [u].[Name], NULL AS [Number], NULL AS [IsGreen], N'UnidirectionalEntityRoot' AS [Discriminator] +FROM [UnidirectionalRoots] AS [u] +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type_unidirectional(bool async) { await base.GetType_in_hierarchy_in_intermediate_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u].[Number], NULL AS [IsGreen], N'UnidirectionalEntityBranch' AS [Discriminator] -FROM [UnidirectionalBranches] AS [u]"); +""" +SELECT [u].[Id], [u].[Name], [u].[Number], NULL AS [IsGreen], N'UnidirectionalEntityBranch' AS [Discriminator] +FROM [UnidirectionalBranches] AS [u] +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_unidirectional(bool async) @@ -2496,8 +2790,10 @@ public override async Task GetType_in_hierarchy_in_leaf_type_unidirectional(bool await base.GetType_in_hierarchy_in_leaf_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u].[Number], [u].[IsGreen], N'UnidirectionalEntityLeaf' AS [Discriminator] -FROM [UnidirectionalLeaves] AS [u]"); +""" +SELECT [u].[Id], [u].[Name], [u].[Number], [u].[IsGreen], N'UnidirectionalEntityLeaf' AS [Discriminator] +FROM [UnidirectionalLeaves] AS [u] +"""); } public override async Task GetType_in_hierarchy_in_querying_base_type_unidirectional(bool async) @@ -2505,7 +2801,8 @@ public override async Task GetType_in_hierarchy_in_querying_base_type_unidirecti await base.GetType_in_hierarchy_in_querying_base_type_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator] FROM ( SELECT [u].[Id], [u].[Name], [u].[Number], NULL AS [IsGreen], N'UnidirectionalEntityBranch' AS [Discriminator] FROM [UnidirectionalBranches] AS [u] @@ -2513,7 +2810,8 @@ UNION ALL SELECT [u0].[Id], [u0].[Name], [u0].[Number], [u0].[IsGreen], N'UnidirectionalEntityLeaf' AS [Discriminator] FROM [UnidirectionalLeaves] AS [u0] ) AS [t] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPCRelationshipsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPCRelationshipsQuerySqlServerTest.cs index 1becf8b3a5b..328589b9d75 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPCRelationshipsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPCRelationshipsQuerySqlServerTest.cs @@ -24,7 +24,8 @@ public override void Changes_in_derived_related_entities_are_detected() base.Changes_in_derived_related_entities_are_detected(); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [t0].[BaseInheritanceRelationshipEntityId], [t0].[Id1], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t0].[Id0], [t0].[Name0], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t0].[OwnedReferenceOnDerived_Id], [t0].[OwnedReferenceOnDerived_Name], [t1].[Id], [t1].[BaseParentId], [t1].[Name], [t1].[DerivedProperty], [t1].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [t0].[BaseInheritanceRelationshipEntityId], [t0].[Id1], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t0].[Id0], [t0].[Name0], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t0].[OwnedReferenceOnDerived_Id], [t0].[OwnedReferenceOnDerived_Name], [t1].[Id], [t1].[BaseParentId], [t1].[Name], [t1].[DerivedProperty], [t1].[Discriminator] FROM ( SELECT TOP(2) [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [o].[Id] AS [Id0], [o].[Name] AS [Name0], [d].[Id] AS [Id1], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( @@ -47,7 +48,8 @@ UNION ALL SELECT [d1].[Id], [d1].[BaseParentId], [d1].[Name], [d1].[DerivedProperty], N'DerivedCollectionOnBase' AS [Discriminator] FROM [DerivedCollectionsOnBase] AS [d1] ) AS [t1] ON [t0].[Id] = [t1].[BaseParentId] -ORDER BY [t0].[Id], [t0].[BaseInheritanceRelationshipEntityId], [t0].[Id1], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [t0].[Id], [t0].[BaseInheritanceRelationshipEntityId], [t0].[Id1], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_without_inheritance(bool async) @@ -55,7 +57,8 @@ public override async Task Include_collection_without_inheritance(bool async) await base.Include_collection_without_inheritance(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [c].[Id], [c].[Name], [c].[ParentId] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [c].[Id], [c].[Name], [c].[ParentId] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -68,7 +71,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [CollectionsOnBase] AS [c] ON [t].[Id] = [c].[ParentId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_without_inheritance_reverse(bool async) @@ -76,7 +80,8 @@ public override async Task Include_collection_without_inheritance_reverse(bool a await base.Include_collection_without_inheritance_reverse(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] @@ -89,7 +94,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_without_inheritance_with_filter(bool async) @@ -97,7 +103,8 @@ public override async Task Include_collection_without_inheritance_with_filter(bo await base.Include_collection_without_inheritance_with_filter(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [c].[Id], [c].[Name], [c].[ParentId] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [c].[Id], [c].[Name], [c].[ParentId] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -111,7 +118,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [CollectionsOnBase] AS [c] ON [t].[Id] = [c].[ParentId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_without_inheritance_with_filter_reverse(bool async) @@ -119,7 +127,8 @@ public override async Task Include_collection_without_inheritance_with_filter_re await base.Include_collection_without_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] @@ -133,7 +142,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance(bool async) @@ -141,7 +151,8 @@ public override async Task Include_collection_with_inheritance(bool async) await base.Include_collection_with_inheritance(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -160,7 +171,8 @@ UNION ALL SELECT [d2].[Id], [d2].[BaseParentId], [d2].[Name], [d2].[DerivedProperty], N'DerivedCollectionOnBase' AS [Discriminator] FROM [DerivedCollectionsOnBase] AS [d2] ) AS [t0] ON [t].[Id] = [t0].[BaseParentId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived1(bool async) @@ -168,7 +180,8 @@ public override async Task Include_collection_with_inheritance_on_derived1(bool await base.Include_collection_with_inheritance_on_derived1(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] @@ -180,7 +193,8 @@ UNION ALL SELECT [d1].[Id], [d1].[BaseParentId], [d1].[Name], [d1].[DerivedProperty], N'DerivedCollectionOnBase' AS [Discriminator] FROM [DerivedCollectionsOnBase] AS [d1] ) AS [t] ON [d].[Id] = [t].[BaseParentId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived2(bool async) @@ -188,7 +202,8 @@ public override async Task Include_collection_with_inheritance_on_derived2(bool await base.Include_collection_with_inheritance_on_derived2(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] @@ -200,7 +215,8 @@ UNION ALL SELECT [d1].[Id], [d1].[Name], [d1].[ParentId], [d1].[DerivedInheritanceRelationshipEntityId], N'DerivedCollectionOnDerived' AS [Discriminator] FROM [DerivedCollectionsOnDerived] AS [d1] ) AS [t] ON [d].[Id] = [t].[ParentId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived3(bool async) @@ -208,13 +224,15 @@ public override async Task Include_collection_with_inheritance_on_derived3(bool await base.Include_collection_with_inheritance_on_derived3(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [d1].[Id], [d1].[Name], [d1].[ParentId], [d1].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [d1].[Id], [d1].[Name], [d1].[ParentId], [d1].[DerivedInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [DerivedCollectionsOnDerived] AS [d1] ON [d].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived_reverse(bool async) @@ -222,7 +240,8 @@ public override async Task Include_collection_with_inheritance_on_derived_revers await base.Include_collection_with_inheritance_on_derived_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[Name], [b].[ParentId], NULL AS [DerivedInheritanceRelationshipEntityId], N'BaseCollectionOnDerived' AS [Discriminator] FROM [BaseCollectionsOnDerived] AS [b] @@ -234,7 +253,8 @@ FROM [DerivedCollectionsOnDerived] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance_reverse(bool async) @@ -242,7 +262,8 @@ public override async Task Include_collection_with_inheritance_reverse(bool asyn await base.Include_collection_with_inheritance_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], NULL AS [DerivedProperty], N'BaseCollectionOnBase' AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b] @@ -261,7 +282,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [DerivedEntities] AS [d] ON [t0].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t0].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t0].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance_with_filter(bool async) @@ -269,7 +291,8 @@ public override async Task Include_collection_with_inheritance_with_filter(bool await base.Include_collection_with_inheritance_with_filter(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -289,7 +312,8 @@ UNION ALL FROM [DerivedCollectionsOnBase] AS [d2] ) AS [t0] ON [t].[Id] = [t0].[BaseParentId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_with_filter_reverse(bool async) @@ -297,7 +321,8 @@ public override async Task Include_collection_with_inheritance_with_filter_rever await base.Include_collection_with_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], NULL AS [DerivedProperty], N'BaseCollectionOnBase' AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b] @@ -317,7 +342,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [OwnedCollections] AS [o0] ON [t0].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t0].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance(bool async) @@ -325,7 +351,8 @@ public override async Task Include_reference_without_inheritance(bool async) await base.Include_reference_without_inheritance(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -338,7 +365,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_on_derived1(bool async) @@ -346,13 +374,15 @@ public override async Task Include_reference_without_inheritance_on_derived1(boo await base.Include_reference_without_inheritance_on_derived1(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM [DerivedEntities] AS [d] LEFT JOIN [ReferencesOnBase] AS [r] ON [d].[Id] = [r].[ParentId] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_on_derived2(bool async) @@ -360,13 +390,15 @@ public override async Task Include_reference_without_inheritance_on_derived2(boo await base.Include_reference_without_inheritance_on_derived2(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM [DerivedEntities] AS [d] LEFT JOIN [ReferencesOnDerived] AS [r] ON [d].[Id] = [r].[ParentId] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_on_derived_reverse(bool async) @@ -374,13 +406,15 @@ public override async Task Include_reference_without_inheritance_on_derived_reve await base.Include_reference_without_inheritance_on_derived_reverse(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [r].[ParentId], [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [r].[Id], [r].[Name], [r].[ParentId], [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [ReferencesOnDerived] AS [r] LEFT JOIN [DerivedEntities] AS [d] ON [r].[ParentId] = [d].[Id] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [r].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [r].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_reverse(bool async) @@ -388,7 +422,8 @@ public override async Task Include_reference_without_inheritance_reverse(bool as await base.Include_reference_without_inheritance_reverse(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [ReferencesOnBase] AS [r] LEFT JOIN ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] @@ -401,7 +436,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [r].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [r].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_with_filter(bool async) @@ -409,7 +445,8 @@ public override async Task Include_reference_without_inheritance_with_filter(boo await base.Include_reference_without_inheritance_with_filter(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -423,7 +460,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [r].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_with_filter_reverse(bool async) @@ -431,7 +469,8 @@ public override async Task Include_reference_without_inheritance_with_filter_rev await base.Include_reference_without_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [ReferencesOnBase] AS [r] LEFT JOIN ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] @@ -445,7 +484,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [r].[Name] <> N'Bar' OR ([r].[Name] IS NULL) -ORDER BY [r].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [r].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance(bool async) @@ -453,7 +493,8 @@ public override async Task Include_reference_with_inheritance(bool async) await base.Include_reference_with_inheritance(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -472,7 +513,8 @@ FROM [DerivedReferencesOnBase] AS [d2] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived1(bool async) @@ -480,7 +522,8 @@ public override async Task Include_reference_with_inheritance_on_derived1(bool a await base.Include_reference_with_inheritance_on_derived1(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], N'BaseReferenceOnBase' AS [Discriminator] @@ -492,7 +535,8 @@ FROM [DerivedReferencesOnBase] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived2(bool async) @@ -500,7 +544,8 @@ public override async Task Include_reference_with_inheritance_on_derived2(bool a await base.Include_reference_with_inheritance_on_derived2(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], NULL AS [DerivedInheritanceRelationshipEntityId], N'BaseReferenceOnDerived' AS [Discriminator] @@ -512,7 +557,8 @@ FROM [DerivedReferencesOnDerived] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived4(bool async) @@ -520,13 +566,15 @@ public override async Task Include_reference_with_inheritance_on_derived4(bool a await base.Include_reference_with_inheritance_on_derived4(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [d0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [d0].[BaseParentId], [d0].[Name], [d0].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [d0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [d0].[BaseParentId], [d0].[Name], [d0].[DerivedInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [DerivedReferencesOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [d].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [d0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [d0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_reverse(bool async) @@ -534,7 +582,8 @@ public override async Task Include_reference_with_inheritance_on_derived_reverse await base.Include_reference_with_inheritance_on_derived_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], NULL AS [DerivedInheritanceRelationshipEntityId], N'BaseReferenceOnDerived' AS [Discriminator] FROM [BaseReferencesOnDerived] AS [b] @@ -546,7 +595,8 @@ FROM [DerivedReferencesOnDerived] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter1(bool async) @@ -554,7 +604,8 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter1(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], N'BaseReferenceOnBase' AS [Discriminator] @@ -567,7 +618,8 @@ FROM [DerivedReferencesOnBase] AS [d1] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [d].[Name] <> N'Bar' OR ([d].[Name] IS NULL) -ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter2(bool async) @@ -575,7 +627,8 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter2(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], NULL AS [DerivedInheritanceRelationshipEntityId], N'BaseReferenceOnDerived' AS [Discriminator] @@ -588,7 +641,8 @@ FROM [DerivedReferencesOnDerived] AS [d1] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [d].[Name] <> N'Bar' OR ([d].[Name] IS NULL) -ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter4(bool async) @@ -596,14 +650,16 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter4(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [d0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [d0].[BaseParentId], [d0].[Name], [d0].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [d0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [d0].[BaseParentId], [d0].[Name], [d0].[DerivedInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [DerivedReferencesOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [d].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] WHERE [d].[Name] <> N'Bar' OR ([d].[Name] IS NULL) -ORDER BY [d].[Id], [d0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [d0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter_reverse(bool async) @@ -611,7 +667,8 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], NULL AS [DerivedInheritanceRelationshipEntityId], N'BaseReferenceOnDerived' AS [Discriminator] FROM [BaseReferencesOnDerived] AS [b] @@ -624,7 +681,8 @@ FROM [DerivedReferencesOnDerived] AS [d1] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_reverse(bool async) @@ -632,7 +690,8 @@ public override async Task Include_reference_with_inheritance_reverse(bool async await base.Include_reference_with_inheritance_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], N'BaseReferenceOnBase' AS [Discriminator] FROM [BaseReferencesOnBase] AS [b] @@ -651,7 +710,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [DerivedEntities] AS [d] ON [t0].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t0].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t0].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_with_filter(bool async) @@ -659,7 +719,8 @@ public override async Task Include_reference_with_inheritance_with_filter(bool a await base.Include_reference_with_inheritance_with_filter(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -679,7 +740,8 @@ FROM [DerivedReferencesOnBase] AS [d2] LEFT JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_with_filter_reverse(bool async) @@ -687,7 +749,8 @@ public override async Task Include_reference_with_inheritance_with_filter_revers await base.Include_reference_with_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], N'BaseReferenceOnBase' AS [Discriminator] FROM [BaseReferencesOnBase] AS [b] @@ -707,7 +770,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [OwnedCollections] AS [o0] ON [t0].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t0].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_self_reference_with_inheritance(bool async) @@ -715,7 +779,8 @@ public override async Task Include_self_reference_with_inheritance(bool async) await base.Include_self_reference_with_inheritance(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [d0].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o1].[BaseInheritanceRelationshipEntityId], [o1].[Id], [o1].[Name], [o].[Id], [o].[Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d0].[OwnedReferenceOnDerived_Id], [d0].[OwnedReferenceOnDerived_Name], [d].[Name], [d].[BaseId], [o2].[BaseInheritanceRelationshipEntityId], [o2].[Id], [o2].[Name], [o0].[Id], [o0].[Name], [d2].[DerivedInheritanceRelationshipEntityId], [d2].[Id], [d2].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [d0].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o1].[BaseInheritanceRelationshipEntityId], [o1].[Id], [o1].[Name], [o].[Id], [o].[Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d0].[OwnedReferenceOnDerived_Id], [d0].[OwnedReferenceOnDerived_Name], [d].[Name], [d].[BaseId], [o2].[BaseInheritanceRelationshipEntityId], [o2].[Id], [o2].[Name], [o0].[Id], [o0].[Name], [d2].[DerivedInheritanceRelationshipEntityId], [d2].[Id], [d2].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -731,7 +796,8 @@ FROM [DerivedEntities] AS [d3] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o2] ON [d].[Id] = [o2].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d2] ON [d].[Id] = [d2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [d0].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o1].[BaseInheritanceRelationshipEntityId], [o1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [o2].[BaseInheritanceRelationshipEntityId], [o2].[Id], [d2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId], [d0].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o1].[BaseInheritanceRelationshipEntityId], [o1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [o2].[BaseInheritanceRelationshipEntityId], [o2].[Id], [d2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_self_reference_with_inheritance_reverse(bool async) @@ -739,7 +805,8 @@ public override async Task Include_self_reference_with_inheritance_reverse(bool await base.Include_self_reference_with_inheritance_reverse(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [d0].[Id], [o1].[BaseInheritanceRelationshipEntityId], [o1].[Id], [o1].[Name], [o].[Id], [o].[Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Name], [t].[BaseId], [t].[Discriminator], [o2].[BaseInheritanceRelationshipEntityId], [o2].[Id], [o2].[Name], [o0].[Id], [o0].[Name], [d2].[DerivedInheritanceRelationshipEntityId], [d2].[Id], [d2].[Name], [d0].[OwnedReferenceOnDerived_Id], [d0].[OwnedReferenceOnDerived_Name] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [d0].[Id], [o1].[BaseInheritanceRelationshipEntityId], [o1].[Id], [o1].[Name], [o].[Id], [o].[Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Name], [t].[BaseId], [t].[Discriminator], [o2].[BaseInheritanceRelationshipEntityId], [o2].[Id], [o2].[Name], [o0].[Id], [o0].[Name], [d2].[DerivedInheritanceRelationshipEntityId], [d2].[Id], [d2].[Name], [d0].[OwnedReferenceOnDerived_Id], [d0].[OwnedReferenceOnDerived_Name] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] @@ -755,7 +822,8 @@ FROM [DerivedEntities] AS [d3] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [d].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o2] ON [t].[Id] = [o2].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d2] ON [t].[Id] = [d2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [d0].[Id], [o1].[BaseInheritanceRelationshipEntityId], [o1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [o2].[BaseInheritanceRelationshipEntityId], [o2].[Id], [d2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [d0].[Id], [o1].[BaseInheritanceRelationshipEntityId], [o1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [o2].[BaseInheritanceRelationshipEntityId], [o2].[Id], [d2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_collection_reference_on_non_entity_base(bool async) @@ -763,14 +831,16 @@ public override async Task Nested_include_collection_reference_on_non_entity_bas await base.Nested_include_collection_reference_on_non_entity_base(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0] +""" +SELECT [r].[Id], [r].[Name], [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0] FROM [ReferencedEntities] AS [r] LEFT JOIN ( SELECT [p].[Id], [p].[Name], [p].[ReferenceId], [p].[ReferencedEntityId], [r0].[Id] AS [Id0], [r0].[Name] AS [Name0] FROM [PrincipalEntities] AS [p] LEFT JOIN [ReferencedEntities] AS [r0] ON [p].[ReferenceId] = [r0].[Id] ) AS [t] ON [r].[Id] = [t].[ReferencedEntityId] -ORDER BY [r].[Id], [t].[Id]"); +ORDER BY [r].[Id], [t].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection(bool async) @@ -778,7 +848,8 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t1].[Id], [t1].[BaseParentId], [t1].[Name], [t1].[DerivedProperty], [t1].[Discriminator], [t1].[Id0], [t1].[Name0], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator0] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t1].[Id], [t1].[BaseParentId], [t1].[Name], [t1].[DerivedProperty], [t1].[Discriminator], [t1].[Id0], [t1].[Name0], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator0] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -807,7 +878,8 @@ UNION ALL FROM [NestedCollectionsDerived] AS [n0] ) AS [t2] ON [t0].[Id] = [t2].[ParentCollectionId] ) AS [t1] ON [t].[Id] = [t1].[BaseParentId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [t1].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [t1].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection_reverse(bool async) @@ -815,7 +887,8 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], N'NestedCollectionBase' AS [Discriminator] FROM [NestedCollections] AS [n] @@ -841,7 +914,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t1].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t1].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_collection_reference(bool async) @@ -849,7 +923,8 @@ public override async Task Nested_include_with_inheritance_collection_reference( await base.Nested_include_with_inheritance_collection_reference(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t1].[Id], [t1].[BaseParentId], [t1].[Name], [t1].[DerivedProperty], [t1].[Discriminator], [t1].[Id0], [t1].[Name0], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator0] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t1].[Id], [t1].[BaseParentId], [t1].[Name], [t1].[DerivedProperty], [t1].[Discriminator], [t1].[Id0], [t1].[Name0], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator0] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -878,7 +953,8 @@ UNION ALL FROM [NestedReferencesDerived] AS [n0] ) AS [t2] ON [t0].[Id] = [t2].[ParentCollectionId] ) AS [t1] ON [t].[Id] = [t1].[BaseParentId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [t1].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [t1].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_reference_reverse(bool async) @@ -886,7 +962,8 @@ public override async Task Nested_include_with_inheritance_collection_reference_ await base.Nested_include_with_inheritance_collection_reference_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], N'NestedReferenceBase' AS [Discriminator] FROM [NestedReferences] AS [n] @@ -912,7 +989,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t1].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t1].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_collection(bool async) @@ -920,7 +998,8 @@ public override async Task Nested_include_with_inheritance_reference_collection( await base.Nested_include_with_inheritance_reference_collection(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -946,7 +1025,8 @@ UNION ALL SELECT [n0].[Id], [n0].[Name], [n0].[ParentCollectionId], [n0].[ParentReferenceId], N'NestedCollectionDerived' AS [Discriminator] FROM [NestedCollectionsDerived] AS [n0] ) AS [t1] ON [t0].[Id] = [t1].[ParentReferenceId] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_on_base(bool async) @@ -954,7 +1034,8 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_on_base(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], N'BaseReferenceOnBase' AS [Discriminator] @@ -973,7 +1054,8 @@ UNION ALL SELECT [n0].[Id], [n0].[Name], [n0].[ParentCollectionId], [n0].[ParentReferenceId], N'NestedCollectionDerived' AS [Discriminator] FROM [NestedCollectionsDerived] AS [n0] ) AS [t0] ON [t].[Id] = [t0].[ParentReferenceId] -ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_reverse(bool async) @@ -981,7 +1063,8 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], N'NestedCollectionBase' AS [Discriminator] FROM [NestedCollections] AS [n] @@ -1007,7 +1090,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t1].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t1].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_reference(bool async) @@ -1015,7 +1099,8 @@ public override async Task Nested_include_with_inheritance_reference_reference(b await base.Nested_include_with_inheritance_reference_reference(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator], [t1].[Name], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator], [t1].[Name], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -1041,7 +1126,8 @@ FROM [NestedReferencesDerived] AS [n0] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_reference_on_base(bool async) @@ -1049,7 +1135,8 @@ public override async Task Nested_include_with_inheritance_reference_reference_o await base.Nested_include_with_inheritance_reference_reference_on_base(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], N'BaseReferenceOnBase' AS [Discriminator] @@ -1068,7 +1155,8 @@ FROM [NestedReferencesDerived] AS [n0] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_reference_reverse(bool async) @@ -1076,7 +1164,8 @@ public override async Task Nested_include_with_inheritance_reference_reference_r await base.Nested_include_with_inheritance_reference_reference_reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], N'NestedReferenceBase' AS [Discriminator] FROM [NestedReferences] AS [n] @@ -1102,7 +1191,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] LEFT JOIN [OwnedCollections] AS [o0] ON [t1].[Id] = [o0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t1].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Collection_projection_on_base_type(bool async) @@ -1110,7 +1200,8 @@ public override async Task Collection_projection_on_base_type(bool async) await base.Collection_projection_on_base_type(async); AssertSql( - @"SELECT [t].[Id], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator] +""" +SELECT [t].[Id], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -1125,7 +1216,8 @@ UNION ALL SELECT [d0].[Id], [d0].[BaseParentId], [d0].[Name], [d0].[DerivedProperty], N'DerivedCollectionOnBase' AS [Discriminator] FROM [DerivedCollectionsOnBase] AS [d0] ) AS [t0] ON [t].[Id] = [t0].[BaseParentId] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Include_on_derived_type_with_queryable_Cast(bool async) @@ -1133,7 +1225,8 @@ public override async Task Include_on_derived_type_with_queryable_Cast(bool asyn await base.Include_on_derived_type_with_queryable_Cast(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [d1].[Id], [d1].[Name], [d1].[ParentId], [d1].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [o].[Id], [o].[Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [d1].[Id], [d1].[Name], [d1].[ParentId], [d1].[DerivedInheritanceRelationshipEntityId] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -1147,7 +1240,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [DerivedCollectionsOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Id] >= 4 -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_split(bool async) @@ -1155,7 +1249,8 @@ public override async Task Include_collection_with_inheritance_split(bool async) await base.Include_collection_with_inheritance_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -1165,9 +1260,11 @@ FROM [DerivedEntities] AS [d0] ) AS [t] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -1178,9 +1275,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -1191,9 +1290,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -1210,7 +1311,8 @@ UNION ALL SELECT [d1].[Id], [d1].[BaseParentId], [d1].[Name], [d1].[DerivedProperty], N'DerivedCollectionOnBase' AS [Discriminator] FROM [DerivedCollectionsOnBase] AS [d1] ) AS [t0] ON [t].[Id] = [t0].[BaseParentId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Include_collection_with_inheritance_reverse_split(bool async) @@ -1218,7 +1320,8 @@ public override async Task Include_collection_with_inheritance_reverse_split(boo await base.Include_collection_with_inheritance_reverse_split(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], NULL AS [DerivedProperty], N'BaseCollectionOnBase' AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b] @@ -1235,9 +1338,11 @@ FROM [DerivedEntities] AS [d1] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] LEFT JOIN [OwnedReferences] AS [o] ON [t0].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t0].[Id] = [d].[Id] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id], [b].[BaseParentId] FROM [BaseCollectionsOnBase] AS [b] @@ -1255,9 +1360,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t0].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t0].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t0].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id], [b].[BaseParentId] FROM [BaseCollectionsOnBase] AS [b] @@ -1275,7 +1382,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [OwnedReferences] AS [o] ON [t0].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t0].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t0].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Include_collection_with_inheritance_with_filter_split(bool async) @@ -1283,7 +1391,8 @@ public override async Task Include_collection_with_inheritance_with_filter_split await base.Include_collection_with_inheritance_with_filter_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -1294,9 +1403,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id], [b].[Name] FROM [BaseEntities] AS [b] @@ -1308,9 +1419,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id], [b].[Name] FROM [BaseEntities] AS [b] @@ -1322,9 +1435,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", // - @"SELECT [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""" +SELECT [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id], [b].[Name] FROM [BaseEntities] AS [b] @@ -1342,7 +1457,8 @@ UNION ALL FROM [DerivedCollectionsOnBase] AS [d1] ) AS [t0] ON [t].[Id] = [t0].[BaseParentId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Include_collection_with_inheritance_with_filter_reverse_split(bool async) @@ -1350,7 +1466,8 @@ public override async Task Include_collection_with_inheritance_with_filter_rever await base.Include_collection_with_inheritance_with_filter_reverse_split(async); AssertSql( - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], NULL AS [DerivedProperty], N'BaseCollectionOnBase' AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b] @@ -1368,9 +1485,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t0].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t0].[Id] = [d].[Id] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name] FROM [BaseCollectionsOnBase] AS [b] @@ -1389,9 +1508,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [DerivedEntities] AS [d] ON [t0].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t0].[Id] = [o0].[BaseInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name] FROM [BaseCollectionsOnBase] AS [b] @@ -1410,7 +1531,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [DerivedEntities] AS [d] ON [t0].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t0].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Include_collection_without_inheritance_split(bool async) @@ -1418,7 +1540,8 @@ public override async Task Include_collection_without_inheritance_split(bool asy await base.Include_collection_without_inheritance_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -1428,9 +1551,11 @@ FROM [DerivedEntities] AS [d0] ) AS [t] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -1441,9 +1566,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -1454,9 +1581,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -1467,7 +1596,8 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [CollectionsOnBase] AS [c] ON [t].[Id] = [c].[ParentId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Include_collection_without_inheritance_reverse_split(bool async) @@ -1475,7 +1605,8 @@ public override async Task Include_collection_without_inheritance_reverse_split( await base.Include_collection_without_inheritance_reverse_split(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] @@ -1486,9 +1617,11 @@ FROM [DerivedEntities] AS [d0] ) AS [t] ON [c].[ParentId] = [t].[Id] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] -ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id] @@ -1500,9 +1633,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id] @@ -1514,7 +1649,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Include_collection_without_inheritance_with_filter_split(bool async) @@ -1522,7 +1658,8 @@ public override async Task Include_collection_without_inheritance_with_filter_sp await base.Include_collection_without_inheritance_with_filter_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -1533,9 +1670,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id], [b].[Name] FROM [BaseEntities] AS [b] @@ -1547,9 +1686,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id], [b].[Name] FROM [BaseEntities] AS [b] @@ -1561,9 +1702,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", // - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id], [b].[Name] FROM [BaseEntities] AS [b] @@ -1575,7 +1718,8 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [CollectionsOnBase] AS [c] ON [t].[Id] = [c].[ParentId] WHERE [t].[Name] <> N'Bar' OR ([t].[Name] IS NULL) -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Include_collection_without_inheritance_with_filter_reverse_split(bool async) @@ -1583,7 +1727,8 @@ public override async Task Include_collection_without_inheritance_with_filter_re await base.Include_collection_without_inheritance_with_filter_reverse_split(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] @@ -1595,9 +1740,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", +ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id] @@ -1610,9 +1757,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", +ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id] @@ -1625,7 +1774,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [c].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived1_split(bool async) @@ -1633,24 +1783,31 @@ public override async Task Include_collection_with_inheritance_on_derived1_split await base.Include_collection_with_inheritance_on_derived1_split(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o].[Id], [o].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o].[Id], [o].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN ( @@ -1660,31 +1817,39 @@ UNION ALL SELECT [d0].[Id], [d0].[BaseParentId], [d0].[Name], [d0].[DerivedProperty], N'DerivedCollectionOnBase' AS [Discriminator] FROM [DerivedCollectionsOnBase] AS [d0] ) AS [t] ON [d].[Id] = [t].[BaseParentId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance_on_derived2_split(bool async) { await base.Include_collection_with_inheritance_on_derived2_split(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o].[Id], [o].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o].[Id], [o].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN ( @@ -1694,7 +1859,8 @@ UNION ALL SELECT [d0].[Id], [d0].[Name], [d0].[ParentId], [d0].[DerivedInheritanceRelationshipEntityId], N'DerivedCollectionOnDerived' AS [Discriminator] FROM [DerivedCollectionsOnDerived] AS [d0] ) AS [t] ON [d].[Id] = [t].[ParentId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance_on_derived3_split(bool async) @@ -1702,28 +1868,36 @@ public override async Task Include_collection_with_inheritance_on_derived3_split await base.Include_collection_with_inheritance_on_derived3_split(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o].[Id], [o].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o].[Id], [o].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [d0].[Id], [d0].[Name], [d0].[ParentId], [d0].[DerivedInheritanceRelationshipEntityId], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [d0].[Id], [d0].[Name], [d0].[ParentId], [d0].[DerivedInheritanceRelationshipEntityId], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [DerivedCollectionsOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance_on_derived_reverse_split(bool async) @@ -1731,7 +1905,8 @@ public override async Task Include_collection_with_inheritance_on_derived_revers await base.Include_collection_with_inheritance_on_derived_reverse_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [d].[Id], [d].[Name], [d].[BaseId], [o].[BaseInheritanceRelationshipEntityId], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[Name], [b].[ParentId], NULL AS [DerivedInheritanceRelationshipEntityId], N'BaseCollectionOnDerived' AS [Discriminator] FROM [BaseCollectionsOnDerived] AS [b] @@ -1741,9 +1916,11 @@ FROM [DerivedCollectionsOnDerived] AS [d0] ) AS [t] LEFT JOIN [DerivedEntities] AS [d] ON [t].[ParentId] = [d].[Id] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", +ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM ( SELECT [b].[Id], [b].[ParentId] FROM [BaseCollectionsOnDerived] AS [b] @@ -1754,9 +1931,11 @@ FROM [DerivedCollectionsOnDerived] AS [d0] LEFT JOIN [DerivedEntities] AS [d] ON [t].[ParentId] = [d].[Id] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId]", +ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM ( SELECT [b].[Id], [b].[ParentId] FROM [BaseCollectionsOnDerived] AS [b] @@ -1767,7 +1946,8 @@ FROM [DerivedCollectionsOnDerived] AS [d1] LEFT JOIN [DerivedEntities] AS [d] ON [t].[ParentId] = [d].[Id] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId]"); +ORDER BY [t].[Id], [d].[Id], [o].[BaseInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_split(bool async) @@ -1775,7 +1955,8 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -1792,9 +1973,11 @@ FROM [DerivedReferencesOnBase] AS [d1] ) AS [t0] ON [t].[Id] = [t0].[BaseParentId] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -1812,9 +1995,11 @@ FROM [DerivedReferencesOnBase] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -1832,9 +2017,11 @@ FROM [DerivedReferencesOnBase] AS [d2] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [t1].[Id], [t1].[Name], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [t1].[Id], [t1].[Name], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator], [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -1858,7 +2045,8 @@ UNION ALL SELECT [n0].[Id], [n0].[Name], [n0].[ParentCollectionId], [n0].[ParentReferenceId], N'NestedCollectionDerived' AS [Discriminator] FROM [NestedCollectionsDerived] AS [n0] ) AS [t1] ON [t0].[Id] = [t1].[ParentReferenceId] -ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [t0].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_on_base_split(bool async) @@ -1866,7 +2054,8 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_on_base_split(async); AssertSql( - @"SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o].[Id], [o].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] +""" +SELECT [d].[Id], [d].[Name], [d].[BaseId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [o].[Id], [o].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId], [b].[Name], N'BaseReferenceOnBase' AS [Discriminator] @@ -1876,9 +2065,11 @@ UNION ALL FROM [DerivedReferencesOnBase] AS [d0] ) AS [t] ON [d].[Id] = [t].[BaseParentId] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId] @@ -1889,9 +2080,11 @@ FROM [DerivedReferencesOnBase] AS [d0] ) AS [t] ON [d].[Id] = [t].[BaseParentId] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [OwnedCollections] AS [o0] ON [d].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId] @@ -1902,9 +2095,11 @@ FROM [DerivedReferencesOnBase] AS [d1] ) AS [t] ON [d].[Id] = [t].[BaseParentId] LEFT JOIN [OwnedReferences] AS [o] ON [d].[Id] = [o].[BaseInheritanceRelationshipEntityId] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [d].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId]", - // - @"SELECT [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator], [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId] +ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId] +""", + // +""" +SELECT [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator], [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId] FROM [DerivedEntities] AS [d] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId] @@ -1921,7 +2116,8 @@ UNION ALL SELECT [n0].[Id], [n0].[Name], [n0].[ParentCollectionId], [n0].[ParentReferenceId], N'NestedCollectionDerived' AS [Discriminator] FROM [NestedCollectionsDerived] AS [n0] ) AS [t0] ON [t].[Id] = [t0].[ParentReferenceId] -ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId]"); +ORDER BY [d].[Id], [t].[Id], [o].[BaseInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_reverse_split(bool async) @@ -1929,7 +2125,8 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_reverse_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], N'NestedCollectionBase' AS [Discriminator] FROM [NestedCollections] AS [n] @@ -1953,9 +2150,11 @@ FROM [DerivedEntities] AS [d1] ) AS [t1] ON [t0].[BaseParentId] = [t1].[Id] LEFT JOIN [OwnedReferences] AS [o] ON [t1].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [n].[Id], [n].[ParentReferenceId] FROM [NestedCollections] AS [n] @@ -1980,9 +2179,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t1].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t1].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [n].[Id], [n].[ParentReferenceId] FROM [NestedCollections] AS [n] @@ -2007,7 +2208,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [OwnedReferences] AS [o] ON [t1].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t1].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_reference_split(bool async) @@ -2015,7 +2217,8 @@ public override async Task Nested_include_with_inheritance_collection_reference_ await base.Nested_include_with_inheritance_collection_reference_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -2025,9 +2228,11 @@ FROM [DerivedEntities] AS [d0] ) AS [t] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2038,9 +2243,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2051,9 +2258,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [t1].[Id], [t1].[BaseParentId], [t1].[Name], [t1].[DerivedProperty], [t1].[Discriminator], [t1].[Id0], [t1].[Name0], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator0] AS [Discriminator], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [t1].[Id], [t1].[BaseParentId], [t1].[Name], [t1].[DerivedProperty], [t1].[Discriminator], [t1].[Id0], [t1].[Name0], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator0] AS [Discriminator], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2080,7 +2289,8 @@ UNION ALL FROM [NestedReferencesDerived] AS [n0] ) AS [t2] ON [t0].[Id] = [t2].[ParentCollectionId] ) AS [t1] ON [t].[Id] = [t1].[BaseParentId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_reference_reverse_split(bool async) @@ -2088,7 +2298,8 @@ public override async Task Nested_include_with_inheritance_collection_reference_ await base.Nested_include_with_inheritance_collection_reference_reverse_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], N'NestedReferenceBase' AS [Discriminator] FROM [NestedReferences] AS [n] @@ -2112,9 +2323,11 @@ FROM [DerivedEntities] AS [d1] ) AS [t1] ON [t0].[BaseParentId] = [t1].[Id] LEFT JOIN [OwnedReferences] AS [o] ON [t1].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [n].[Id], [n].[ParentCollectionId] FROM [NestedReferences] AS [n] @@ -2139,9 +2352,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t1].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t1].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [n].[Id], [n].[ParentCollectionId] FROM [NestedReferences] AS [n] @@ -2166,7 +2381,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [OwnedReferences] AS [o] ON [t1].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t1].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection_split(bool async) @@ -2174,7 +2390,8 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -2184,9 +2401,11 @@ FROM [DerivedEntities] AS [d0] ) AS [t] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2197,9 +2416,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2210,9 +2431,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2229,9 +2452,11 @@ UNION ALL SELECT [d1].[Id], [d1].[BaseParentId], [d1].[Name], [d1].[DerivedProperty], N'DerivedCollectionOnBase' AS [Discriminator] FROM [DerivedCollectionsOnBase] AS [d1] ) AS [t0] ON [t].[Id] = [t0].[BaseParentId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [t0].[Id]", - // - @"SELECT [t1].[Id], [t1].[Name], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [t0].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [t0].[Id] +""", + // +""" +SELECT [t1].[Id], [t1].[Name], [t1].[ParentCollectionId], [t1].[ParentReferenceId], [t1].[Discriminator], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [t0].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2255,7 +2480,8 @@ UNION ALL SELECT [n0].[Id], [n0].[Name], [n0].[ParentCollectionId], [n0].[ParentReferenceId], N'NestedCollectionDerived' AS [Discriminator] FROM [NestedCollectionsDerived] AS [n0] ) AS [t1] ON [t0].[Id] = [t1].[ParentCollectionId] -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [t0].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection_reverse_split(bool async) @@ -2263,7 +2489,8 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection_reverse_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentCollectionId], [t].[ParentReferenceId], [t].[Discriminator], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t1].[Id], [t1].[Name], [t1].[BaseId], [t1].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], N'NestedCollectionBase' AS [Discriminator] FROM [NestedCollections] AS [n] @@ -2287,9 +2514,11 @@ FROM [DerivedEntities] AS [d1] ) AS [t1] ON [t0].[BaseParentId] = [t1].[Id] LEFT JOIN [OwnedReferences] AS [o] ON [t1].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [n].[Id], [n].[ParentCollectionId] FROM [NestedCollections] AS [n] @@ -2314,9 +2543,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [OwnedReferences] AS [o] ON [t1].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t1].[Id] = [o0].[BaseInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [n].[Id], [n].[ParentCollectionId] FROM [NestedCollections] AS [n] @@ -2341,7 +2572,8 @@ FROM [DerivedEntities] AS [d2] LEFT JOIN [OwnedReferences] AS [o] ON [t1].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t1].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t1].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [t0].[Id], [t1].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override async Task Nested_include_collection_reference_on_non_entity_base_split(bool async) @@ -2349,18 +2581,22 @@ public override async Task Nested_include_collection_reference_on_non_entity_bas await base.Nested_include_collection_reference_on_non_entity_base_split(async); AssertSql( - @"SELECT [r].[Id], [r].[Name] +""" +SELECT [r].[Id], [r].[Name] FROM [ReferencedEntities] AS [r] -ORDER BY [r].[Id]", +ORDER BY [r].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0], [r].[Id] +""" +SELECT [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0], [r].[Id] FROM [ReferencedEntities] AS [r] INNER JOIN ( SELECT [p].[Id], [p].[Name], [p].[ReferenceId], [p].[ReferencedEntityId], [r0].[Id] AS [Id0], [r0].[Name] AS [Name0] FROM [PrincipalEntities] AS [p] LEFT JOIN [ReferencedEntities] AS [r0] ON [p].[ReferenceId] = [r0].[Id] ) AS [t] ON [r].[Id] = [t].[ReferencedEntityId] -ORDER BY [r].[Id]"); +ORDER BY [r].[Id] +"""); } public override async Task Collection_projection_on_base_type_split(bool async) @@ -2368,7 +2604,8 @@ public override async Task Collection_projection_on_base_type_split(bool async) await base.Collection_projection_on_base_type_split(async); AssertSql( - @"SELECT [t].[Id] +""" +SELECT [t].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2376,9 +2613,11 @@ UNION ALL SELECT [d].[Id] FROM [DerivedEntities] AS [d] ) AS [t] -ORDER BY [t].[Id]", +ORDER BY [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t].[Id] +""" +SELECT [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2393,7 +2632,8 @@ UNION ALL SELECT [d0].[Id], [d0].[BaseParentId], [d0].[Name], [d0].[DerivedProperty], N'DerivedCollectionOnBase' AS [Discriminator] FROM [DerivedCollectionsOnBase] AS [d0] ) AS [t0] ON [t].[Id] = [t0].[BaseParentId] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Include_on_derived_type_with_queryable_Cast_split(bool async) @@ -2401,7 +2641,8 @@ public override async Task Include_on_derived_type_with_queryable_Cast_split(boo await base.Include_on_derived_type_with_queryable_Cast_split(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [o].[BaseInheritanceRelationshipEntityId], [d].[Id], [o].[Id], [o].[Name], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM ( SELECT [b].[Id], [b].[Name], NULL AS [BaseId], N'BaseInheritanceRelationshipEntity' AS [Discriminator] FROM [BaseEntities] AS [b] @@ -2412,9 +2653,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [OwnedReferences] AS [o] ON [t].[Id] = [o].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] WHERE [t].[Id] >= 4 -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [o0].[BaseInheritanceRelationshipEntityId], [o0].[Id], [o0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2426,9 +2669,11 @@ FROM [DerivedEntities] AS [d0] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [OwnedCollections] AS [o0] ON [t].[Id] = [o0].[BaseInheritanceRelationshipEntityId] WHERE [t].[Id] >= 4 -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2440,9 +2685,11 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Id] >= 4 -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]", - // - @"SELECT [d0].[Id], [d0].[Name], [d0].[ParentId], [d0].[DerivedInheritanceRelationshipEntityId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +""", + // +""" +SELECT [d0].[Id], [d0].[Name], [d0].[ParentId], [d0].[DerivedInheritanceRelationshipEntityId], [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] FROM ( SELECT [b].[Id] FROM [BaseEntities] AS [b] @@ -2454,7 +2701,8 @@ FROM [DerivedEntities] AS [d1] LEFT JOIN [DerivedEntities] AS [d] ON [t].[Id] = [d].[Id] INNER JOIN [DerivedCollectionsOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [t].[Id] >= 4 -ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id]"); +ORDER BY [t].[Id], [o].[BaseInheritanceRelationshipEntityId], [d].[Id] +"""); } public override void Entity_can_make_separate_relationships_with_base_type_and_derived_type_both() diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPTFiltersInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPTFiltersInheritanceQuerySqlServerTest.cs index bf6fa770a99..b5dd8dff78b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPTFiltersInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPTFiltersInheritanceQuerySqlServerTest.cs @@ -23,7 +23,8 @@ public override async Task Can_use_of_type_animal(bool async) await base.Can_use_of_type_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -32,7 +33,8 @@ FROM [Animals] AS [a] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] WHERE [a].[CountryId] = 1 -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_is_kiwi(bool async) @@ -40,7 +42,8 @@ public override async Task Can_use_is_kiwi(bool async) await base.Can_use_is_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -48,7 +51,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [a].[CountryId] = 1 AND ([k].[Id] IS NOT NULL)"); +WHERE [a].[CountryId] = 1 AND ([k].[Id] IS NOT NULL) +"""); } public override async Task Can_use_is_kiwi_with_other_predicate(bool async) @@ -56,7 +60,8 @@ public override async Task Can_use_is_kiwi_with_other_predicate(bool async) await base.Can_use_is_kiwi_with_other_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -64,7 +69,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [a].[CountryId] = 1 AND ([k].[Id] IS NOT NULL) AND [a].[CountryId] = 1"); +WHERE [a].[CountryId] = 1 AND ([k].[Id] IS NOT NULL) AND [a].[CountryId] = 1 +"""); } public override async Task Can_use_is_kiwi_in_projection(bool async) @@ -72,13 +78,15 @@ public override async Task Can_use_is_kiwi_in_projection(bool async) await base.Can_use_is_kiwi_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [k].[Id] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Animals] AS [a] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [a].[CountryId] = 1"); +WHERE [a].[CountryId] = 1 +"""); } public override async Task Can_use_of_type_bird(bool async) @@ -86,7 +94,8 @@ public override async Task Can_use_of_type_bird(bool async) await base.Can_use_of_type_bird(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -95,7 +104,8 @@ FROM [Animals] AS [a] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] WHERE [a].[CountryId] = 1 AND (([k].[Id] IS NOT NULL) OR ([e].[Id] IS NOT NULL)) -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_predicate(bool async) @@ -103,7 +113,8 @@ public override async Task Can_use_of_type_bird_predicate(bool async) await base.Can_use_of_type_bird_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -112,7 +123,8 @@ FROM [Animals] AS [a] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] WHERE [a].[CountryId] = 1 AND [a].[CountryId] = 1 AND (([k].[Id] IS NOT NULL) OR ([e].[Id] IS NOT NULL)) -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_with_projection(bool async) @@ -120,11 +132,13 @@ public override async Task Can_use_of_type_bird_with_projection(bool async) await base.Can_use_of_type_bird_with_projection(async); AssertSql( - @"SELECT [a].[Name] +""" +SELECT [a].[Name] FROM [Animals] AS [a] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [a].[CountryId] = 1 AND (([k].[Id] IS NOT NULL) OR ([e].[Id] IS NOT NULL))"); +WHERE [a].[CountryId] = 1 AND (([k].[Id] IS NOT NULL) OR ([e].[Id] IS NOT NULL)) +"""); } public override async Task Can_use_of_type_bird_first(bool async) @@ -132,7 +146,8 @@ public override async Task Can_use_of_type_bird_first(bool async) await base.Can_use_of_type_bird_first(async); AssertSql( - @"SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -141,7 +156,8 @@ FROM [Animals] AS [a] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] WHERE [a].[CountryId] = 1 AND (([k].[Id] IS NOT NULL) OR ([e].[Id] IS NOT NULL)) -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_kiwi(bool async) @@ -149,13 +165,15 @@ public override async Task Can_use_of_type_kiwi(bool async) await base.Can_use_of_type_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' END AS [Discriminator] FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [a].[CountryId] = 1 AND ([k].[Id] IS NOT NULL)"); +WHERE [a].[CountryId] = 1 AND ([k].[Id] IS NOT NULL) +"""); } public override async Task Can_use_derived_set(bool async) @@ -163,11 +181,13 @@ public override async Task Can_use_derived_set(bool async) await base.Can_use_derived_set(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group] FROM [Animals] AS [a] INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] INNER JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] -WHERE [a].[CountryId] = 1"); +WHERE [a].[CountryId] = 1 +"""); } public override async Task Can_use_IgnoreQueryFilters_and_GetDatabaseValues(bool async) @@ -175,18 +195,22 @@ public override async Task Can_use_IgnoreQueryFilters_and_GetDatabaseValues(bool await base.Can_use_IgnoreQueryFilters_and_GetDatabaseValues(async); AssertSql( - @"SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group] +""" +SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group] FROM [Animals] AS [a] INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] -INNER JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id]", +INNER JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] +""", // - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group] FROM [Animals] AS [a] INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] INNER JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] -WHERE [a].[Id] = @__p_0"); +WHERE [a].[Id] = @__p_0 +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPTGearsOfWarQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPTGearsOfWarQuerySqlServerTest.cs index e286e436332..34127451719 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPTGearsOfWarQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPTGearsOfWarQuerySqlServerTest.cs @@ -28,9 +28,11 @@ public override async Task Negate_on_binary_expression(bool async) await base.Negate_on_binary_expression(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE [s].[Id] = -([s].[Id] + [s].[Id])"); +WHERE [s].[Id] = -([s].[Id] + [s].[Id]) +"""); } public override async Task Negate_on_column(bool async) @@ -38,9 +40,11 @@ public override async Task Negate_on_column(bool async) await base.Negate_on_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE [s].[Id] = -[s].[Id]"); +WHERE [s].[Id] = -[s].[Id] +"""); } public override async Task Double_negate_on_column(bool async) @@ -48,9 +52,11 @@ public override async Task Double_negate_on_column(bool async) await base.Double_negate_on_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE -(-[s].[Id]) = [s].[Id]"); +WHERE -(-[s].[Id]) = [s].[Id] +"""); } public override async Task Negate_on_like_expression(bool async) @@ -58,9 +64,11 @@ public override async Task Negate_on_like_expression(bool async) await base.Negate_on_like_expression(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE ([s].[Name] IS NOT NULL) AND NOT ([s].[Name] LIKE N'us%')"); +WHERE ([s].[Name] IS NOT NULL) AND NOT ([s].[Name] LIKE N'us%') +"""); } public override async Task Entity_equality_empty(bool async) @@ -68,12 +76,14 @@ public override async Task Entity_equality_empty(bool async) await base.Entity_equality_empty(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Include_multiple_one_to_one_and_one_to_many(bool async) @@ -81,7 +91,8 @@ public override async Task Include_multiple_one_to_one_and_one_to_many(bool asyn await base.Include_multiple_one_to_one_and_one_to_many(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -91,7 +102,8 @@ FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Include_multiple_one_to_one_optional_and_one_to_one_required(bool async) @@ -99,7 +111,8 @@ public override async Task Include_multiple_one_to_one_optional_and_one_to_one_r await base.Include_multiple_one_to_one_optional_and_one_to_one_required(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -108,7 +121,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] +"""); } public override async Task Include_multiple_circular(bool async) @@ -116,7 +130,8 @@ public override async Task Include_multiple_circular(bool async) await base.Include_multiple_circular(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [c].[Name], [c].[Location], [c].[Nation], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -129,7 +144,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [c].[Name] = [t].[AssignedCityName] -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [t].[Nickname] +"""); } public override async Task Include_multiple_circular_with_filter(bool async) @@ -137,7 +153,8 @@ public override async Task Include_multiple_circular_with_filter(bool async) await base.Include_multiple_circular_with_filter(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [c].[Name], [c].[Location], [c].[Nation], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -151,7 +168,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [c].[Name] = [t].[AssignedCityName] WHERE [g].[Nickname] = N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [t].[Nickname] +"""); } public override async Task Include_using_alternate_key(bool async) @@ -159,14 +177,16 @@ public override async Task Include_using_alternate_key(bool async) await base.Include_using_alternate_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Nickname] = N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Include_navigation_on_derived_type(bool async) @@ -174,7 +194,8 @@ public override async Task Include_navigation_on_derived_type(bool async) await base.Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -187,7 +208,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task String_based_Include_navigation_on_derived_type(bool async) @@ -195,7 +217,8 @@ public override async Task String_based_Include_navigation_on_derived_type(bool await base.String_based_Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -208,7 +231,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Select_Where_Navigation_Included(bool async) @@ -216,7 +240,8 @@ public override async Task Select_Where_Navigation_Included(bool async) await base.Select_Where_Navigation_Included(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -225,7 +250,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[Nickname] = N'Marcus'"); +WHERE [t0].[Nickname] = N'Marcus' +"""); } public override async Task Include_with_join_reference1(bool async) @@ -233,13 +259,15 @@ public override async Task Include_with_join_reference1(bool async) await base.Include_with_join_reference1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [c].[Name], [c].[Location], [c].[Nation] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] INNER JOIN [Tags] AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] -INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Include_with_join_reference2(bool async) @@ -247,7 +275,8 @@ public override async Task Include_with_join_reference2(bool async) await base.Include_with_join_reference2(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -256,7 +285,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] -INNER JOIN [Cities] AS [c] ON [t0].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [t0].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Include_with_join_collection1(bool async) @@ -264,14 +294,16 @@ public override async Task Include_with_join_collection1(bool async) await base.Include_with_join_collection1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] INNER JOIN [Tags] AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Include_with_join_collection2(bool async) @@ -279,7 +311,8 @@ public override async Task Include_with_join_collection2(bool async) await base.Include_with_join_collection2(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -289,7 +322,8 @@ FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Include_where_list_contains_navigation(bool async) @@ -297,16 +331,20 @@ public override async Task Include_where_list_contains_navigation(bool async) await base.Include_where_list_contains_navigation(async); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE ([t].[Id] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57')"); +WHERE ([t].[Id] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57') +"""); } public override async Task Include_where_list_contains_navigation2(bool async) @@ -314,17 +352,21 @@ public override async Task Include_where_list_contains_navigation2(bool async) await base.Include_where_list_contains_navigation2(async); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE ([c].[Location] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57')"); +WHERE ([c].[Location] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57') +"""); } public override async Task Navigation_accessed_twice_outside_and_inside_subquery(bool async) @@ -332,16 +374,20 @@ public override async Task Navigation_accessed_twice_outside_and_inside_subquery await base.Navigation_accessed_twice_outside_and_inside_subquery(async); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE ([t].[Id] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57')"); +WHERE ([t].[Id] IS NOT NULL) AND [t].[Id] IN ('34c8d86e-a4ac-4be5-827f-584dda348a07', 'df36f493-463f-4123-83f9-6b135deeb7ba', 'a8ad98f9-e023-4e2a-9a70-c2728455bd34', '70534e05-782c-4052-8720-c2c54481ce5f', 'a7be028a-0cf2-448f-ab55-ce8bc5d8cf69', 'b39a6fba-9026-4d69-828e-fd7068673e57') +"""); } public override async Task Include_with_join_multi_level(bool async) @@ -349,7 +395,8 @@ public override async Task Include_with_join_multi_level(bool async) await base.Include_with_join_multi_level(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [c].[Name], [c].[Location], [c].[Nation], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Gears] AS [g] @@ -363,7 +410,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t0] ON [c].[Name] = [t0].[AssignedCityName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id], [c].[Name], [t0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id], [c].[Name], [t0].[Nickname] +"""); } public override async Task Include_with_join_and_inheritance1(bool async) @@ -371,7 +419,8 @@ public override async Task Include_with_join_and_inheritance1(bool async) await base.Include_with_join_and_inheritance1(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [c].[Name], [c].[Location], [c].[Nation] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -381,7 +430,8 @@ FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] WHERE [o].[Nickname] IS NOT NULL ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] -INNER JOIN [Cities] AS [c] ON [t0].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [t0].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Include_with_join_and_inheritance_with_orderby_before_and_after_include(bool async) @@ -389,7 +439,8 @@ public override async Task Include_with_join_and_inheritance_with_orderby_before await base.Include_with_join_and_inheritance_with_orderby_before_and_after_include(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -406,7 +457,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t1] ON [t0].[Nickname] = [t1].[LeaderNickname] AND [t0].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t0].[HasSoulPatch], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [t0].[HasSoulPatch], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Include_with_join_and_inheritance2(bool async) @@ -414,7 +466,8 @@ public override async Task Include_with_join_and_inheritance2(bool async) await base.Include_with_join_and_inheritance2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] @@ -422,7 +475,8 @@ FROM [Gears] AS [g] INNER JOIN [Tags] AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Include_with_join_and_inheritance3(bool async) @@ -430,7 +484,8 @@ public override async Task Include_with_join_and_inheritance3(bool async) await base.Include_with_join_and_inheritance3(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -447,7 +502,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t1] ON [t0].[Nickname] = [t1].[LeaderNickname] AND [t0].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Include_with_nested_navigation_in_order_by(bool async) @@ -455,7 +511,8 @@ public override async Task Include_with_nested_navigation_in_order_by(bool async await base.Include_with_nested_navigation_in_order_by(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -466,7 +523,8 @@ FROM [Gears] AS [g] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] LEFT JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name] WHERE [t].[Nickname] <> N'Paduk' OR ([t].[Nickname] IS NULL) -ORDER BY [c].[Name], [w].[Id]"); +ORDER BY [c].[Name], [w].[Id] +"""); } public override async Task Where_enum(bool async) @@ -474,12 +532,14 @@ public override async Task Where_enum(bool async) await base.Where_enum(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE [g].[Rank] = 4"); +WHERE [g].[Rank] = 4 +"""); } public override async Task Where_nullable_enum_with_constant(bool async) @@ -487,9 +547,11 @@ public override async Task Where_nullable_enum_with_constant(bool async) await base.Where_nullable_enum_with_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = 1"); +WHERE [w].[AmmunitionType] = 1 +"""); } public override async Task Where_nullable_enum_with_null_constant(bool async) @@ -497,9 +559,11 @@ public override async Task Where_nullable_enum_with_null_constant(bool async) await base.Where_nullable_enum_with_null_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Where_nullable_enum_with_non_nullable_parameter(bool async) @@ -507,11 +571,13 @@ public override async Task Where_nullable_enum_with_non_nullable_parameter(bool await base.Where_nullable_enum_with_non_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' +""" +@__ammunitionType_0='1' SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0"); +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +"""); } public override async Task Where_nullable_enum_with_nullable_parameter(bool async) @@ -519,15 +585,19 @@ public override async Task Where_nullable_enum_with_nullable_parameter(bool asyn await base.Where_nullable_enum_with_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0", +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Where_bitwise_and_enum(bool async) @@ -535,19 +605,23 @@ public override async Task Where_bitwise_and_enum(bool async) await base.Where_bitwise_and_enum(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & 2) > 0", +WHERE ([g].[Rank] & 2) > 0 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & 2) = 2"); +WHERE ([g].[Rank] & 2) = 2 +"""); } public override async Task Where_bitwise_and_integral(bool async) @@ -555,26 +629,32 @@ public override async Task Where_bitwise_and_integral(bool async) await base.Where_bitwise_and_integral(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & 1) = 1", +WHERE ([g].[Rank] & 1) = 1 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE (CAST([g].[Rank] AS bigint) & CAST(1 AS bigint)) = CAST(1 AS bigint)", +WHERE (CAST([g].[Rank] AS bigint) & CAST(1 AS bigint)) = CAST(1 AS bigint) +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE (CAST([g].[Rank] AS smallint) & CAST(1 AS smallint)) = CAST(1 AS smallint)"); +WHERE (CAST([g].[Rank] AS smallint) & CAST(1 AS smallint)) = CAST(1 AS smallint) +"""); } public override async Task Where_bitwise_and_nullable_enum_with_constant(bool async) @@ -582,9 +662,11 @@ public override async Task Where_bitwise_and_nullable_enum_with_constant(bool as await base.Where_bitwise_and_nullable_enum_with_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & 1) > 0"); +WHERE ([w].[AmmunitionType] & 1) > 0 +"""); } public override async Task Where_bitwise_and_nullable_enum_with_null_constant(bool async) @@ -592,9 +674,11 @@ public override async Task Where_bitwise_and_nullable_enum_with_null_constant(bo await base.Where_bitwise_and_nullable_enum_with_null_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & NULL) > 0"); +WHERE ([w].[AmmunitionType] & NULL) > 0 +"""); } public override async Task Where_bitwise_and_nullable_enum_with_non_nullable_parameter(bool async) @@ -602,11 +686,13 @@ public override async Task Where_bitwise_and_nullable_enum_with_non_nullable_par await base.Where_bitwise_and_nullable_enum_with_non_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' +""" +@__ammunitionType_0='1' SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0"); +WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0 +"""); } public override async Task Where_bitwise_and_nullable_enum_with_nullable_parameter(bool async) @@ -614,15 +700,19 @@ public override async Task Where_bitwise_and_nullable_enum_with_nullable_paramet await base.Where_bitwise_and_nullable_enum_with_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0", +WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0 +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & NULL) > 0"); +WHERE ([w].[AmmunitionType] & NULL) > 0 +"""); } public override async Task Where_bitwise_or_enum(bool async) @@ -630,12 +720,14 @@ public override async Task Where_bitwise_or_enum(bool async) await base.Where_bitwise_or_enum(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] | 2) > 0"); +WHERE ([g].[Rank] | 2) > 0 +"""); } public override async Task Bitwise_projects_values_in_select(bool async) @@ -643,7 +735,8 @@ public override async Task Bitwise_projects_values_in_select(bool async) await base.Bitwise_projects_values_in_select(async); AssertSql( - @"SELECT TOP(1) CASE +""" +SELECT TOP(1) CASE WHEN ([g].[Rank] & 2) = 2 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [BitwiseTrue], CASE @@ -651,7 +744,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [BitwiseFalse], [g].[Rank] & 2 AS [BitwiseValue] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 2) = 2"); +WHERE ([g].[Rank] & 2) = 2 +"""); } public override async Task Where_enum_has_flag(bool async) @@ -659,40 +753,50 @@ public override async Task Where_enum_has_flag(bool async) await base.Where_enum_has_flag(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & 2) = 2", +WHERE ([g].[Rank] & 2) = 2 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & 18) = 18", +WHERE ([g].[Rank] & 18) = 18 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & 1) = 1", +WHERE ([g].[Rank] & 1) = 1 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & 1) = 1", +WHERE ([g].[Rank] & 1) = 1 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE (2 & [g].[Rank]) = [g].[Rank]"); +WHERE (2 & [g].[Rank]) = [g].[Rank] +"""); } public override async Task Where_enum_has_flag_subquery(bool async) @@ -700,7 +804,8 @@ public override async Task Where_enum_has_flag_subquery(bool async) await base.Where_enum_has_flag_subquery(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -713,9 +818,11 @@ FROM [Gears] AS [g0] SELECT TOP(1) [g0].[Rank] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] - ORDER BY [g0].[Nickname], [g0].[SquadId]), 0)", + ORDER BY [g0].[Nickname], [g0].[SquadId]), 0) +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -728,7 +835,8 @@ FROM [Gears] AS [g0] SELECT TOP(1) [g0].[Rank] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] - ORDER BY [g0].[Nickname], [g0].[SquadId]), 0)"); + ORDER BY [g0].[Nickname], [g0].[SquadId]), 0) +"""); } public override async Task Where_enum_has_flag_subquery_with_pushdown(bool async) @@ -736,7 +844,8 @@ public override async Task Where_enum_has_flag_subquery_with_pushdown(bool async await base.Where_enum_has_flag_subquery_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -757,9 +866,11 @@ FROM [Gears] AS [g0] SELECT TOP(1) [g0].[Rank] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] - ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL))", + ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL)) +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -780,7 +891,8 @@ FROM [Gears] AS [g0] SELECT TOP(1) [g0].[Rank] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] - ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL))"); + ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL)) +"""); } public override async Task Where_enum_has_flag_subquery_client_eval(bool async) @@ -788,7 +900,8 @@ public override async Task Where_enum_has_flag_subquery_client_eval(bool async) await base.Where_enum_has_flag_subquery_client_eval(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -809,7 +922,8 @@ FROM [Gears] AS [g0] SELECT TOP(1) [g0].[Rank] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] - ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL))"); + ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL)) +"""); } public override async Task Where_enum_has_flag_with_non_nullable_parameter(bool async) @@ -817,14 +931,16 @@ public override async Task Where_enum_has_flag_with_non_nullable_parameter(bool await base.Where_enum_has_flag_with_non_nullable_parameter(async); AssertSql( - @"@__parameter_0='2' +""" +@__parameter_0='2' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0"); +WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0 +"""); } public override async Task Where_has_flag_with_nullable_parameter(bool async) @@ -832,14 +948,16 @@ public override async Task Where_has_flag_with_nullable_parameter(bool async) await base.Where_has_flag_with_nullable_parameter(async); AssertSql( - @"@__parameter_0='2' (Nullable = true) +""" +@__parameter_0='2' (Nullable = true) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0"); +WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0 +"""); } public override async Task Select_enum_has_flag(bool async) @@ -847,7 +965,8 @@ public override async Task Select_enum_has_flag(bool async) await base.Select_enum_has_flag(async); AssertSql( - @"SELECT TOP(1) CASE +""" +SELECT TOP(1) CASE WHEN ([g].[Rank] & 2) = 2 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [hasFlagTrue], CASE @@ -855,7 +974,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [hasFlagFalse] FROM [Gears] AS [g] -WHERE ([g].[Rank] & 2) = 2"); +WHERE ([g].[Rank] & 2) = 2 +"""); } public override async Task Where_count_subquery_without_collision(bool async) @@ -863,7 +983,8 @@ public override async Task Where_count_subquery_without_collision(bool async) await base.Where_count_subquery_without_collision(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -871,7 +992,8 @@ FROM [Gears] AS [g] WHERE ( SELECT COUNT(*) FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]) = 2"); + WHERE [g].[FullName] = [w].[OwnerFullName]) = 2 +"""); } public override async Task Where_any_subquery_without_collision(bool async) @@ -879,7 +1001,8 @@ public override async Task Where_any_subquery_without_collision(bool async) await base.Where_any_subquery_without_collision(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -887,7 +1010,8 @@ FROM [Gears] AS [g] WHERE EXISTS ( SELECT 1 FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName])"); + WHERE [g].[FullName] = [w].[OwnerFullName]) +"""); } public override async Task Select_inverted_boolean(bool async) @@ -895,12 +1019,14 @@ public override async Task Select_inverted_boolean(bool async) await base.Select_inverted_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Manual] FROM [Weapons] AS [w] -WHERE [w].[IsAutomatic] = CAST(1 AS bit)"); +WHERE [w].[IsAutomatic] = CAST(1 AS bit) +"""); } public override async Task Select_comparison_with_null(bool async) @@ -908,21 +1034,25 @@ public override async Task Select_comparison_with_null(bool async) await base.Select_comparison_with_null(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] = @__ammunitionType_0 AND ([w].[AmmunitionType] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Cartridge] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0", +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +""", // - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Cartridge] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Select_null_parameter(bool async) @@ -930,21 +1060,29 @@ public override async Task Select_null_parameter(bool async) await base.Select_null_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], @__ammunitionType_0 AS [AmmoType] -FROM [Weapons] AS [w]", +FROM [Weapons] AS [w] +""", // - @"SELECT [w].[Id], NULL AS [AmmoType] -FROM [Weapons] AS [w]", +""" +SELECT [w].[Id], NULL AS [AmmoType] +FROM [Weapons] AS [w] +""", // - @"@__ammunitionType_0='2' (Nullable = true) +""" +@__ammunitionType_0='2' (Nullable = true) SELECT [w].[Id], @__ammunitionType_0 AS [AmmoType] -FROM [Weapons] AS [w]", +FROM [Weapons] AS [w] +""", // - @"SELECT [w].[Id], NULL AS [AmmoType] -FROM [Weapons] AS [w]"); +""" +SELECT [w].[Id], NULL AS [AmmoType] +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_with_boolean(bool async) @@ -952,11 +1090,13 @@ public override async Task Select_ternary_operation_with_boolean(bool async) await base.Select_ternary_operation_with_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(1 AS bit) THEN 1 ELSE 0 END AS [Num] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_with_inverted_boolean(bool async) @@ -964,11 +1104,13 @@ public override async Task Select_ternary_operation_with_inverted_boolean(bool a await base.Select_ternary_operation_with_inverted_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN 1 ELSE 0 END AS [Num] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_with_has_value_not_null(bool async) @@ -976,12 +1118,14 @@ public override async Task Select_ternary_operation_with_has_value_not_null(bool await base.Select_ternary_operation_with_has_value_not_null(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1"); +WHERE ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1 +"""); } public override async Task Select_ternary_operation_multiple_conditions(bool async) @@ -989,11 +1133,13 @@ public override async Task Select_ternary_operation_multiple_conditions(bool asy await base.Select_ternary_operation_multiple_conditions(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] = 2 AND [w].[SynergyWithId] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_ternary_operation_multiple_conditions_2(bool async) @@ -1001,11 +1147,13 @@ public override async Task Select_ternary_operation_multiple_conditions_2(bool a await base.Select_ternary_operation_multiple_conditions_2(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) AND [w].[SynergyWithId] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_multiple_conditions(bool async) @@ -1013,11 +1161,13 @@ public override async Task Select_multiple_conditions(bool async) await base.Select_multiple_conditions(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) AND [w].[SynergyWithId] = 1 AND ([w].[SynergyWithId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Select_nested_ternary_operations(bool async) @@ -1025,14 +1175,16 @@ public override async Task Select_nested_ternary_operations(bool async) await base.Select_nested_ternary_operations(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN CASE WHEN [w].[AmmunitionType] = 1 THEN N'ManualCartridge' ELSE N'Manual' END ELSE N'Auto' END AS [IsManualCartridge] -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Null_propagation_optimization1(bool async) @@ -1040,12 +1192,14 @@ public override async Task Null_propagation_optimization1(bool async) await base.Null_propagation_optimization1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE [g].[LeaderNickname] = N'Marcus' AND ([g].[LeaderNickname] IS NOT NULL)"); +WHERE [g].[LeaderNickname] = N'Marcus' AND ([g].[LeaderNickname] IS NOT NULL) +"""); } public override async Task Null_propagation_optimization2(bool async) @@ -1054,7 +1208,8 @@ public override async Task Null_propagation_optimization2(bool async) // issue #16050 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1065,7 +1220,8 @@ ELSE CASE WHEN ([g].[LeaderNickname] IS NOT NULL) AND ([g].[LeaderNickname] LIKE N'%us') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Null_propagation_optimization3(bool async) @@ -1074,7 +1230,8 @@ public override async Task Null_propagation_optimization3(bool async) // issue #16050 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1085,7 +1242,8 @@ WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE ELSE CAST(0 AS bit) END ELSE NULL -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Null_propagation_optimization4(bool async) @@ -1094,7 +1252,8 @@ public override async Task Null_propagation_optimization4(bool async) // issue #16050 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1105,7 +1264,8 @@ ELSE CAST(LEN([g].[LeaderNickname]) AS int) END = 5 AND (CASE WHEN [g].[LeaderNickname] IS NULL THEN NULL ELSE CAST(LEN([g].[LeaderNickname]) AS int) -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Null_propagation_optimization5(bool async) @@ -1114,7 +1274,8 @@ public override async Task Null_propagation_optimization5(bool async) // issue #16050 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1125,7 +1286,8 @@ ELSE NULL END = 5 AND (CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(LEN([g].[LeaderNickname]) AS int) ELSE NULL -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Null_propagation_optimization6(bool async) @@ -1134,7 +1296,8 @@ public override async Task Null_propagation_optimization6(bool async) // issue #16050 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1145,7 +1308,8 @@ ELSE NULL END = 5 AND (CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(LEN([g].[LeaderNickname]) AS int) ELSE NULL -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Select_null_propagation_optimization7(bool async) @@ -1154,11 +1318,13 @@ public override async Task Select_null_propagation_optimization7(bool async) // issue #16050 AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN [g].[LeaderNickname] + [g].[LeaderNickname] ELSE NULL END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_optimization8(bool async) @@ -1166,8 +1332,10 @@ public override async Task Select_null_propagation_optimization8(bool async) await base.Select_null_propagation_optimization8(async); AssertSql( - @"SELECT COALESCE([g].[LeaderNickname], N'') + COALESCE([g].[LeaderNickname], N'') -FROM [Gears] AS [g]"); +""" +SELECT COALESCE([g].[LeaderNickname], N'') + COALESCE([g].[LeaderNickname], N'') +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_optimization9(bool async) @@ -1175,8 +1343,10 @@ public override async Task Select_null_propagation_optimization9(bool async) await base.Select_null_propagation_optimization9(async); AssertSql( - @"SELECT CAST(LEN([g].[FullName]) AS int) -FROM [Gears] AS [g]"); +""" +SELECT CAST(LEN([g].[FullName]) AS int) +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_negative1(bool async) @@ -1184,14 +1354,16 @@ public override async Task Select_null_propagation_negative1(bool async) await base.Select_null_propagation_negative1(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([g].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END ELSE NULL END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_negative2(bool async) @@ -1199,7 +1371,8 @@ public override async Task Select_null_propagation_negative2(bool async) await base.Select_null_propagation_negative2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN [t].[LeaderNickname] ELSE NULL END @@ -1207,7 +1380,8 @@ FROM [Gears] AS [g] CROSS JOIN ( SELECT [g0].[LeaderNickname] FROM [Gears] AS [g0] -) AS [t]"); +) AS [t] +"""); } public override async Task Select_null_propagation_negative3(bool async) @@ -1215,7 +1389,8 @@ public override async Task Select_null_propagation_negative3(bool async) await base.Select_null_propagation_negative3(async); AssertSql( - @"SELECT [t].[Nickname], CASE +""" +SELECT [t].[Nickname], CASE WHEN ([t].[Nickname] IS NOT NULL) AND ([t].[SquadId] IS NOT NULL) THEN CASE WHEN [t].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -1227,7 +1402,8 @@ LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[LeaderNickname] FROM [Gears] AS [g0] ) AS [t] ON [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Select_null_propagation_negative4(bool async) @@ -1235,7 +1411,8 @@ public override async Task Select_null_propagation_negative4(bool async) await base.Select_null_propagation_negative4(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[Nickname] IS NOT NULL) AND ([t].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[Nickname] @@ -1244,7 +1421,8 @@ LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId] FROM [Gears] AS [g0] ) AS [t] ON [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Select_null_propagation_negative5(bool async) @@ -1252,7 +1430,8 @@ public override async Task Select_null_propagation_negative5(bool async) await base.Select_null_propagation_negative5(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[Nickname] IS NOT NULL) AND ([t].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[Nickname] @@ -1261,7 +1440,8 @@ LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId] FROM [Gears] AS [g0] ) AS [t] ON [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [t].[Nickname]"); +ORDER BY [t].[Nickname] +"""); } public override async Task Select_null_propagation_negative6(bool async) @@ -1269,14 +1449,16 @@ public override async Task Select_null_propagation_negative6(bool async) await base.Select_null_propagation_negative6(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([g].[LeaderNickname]) AS int) <> CAST(LEN([g].[LeaderNickname]) AS int) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END ELSE NULL END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_negative7(bool async) @@ -1284,11 +1466,13 @@ public override async Task Select_null_propagation_negative7(bool async) await base.Select_null_propagation_negative7(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE NULL END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_negative8(bool async) @@ -1296,7 +1480,8 @@ public override async Task Select_null_propagation_negative8(bool async) await base.Select_null_propagation_negative8(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [s].[Id] IS NOT NULL THEN [c].[Name] ELSE NULL END @@ -1306,7 +1491,8 @@ LEFT JOIN ( FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] -LEFT JOIN [Cities] AS [c] ON [t0].[AssignedCityName] = [c].[Name]"); +LEFT JOIN [Cities] AS [c] ON [t0].[AssignedCityName] = [c].[Name] +"""); } public override async Task Select_null_propagation_negative9(bool async) @@ -1314,14 +1500,16 @@ public override async Task Select_null_propagation_negative9(bool async) await base.Select_null_propagation_negative9(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN COALESCE(CASE WHEN CAST(LEN([g].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, CAST(0 AS bit)) ELSE NULL END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_null_propagation_works_for_navigations_with_composite_keys(bool async) @@ -1329,12 +1517,14 @@ public override async Task Select_null_propagation_works_for_navigations_with_co await base.Select_null_propagation_works_for_navigations_with_composite_keys(async); AssertSql( - @"SELECT [t0].[Nickname] +""" +SELECT [t0].[Nickname] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Select_null_propagation_works_for_multiple_navigations_with_composite_keys(bool async) @@ -1342,7 +1532,8 @@ public override async Task Select_null_propagation_works_for_multiple_navigation await base.Select_null_propagation_works_for_multiple_navigations_with_composite_keys(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c].[Name] IS NOT NULL THEN [c].[Name] ELSE NULL END @@ -1356,7 +1547,8 @@ LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName] FROM [Gears] AS [g0] ) AS [t2] ON [t1].[GearNickName] = [t2].[Nickname] AND [t1].[GearSquadId] = [t2].[SquadId] -LEFT JOIN [Cities] AS [c] ON [t2].[AssignedCityName] = [c].[Name]"); +LEFT JOIN [Cities] AS [c] ON [t2].[AssignedCityName] = [c].[Name] +"""); } public override async Task Select_conditional_with_anonymous_type_and_null_constant(bool async) @@ -1364,12 +1556,14 @@ public override async Task Select_conditional_with_anonymous_type_and_null_const await base.Select_conditional_with_anonymous_type_and_null_constant(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[HasSoulPatch] FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Select_conditional_with_anonymous_types(bool async) @@ -1377,12 +1571,14 @@ public override async Task Select_conditional_with_anonymous_types(bool async) await base.Select_conditional_with_anonymous_types(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[FullName] FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_conditional_equality_1(bool async) @@ -1390,10 +1586,12 @@ public override async Task Where_conditional_equality_1(bool async) await base.Where_conditional_equality_1(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] WHERE [g].[LeaderNickname] IS NULL -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_conditional_equality_2(bool async) @@ -1401,10 +1599,12 @@ public override async Task Where_conditional_equality_2(bool async) await base.Where_conditional_equality_2(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] WHERE [g].[LeaderNickname] IS NULL -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_conditional_equality_3(bool async) @@ -1412,9 +1612,11 @@ public override async Task Where_conditional_equality_3(bool async) await base.Where_conditional_equality_3(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Select_coalesce_with_anonymous_types(bool async) @@ -1422,9 +1624,11 @@ public override async Task Select_coalesce_with_anonymous_types(bool async) await base.Select_coalesce_with_anonymous_types(async); AssertSql( - @"SELECT [g].[LeaderNickname], [g].[FullName] +""" +SELECT [g].[LeaderNickname], [g].[FullName] FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_compare_anonymous_types(bool async) @@ -1439,9 +1643,11 @@ public override async Task Where_member_access_on_anonymous_type(bool async) await base.Where_member_access_on_anonymous_type(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] -WHERE [g].[LeaderNickname] = N'Marcus'"); +WHERE [g].[LeaderNickname] = N'Marcus' +"""); } public override async Task Where_compare_anonymous_types_with_uncorrelated_members(bool async) @@ -1449,9 +1655,11 @@ public override async Task Where_compare_anonymous_types_with_uncorrelated_membe await base.Where_compare_anonymous_types_with_uncorrelated_members(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(bool async) @@ -1459,7 +1667,8 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM [Tags] AS [t] CROSS JOIN [Tags] AS [t0] LEFT JOIN ( @@ -1470,7 +1679,8 @@ LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId] FROM [Gears] AS [g0] ) AS [t2] ON [t0].[GearNickName] = [t2].[Nickname] AND [t0].[GearSquadId] = [t2].[SquadId] -WHERE [t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL))"); +WHERE [t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL)) +"""); } public override async Task Select_Singleton_Navigation_With_Member_Access(bool async) @@ -1478,7 +1688,8 @@ public override async Task Select_Singleton_Navigation_With_Member_Access(bool a await base.Select_Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -1487,7 +1698,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[Nickname] = N'Marcus' AND ([t0].[CityOfBirthName] <> N'Ephyra' OR ([t0].[CityOfBirthName] IS NULL))"); +WHERE [t0].[Nickname] = N'Marcus' AND ([t0].[CityOfBirthName] <> N'Ephyra' OR ([t0].[CityOfBirthName] IS NULL)) +"""); } public override async Task Select_Where_Navigation(bool async) @@ -1495,13 +1707,15 @@ public override async Task Select_Where_Navigation(bool async) await base.Select_Where_Navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[Nickname] = N'Marcus'"); +WHERE [t0].[Nickname] = N'Marcus' +"""); } public override async Task Select_Where_Navigation_Equals_Navigation(bool async) @@ -1509,7 +1723,8 @@ public override async Task Select_Where_Navigation_Equals_Navigation(bool async) await base.Select_Where_Navigation_Equals_Navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM [Tags] AS [t] CROSS JOIN [Tags] AS [t0] LEFT JOIN ( @@ -1520,7 +1735,8 @@ LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId] FROM [Gears] AS [g0] ) AS [t2] ON [t0].[GearNickName] = [t2].[Nickname] AND [t0].[GearSquadId] = [t2].[SquadId] -WHERE ([t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL))) AND ([t1].[SquadId] = [t2].[SquadId] OR (([t1].[SquadId] IS NULL) AND ([t2].[SquadId] IS NULL)))"); +WHERE ([t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL))) AND ([t1].[SquadId] = [t2].[SquadId] OR (([t1].[SquadId] IS NULL) AND ([t2].[SquadId] IS NULL))) +"""); } public override async Task Select_Where_Navigation_Null(bool async) @@ -1528,13 +1744,15 @@ public override async Task Select_Where_Navigation_Null(bool async) await base.Select_Where_Navigation_Null(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL)"); +WHERE ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL) +"""); } public override async Task Select_Where_Navigation_Null_Reverse(bool async) @@ -1542,13 +1760,15 @@ public override async Task Select_Where_Navigation_Null_Reverse(bool async) await base.Select_Where_Navigation_Null_Reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL)"); +WHERE ([t0].[Nickname] IS NULL) OR ([t0].[SquadId] IS NULL) +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(bool async) @@ -1556,7 +1776,8 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(async); AssertSql( - @"SELECT [t].[Id] AS [Id1], [t0].[Id] AS [Id2] +""" +SELECT [t].[Id] AS [Id1], [t0].[Id] AS [Id2] FROM [Tags] AS [t] CROSS JOIN [Tags] AS [t0] LEFT JOIN ( @@ -1567,7 +1788,8 @@ LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId] FROM [Gears] AS [g0] ) AS [t2] ON [t0].[GearNickName] = [t2].[Nickname] AND [t0].[GearSquadId] = [t2].[SquadId] -WHERE [t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL))"); +WHERE [t1].[Nickname] = [t2].[Nickname] OR (([t1].[Nickname] IS NULL) AND ([t2].[Nickname] IS NULL)) +"""); } public override async Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool async) @@ -1575,10 +1797,12 @@ public override async Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool as await base.Optional_Navigation_Null_Coalesce_To_Clr_Type(async); AssertSql( - @"SELECT TOP(1) COALESCE([w0].[IsAutomatic], CAST(0 AS bit)) AS [IsAutomatic] +""" +SELECT TOP(1) COALESCE([w0].[IsAutomatic], CAST(0 AS bit)) AS [IsAutomatic] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w].[Id]"); +ORDER BY [w].[Id] +"""); } public override async Task Where_subquery_boolean(bool async) @@ -1586,7 +1810,8 @@ public override async Task Where_subquery_boolean(bool async) await base.Where_subquery_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1595,7 +1820,8 @@ WHERE COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [w].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_boolean_with_pushdown(bool async) @@ -1603,7 +1829,8 @@ public override async Task Where_subquery_boolean_with_pushdown(bool async) await base.Where_subquery_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1612,7 +1839,8 @@ FROM [Gears] AS [g] SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_firstordefault_boolean(bool async) @@ -1620,7 +1848,8 @@ public override async Task Where_subquery_distinct_firstordefault_boolean(bool a await base.Where_subquery_distinct_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1632,7 +1861,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_firstordefault_boolean_with_pushdown(bool async) @@ -1640,7 +1870,8 @@ public override async Task Where_subquery_distinct_firstordefault_boolean_with_p await base.Where_subquery_distinct_firstordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1652,7 +1883,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_first_boolean(bool async) @@ -1660,7 +1892,8 @@ public override async Task Where_subquery_distinct_first_boolean(bool async) await base.Where_subquery_distinct_first_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1673,7 +1906,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] ORDER BY [t].[Id]) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean1(bool async) @@ -1681,7 +1915,8 @@ public override async Task Where_subquery_distinct_singleordefault_boolean1(bool await base.Where_subquery_distinct_singleordefault_boolean1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1693,7 +1928,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]), CAST(0 AS bit)) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean2(bool async) @@ -1701,7 +1937,8 @@ public override async Task Where_subquery_distinct_singleordefault_boolean2(bool await base.Where_subquery_distinct_singleordefault_boolean2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1710,7 +1947,8 @@ FROM [Gears] AS [g] SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%')), CAST(0 AS bit)) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) @@ -1718,7 +1956,8 @@ public override async Task Where_subquery_distinct_singleordefault_boolean_with_ await base.Where_subquery_distinct_singleordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1730,7 +1969,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_lastordefault_boolean(bool async) @@ -1738,7 +1978,8 @@ public override async Task Where_subquery_distinct_lastordefault_boolean(bool as await base.Where_subquery_distinct_lastordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1751,7 +1992,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] ORDER BY [t].[Id] DESC) = CAST(0 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_last_boolean(bool async) @@ -1759,7 +2001,8 @@ public override async Task Where_subquery_distinct_last_boolean(bool async) await base.Where_subquery_distinct_last_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1772,7 +2015,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] ORDER BY [t].[Id] DESC) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_subquery_distinct_orderby_firstordefault_boolean(bool async) @@ -1780,7 +2024,8 @@ public override async Task Where_subquery_distinct_orderby_firstordefault_boolea await base.Where_subquery_distinct_orderby_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1792,7 +2037,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(bool async) @@ -1800,7 +2046,8 @@ public override async Task Where_subquery_distinct_orderby_firstordefault_boolea await base.Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1812,7 +2059,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_union_firstordefault_boolean(bool async) @@ -1820,7 +2068,8 @@ public override async Task Where_subquery_union_firstordefault_boolean(bool asyn await base.Where_subquery_union_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1836,7 +2085,8 @@ FROM [Weapons] AS [w] FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_join_firstordefault_boolean(bool async) @@ -1844,7 +2094,8 @@ public override async Task Where_subquery_join_firstordefault_boolean(bool async await base.Where_subquery_join_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1858,7 +2109,8 @@ FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] ON [w].[Id] = [t].[Id] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_left_join_firstordefault_boolean(bool async) @@ -1866,7 +2118,8 @@ public override async Task Where_subquery_left_join_firstordefault_boolean(bool await base.Where_subquery_left_join_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1880,7 +2133,8 @@ FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] ON [w].[Id] = [t].[Id] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_concat_firstordefault_boolean(bool async) @@ -1888,7 +2142,8 @@ public override async Task Where_subquery_concat_firstordefault_boolean(bool asy await base.Where_subquery_concat_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -1904,7 +2159,8 @@ UNION ALL FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Concat_with_count(bool async) @@ -1912,7 +2168,8 @@ public override async Task Concat_with_count(bool async) await base.Concat_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' @@ -1925,7 +2182,8 @@ WHEN [o0].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] -) AS [t]"); +) AS [t] +"""); } public override async Task Concat_scalars_with_count(bool async) @@ -1933,14 +2191,16 @@ public override async Task Concat_scalars_with_count(bool async) await base.Concat_scalars_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname] FROM [Gears] AS [g] UNION ALL SELECT [g0].[FullName] AS [Nickname] FROM [Gears] AS [g0] -) AS [t]"); +) AS [t] +"""); } public override async Task Concat_anonymous_with_count(bool async) @@ -1948,7 +2208,8 @@ public override async Task Concat_anonymous_with_count(bool async) await base.Concat_anonymous_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' @@ -1961,7 +2222,8 @@ WHEN [o0].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [g0].[FullName] AS [Name] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] -) AS [t]"); +) AS [t] +"""); } public override async Task Concat_with_scalar_projection(bool async) @@ -1969,11 +2231,13 @@ public override async Task Concat_with_scalar_projection(bool async) await base.Concat_with_scalar_projection(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] UNION ALL SELECT [g0].[Nickname] -FROM [Gears] AS [g0]"); +FROM [Gears] AS [g0] +"""); } public override async Task Select_navigation_with_concat_and_count(bool async) @@ -1981,7 +2245,8 @@ public override async Task Select_navigation_with_concat_and_count(bool async) await base.Select_navigation_with_concat_and_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -1993,7 +2258,8 @@ FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t]) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Concat_with_collection_navigations(bool async) @@ -2001,7 +2267,8 @@ public override async Task Concat_with_collection_navigations(bool async) await base.Concat_with_collection_navigations(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -2013,7 +2280,8 @@ FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t]) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Union_with_collection_navigations(bool async) @@ -2021,7 +2289,8 @@ public override async Task Union_with_collection_navigations(bool async) await base.Union_with_collection_navigations(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[Rank], CASE @@ -2040,7 +2309,8 @@ FROM [Gears] AS [g1] ) AS [t]) FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE [o].[Nickname] IS NOT NULL"); +WHERE [o].[Nickname] IS NOT NULL +"""); } public override async Task Select_subquery_distinct_firstordefault(bool async) @@ -2048,7 +2318,8 @@ public override async Task Select_subquery_distinct_firstordefault(bool async) await base.Select_subquery_distinct_firstordefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[Name] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -2057,7 +2328,8 @@ FROM [Weapons] AS [w] ) AS [t] ORDER BY [t].[Id]) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Singleton_Navigation_With_Member_Access(bool async) @@ -2065,13 +2337,15 @@ public override async Task Singleton_Navigation_With_Member_Access(bool async) await base.Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT [t0].[CityOfBirthName] AS [B] +""" +SELECT [t0].[CityOfBirthName] AS [B] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[CityOfBirthName] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[Nickname] = N'Marcus' AND ([t0].[CityOfBirthName] <> N'Ephyra' OR ([t0].[CityOfBirthName] IS NULL))"); +WHERE [t0].[Nickname] = N'Marcus' AND ([t0].[CityOfBirthName] <> N'Ephyra' OR ([t0].[CityOfBirthName] IS NULL)) +"""); } public override async Task GroupJoin_Composite_Key(bool async) @@ -2079,7 +2353,8 @@ public override async Task GroupJoin_Composite_Key(bool async) await base.GroupJoin_Composite_Key(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -2087,7 +2362,8 @@ WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Join_navigation_translated_to_subquery_composite_key(bool async) @@ -2095,7 +2371,8 @@ public override async Task Join_navigation_translated_to_subquery_composite_key( await base.Join_navigation_translated_to_subquery_composite_key(async); AssertSql( - @"SELECT [g].[FullName], [t1].[Note] +""" +SELECT [g].[FullName], [t1].[Note] FROM [Gears] AS [g] INNER JOIN ( SELECT [t].[Note], [t0].[FullName] @@ -2104,7 +2381,8 @@ LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[FullName] FROM [Gears] AS [g0] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -) AS [t1] ON [g].[FullName] = [t1].[FullName]"); +) AS [t1] ON [g].[FullName] = [t1].[FullName] +"""); } public override async Task Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(bool async) @@ -2112,7 +2390,8 @@ public override async Task Join_with_order_by_on_inner_sequence_navigation_trans await base.Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(async); AssertSql( - @"SELECT [g].[FullName], [t1].[Note] +""" +SELECT [g].[FullName], [t1].[Note] FROM [Gears] AS [g] INNER JOIN ( SELECT [t].[Note], [t0].[FullName] @@ -2121,7 +2400,8 @@ LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[FullName] FROM [Gears] AS [g0] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -) AS [t1] ON [g].[FullName] = [t1].[FullName]"); +) AS [t1] ON [g].[FullName] = [t1].[FullName] +"""); } public override async Task Join_with_order_by_without_skip_or_take(bool async) @@ -2129,9 +2409,11 @@ public override async Task Join_with_order_by_without_skip_or_take(bool async) await base.Join_with_order_by_without_skip_or_take(async); AssertSql( - @"SELECT [w].[Name], [g].[FullName] +""" +SELECT [w].[Name], [g].[FullName] FROM [Gears] AS [g] -INNER JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName]"); +INNER JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] +"""); } public override async Task Join_with_order_by_without_skip_or_take_nested(bool async) @@ -2139,13 +2421,15 @@ public override async Task Join_with_order_by_without_skip_or_take_nested(bool a await base.Join_with_order_by_without_skip_or_take_nested(async); AssertSql( - @"SELECT [w].[Name], [t].[FullName] +""" +SELECT [w].[Name], [t].[FullName] FROM [Squads] AS [s] INNER JOIN ( SELECT [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] ) AS [t] ON [s].[Id] = [t].[SquadId] -INNER JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName]"); +INNER JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] +"""); } public override async Task Collection_with_inheritance_and_join_include_joined(bool async) @@ -2153,7 +2437,8 @@ public override async Task Collection_with_inheritance_and_join_include_joined(b await base.Collection_with_inheritance_and_join_include_joined(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t1].[Id], [t1].[GearNickName], [t1].[GearSquadId], [t1].[IssueDate], [t1].[Note] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t1].[Id], [t1].[GearNickName], [t1].[GearSquadId], [t1].[IssueDate], [t1].[Note] FROM [Tags] AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -2163,7 +2448,8 @@ FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] WHERE [o].[Nickname] IS NOT NULL ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] -LEFT JOIN [Tags] AS [t1] ON [t0].[Nickname] = [t1].[GearNickName] AND [t0].[SquadId] = [t1].[GearSquadId]"); +LEFT JOIN [Tags] AS [t1] ON [t0].[Nickname] = [t1].[GearNickName] AND [t0].[SquadId] = [t1].[GearSquadId] +"""); } public override async Task Collection_with_inheritance_and_join_include_source(bool async) @@ -2171,14 +2457,16 @@ public override async Task Collection_with_inheritance_and_join_include_source(b await base.Collection_with_inheritance_and_join_include_source(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] INNER JOIN [Tags] AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] LEFT JOIN [Tags] AS [t0] ON [g].[Nickname] = [t0].[GearNickName] AND [g].[SquadId] = [t0].[GearSquadId] -WHERE [o].[Nickname] IS NOT NULL"); +WHERE [o].[Nickname] IS NOT NULL +"""); } public override async Task Non_unicode_string_literal_is_used_for_non_unicode_column(bool async) @@ -2186,9 +2474,11 @@ public override async Task Non_unicode_string_literal_is_used_for_non_unicode_co await base.Non_unicode_string_literal_is_used_for_non_unicode_column(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] = 'Unknown'"); +WHERE [c].[Location] = 'Unknown' +"""); } public override async Task Non_unicode_string_literal_is_used_for_non_unicode_column_right(bool async) @@ -2196,9 +2486,11 @@ public override async Task Non_unicode_string_literal_is_used_for_non_unicode_co await base.Non_unicode_string_literal_is_used_for_non_unicode_column_right(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE 'Unknown' = [c].[Location]"); +WHERE 'Unknown' = [c].[Location] +"""); } public override async Task Non_unicode_parameter_is_used_for_non_unicode_column(bool async) @@ -2206,11 +2498,13 @@ public override async Task Non_unicode_parameter_is_used_for_non_unicode_column( await base.Non_unicode_parameter_is_used_for_non_unicode_column(async); AssertSql( - @"@__value_0='Unknown' (Size = 100) (DbType = AnsiString) +""" +@__value_0='Unknown' (Size = 100) (DbType = AnsiString) SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] = @__value_0"); +WHERE [c].[Location] = @__value_0 +"""); } public override async Task Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(bool async) @@ -2218,9 +2512,11 @@ public override async Task Non_unicode_string_literals_in_contains_is_used_for_n await base.Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] IN ('Unknown', 'Jacinto''s location', 'Ephyra''s location')"); +WHERE [c].[Location] IN ('Unknown', 'Jacinto''s location', 'Ephyra''s location') +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(bool async) @@ -2228,13 +2524,15 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] WHERE [c].[Location] = 'Unknown' AND ( SELECT COUNT(*) FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] - WHERE [c].[Name] = [g].[CityOfBirthName] AND [g].[Nickname] = N'Paduk') = 1"); + WHERE [c].[Name] = [g].[CityOfBirthName] AND [g].[Nickname] = N'Paduk') = 1 +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(bool async) @@ -2242,13 +2540,15 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] -WHERE [g].[Nickname] = N'Marcus' AND [c].[Location] = 'Jacinto''s location'"); +WHERE [g].[Nickname] = N'Marcus' AND [c].[Location] = 'Jacinto''s location' +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(bool async) @@ -2256,9 +2556,11 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] LIKE '%Jacinto%'"); +WHERE [c].[Location] LIKE '%Jacinto%' +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool async) @@ -2266,9 +2568,11 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE COALESCE([c].[Location], '') + 'Added' LIKE '%Add%'"); +WHERE COALESCE([c].[Location], '') + 'Added' LIKE '%Add%' +"""); } public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result1() @@ -2277,7 +2581,8 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc // Issue#16897 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] @@ -2290,7 +2595,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [g].[LeaderNickname] = [t].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId] +"""); } public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result2() @@ -2299,7 +2605,8 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc // Issue#16897 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -2312,7 +2619,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [g].[LeaderNickname] = [t].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result3(bool async) @@ -2321,7 +2629,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c // Issue#16897 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Gears] AS [g] @@ -2335,7 +2644,8 @@ FROM [Gears] AS [g0] ) AS [t] ON [g].[LeaderNickname] = [t].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result4(bool async) @@ -2344,7 +2654,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c // Issue#16897 AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[SynergyWithId] FROM [Gears] AS [g] @@ -2360,7 +2671,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Weapons] AS [w0] ON [t].[FullName] = [w0].[OwnerFullName] LEFT JOIN [Weapons] AS [w1] ON [t].[FullName] = [w1].[OwnerFullName] LEFT JOIN [Weapons] AS [w2] ON [g].[FullName] = [w2].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id], [w0].[Id], [w1].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id], [w0].[Id], [w1].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_inheritance_and_coalesce_result(bool async) @@ -2369,7 +2681,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_i // Issue#16897 AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Gears] AS [g] @@ -2384,7 +2697,8 @@ WHERE [o0].[Nickname] IS NOT NULL ) AS [t] ON [g].[LeaderNickname] = [t].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_conditional_result(bool async) @@ -2393,7 +2707,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c // Issue#16897 AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[Nickname] IS NOT NULL) AND ([t].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -2410,7 +2725,8 @@ FROM [Gears] AS [g0] ) AS [t] ON [g].[LeaderNickname] = [t].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(bool async) @@ -2418,7 +2734,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[SynergyWithId], CASE WHEN ([t].[Nickname] IS NOT NULL) AND ([t].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) @@ -2439,7 +2756,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Weapons] AS [w2] ON [g].[FullName] = [w2].[OwnerFullName] LEFT JOIN [Weapons] AS [w3] ON [t].[FullName] = [w3].[OwnerFullName] LEFT JOIN [Weapons] AS [w4] ON [g].[FullName] = [w4].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id], [w0].[Id], [w1].[Id], [w2].[Id], [w3].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id], [w0].[Id], [w1].[Id], [w2].[Id], [w3].[Id] +"""); } public override async Task Coalesce_operator_in_predicate(bool async) @@ -2447,9 +2765,11 @@ public override async Task Coalesce_operator_in_predicate(bool async) await base.Coalesce_operator_in_predicate(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit)"); +WHERE COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Coalesce_operator_in_predicate_with_other_conditions(bool async) @@ -2457,9 +2777,11 @@ public override async Task Coalesce_operator_in_predicate_with_other_conditions( await base.Coalesce_operator_in_predicate_with_other_conditions(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = 1 AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit)"); +WHERE [w].[AmmunitionType] = 1 AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Coalesce_operator_in_projection_with_other_conditions(bool async) @@ -2467,11 +2789,13 @@ public override async Task Coalesce_operator_in_projection_with_other_conditions await base.Coalesce_operator_in_projection_with_other_conditions(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[AmmunitionType] = 1 AND ([w].[AmmunitionType] IS NOT NULL) AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate(bool async) @@ -2479,13 +2803,15 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [t0].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [t0].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate2(bool async) @@ -2493,13 +2819,15 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate2(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [t0].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated(bool async) @@ -2507,13 +2835,15 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [t0].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated_complex1(bool async) @@ -2521,7 +2851,8 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated_complex1(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -2530,7 +2861,8 @@ FROM [Gears] AS [g] WHERE CASE WHEN [t0].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE [t0].[HasSoulPatch] -END = CAST(0 AS bit)"); +END = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated_complex2(bool async) @@ -2538,7 +2870,8 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated_complex2(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -2547,7 +2880,8 @@ FROM [Gears] AS [g] WHERE CASE WHEN [t0].[HasSoulPatch] = CAST(0 AS bit) THEN CAST(0 AS bit) ELSE [t0].[HasSoulPatch] -END = CAST(0 AS bit)"); +END = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_conditional_expression(bool async) @@ -2555,7 +2889,8 @@ public override async Task Optional_navigation_type_compensation_works_with_cond await base.Optional_navigation_type_compensation_works_with_conditional_expression(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -2564,7 +2899,8 @@ FROM [Gears] AS [g] WHERE CASE WHEN [t0].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_binary_expression(bool async) @@ -2572,13 +2908,15 @@ public override async Task Optional_navigation_type_compensation_works_with_bina await base.Optional_navigation_type_compensation_works_with_binary_expression(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t0].[HasSoulPatch] = CAST(1 AS bit) OR ([t].[Note] LIKE N'%Cole%')"); +WHERE [t0].[HasSoulPatch] = CAST(1 AS bit) OR ([t].[Note] LIKE N'%Cole%') +"""); } public override async Task Optional_navigation_type_compensation_works_with_binary_and_expression(bool async) @@ -2586,7 +2924,8 @@ public override async Task Optional_navigation_type_compensation_works_with_bina await base.Optional_navigation_type_compensation_works_with_binary_and_expression(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t0].[HasSoulPatch] = CAST(1 AS bit) AND ([t].[Note] LIKE N'%Cole%') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END @@ -2594,7 +2933,8 @@ FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Optional_navigation_type_compensation_works_with_projection(bool async) @@ -2602,13 +2942,15 @@ public override async Task Optional_navigation_type_compensation_works_with_proj await base.Optional_navigation_type_compensation_works_with_projection(async); AssertSql( - @"SELECT [t0].[SquadId] +""" +SELECT [t0].[SquadId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(bool async) @@ -2616,13 +2958,15 @@ public override async Task Optional_navigation_type_compensation_works_with_proj await base.Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(async); AssertSql( - @"SELECT [t0].[SquadId] +""" +SELECT [t0].[SquadId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_DTOs(bool async) @@ -2630,13 +2974,15 @@ public override async Task Optional_navigation_type_compensation_works_with_DTOs await base.Optional_navigation_type_compensation_works_with_DTOs(async); AssertSql( - @"SELECT [t0].[SquadId] AS [Id] +""" +SELECT [t0].[SquadId] AS [Id] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_list_initializers(bool async) @@ -2644,14 +2990,16 @@ public override async Task Optional_navigation_type_compensation_works_with_list await base.Optional_navigation_type_compensation_works_with_list_initializers(async); AssertSql( - @"SELECT [t0].[SquadId], [t0].[SquadId] + 1 +""" +SELECT [t0].[SquadId], [t0].[SquadId] + 1 FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Optional_navigation_type_compensation_works_with_array_initializers(bool async) @@ -2659,13 +3007,15 @@ public override async Task Optional_navigation_type_compensation_works_with_arra await base.Optional_navigation_type_compensation_works_with_array_initializers(async); AssertSql( - @"SELECT [t0].[SquadId] +""" +SELECT [t0].[SquadId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_orderby(bool async) @@ -2673,14 +3023,16 @@ public override async Task Optional_navigation_type_compensation_works_with_orde await base.Optional_navigation_type_compensation_works_with_orderby(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) -ORDER BY [t0].[SquadId]"); +ORDER BY [t0].[SquadId] +"""); } public override async Task Optional_navigation_type_compensation_works_with_all(bool async) @@ -2688,7 +3040,8 @@ public override async Task Optional_navigation_type_compensation_works_with_all( await base.Optional_navigation_type_compensation_works_with_all(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Tags] AS [t] @@ -2701,7 +3054,8 @@ FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [t0].[HasSoulPatch] = CAST(0 AS bit)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Optional_navigation_type_compensation_works_with_negated_predicate(bool async) @@ -2709,13 +3063,15 @@ public override async Task Optional_navigation_type_compensation_works_with_nega await base.Optional_navigation_type_compensation_works_with_negated_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [t0].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [t0].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_contains(bool async) @@ -2723,7 +3079,8 @@ public override async Task Optional_navigation_type_compensation_works_with_cont await base.Optional_navigation_type_compensation_works_with_contains(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -2733,7 +3090,8 @@ FROM [Gears] AS [g] SELECT 1 FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] - WHERE [g0].[SquadId] = [t0].[SquadId])"); + WHERE [g0].[SquadId] = [t0].[SquadId]) +"""); } public override async Task Optional_navigation_type_compensation_works_with_skip(bool async) @@ -2755,7 +3113,8 @@ public override async Task Select_correlated_filtered_collection(bool async) await base.Select_correlated_filtered_collection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN ( @@ -2764,7 +3123,8 @@ FROM [Weapons] AS [w] WHERE [w].[Name] <> N'Lancer' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [c].[Name] IN (N'Ephyra', N'Hanover') -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name] +"""); } public override async Task Select_correlated_filtered_collection_with_composite_key(bool async) @@ -2772,7 +3132,8 @@ public override async Task Select_correlated_filtered_collection_with_composite_ await base.Select_correlated_filtered_collection_with_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN ( @@ -2784,7 +3145,8 @@ FROM [Gears] AS [g0] WHERE [g0].[Nickname] <> N'Dom' ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Select_correlated_filtered_collection_works_with_caching(bool async) @@ -2792,7 +3154,8 @@ public override async Task Select_correlated_filtered_collection_works_with_cach await base.Select_correlated_filtered_collection_works_with_caching(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -2801,7 +3164,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] -ORDER BY [t].[Note], [t].[Id], [t0].[Nickname]"); +ORDER BY [t].[Note], [t].[Id], [t0].[Nickname] +"""); } public override async Task Join_predicate_value_equals_condition(bool async) @@ -2809,12 +3173,14 @@ public override async Task Join_predicate_value_equals_condition(bool async) await base.Join_predicate_value_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Join_predicate_value(bool async) @@ -2822,12 +3188,14 @@ public override async Task Join_predicate_value(bool async) await base.Join_predicate_value(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -INNER JOIN [Weapons] AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit)"); +INNER JOIN [Weapons] AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Join_predicate_condition_equals_condition(bool async) @@ -2835,12 +3203,14 @@ public override async Task Join_predicate_condition_equals_condition(bool async) await base.Join_predicate_condition_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +INNER JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Left_join_predicate_value_equals_condition(bool async) @@ -2848,12 +3218,14 @@ public override async Task Left_join_predicate_value_equals_condition(bool async await base.Left_join_predicate_value_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Left_join_predicate_value(bool async) @@ -2861,12 +3233,14 @@ public override async Task Left_join_predicate_value(bool async) await base.Left_join_predicate_value(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -LEFT JOIN [Weapons] AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit)"); +LEFT JOIN [Weapons] AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Left_join_predicate_condition_equals_condition(bool async) @@ -2874,12 +3248,14 @@ public override async Task Left_join_predicate_condition_equals_condition(bool a await base.Left_join_predicate_condition_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +LEFT JOIN [Weapons] AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Where_datetimeoffset_now(bool async) @@ -2887,9 +3263,11 @@ public override async Task Where_datetimeoffset_now(bool async) await base.Where_datetimeoffset_now(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Timeline] <> SYSDATETIMEOFFSET()"); +WHERE [m].[Timeline] <> SYSDATETIMEOFFSET() +"""); } public override async Task Where_datetimeoffset_utcnow(bool async) @@ -2897,9 +3275,11 @@ public override async Task Where_datetimeoffset_utcnow(bool async) await base.Where_datetimeoffset_utcnow(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Timeline] <> CAST(SYSUTCDATETIME() AS datetimeoffset)"); +WHERE [m].[Timeline] <> CAST(SYSUTCDATETIME() AS datetimeoffset) +"""); } public override async Task Where_datetimeoffset_date_component(bool async) @@ -2907,11 +3287,13 @@ public override async Task Where_datetimeoffset_date_component(bool async) await base.Where_datetimeoffset_date_component(async); AssertSql( - @"@__Date_0='0001-01-01T00:00:00.0000000' +""" +@__Date_0='0001-01-01T00:00:00.0000000' SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE CONVERT(date, [m].[Timeline]) > @__Date_0"); +WHERE CONVERT(date, [m].[Timeline]) > @__Date_0 +"""); } public override async Task Where_datetimeoffset_year_component(bool async) @@ -2919,9 +3301,11 @@ public override async Task Where_datetimeoffset_year_component(bool async) await base.Where_datetimeoffset_year_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(year, [m].[Timeline]) = 2"); +WHERE DATEPART(year, [m].[Timeline]) = 2 +"""); } public override async Task Where_datetimeoffset_month_component(bool async) @@ -2929,9 +3313,11 @@ public override async Task Where_datetimeoffset_month_component(bool async) await base.Where_datetimeoffset_month_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(month, [m].[Timeline]) = 1"); +WHERE DATEPART(month, [m].[Timeline]) = 1 +"""); } public override async Task Where_datetimeoffset_dayofyear_component(bool async) @@ -2939,9 +3325,11 @@ public override async Task Where_datetimeoffset_dayofyear_component(bool async) await base.Where_datetimeoffset_dayofyear_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(dayofyear, [m].[Timeline]) = 2"); +WHERE DATEPART(dayofyear, [m].[Timeline]) = 2 +"""); } public override async Task Where_datetimeoffset_day_component(bool async) @@ -2949,9 +3337,11 @@ public override async Task Where_datetimeoffset_day_component(bool async) await base.Where_datetimeoffset_day_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(day, [m].[Timeline]) = 2"); +WHERE DATEPART(day, [m].[Timeline]) = 2 +"""); } public override async Task Where_datetimeoffset_hour_component(bool async) @@ -2959,9 +3349,11 @@ public override async Task Where_datetimeoffset_hour_component(bool async) await base.Where_datetimeoffset_hour_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(hour, [m].[Timeline]) = 10"); +WHERE DATEPART(hour, [m].[Timeline]) = 10 +"""); } public override async Task Where_datetimeoffset_minute_component(bool async) @@ -2969,9 +3361,11 @@ public override async Task Where_datetimeoffset_minute_component(bool async) await base.Where_datetimeoffset_minute_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(minute, [m].[Timeline]) = 0"); +WHERE DATEPART(minute, [m].[Timeline]) = 0 +"""); } public override async Task Where_datetimeoffset_second_component(bool async) @@ -2979,9 +3373,11 @@ public override async Task Where_datetimeoffset_second_component(bool async) await base.Where_datetimeoffset_second_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(second, [m].[Timeline]) = 0"); +WHERE DATEPART(second, [m].[Timeline]) = 0 +"""); } public override async Task Where_datetimeoffset_millisecond_component(bool async) @@ -2989,9 +3385,11 @@ public override async Task Where_datetimeoffset_millisecond_component(bool async await base.Where_datetimeoffset_millisecond_component(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(millisecond, [m].[Timeline]) = 0"); +WHERE DATEPART(millisecond, [m].[Timeline]) = 0 +"""); } public override async Task DateTimeOffset_DateAdd_AddMonths(bool async) @@ -2999,8 +3397,10 @@ public override async Task DateTimeOffset_DateAdd_AddMonths(bool async) await base.DateTimeOffset_DateAdd_AddMonths(async); AssertSql( - @"SELECT DATEADD(month, CAST(1 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(month, CAST(1 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddDays(bool async) @@ -3008,8 +3408,10 @@ public override async Task DateTimeOffset_DateAdd_AddDays(bool async) await base.DateTimeOffset_DateAdd_AddDays(async); AssertSql( - @"SELECT DATEADD(day, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(day, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddHours(bool async) @@ -3017,8 +3419,10 @@ public override async Task DateTimeOffset_DateAdd_AddHours(bool async) await base.DateTimeOffset_DateAdd_AddHours(async); AssertSql( - @"SELECT DATEADD(hour, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(hour, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddMinutes(bool async) @@ -3026,8 +3430,10 @@ public override async Task DateTimeOffset_DateAdd_AddMinutes(bool async) await base.DateTimeOffset_DateAdd_AddMinutes(async); AssertSql( - @"SELECT DATEADD(minute, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(minute, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddSeconds(bool async) @@ -3035,8 +3441,10 @@ public override async Task DateTimeOffset_DateAdd_AddSeconds(bool async) await base.DateTimeOffset_DateAdd_AddSeconds(async); AssertSql( - @"SELECT DATEADD(second, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(second, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool async) @@ -3044,8 +3452,10 @@ public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool async) await base.DateTimeOffset_DateAdd_AddMilliseconds(async); AssertSql( - @"SELECT DATEADD(millisecond, CAST(300.0E0 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(millisecond, CAST(300.0E0 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task Where_datetimeoffset_milliseconds_parameter_and_constant(bool async) @@ -3053,9 +3463,11 @@ public override async Task Where_datetimeoffset_milliseconds_parameter_and_const await base.Where_datetimeoffset_milliseconds_parameter_and_constant(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Missions] AS [m] -WHERE [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30'"); +WHERE [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30' +"""); } public override async Task Orderby_added_for_client_side_GroupJoin_composite_dependent_to_principal_LOJ_when_incomplete_key_is_used( @@ -3071,13 +3483,15 @@ public override async Task Complex_predicate_with_AndAlso_and_nullable_bool_prop await base.Complex_predicate_with_AndAlso_and_nullable_bool_property(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[FullName], [g].[HasSoulPatch] FROM [Gears] AS [g] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] -WHERE [w].[Id] <> 50 AND [t].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [w].[Id] <> 50 AND [t].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Distinct_with_optional_navigation_is_translated_to_sql(bool async) @@ -3085,10 +3499,12 @@ public override async Task Distinct_with_optional_navigation_is_translated_to_sq await base.Distinct_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT DISTINCT [g].[HasSoulPatch] +""" +SELECT DISTINCT [g].[HasSoulPatch] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL) +"""); } public override async Task Sum_with_optional_navigation_is_translated_to_sql(bool async) @@ -3096,10 +3512,12 @@ public override async Task Sum_with_optional_navigation_is_translated_to_sql(boo await base.Sum_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT COALESCE(SUM([g].[SquadId]), 0) +""" +SELECT COALESCE(SUM([g].[SquadId]), 0) FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL) +"""); } public override async Task Count_with_optional_navigation_is_translated_to_sql(bool async) @@ -3107,10 +3525,12 @@ public override async Task Count_with_optional_navigation_is_translated_to_sql(b await base.Count_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL) +"""); } public override async Task FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(bool async) @@ -3118,7 +3538,8 @@ public override async Task FirstOrDefault_with_manually_created_groupjoin_is_tra await base.FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(async); AssertSql( - @"SELECT TOP(1) [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT TOP(1) [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -3127,7 +3548,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t] ON [s].[Id] = [t].[SquadId] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(bool async) @@ -3135,14 +3557,16 @@ public override async Task Any_with_optional_navigation_as_subquery_predicate_is await base.Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] AS [s] WHERE NOT (EXISTS ( SELECT 1 FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] - WHERE [s].[Id] = [g].[SquadId] AND [t].[Note] = N'Dom''s Tag'))"); + WHERE [s].[Id] = [g].[SquadId] AND [t].[Note] = N'Dom''s Tag')) +"""); } public override async Task All_with_optional_navigation_is_translated_to_sql(bool async) @@ -3150,7 +3574,8 @@ public override async Task All_with_optional_navigation_is_translated_to_sql(boo await base.All_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Gears] AS [g] @@ -3158,7 +3583,8 @@ FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE [t].[Note] = N'Foo' AND ([t].[Note] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Contains_with_local_nullable_guid_list_closure(bool async) @@ -3166,9 +3592,11 @@ public override async Task Contains_with_local_nullable_guid_list_closure(bool a await base.Contains_with_local_nullable_guid_list_closure(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] -WHERE [t].[Id] IN ('d2c26679-562b-44d1-ab96-23d1775e0926', '23cbcf9b-ce14-45cf-aafa-2c2667ebfdd3', 'ab1b82d7-88db-42bd-a132-7eef9aa68af4')"); +WHERE [t].[Id] IN ('d2c26679-562b-44d1-ab96-23d1775e0926', '23cbcf9b-ce14-45cf-aafa-2c2667ebfdd3', 'ab1b82d7-88db-42bd-a132-7eef9aa68af4') +"""); } public override async Task Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(bool async) @@ -3176,10 +3604,12 @@ public override async Task Unnecessary_include_doesnt_get_added_complex_when_pro await base.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g].[Rank]"); +ORDER BY [g].[Rank] +"""); } public override async Task Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(bool async) @@ -3187,10 +3617,12 @@ public override async Task Multiple_order_bys_are_properly_lifted_from_subquery_ await base.Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(bool async) @@ -3198,10 +3630,12 @@ public override async Task Order_by_is_properly_lifted_from_subquery_with_same_o await base.Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Where_is_properly_lifted_from_subquery_created_by_include(bool async) @@ -3209,14 +3643,16 @@ public override async Task Where_is_properly_lifted_from_subquery_created_by_inc await base.Where_is_properly_lifted_from_subquery_created_by_include(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE [g].[FullName] <> N'Augustus Cole' AND [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Subquery_is_lifted_from_main_from_clause_of_SelectMany(bool async) @@ -3224,14 +3660,16 @@ public override async Task Subquery_is_lifted_from_main_from_clause_of_SelectMan await base.Subquery_is_lifted_from_main_from_clause_of_SelectMany(async); AssertSql( - @"SELECT [g].[FullName] AS [Name1], [t].[FullName] AS [Name2] +""" +SELECT [g].[FullName] AS [Name1], [t].[FullName] AS [Name2] FROM [Gears] AS [g] CROSS JOIN ( SELECT [g0].[FullName], [g0].[HasSoulPatch] FROM [Gears] AS [g0] ) AS [t] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [t].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(bool async) @@ -3239,11 +3677,13 @@ public override async Task Subquery_containing_SelectMany_projecting_main_from_c await base.Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] CROSS JOIN [Tags] AS [t] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Subquery_containing_join_projecting_main_from_clause_gets_lifted(bool async) @@ -3251,10 +3691,12 @@ public override async Task Subquery_containing_join_projecting_main_from_clause_ await base.Subquery_containing_join_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] INNER JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(bool async) @@ -3262,10 +3704,12 @@ public override async Task Subquery_containing_left_join_projecting_main_from_cl await base.Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Subquery_containing_join_gets_lifted_clashing_names(bool async) @@ -3273,12 +3717,14 @@ public override async Task Subquery_containing_join_gets_lifted_clashing_names(b await base.Subquery_containing_join_gets_lifted_clashing_names(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] INNER JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] INNER JOIN [Tags] AS [t0] ON [g].[Nickname] = [t0].[GearNickName] WHERE [t].[GearNickName] <> N'Cole Train' OR ([t].[GearNickName] IS NULL) -ORDER BY [g].[Nickname], [t0].[Id]"); +ORDER BY [g].[Nickname], [t0].[Id] +"""); } public override async Task Subquery_created_by_include_gets_lifted_nested(bool async) @@ -3286,7 +3732,8 @@ public override async Task Subquery_created_by_include_gets_lifted_nested(bool a await base.Subquery_created_by_include_gets_lifted_nested(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [c].[Name], [c].[Location], [c].[Nation] FROM [Gears] AS [g] @@ -3296,7 +3743,8 @@ WHERE EXISTS ( SELECT 1 FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName]) AND [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Subquery_is_lifted_from_additional_from_clause(bool async) @@ -3304,14 +3752,16 @@ public override async Task Subquery_is_lifted_from_additional_from_clause(bool a await base.Subquery_is_lifted_from_additional_from_clause(async); AssertSql( - @"SELECT [g].[FullName] AS [Name1], [t].[FullName] AS [Name2] +""" +SELECT [g].[FullName] AS [Name1], [t].[FullName] AS [Name2] FROM [Gears] AS [g] CROSS JOIN ( SELECT [g0].[FullName], [g0].[HasSoulPatch] FROM [Gears] AS [g0] ) AS [t] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [t].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Subquery_with_result_operator_is_not_lifted(bool async) @@ -3319,7 +3769,8 @@ public override async Task Subquery_with_result_operator_is_not_lifted(bool asyn await base.Subquery_with_result_operator_is_not_lifted(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[FullName] FROM ( @@ -3328,7 +3779,8 @@ FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ORDER BY [g].[FullName] ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Skip_with_orderby_followed_by_orderBy_is_pushed_down(bool async) @@ -3336,7 +3788,8 @@ public override async Task Skip_with_orderby_followed_by_orderBy_is_pushed_down( await base.Skip_with_orderby_followed_by_orderBy_is_pushed_down(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[FullName] FROM ( @@ -3346,7 +3799,8 @@ FROM [Gears] AS [g] ORDER BY [g].[FullName] OFFSET @__p_0 ROWS ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down1(bool async) @@ -3354,7 +3808,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down1(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t].[FullName] FROM ( @@ -3362,7 +3817,8 @@ SELECT TOP(@__p_0) [g].[FullName], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down2(bool async) @@ -3370,7 +3826,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down2(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t].[FullName] FROM ( @@ -3378,7 +3835,8 @@ SELECT TOP(@__p_0) [g].[FullName], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down3(bool async) @@ -3386,7 +3844,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down3(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t].[FullName] FROM ( @@ -3394,7 +3853,8 @@ SELECT TOP(@__p_0) [g].[FullName], [g].[Rank] FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] -ORDER BY [t].[FullName], [t].[Rank]"); +ORDER BY [t].[FullName], [t].[Rank] +"""); } public override async Task Select_length_of_string_property(bool async) @@ -3402,8 +3862,10 @@ public override async Task Select_length_of_string_property(bool async) await base.Select_length_of_string_property(async); AssertSql( - @"SELECT [w].[Name], CAST(LEN([w].[Name]) AS int) AS [Length] -FROM [Weapons] AS [w]"); +""" +SELECT [w].[Name], CAST(LEN([w].[Name]) AS int) AS [Length] +FROM [Weapons] AS [w] +"""); } public override async Task Client_method_on_collection_navigation_in_outer_join_key(bool async) @@ -3418,11 +3880,13 @@ public override async Task Member_access_on_derived_entity_using_cast(bool async await base.Member_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [l].[Eradicated] +""" +SELECT [f].[Name], [l].[Eradicated] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Member_access_on_derived_materialized_entity_using_cast(bool async) @@ -3430,13 +3894,15 @@ public override async Task Member_access_on_derived_materialized_entity_using_ca await base.Member_access_on_derived_materialized_entity_using_cast(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Member_access_on_derived_entity_using_cast_and_let(bool async) @@ -3444,11 +3910,13 @@ public override async Task Member_access_on_derived_entity_using_cast_and_let(bo await base.Member_access_on_derived_entity_using_cast_and_let(async); AssertSql( - @"SELECT [f].[Name], [l].[Eradicated] +""" +SELECT [f].[Name], [l].[Eradicated] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Property_access_on_derived_entity_using_cast(bool async) @@ -3456,11 +3924,13 @@ public override async Task Property_access_on_derived_entity_using_cast(bool asy await base.Property_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [l].[Eradicated] +""" +SELECT [f].[Name], [l].[Eradicated] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Navigation_access_on_derived_entity_using_cast(bool async) @@ -3468,7 +3938,8 @@ public override async Task Navigation_access_on_derived_entity_using_cast(bool a await base.Navigation_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] +""" +SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] LEFT JOIN ( @@ -3477,7 +3948,8 @@ FROM [LocustLeaders] AS [l0] INNER JOIN [LocustCommanders] AS [l1] ON [l0].[Name] = [l1].[Name] ) AS [t] ON [l].[CommanderName] = [t].[Name] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Navigation_access_on_derived_materialized_entity_using_cast(bool async) @@ -3485,7 +3957,8 @@ public override async Task Navigation_access_on_derived_materialized_entity_usin await base.Navigation_access_on_derived_materialized_entity_using_cast(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator], [t].[ThreatLevel] AS [Threat] FROM [Factions] AS [f] @@ -3496,7 +3969,8 @@ FROM [LocustLeaders] AS [l0] INNER JOIN [LocustCommanders] AS [l1] ON [l0].[Name] = [l1].[Name] ) AS [t] ON [l].[CommanderName] = [t].[Name] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Navigation_access_via_EFProperty_on_derived_entity_using_cast(bool async) @@ -3504,7 +3978,8 @@ public override async Task Navigation_access_via_EFProperty_on_derived_entity_us await base.Navigation_access_via_EFProperty_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] +""" +SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] LEFT JOIN ( @@ -3513,7 +3988,8 @@ FROM [LocustLeaders] AS [l0] INNER JOIN [LocustCommanders] AS [l1] ON [l0].[Name] = [l1].[Name] ) AS [t] ON [l].[CommanderName] = [t].[Name] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Navigation_access_fk_on_derived_entity_using_cast(bool async) @@ -3521,7 +3997,8 @@ public override async Task Navigation_access_fk_on_derived_entity_using_cast(boo await base.Navigation_access_fk_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [t].[Name] AS [CommanderName] +""" +SELECT [f].[Name], [t].[Name] AS [CommanderName] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] LEFT JOIN ( @@ -3530,7 +4007,8 @@ FROM [LocustLeaders] AS [l0] INNER JOIN [LocustCommanders] AS [l1] ON [l0].[Name] = [l1].[Name] ) AS [t] ON [l].[CommanderName] = [t].[Name] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Collection_navigation_access_on_derived_entity_using_cast(bool async) @@ -3538,7 +4016,8 @@ public override async Task Collection_navigation_access_on_derived_entity_using_ await base.Collection_navigation_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], ( +""" +SELECT [f].[Name], ( SELECT COUNT(*) FROM [LocustLeaders] AS [l0] LEFT JOIN [LocustCommanders] AS [l1] ON [l0].[Name] = [l1].[Name] @@ -3546,7 +4025,8 @@ FROM [LocustLeaders] AS [l0] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(bool async) @@ -3554,7 +4034,8 @@ public override async Task Collection_navigation_access_on_derived_entity_using_ await base.Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(async); AssertSql( - @"SELECT [f].[Name], [t].[Name] AS [LeaderName] +""" +SELECT [f].[Name], [t].[Name] AS [LeaderName] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] INNER JOIN ( @@ -3562,7 +4043,8 @@ INNER JOIN ( FROM [LocustLeaders] AS [l0] ) AS [t] ON [f].[Id] = [t].[LocustHordeId] WHERE [l].[Id] IS NOT NULL -ORDER BY [t].[Name]"); +ORDER BY [t].[Name] +"""); } public override async Task Include_on_derived_entity_using_OfType(bool async) @@ -3570,7 +4052,8 @@ public override async Task Include_on_derived_entity_using_OfType(bool async) await base.Include_on_derived_entity_using_OfType(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t0].[Name], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t0].[Discriminator] FROM [Factions] AS [f] @@ -3588,7 +4071,8 @@ FROM [LocustLeaders] AS [l2] LEFT JOIN [LocustCommanders] AS [l3] ON [l2].[Name] = [l3].[Name] ) AS [t0] ON [f].[Id] = [t0].[LocustHordeId] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Name], [f].[Id], [t].[Name]"); +ORDER BY [f].[Name], [f].[Id], [t].[Name] +"""); } public override async Task Distinct_on_subquery_doesnt_get_lifted(bool async) @@ -3596,14 +4080,16 @@ public override async Task Distinct_on_subquery_doesnt_get_lifted(bool async) await base.Distinct_on_subquery_doesnt_get_lifted(async); AssertSql( - @"SELECT [t].[HasSoulPatch] +""" +SELECT [t].[HasSoulPatch] FROM ( SELECT DISTINCT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -) AS [t]"); +) AS [t] +"""); } public override async Task Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(bool async) @@ -3611,9 +4097,11 @@ public override async Task Cast_result_operator_on_subquery_is_properly_lifted_t await base.Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(async); AssertSql( - @"SELECT [l].[Eradicated] +""" +SELECT [l].[Eradicated] FROM [Factions] AS [f] -LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id]"); +LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] +"""); } public override async Task Comparing_two_collection_navigations_composite_key(bool async) @@ -3621,14 +4109,16 @@ public override async Task Comparing_two_collection_navigations_composite_key(bo await base.Comparing_two_collection_navigations_composite_key(async); AssertSql( - @"SELECT [g].[Nickname] AS [Nickname1], [t].[Nickname] AS [Nickname2] +""" +SELECT [g].[Nickname] AS [Nickname1], [t].[Nickname] AS [Nickname2] FROM [Gears] AS [g] CROSS JOIN ( SELECT [g0].[Nickname], [g0].[SquadId] FROM [Gears] AS [g0] ) AS [t] WHERE [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Comparing_two_collection_navigations_inheritance(bool async) @@ -3636,7 +4126,8 @@ public override async Task Comparing_two_collection_navigations_inheritance(bool await base.Comparing_two_collection_navigations_inheritance(async); AssertSql( - @"SELECT [f].[Name], [t].[Nickname] +""" +SELECT [f].[Name], [t].[Nickname] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] CROSS JOIN ( @@ -3654,7 +4145,8 @@ LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId] FROM [Gears] AS [g0] ) AS [t1] ON [t0].[DefeatedByNickname] = [t1].[Nickname] AND [t0].[DefeatedBySquadId] = [t1].[SquadId] -WHERE ([l].[Id] IS NOT NULL) AND [t].[HasSoulPatch] = CAST(1 AS bit) AND [t1].[Nickname] = [t].[Nickname] AND [t1].[SquadId] = [t].[SquadId]"); +WHERE ([l].[Id] IS NOT NULL) AND [t].[HasSoulPatch] = CAST(1 AS bit) AND [t1].[Nickname] = [t].[Nickname] AND [t1].[SquadId] = [t].[SquadId] +"""); } public override async Task Comparing_entities_using_Equals_inheritance(bool async) @@ -3662,7 +4154,8 @@ public override async Task Comparing_entities_using_Equals_inheritance(bool asyn await base.Comparing_entities_using_Equals_inheritance(async); AssertSql( - @"SELECT [g].[Nickname] AS [Nickname1], [t].[Nickname] AS [Nickname2] +""" +SELECT [g].[Nickname] AS [Nickname1], [t].[Nickname] AS [Nickname2] FROM [Gears] AS [g] CROSS JOIN ( SELECT [g0].[Nickname], [g0].[SquadId] @@ -3671,7 +4164,8 @@ FROM [Gears] AS [g0] WHERE [o0].[Nickname] IS NOT NULL ) AS [t] WHERE [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId] -ORDER BY [g].[Nickname], [t].[Nickname]"); +ORDER BY [g].[Nickname], [t].[Nickname] +"""); } public override async Task Contains_on_nullable_array_produces_correct_sql(bool async) @@ -3679,13 +4173,15 @@ public override async Task Contains_on_nullable_array_produces_correct_sql(bool await base.Contains_on_nullable_array_produces_correct_sql(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Cities] AS [c] ON [g].[AssignedCityName] = [c].[Name] -WHERE [g].[SquadId] < 2 AND ([c].[Name] = N'Ephyra' OR ([c].[Name] IS NULL))"); +WHERE [g].[SquadId] < 2 AND ([c].[Name] = N'Ephyra' OR ([c].[Name] IS NULL)) +"""); } public override async Task Optional_navigation_with_collection_composite_key(bool async) @@ -3693,7 +4189,8 @@ public override async Task Optional_navigation_with_collection_composite_key(boo await base.Optional_navigation_with_collection_composite_key(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], CASE @@ -3706,7 +4203,8 @@ FROM [Gears] AS [g] SELECT COUNT(*) FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] - WHERE ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) AND [t0].[Nickname] = [g0].[LeaderNickname] AND [t0].[SquadId] = [g0].[LeaderSquadId] AND [g0].[Nickname] = N'Dom') > 0"); + WHERE ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) AND [t0].[Nickname] = [g0].[LeaderNickname] AND [t0].[SquadId] = [g0].[LeaderSquadId] AND [g0].[Nickname] = N'Dom') > 0 +"""); } public override async Task Select_null_conditional_with_inheritance(bool async) @@ -3714,13 +4212,15 @@ public override async Task Select_null_conditional_with_inheritance(bool async) await base.Select_null_conditional_with_inheritance(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l].[CommanderName] IS NOT NULL THEN [l].[CommanderName] ELSE NULL END FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] -WHERE [l].[Id] IS NOT NULL"); +WHERE [l].[Id] IS NOT NULL +"""); } public override async Task Select_null_conditional_with_inheritance_negative(bool async) @@ -3728,13 +4228,15 @@ public override async Task Select_null_conditional_with_inheritance_negative(boo await base.Select_null_conditional_with_inheritance_negative(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l].[CommanderName] IS NOT NULL THEN [l].[Eradicated] ELSE NULL END FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] -WHERE [l].[Id] IS NOT NULL"); +WHERE [l].[Id] IS NOT NULL +"""); } public override async Task Project_collection_navigation_with_inheritance1(bool async) @@ -3742,7 +4244,8 @@ public override async Task Project_collection_navigation_with_inheritance1(bool await base.Project_collection_navigation_with_inheritance1(async); AssertSql( - @"SELECT [f].[Id], [t].[Name], [t0].[Id], [t1].[Name], [t1].[LocustHordeId], [t1].[ThreatLevel], [t1].[ThreatLevelByte], [t1].[ThreatLevelNullableByte], [t1].[DefeatedByNickname], [t1].[DefeatedBySquadId], [t1].[HighCommandId], [t1].[Discriminator] +""" +SELECT [f].[Id], [t].[Name], [t0].[Id], [t1].[Name], [t1].[LocustHordeId], [t1].[ThreatLevel], [t1].[ThreatLevelByte], [t1].[ThreatLevelNullableByte], [t1].[DefeatedByNickname], [t1].[DefeatedBySquadId], [t1].[HighCommandId], [t1].[Discriminator] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] LEFT JOIN ( @@ -3763,7 +4266,8 @@ FROM [LocustLeaders] AS [l3] LEFT JOIN [LocustCommanders] AS [l4] ON [l3].[Name] = [l4].[Name] ) AS [t1] ON [t0].[Id] = [t1].[LocustHordeId] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Id], [t].[Name], [t0].[Id]"); +ORDER BY [f].[Id], [t].[Name], [t0].[Id] +"""); } public override async Task Project_collection_navigation_with_inheritance2(bool async) @@ -3771,7 +4275,8 @@ public override async Task Project_collection_navigation_with_inheritance2(bool await base.Project_collection_navigation_with_inheritance2(async); AssertSql( - @"SELECT [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] LEFT JOIN ( @@ -3791,7 +4296,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Project_collection_navigation_with_inheritance3(bool async) @@ -3799,7 +4305,8 @@ public override async Task Project_collection_navigation_with_inheritance3(bool await base.Project_collection_navigation_with_inheritance3(async); AssertSql( - @"SELECT [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] LEFT JOIN ( @@ -3819,7 +4326,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Include_reference_on_derived_type_using_string(bool async) @@ -3827,7 +4335,8 @@ public override async Task Include_reference_on_derived_type_using_string(bool a await base.Include_reference_on_derived_type_using_string(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [LocustLeaders] AS [l] @@ -3838,7 +4347,8 @@ WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId]"); +) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_string_nested1(bool async) @@ -3846,7 +4356,8 @@ public override async Task Include_reference_on_derived_type_using_string_nested await base.Include_reference_on_derived_type_using_string_nested1(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [LocustLeaders] AS [l] @@ -3858,7 +4369,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId] -LEFT JOIN [Squads] AS [s] ON [t].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] AS [s] ON [t].[SquadId] = [s].[Id] +"""); } public override async Task Include_reference_on_derived_type_using_string_nested2(bool async) @@ -3866,7 +4378,8 @@ public override async Task Include_reference_on_derived_type_using_string_nested await base.Include_reference_on_derived_type_using_string_nested2(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[Name], [t0].[Location], [t0].[Nation] FROM [LocustLeaders] AS [l] @@ -3886,7 +4399,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] INNER JOIN [Cities] AS [c] ON [g0].[CityOfBirthName] = [c].[Name] ) AS [t0] ON ([t].[Nickname] = [t0].[LeaderNickname] OR (([t].[Nickname] IS NULL) AND ([t0].[LeaderNickname] IS NULL))) AND [t].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [l].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [l].[Name], [t].[Nickname], [t].[SquadId], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_lambda(bool async) @@ -3894,7 +4408,8 @@ public override async Task Include_reference_on_derived_type_using_lambda(bool a await base.Include_reference_on_derived_type_using_lambda(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [LocustLeaders] AS [l] @@ -3905,7 +4420,8 @@ WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId]"); +) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_lambda_with_soft_cast(bool async) @@ -3913,7 +4429,8 @@ public override async Task Include_reference_on_derived_type_using_lambda_with_s await base.Include_reference_on_derived_type_using_lambda_with_soft_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [LocustLeaders] AS [l] @@ -3924,7 +4441,8 @@ WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId]"); +) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_lambda_with_tracking(bool async) @@ -3932,7 +4450,8 @@ public override async Task Include_reference_on_derived_type_using_lambda_with_t await base.Include_reference_on_derived_type_using_lambda_with_tracking(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [LocustLeaders] AS [l] @@ -3943,7 +4462,8 @@ WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId]"); +) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId] +"""); } public override async Task Include_collection_on_derived_type_using_string(bool async) @@ -3951,7 +4471,8 @@ public override async Task Include_collection_on_derived_type_using_string(bool await base.Include_collection_on_derived_type_using_string(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -3963,7 +4484,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Include_collection_on_derived_type_using_lambda(bool async) @@ -3971,7 +4493,8 @@ public override async Task Include_collection_on_derived_type_using_lambda(bool await base.Include_collection_on_derived_type_using_lambda(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -3983,7 +4506,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Include_collection_on_derived_type_using_lambda_with_soft_cast(bool async) @@ -3991,7 +4515,8 @@ public override async Task Include_collection_on_derived_type_using_lambda_with_ await base.Include_collection_on_derived_type_using_lambda_with_soft_cast(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -4003,7 +4528,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Include_base_navigation_on_derived_entity(bool async) @@ -4011,14 +4537,16 @@ public override async Task Include_base_navigation_on_derived_entity(bool async) await base.Include_base_navigation_on_derived_entity(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task ThenInclude_collection_on_derived_after_base_reference(bool async) @@ -4026,7 +4554,8 @@ public override async Task ThenInclude_collection_on_derived_after_base_referenc await base.ThenInclude_collection_on_derived_after_base_reference(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -4036,7 +4565,8 @@ FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task ThenInclude_collection_on_derived_after_derived_reference(bool async) @@ -4044,7 +4574,8 @@ public override async Task ThenInclude_collection_on_derived_after_derived_refer await base.ThenInclude_collection_on_derived_after_derived_reference(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Factions] AS [f] @@ -4068,7 +4599,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task ThenInclude_collection_on_derived_after_derived_collection(bool async) @@ -4076,7 +4608,8 @@ public override async Task ThenInclude_collection_on_derived_after_derived_colle await base.ThenInclude_collection_on_derived_after_derived_collection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[Nickname0], [t0].[SquadId0], [t0].[AssignedCityName0], [t0].[CityOfBirthName0], [t0].[FullName0], [t0].[HasSoulPatch0], [t0].[LeaderNickname0], [t0].[LeaderSquadId0], [t0].[Rank0], [t0].[Discriminator0] FROM [Gears] AS [g] @@ -4095,7 +4628,8 @@ FROM [Gears] AS [g1] LEFT JOIN [Officers] AS [o1] ON [g1].[Nickname] = [o1].[Nickname] AND [g1].[SquadId] = [o1].[SquadId] ) AS [t] ON [g0].[Nickname] = [t].[LeaderNickname] AND [g0].[SquadId] = [t].[LeaderSquadId] ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[Nickname0]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[Nickname0] +"""); } public override async Task ThenInclude_reference_on_derived_after_derived_collection(bool async) @@ -4103,7 +4637,8 @@ public override async Task ThenInclude_reference_on_derived_after_derived_collec await base.ThenInclude_reference_on_derived_after_derived_collection(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator], [t0].[Name], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t0].[Discriminator], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator0] FROM [Factions] AS [f] @@ -4122,7 +4657,8 @@ FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t] ON [l1].[DefeatedByNickname] = [t].[Nickname] AND [l1].[DefeatedBySquadId] = [t].[SquadId] ) AS [t0] ON [f].[Id] = [t0].[LocustHordeId] -ORDER BY [f].[Id], [t0].[Name], [t0].[Nickname]"); +ORDER BY [f].[Id], [t0].[Name], [t0].[Nickname] +"""); } public override async Task Multiple_derived_included_on_one_method(bool async) @@ -4130,7 +4666,8 @@ public override async Task Multiple_derived_included_on_one_method(bool async) await base.Multiple_derived_included_on_one_method(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Factions] AS [f] @@ -4154,7 +4691,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Include_on_derived_multi_level(bool async) @@ -4162,7 +4700,8 @@ public override async Task Include_on_derived_multi_level(bool async) await base.Include_on_derived_multi_level(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t].[Id], [t].[Banner], [t].[Banner5], [t].[InternalNumber], [t].[Name], [t].[SquadId0], [t].[MissionId] FROM [Gears] AS [g] @@ -4176,7 +4715,8 @@ FROM [Gears] AS [g0] INNER JOIN [Squads] AS [s] ON [g0].[SquadId] = [s].[Id] LEFT JOIN [SquadMissions] AS [s0] ON [s].[Id] = [s0].[SquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[Id], [t].[SquadId0]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[Id], [t].[SquadId0] +"""); } public override async Task Projecting_nullable_bool_in_conditional_works(bool async) @@ -4184,7 +4724,8 @@ public override async Task Projecting_nullable_bool_in_conditional_works(bool as await base.Projecting_nullable_bool_in_conditional_works(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) THEN [t0].[HasSoulPatch] ELSE CAST(0 AS bit) END AS [Prop] @@ -4192,7 +4733,8 @@ FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Enum_ToString_is_client_eval(bool async) @@ -4200,9 +4742,11 @@ public override async Task Enum_ToString_is_client_eval(bool async) await base.Enum_ToString_is_client_eval(async); AssertSql( - @"SELECT [g].[Rank] +""" +SELECT [g].[Rank] FROM [Gears] AS [g] -ORDER BY [g].[SquadId], [g].[Nickname]"); +ORDER BY [g].[SquadId], [g].[Nickname] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToList(bool async) @@ -4210,11 +4754,13 @@ public override async Task Correlated_collections_naked_navigation_with_ToList(b await base.Correlated_collections_naked_navigation_with_ToList(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(bool async) @@ -4222,13 +4768,15 @@ public override async Task Correlated_collections_naked_navigation_with_ToList_f await base.Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName]) FROM [Gears] AS [g] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToArray(bool async) @@ -4236,11 +4784,13 @@ public override async Task Correlated_collections_naked_navigation_with_ToArray( await base.Correlated_collections_naked_navigation_with_ToArray(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection(bool async) @@ -4248,7 +4798,8 @@ public override async Task Correlated_collections_basic_projection(bool async) await base.Correlated_collections_basic_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -4256,7 +4807,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection_explicit_to_list(bool async) @@ -4264,7 +4816,8 @@ public override async Task Correlated_collections_basic_projection_explicit_to_l await base.Correlated_collections_basic_projection_explicit_to_list(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -4272,7 +4825,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection_explicit_to_array(bool async) @@ -4280,7 +4834,8 @@ public override async Task Correlated_collections_basic_projection_explicit_to_a await base.Correlated_collections_basic_projection_explicit_to_array(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -4288,7 +4843,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projection_ordered(bool async) @@ -4296,7 +4852,8 @@ public override async Task Correlated_collections_basic_projection_ordered(bool await base.Correlated_collections_basic_projection_ordered(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -4304,7 +4861,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name] DESC"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name] DESC +"""); } public override async Task Correlated_collections_basic_projection_composite_key(bool async) @@ -4312,7 +4870,8 @@ public override async Task Correlated_collections_basic_projection_composite_key await base.Correlated_collections_basic_projection_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[FullName], [t].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[FullName], [t].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN ( @@ -4321,7 +4880,8 @@ FROM [Gears] AS [g0] WHERE [g0].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] WHERE ([o].[Nickname] IS NOT NULL) AND [g].[Nickname] <> N'Foo' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collections_basic_projecting_single_property(bool async) @@ -4329,7 +4889,8 @@ public override async Task Correlated_collections_basic_projecting_single_proper await base.Correlated_collections_basic_projecting_single_property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[Id] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Name], [w].[Id], [w].[OwnerFullName] @@ -4337,7 +4898,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projecting_constant(bool async) @@ -4345,7 +4907,8 @@ public override async Task Correlated_collections_basic_projecting_constant(bool await base.Correlated_collections_basic_projecting_constant(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] FROM [Gears] AS [g] LEFT JOIN ( SELECT N'BFG' AS [c], [w].[Id], [w].[OwnerFullName] @@ -4353,7 +4916,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_basic_projecting_constant_bool(bool async) @@ -4361,7 +4925,8 @@ public override async Task Correlated_collections_basic_projecting_constant_bool await base.Correlated_collections_basic_projecting_constant_bool(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] FROM [Gears] AS [g] LEFT JOIN ( SELECT CAST(1 AS bit) AS [c], [w].[Id], [w].[OwnerFullName] @@ -4369,7 +4934,8 @@ FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_projection_of_collection_thru_navigation(bool async) @@ -4377,7 +4943,8 @@ public override async Task Correlated_collections_projection_of_collection_thru_ await base.Correlated_collections_projection_of_collection_thru_navigation(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId], [t].[MissionId] +""" +SELECT [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId], [t].[MissionId] FROM [Gears] AS [g] INNER JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] LEFT JOIN ( @@ -4386,7 +4953,8 @@ FROM [SquadMissions] AS [s0] WHERE [s0].[MissionId] <> 17 ) AS [t] ON [s].[Id] = [t].[SquadId] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId]"); +ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId] +"""); } public override async Task Correlated_collections_project_anonymous_collection_result(bool async) @@ -4394,14 +4962,16 @@ public override async Task Correlated_collections_project_anonymous_collection_r await base.Correlated_collections_project_anonymous_collection_result(async); AssertSql( - @"SELECT [s].[Name], [s].[Id], [t].[FullName], [t].[Rank], [t].[Nickname], [t].[SquadId] +""" +SELECT [s].[Name], [s].[Id], [t].[FullName], [t].[Rank], [t].[Nickname], [t].[SquadId] FROM [Squads] AS [s] LEFT JOIN ( SELECT [g].[FullName], [g].[Rank], [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t] ON [s].[Id] = [t].[SquadId] WHERE [s].[Id] < 20 -ORDER BY [s].[Id], [t].[Nickname]"); +ORDER BY [s].[Id], [t].[Nickname] +"""); } public override async Task Correlated_collections_nested(bool async) @@ -4409,7 +4979,8 @@ public override async Task Correlated_collections_nested(bool async) await base.Correlated_collections_nested(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] FROM [Squads] AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0] @@ -4422,7 +4993,8 @@ WHERE [s1].[SquadId] < 7 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 42 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Correlated_collections_nested_mixed_streaming_with_buffer1(bool async) @@ -4430,7 +5002,8 @@ public override async Task Correlated_collections_nested_mixed_streaming_with_bu await base.Correlated_collections_nested_mixed_streaming_with_buffer1(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] FROM [Squads] AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0] @@ -4443,7 +5016,8 @@ WHERE [s1].[SquadId] < 2 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 3 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Correlated_collections_nested_mixed_streaming_with_buffer2(bool async) @@ -4451,7 +5025,8 @@ public override async Task Correlated_collections_nested_mixed_streaming_with_bu await base.Correlated_collections_nested_mixed_streaming_with_buffer2(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0] FROM [Squads] AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0] @@ -4464,7 +5039,8 @@ WHERE [s1].[SquadId] < 7 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 42 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Correlated_collections_nested_with_custom_ordering(bool async) @@ -4472,7 +5048,8 @@ public override async Task Correlated_collections_nested_with_custom_ordering(bo await base.Correlated_collections_nested_with_custom_ordering(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN ( @@ -4486,7 +5063,8 @@ FROM [Weapons] AS [w] WHERE [g0].[FullName] <> N'Foo' ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[HasSoulPatch] DESC, [g].[Nickname], [g].[SquadId], [t0].[Rank], [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic]"); +ORDER BY [g].[HasSoulPatch] DESC, [g].[Nickname], [g].[SquadId], [t0].[Rank], [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic] +"""); } public override async Task Correlated_collections_same_collection_projected_multiple_times(bool async) @@ -4494,7 +5072,8 @@ public override async Task Correlated_collections_same_collection_projected_mult await base.Correlated_collections_same_collection_projected_multiple_times(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -4506,7 +5085,8 @@ LEFT JOIN ( FROM [Weapons] AS [w0] WHERE [w0].[IsAutomatic] = CAST(1 AS bit) ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Correlated_collections_similar_collection_projected_multiple_times(bool async) @@ -4514,7 +5094,8 @@ public override async Task Correlated_collections_similar_collection_projected_m await base.Correlated_collections_similar_collection_projected_multiple_times(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -4526,7 +5107,8 @@ LEFT JOIN ( FROM [Weapons] AS [w0] WHERE [w0].[IsAutomatic] = CAST(0 AS bit) ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Rank], [g].[Nickname], [g].[SquadId], [t].[OwnerFullName], [t].[Id], [t0].[IsAutomatic]"); +ORDER BY [g].[Rank], [g].[Nickname], [g].[SquadId], [t].[OwnerFullName], [t].[Id], [t0].[IsAutomatic] +"""); } public override async Task Correlated_collections_different_collections_projected(bool async) @@ -4534,7 +5116,8 @@ public override async Task Correlated_collections_different_collections_projecte await base.Correlated_collections_different_collections_projected(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic], [t].[Id], [t0].[Nickname], [t0].[Rank], [t0].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic], [t].[Id], [t0].[Nickname], [t0].[Rank], [t0].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN ( @@ -4547,7 +5130,8 @@ LEFT JOIN ( FROM [Gears] AS [g0] ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[FullName], [t0].[Nickname]"); +ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[FullName], [t0].[Nickname] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(bool async) @@ -4555,7 +5139,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] @@ -4564,7 +5149,8 @@ SELECT 1 FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(bool async) @@ -4572,7 +5158,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId], [t1].[Nickname], [t1].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] @@ -4593,7 +5180,8 @@ SELECT 1 FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[IsAutomatic], [t1].[Nickname] DESC, [t1].[Id]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[IsAutomatic], [t1].[Nickname] DESC, [t1].[Id] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings( @@ -4602,7 +5190,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId], [t1].[Nickname], [t1].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] @@ -4623,7 +5212,8 @@ SELECT 1 FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[IsAutomatic], [t1].[Nickname] DESC, [t1].[Id]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[IsAutomatic], [t1].[Nickname] DESC, [t1].[Id] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings( @@ -4632,7 +5222,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId], [t1].[Nickname], [t1].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] @@ -4656,7 +5247,8 @@ SELECT 1 FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id] DESC, [t1].[c], [t1].[Nickname]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id] DESC, [t1].[c], [t1].[Nickname] +"""); } public override async Task Correlated_collections_multiple_nested_complex_collections(bool async) @@ -4664,7 +5256,8 @@ public override async Task Correlated_collections_multiple_nested_complex_collec await base.Correlated_collections_multiple_nested_complex_collections(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t2].[FullName], [t2].[Nickname], [t2].[SquadId], [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Name], [t2].[IsAutomatic], [t2].[Id1], [t2].[Nickname00], [t2].[HasSoulPatch], [t2].[SquadId00], [t5].[Id], [t5].[AmmunitionType], [t5].[IsAutomatic], [t5].[Name], [t5].[OwnerFullName], [t5].[SynergyWithId], [t5].[Nickname], [t5].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t2].[FullName], [t2].[Nickname], [t2].[SquadId], [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Name], [t2].[IsAutomatic], [t2].[Id1], [t2].[Nickname00], [t2].[HasSoulPatch], [t2].[SquadId00], [t5].[Id], [t5].[AmmunitionType], [t5].[IsAutomatic], [t5].[Name], [t5].[OwnerFullName], [t5].[SynergyWithId], [t5].[Nickname], [t5].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] @@ -4705,7 +5298,8 @@ SELECT 1 FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t2].[Rank], [t2].[Nickname], [t2].[SquadId], [t2].[IsAutomatic0], [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Id1], [t2].[Nickname00], [t2].[SquadId00], [t5].[IsAutomatic], [t5].[Nickname] DESC, [t5].[Id]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t2].[Rank], [t2].[Nickname], [t2].[SquadId], [t2].[IsAutomatic0], [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Id1], [t2].[Nickname00], [t2].[SquadId00], [t5].[IsAutomatic], [t5].[Nickname] DESC, [t5].[Id] +"""); } public override async Task Correlated_collections_inner_subquery_selector_references_outer_qsre(bool async) @@ -4713,7 +5307,8 @@ public override async Task Correlated_collections_inner_subquery_selector_refere await base.Correlated_collections_inner_subquery_selector_references_outer_qsre(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] OUTER APPLY ( @@ -4722,7 +5317,8 @@ FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] ) AS [t] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collections_inner_subquery_predicate_references_outer_qsre(bool async) @@ -4730,7 +5326,8 @@ public override async Task Correlated_collections_inner_subquery_predicate_refer await base.Correlated_collections_inner_subquery_predicate_references_outer_qsre(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[Nickname], [t].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[Nickname], [t].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] OUTER APPLY ( @@ -4739,7 +5336,8 @@ FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] AND [g].[FullName] <> N'Foo' ) AS [t] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collections_nested_inner_subquery_references_outer_qsre_one_level_up(bool async) @@ -4747,7 +5345,8 @@ public override async Task Correlated_collections_nested_inner_subquery_referenc await base.Correlated_collections_nested_inner_subquery_references_outer_qsre_one_level_up(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN ( @@ -4761,7 +5360,8 @@ FROM [Weapons] AS [w] WHERE [g0].[FullName] <> N'Foo' ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collections_nested_inner_subquery_references_outer_qsre_two_levels_up(bool async) @@ -4769,7 +5369,8 @@ public override async Task Correlated_collections_nested_inner_subquery_referenc await base.Correlated_collections_nested_inner_subquery_references_outer_qsre_two_levels_up(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] OUTER APPLY ( @@ -4783,7 +5384,8 @@ FROM [Weapons] AS [w] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] AND [g0].[FullName] <> N'Foo' ) AS [t0] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collections_on_select_many(bool async) @@ -4791,7 +5393,8 @@ public override async Task Correlated_collections_on_select_many(bool async) await base.Correlated_collections_on_select_many(async); AssertSql( - @"SELECT [g].[Nickname], [s].[Name], [g].[SquadId], [s].[Id], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [g].[Nickname], [s].[Name], [g].[SquadId], [s].[Id], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Gears] AS [g] CROSS JOIN [Squads] AS [s] LEFT JOIN ( @@ -4808,7 +5411,8 @@ FROM [Gears] AS [g0] WHERE [g0].[HasSoulPatch] = CAST(0 AS bit) ) AS [t0] ON [s].[Id] = [t0].[SquadId] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g].[Nickname], [s].[Id] DESC, [g].[SquadId], [t].[Id], [t0].[Nickname]"); +ORDER BY [g].[Nickname], [s].[Id] DESC, [g].[SquadId], [t].[Id], [t0].[Nickname] +"""); } public override async Task Correlated_collections_with_Skip(bool async) @@ -4816,7 +5420,8 @@ public override async Task Correlated_collections_with_Skip(bool async) await base.Correlated_collections_with_Skip(async); AssertSql( - @"SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] @@ -4829,7 +5434,8 @@ FROM [Gears] AS [g] ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname] +"""); } public override async Task Correlated_collections_with_Take(bool async) @@ -4837,7 +5443,8 @@ public override async Task Correlated_collections_with_Take(bool async) await base.Correlated_collections_with_Take(async); AssertSql( - @"SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] @@ -4850,7 +5457,8 @@ FROM [Gears] AS [g] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname] +"""); } public override async Task Correlated_collections_with_Distinct(bool async) @@ -4858,7 +5466,8 @@ public override async Task Correlated_collections_with_Distinct(bool async) await base.Correlated_collections_with_Distinct(async); AssertSql( - @"SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Squads] AS [s] OUTER APPLY ( SELECT DISTINCT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] @@ -4873,7 +5482,8 @@ ORDER BY [g].[Nickname] OFFSET 0 ROWS ) AS [t] ) AS [t0] -ORDER BY [s].[Name], [s].[Id], [t0].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t0].[Nickname] +"""); } public override async Task Correlated_collections_with_FirstOrDefault(bool async) @@ -4881,14 +5491,16 @@ public override async Task Correlated_collections_with_FirstOrDefault(bool async await base.Correlated_collections_with_FirstOrDefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [g].[FullName] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] WHERE [s].[Id] = [g].[SquadId] ORDER BY [g].[Nickname]) FROM [Squads] AS [s] -ORDER BY [s].[Name]"); +ORDER BY [s].[Name] +"""); } public override async Task Correlated_collections_on_left_join_with_predicate(bool async) @@ -4896,7 +5508,8 @@ public override async Task Correlated_collections_on_left_join_with_predicate(bo await base.Correlated_collections_on_left_join_with_predicate(async); AssertSql( - @"SELECT [t0].[Nickname], [t].[Id], [t0].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [t0].[Nickname], [t].[Id], [t0].[SquadId], [w].[Name], [w].[Id] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName], [g].[HasSoulPatch] @@ -4904,7 +5517,8 @@ FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] WHERE [t0].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collections_on_left_join_with_null_value(bool async) @@ -4912,14 +5526,16 @@ public override async Task Correlated_collections_on_left_join_with_null_value(b await base.Correlated_collections_on_left_join_with_null_value(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [w].[Name], [w].[Id] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Correlated_collections_left_join_with_self_reference(bool async) @@ -4927,7 +5543,8 @@ public override async Task Correlated_collections_left_join_with_self_reference( await base.Correlated_collections_left_join_with_self_reference(async); AssertSql( - @"SELECT [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[FullName], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[FullName], [t1].[Nickname], [t1].[SquadId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -4939,7 +5556,8 @@ LEFT JOIN ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [g0].[LeaderNickname], [g0].[LeaderSquadId] FROM [Gears] AS [g0] ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Correlated_collections_deeply_nested_left_join(bool async) @@ -4947,7 +5565,8 @@ public override async Task Correlated_collections_deeply_nested_left_join(bool a await base.Correlated_collections_deeply_nested_left_join(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [s].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id], [t1].[AmmunitionType], [t1].[IsAutomatic], [t1].[Name], [t1].[OwnerFullName], [t1].[SynergyWithId] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -4964,7 +5583,8 @@ FROM [Weapons] AS [w] ) AS [t2] ON [g0].[FullName] = [t2].[OwnerFullName] WHERE [g0].[HasSoulPatch] = CAST(1 AS bit) ) AS [t1] ON [s].[Id] = [t1].[SquadId] -ORDER BY [t].[Note], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [s].[Id], [t1].[Nickname], [t1].[SquadId]"); +ORDER BY [t].[Note], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [s].[Id], [t1].[Nickname], [t1].[SquadId] +"""); } public override async Task Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(bool async) @@ -4972,7 +5592,8 @@ public override async Task Correlated_collections_from_left_join_with_additional await base.Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(async); AssertSql( - @"SELECT [w].[Id], [t].[Nickname], [t].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t0].[Rank] +""" +SELECT [w].[Id], [t].[Nickname], [t].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [t0].[Rank] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] @@ -4988,7 +5609,8 @@ FROM [Weapons] AS [w0] WHERE [w0].[IsAutomatic] = CAST(0 AS bit) ) AS [t1] ON [g0].[FullName] = [t1].[OwnerFullName] ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [w].[Name], [w].[Id], [t].[Nickname], [t].[SquadId], [s].[Id], [t0].[FullName] DESC, [t0].[Nickname], [t0].[SquadId], [t0].[Id]"); +ORDER BY [w].[Name], [w].[Id], [t].[Nickname], [t].[SquadId], [s].[Id], [t0].[FullName] DESC, [t0].[Nickname], [t0].[SquadId], [t0].[Id] +"""); } public override async Task Correlated_collections_complex_scenario1(bool async) @@ -4996,7 +5618,8 @@ public override async Task Correlated_collections_complex_scenario1(bool async) await base.Correlated_collections_complex_scenario1(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0], [t1].[HasSoulPatch], [t1].[SquadId0] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0], [t1].[HasSoulPatch], [t1].[SquadId0] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [t].[Nickname], [t].[SquadId], [s].[Id] AS [Id0], [t0].[Nickname] AS [Nickname0], [t0].[HasSoulPatch], [t0].[SquadId] AS [SquadId0], [w].[OwnerFullName] @@ -5011,7 +5634,8 @@ LEFT JOIN ( FROM [Gears] AS [g1] ) AS [t0] ON [s].[Id] = [t0].[SquadId] ) AS [t1] ON [g].[FullName] = [t1].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0] +"""); } public override async Task Correlated_collections_complex_scenario2(bool async) @@ -5019,7 +5643,8 @@ public override async Task Correlated_collections_complex_scenario2(bool async) await base.Correlated_collections_complex_scenario2(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t2].[FullName], [t2].[Nickname], [t2].[SquadId], [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Nickname00], [t2].[HasSoulPatch], [t2].[SquadId00] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t2].[FullName], [t2].[Nickname], [t2].[SquadId], [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Nickname00], [t2].[HasSoulPatch], [t2].[SquadId00] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN ( @@ -5040,7 +5665,8 @@ FROM [Gears] AS [g2] ) AS [t1] ON [g0].[FullName] = [t1].[OwnerFullName] ) AS [t2] ON [g].[Nickname] = [t2].[LeaderNickname] AND [g].[SquadId] = [t2].[LeaderSquadId] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t2].[Nickname], [t2].[SquadId], [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Nickname00]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t2].[Nickname], [t2].[SquadId], [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Nickname00] +"""); } public override async Task Correlated_collections_with_funky_orderby_complex_scenario1(bool async) @@ -5048,7 +5674,8 @@ public override async Task Correlated_collections_with_funky_orderby_complex_sce await base.Correlated_collections_with_funky_orderby_complex_scenario1(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0], [t1].[HasSoulPatch], [t1].[SquadId0] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0], [t1].[HasSoulPatch], [t1].[SquadId0] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [t].[Nickname], [t].[SquadId], [s].[Id] AS [Id0], [t0].[Nickname] AS [Nickname0], [t0].[HasSoulPatch], [t0].[SquadId] AS [SquadId0], [w].[OwnerFullName] @@ -5063,7 +5690,8 @@ LEFT JOIN ( FROM [Gears] AS [g1] ) AS [t0] ON [s].[Id] = [t0].[SquadId] ) AS [t1] ON [g].[FullName] = [t1].[OwnerFullName] -ORDER BY [g].[FullName], [g].[Nickname] DESC, [g].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0]"); +ORDER BY [g].[FullName], [g].[Nickname] DESC, [g].[SquadId], [t1].[Id], [t1].[Nickname], [t1].[SquadId], [t1].[Id0], [t1].[Nickname0] +"""); } public override async Task Correlated_collections_with_funky_orderby_complex_scenario2(bool async) @@ -5071,7 +5699,8 @@ public override async Task Correlated_collections_with_funky_orderby_complex_sce await base.Correlated_collections_with_funky_orderby_complex_scenario2(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t2].[FullName], [t2].[Nickname], [t2].[SquadId], [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Nickname00], [t2].[HasSoulPatch], [t2].[SquadId00] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t2].[FullName], [t2].[Nickname], [t2].[SquadId], [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Nickname00], [t2].[HasSoulPatch], [t2].[SquadId00] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN ( @@ -5092,7 +5721,8 @@ FROM [Gears] AS [g2] ) AS [t1] ON [g0].[FullName] = [t1].[OwnerFullName] ) AS [t2] ON [g].[Nickname] = [t2].[LeaderNickname] AND [g].[SquadId] = [t2].[LeaderSquadId] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[HasSoulPatch], [g].[LeaderNickname], [g].[FullName], [g].[Nickname], [g].[SquadId], [t2].[FullName], [t2].[HasSoulPatch0] DESC, [t2].[Nickname], [t2].[SquadId], [t2].[IsAutomatic], [t2].[Name] DESC, [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Nickname00]"); +ORDER BY [g].[HasSoulPatch], [g].[LeaderNickname], [g].[FullName], [g].[Nickname], [g].[SquadId], [t2].[FullName], [t2].[HasSoulPatch0] DESC, [t2].[Nickname], [t2].[SquadId], [t2].[IsAutomatic], [t2].[Name] DESC, [t2].[Id], [t2].[Nickname0], [t2].[SquadId0], [t2].[Id0], [t2].[Nickname00] +"""); } public override async Task Correlated_collection_with_top_level_FirstOrDefault(bool async) @@ -5100,14 +5730,16 @@ public override async Task Correlated_collection_with_top_level_FirstOrDefault(b await base.Correlated_collection_with_top_level_FirstOrDefault(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] ORDER BY [g].[Nickname] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collection_with_top_level_Count(bool async) @@ -5115,8 +5747,10 @@ public override async Task Correlated_collection_with_top_level_Count(bool async await base.Correlated_collection_with_top_level_Count(async); AssertSql( - @"SELECT COUNT(*) -FROM [Gears] AS [g]"); +""" +SELECT COUNT(*) +FROM [Gears] AS [g] +"""); } public override async Task Correlated_collection_with_top_level_Last_with_orderby_on_outer(bool async) @@ -5124,14 +5758,16 @@ public override async Task Correlated_collection_with_top_level_Last_with_orderb await base.Correlated_collection_with_top_level_Last_with_orderby_on_outer(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] ORDER BY [g].[FullName] ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[FullName], [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[FullName], [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collection_with_top_level_Last_with_order_by_on_inner(bool async) @@ -5139,14 +5775,16 @@ public override async Task Correlated_collection_with_top_level_Last_with_order_ await base.Correlated_collection_with_top_level_Last_with_order_by_on_inner(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] ORDER BY [g].[FullName] DESC ) AS [t] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[FullName] DESC, [t].[Nickname], [t].[SquadId], [w].[Name]"); +ORDER BY [t].[FullName] DESC, [t].[Nickname], [t].[SquadId], [w].[Name] +"""); } public override async Task Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(bool async) @@ -5154,7 +5792,8 @@ public override async Task Null_semantics_on_nullable_bool_from_inner_join_subqu await base.Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(async); AssertSql( - @"SELECT [t].[Id], [t].[CapitalName], [t].[Name], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CapitalName], [t].[Name], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated], [t].[Discriminator] FROM [LocustLeaders] AS [l] INNER JOIN ( SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l1].[CommanderName], [l1].[Eradicated], CASE @@ -5164,7 +5803,8 @@ FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l1] ON [f].[Id] = [l1].[Id] WHERE ([l1].[Id] IS NOT NULL) AND [f].[Name] = N'Swarm' ) AS [t] ON [l].[Name] = [t].[CommanderName] -WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL)"); +WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL) +"""); } public override async Task Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(bool async) @@ -5172,7 +5812,8 @@ public override async Task Null_semantics_on_nullable_bool_from_left_join_subque await base.Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(async); AssertSql( - @"SELECT [t].[Id], [t].[CapitalName], [t].[Name], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated], [t].[Discriminator] +""" +SELECT [t].[Id], [t].[CapitalName], [t].[Name], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated], [t].[Discriminator] FROM [LocustLeaders] AS [l] LEFT JOIN ( SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l1].[CommanderName], [l1].[Eradicated], CASE @@ -5182,7 +5823,8 @@ FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l1] ON [f].[Id] = [l1].[Id] WHERE ([l1].[Id] IS NOT NULL) AND [f].[Name] = N'Swarm' ) AS [t] ON [l].[Name] = [t].[CommanderName] -WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL)"); +WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL) +"""); } public override async Task Include_on_derived_type_with_order_by_and_paging(bool async) @@ -5190,7 +5832,8 @@ public override async Task Include_on_derived_type_with_order_by_and_paging(bool await base.Include_on_derived_type_with_order_by_and_paging(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t1].[Name], [t1].[LocustHordeId], [t1].[ThreatLevel], [t1].[ThreatLevelByte], [t1].[ThreatLevelNullableByte], [t1].[DefeatedByNickname], [t1].[DefeatedBySquadId], [t1].[HighCommandId], [t1].[Discriminator], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator0] AS [Discriminator], [t1].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM ( @@ -5210,7 +5853,8 @@ LEFT JOIN [Tags] AS [t0] ON ([t].[Nickname] = [t0].[GearNickName] OR (([t].[Nick ORDER BY [t0].[Note] ) AS [t1] LEFT JOIN [Weapons] AS [w] ON [t1].[FullName] = [w].[OwnerFullName] -ORDER BY [t1].[Note], [t1].[Name], [t1].[Nickname], [t1].[SquadId], [t1].[Id]"); +ORDER BY [t1].[Note], [t1].[Name], [t1].[Nickname], [t1].[SquadId], [t1].[Id] +"""); } public override async Task Select_required_navigation_on_derived_type(bool async) @@ -5218,10 +5862,12 @@ public override async Task Select_required_navigation_on_derived_type(bool async await base.Select_required_navigation_on_derived_type(async); AssertSql( - @"SELECT [l1].[Name] +""" +SELECT [l1].[Name] FROM [LocustLeaders] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[Name] = [l0].[Name] -LEFT JOIN [LocustHighCommands] AS [l1] ON [l0].[HighCommandId] = [l1].[Id]"); +LEFT JOIN [LocustHighCommands] AS [l1] ON [l0].[HighCommandId] = [l1].[Id] +"""); } public override async Task Select_required_navigation_on_the_same_type_with_cast(bool async) @@ -5229,9 +5875,11 @@ public override async Task Select_required_navigation_on_the_same_type_with_cast await base.Select_required_navigation_on_the_same_type_with_cast(async); AssertSql( - @"SELECT [c].[Name] +""" +SELECT [c].[Name] FROM [Gears] AS [g] -INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Where_required_navigation_on_derived_type(bool async) @@ -5239,13 +5887,15 @@ public override async Task Where_required_navigation_on_derived_type(bool async) await base.Where_required_navigation_on_derived_type(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[Name] = [l0].[Name] LEFT JOIN [LocustHighCommands] AS [l1] ON [l0].[HighCommandId] = [l1].[Id] -WHERE [l1].[IsOperational] = CAST(1 AS bit)"); +WHERE [l1].[IsOperational] = CAST(1 AS bit) +"""); } public override async Task Outer_parameter_in_join_key(bool async) @@ -5253,7 +5903,8 @@ public override async Task Outer_parameter_in_join_key(bool async) await base.Outer_parameter_in_join_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] OUTER APPLY ( @@ -5265,7 +5916,8 @@ FROM [Gears] AS [g0] ) AS [t0] ON [g].[FullName] = [t0].[FullName] ) AS [t1] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname] +"""); } public override async Task Outer_parameter_in_join_key_inner_and_outer(bool async) @@ -5273,7 +5925,8 @@ public override async Task Outer_parameter_in_join_key_inner_and_outer(bool asyn await base.Outer_parameter_in_join_key_inner_and_outer(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] OUTER APPLY ( @@ -5285,7 +5938,8 @@ FROM [Gears] AS [g0] ) AS [t0] ON [g].[FullName] = [g].[Nickname] ) AS [t1] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname] +"""); } public override async Task Outer_parameter_in_group_join_with_DefaultIfEmpty(bool async) @@ -5293,7 +5947,8 @@ public override async Task Outer_parameter_in_group_join_with_DefaultIfEmpty(boo await base.Outer_parameter_in_group_join_with_DefaultIfEmpty(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t1].[Note], [t1].[Id], [t1].[Nickname], [t1].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] OUTER APPLY ( @@ -5305,7 +5960,8 @@ FROM [Gears] AS [g0] ) AS [t0] ON [g].[FullName] = [t0].[FullName] ) AS [t1] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t1].[Id], [t1].[Nickname] +"""); } public override async Task Negated_bool_ternary_inside_anonymous_type_in_projection(bool async) @@ -5313,7 +5969,8 @@ public override async Task Negated_bool_ternary_inside_anonymous_type_in_project await base.Negated_bool_ternary_inside_anonymous_type_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN CASE WHEN [t0].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE COALESCE([t0].[HasSoulPatch], CAST(1 AS bit)) @@ -5324,7 +5981,8 @@ FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Order_by_entity_qsre(bool async) @@ -5332,10 +5990,12 @@ public override async Task Order_by_entity_qsre(bool async) await base.Order_by_entity_qsre(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] LEFT JOIN [Cities] AS [c] ON [g].[AssignedCityName] = [c].[Name] -ORDER BY [c].[Name], [g].[Nickname] DESC"); +ORDER BY [c].[Name], [g].[Nickname] DESC +"""); } public override async Task Order_by_entity_qsre_with_inheritance(bool async) @@ -5343,12 +6003,14 @@ public override async Task Order_by_entity_qsre_with_inheritance(bool async) await base.Order_by_entity_qsre_with_inheritance(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LocustLeaders] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[Name] = [l0].[Name] INNER JOIN [LocustHighCommands] AS [l1] ON [l0].[HighCommandId] = [l1].[Id] WHERE [l0].[Name] IS NOT NULL -ORDER BY [l1].[Id], [l].[Name]"); +ORDER BY [l1].[Id], [l].[Name] +"""); } public override async Task Order_by_entity_qsre_composite_key(bool async) @@ -5356,13 +6018,15 @@ public override async Task Order_by_entity_qsre_composite_key(bool async) await base.Order_by_entity_qsre_composite_key(async); AssertSql( - @"SELECT [w].[Name] +""" +SELECT [w].[Name] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] -ORDER BY [t].[Nickname], [t].[SquadId], [w].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [w].[Id] +"""); } public override async Task Order_by_entity_qsre_with_other_orderbys(bool async) @@ -5370,14 +6034,16 @@ public override async Task Order_by_entity_qsre_with_other_orderbys(bool async) await base.Order_by_entity_qsre_with_other_orderbys(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w].[IsAutomatic], [t].[Nickname] DESC, [t].[SquadId] DESC, [w0].[Id], [w].[Name]"); +ORDER BY [w].[IsAutomatic], [t].[Nickname] DESC, [t].[SquadId] DESC, [w0].[Id], [w].[Name] +"""); } public override async Task Join_on_entity_qsre_keys(bool async) @@ -5385,9 +6051,11 @@ public override async Task Join_on_entity_qsre_keys(bool async) await base.Join_on_entity_qsre_keys(async); AssertSql( - @"SELECT [w].[Name] AS [Name1], [w0].[Name] AS [Name2] +""" +SELECT [w].[Name] AS [Name1], [w0].[Name] AS [Name2] FROM [Weapons] AS [w] -INNER JOIN [Weapons] AS [w0] ON [w].[Id] = [w0].[Id]"); +INNER JOIN [Weapons] AS [w0] ON [w].[Id] = [w0].[Id] +"""); } public override async Task Join_on_entity_qsre_keys_composite_key(bool async) @@ -5395,12 +6063,14 @@ public override async Task Join_on_entity_qsre_keys_composite_key(bool async) await base.Join_on_entity_qsre_keys_composite_key(async); AssertSql( - @"SELECT [g].[FullName] AS [GearName1], [t].[FullName] AS [GearName2] +""" +SELECT [g].[FullName] AS [GearName1], [t].[FullName] AS [GearName2] FROM [Gears] AS [g] INNER JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[FullName] FROM [Gears] AS [g0] -) AS [t] ON [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId]"); +) AS [t] ON [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId] +"""); } public override async Task Join_on_entity_qsre_keys_inheritance(bool async) @@ -5408,14 +6078,16 @@ public override async Task Join_on_entity_qsre_keys_inheritance(bool async) await base.Join_on_entity_qsre_keys_inheritance(async); AssertSql( - @"SELECT [g].[FullName] AS [GearName], [t].[FullName] AS [OfficerName] +""" +SELECT [g].[FullName] AS [GearName], [t].[FullName] AS [OfficerName] FROM [Gears] AS [g] INNER JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[FullName] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] WHERE [o0].[Nickname] IS NOT NULL -) AS [t] ON [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId]"); +) AS [t] ON [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId] +"""); } public override async Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool async) @@ -5423,10 +6095,12 @@ public override async Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool await base.Join_on_entity_qsre_keys_outer_key_is_navigation(async); AssertSql( - @"SELECT [w].[Name] AS [Name1], [w1].[Name] AS [Name2] +""" +SELECT [w].[Name] AS [Name1], [w1].[Name] AS [Name2] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -INNER JOIN [Weapons] AS [w1] ON [w0].[Id] = [w1].[Id]"); +INNER JOIN [Weapons] AS [w1] ON [w0].[Id] = [w1].[Id] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool async) @@ -5434,13 +6108,15 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool await base.Join_on_entity_qsre_keys_inner_key_is_navigation(async); AssertSql( - @"SELECT [c].[Name] AS [CityName], [t].[Nickname] AS [GearNickname] +""" +SELECT [c].[Name] AS [CityName], [t].[Nickname] AS [GearNickname] FROM [Cities] AS [c] INNER JOIN ( SELECT [g].[Nickname], [c0].[Name] FROM [Gears] AS [g] LEFT JOIN [Cities] AS [c0] ON [g].[AssignedCityName] = [c0].[Name] -) AS [t] ON [c].[Name] = [t].[Name]"); +) AS [t] ON [c].[Name] = [t].[Name] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(bool async) @@ -5448,7 +6124,8 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation_comp await base.Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [t1].[Note] +""" +SELECT [g].[Nickname], [t1].[Note] FROM [Gears] AS [g] INNER JOIN ( SELECT [t].[Note], [t0].[Nickname], [t0].[SquadId] @@ -5458,7 +6135,8 @@ LEFT JOIN ( FROM [Gears] AS [g0] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] WHERE [t].[Note] IN (N'Cole''s Tag', N'Dom''s Tag') -) AS [t1] ON [g].[Nickname] = [t1].[Nickname] AND [g].[SquadId] = [t1].[SquadId]"); +) AS [t1] ON [g].[Nickname] = [t1].[Nickname] AND [g].[SquadId] = [t1].[SquadId] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) @@ -5466,7 +6144,8 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_nested_navigati await base.Join_on_entity_qsre_keys_inner_key_is_nested_navigation(async); AssertSql( - @"SELECT [s].[Name] AS [SquadName], [t0].[Name] AS [WeaponName] +""" +SELECT [s].[Name] AS [SquadName], [t0].[Name] AS [WeaponName] FROM [Squads] AS [s] INNER JOIN ( SELECT [w].[Name], [s0].[Id] AS [Id0] @@ -5477,7 +6156,8 @@ FROM [Gears] AS [g] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] LEFT JOIN [Squads] AS [s0] ON [t].[SquadId] = [s0].[Id] WHERE [w].[IsAutomatic] = CAST(1 AS bit) -) AS [t0] ON [s].[Id] = [t0].[Id0]"); +) AS [t0] ON [s].[Id] = [t0].[Id0] +"""); } public override async Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) @@ -5485,7 +6165,8 @@ public override async Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_nav await base.GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(async); AssertSql( - @"SELECT [s].[Name] AS [SquadName], [t0].[Name] AS [WeaponName] +""" +SELECT [s].[Name] AS [SquadName], [t0].[Name] AS [WeaponName] FROM [Squads] AS [s] LEFT JOIN ( SELECT [w].[Name], [s0].[Id] AS [Id0] @@ -5495,7 +6176,8 @@ LEFT JOIN ( FROM [Gears] AS [g] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] LEFT JOIN [Squads] AS [s0] ON [t].[SquadId] = [s0].[Id] -) AS [t0] ON [s].[Id] = [t0].[Id0]"); +) AS [t0] ON [s].[Id] = [t0].[Id0] +"""); } public override async Task Streaming_correlated_collection_issue_11403(bool async) @@ -5503,7 +6185,8 @@ public override async Task Streaming_correlated_collection_issue_11403(bool asyn await base.Streaming_correlated_collection_issue_11403(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] AS [g] @@ -5514,7 +6197,8 @@ LEFT JOIN ( FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = CAST(0 AS bit) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id] +"""); } public override async Task Project_one_value_type_from_empty_collection(bool async) @@ -5522,13 +6206,15 @@ public override async Task Project_one_value_type_from_empty_collection(bool asy await base.Project_one_value_type_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) [g].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) AS [SquadId] FROM [Squads] AS [s] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Project_one_value_type_converted_to_nullable_from_empty_collection(bool async) @@ -5536,13 +6222,15 @@ public override async Task Project_one_value_type_converted_to_nullable_from_emp await base.Project_one_value_type_converted_to_nullable_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], ( +""" +SELECT [s].[Name], ( SELECT TOP(1) [g].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)) AS [SquadId] FROM [Squads] AS [s] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Project_one_value_type_with_client_projection_from_empty_collection(bool async) @@ -5550,7 +6238,8 @@ public override async Task Project_one_value_type_with_client_projection_from_em await base.Project_one_value_type_with_client_projection_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], [t0].[SquadId], [t0].[LeaderSquadId], [t0].[c] +""" +SELECT [s].[Name], [t0].[SquadId], [t0].[LeaderSquadId], [t0].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[SquadId], [t].[LeaderSquadId], [t].[c] @@ -5561,7 +6250,8 @@ FROM [Gears] AS [g] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Filter_on_subquery_projecting_one_value_type_from_empty_collection(bool async) @@ -5569,13 +6259,15 @@ public override async Task Filter_on_subquery_projecting_one_value_type_from_emp await base.Filter_on_subquery_projecting_one_value_type_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] AS [s] WHERE [s].[Name] = N'Kilo' AND COALESCE(( SELECT TOP(1) [g].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] - WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0"); + WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0 +"""); } public override async Task Select_subquery_projecting_single_constant_int(bool async) @@ -5583,12 +6275,14 @@ public override async Task Select_subquery_projecting_single_constant_int(bool a await base.Select_subquery_projecting_single_constant_int(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) 42 FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) AS [Gear] -FROM [Squads] AS [s]"); +FROM [Squads] AS [s] +"""); } public override async Task Select_subquery_projecting_single_constant_string(bool async) @@ -5596,12 +6290,14 @@ public override async Task Select_subquery_projecting_single_constant_string(boo await base.Select_subquery_projecting_single_constant_string(async); AssertSql( - @"SELECT [s].[Name], ( +""" +SELECT [s].[Name], ( SELECT TOP(1) N'Foo' FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)) AS [Gear] -FROM [Squads] AS [s]"); +FROM [Squads] AS [s] +"""); } public override async Task Select_subquery_projecting_single_constant_bool(bool async) @@ -5609,12 +6305,14 @@ public override async Task Select_subquery_projecting_single_constant_bool(bool await base.Select_subquery_projecting_single_constant_bool(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) CAST(1 AS bit) FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), CAST(0 AS bit)) AS [Gear] -FROM [Squads] AS [s]"); +FROM [Squads] AS [s] +"""); } public override async Task Select_subquery_projecting_single_constant_inside_anonymous(bool async) @@ -5622,7 +6320,8 @@ public override async Task Select_subquery_projecting_single_constant_inside_ano await base.Select_subquery_projecting_single_constant_inside_anonymous(async); AssertSql( - @"SELECT [s].[Name], [t0].[One] +""" +SELECT [s].[Name], [t0].[One] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[One], [t].[SquadId] @@ -5632,7 +6331,8 @@ FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Select_subquery_projecting_multiple_constants_inside_anonymous(bool async) @@ -5640,7 +6340,8 @@ public override async Task Select_subquery_projecting_multiple_constants_inside_ await base.Select_subquery_projecting_multiple_constants_inside_anonymous(async); AssertSql( - @"SELECT [s].[Name], [t0].[True1], [t0].[False1], [t0].[c] +""" +SELECT [s].[Name], [t0].[True1], [t0].[False1], [t0].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[True1], [t].[False1], [t].[c], [t].[SquadId] @@ -5650,7 +6351,8 @@ FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Include_with_order_by_constant(bool async) @@ -5658,7 +6360,8 @@ public override async Task Include_with_order_by_constant(bool async) await base.Include_with_order_by_constant(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Squads] AS [s] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -5667,7 +6370,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t] ON [s].[Id] = [t].[SquadId] -ORDER BY [s].[Id], [t].[Nickname]"); +ORDER BY [s].[Id], [t].[Nickname] +"""); } public override async Task Correlated_collection_order_by_constant(bool async) @@ -5675,10 +6379,12 @@ public override async Task Correlated_collection_order_by_constant(bool async) await base.Correlated_collection_order_by_constant(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Select_subquery_projecting_single_constant_null_of_non_mapped_type(bool async) @@ -5686,7 +6392,8 @@ public override async Task Select_subquery_projecting_single_constant_null_of_no await base.Select_subquery_projecting_single_constant_null_of_non_mapped_type(async); AssertSql( - @"SELECT [s].[Name], [t0].[c] +""" +SELECT [s].[Name], [t0].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[c], [t].[SquadId] @@ -5696,7 +6403,8 @@ FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Select_subquery_projecting_single_constant_of_non_mapped_type(bool async) @@ -5704,7 +6412,8 @@ public override async Task Select_subquery_projecting_single_constant_of_non_map await base.Select_subquery_projecting_single_constant_of_non_mapped_type(async); AssertSql( - @"SELECT [s].[Name], [t0].[c] +""" +SELECT [s].[Name], [t0].[c] FROM [Squads] AS [s] LEFT JOIN ( SELECT [t].[c], [t].[SquadId] @@ -5714,7 +6423,8 @@ FROM [Gears] AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Include_collection_OrderBy_aggregate(bool async) @@ -5722,7 +6432,8 @@ public override async Task Include_collection_OrderBy_aggregate(bool async) await base.Include_collection_OrderBy_aggregate(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -5738,7 +6449,8 @@ WHERE [o].[Nickname] IS NOT NULL ORDER BY ( SELECT COUNT(*) FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [t].[Nickname]"); + WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Include_collection_with_complex_OrderBy2(bool async) @@ -5746,7 +6458,8 @@ public override async Task Include_collection_with_complex_OrderBy2(bool async) await base.Include_collection_with_complex_OrderBy2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -5763,7 +6476,8 @@ ORDER BY ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), [g].[Nickname], [g].[SquadId], [t].[Nickname]"); + ORDER BY [w].[Id]), [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Include_collection_with_complex_OrderBy3(bool async) @@ -5771,7 +6485,8 @@ public override async Task Include_collection_with_complex_OrderBy3(bool async) await base.Include_collection_with_complex_OrderBy3(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -5788,7 +6503,8 @@ ORDER BY COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), CAST(0 AS bit)), [g].[Nickname], [g].[SquadId], [t].[Nickname]"); + ORDER BY [w].[Id]), CAST(0 AS bit)), [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collection_with_complex_OrderBy(bool async) @@ -5796,7 +6512,8 @@ public override async Task Correlated_collection_with_complex_OrderBy(bool async await base.Correlated_collection_with_complex_OrderBy(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN ( @@ -5811,7 +6528,8 @@ WHERE [o].[Nickname] IS NOT NULL ORDER BY ( SELECT COUNT(*) FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [t].[Nickname]"); + WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collection_with_very_complex_order_by(bool async) @@ -5819,7 +6537,8 @@ public override async Task Correlated_collection_with_very_complex_order_by(bool await base.Correlated_collection_with_very_complex_order_by(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN ( @@ -5838,7 +6557,8 @@ FROM [Weapons] AS [w] SELECT TOP(1) [g0].[HasSoulPatch] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] - WHERE [g0].[Nickname] = N'Marcus'), CAST(0 AS bit))), [g].[Nickname], [g].[SquadId], [t].[Nickname]"); + WHERE [g0].[Nickname] = N'Marcus'), CAST(0 AS bit))), [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Cast_to_derived_type_after_OfType_works(bool async) @@ -5846,12 +6566,14 @@ public override async Task Cast_to_derived_type_after_OfType_works(bool async) await base.Cast_to_derived_type_after_OfType_works(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE [o].[Nickname] IS NOT NULL"); +WHERE [o].[Nickname] IS NOT NULL +"""); } public override async Task Select_subquery_boolean(bool async) @@ -5859,12 +6581,14 @@ public override async Task Select_subquery_boolean(bool async) await base.Select_subquery_boolean(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), CAST(0 AS bit)) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_boolean_with_pushdown(bool async) @@ -5872,12 +6596,14 @@ public override async Task Select_subquery_boolean_with_pushdown(bool async) await base.Select_subquery_boolean_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_int_with_inside_cast_and_coalesce(bool async) @@ -5885,12 +6611,14 @@ public override async Task Select_subquery_int_with_inside_cast_and_coalesce(boo await base.Select_subquery_int_with_inside_cast_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), 42) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_int_with_outside_cast_and_coalesce(bool async) @@ -5898,12 +6626,14 @@ public override async Task Select_subquery_int_with_outside_cast_and_coalesce(bo await base.Select_subquery_int_with_outside_cast_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), 0, 42) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_int_with_pushdown_and_coalesce(bool async) @@ -5911,12 +6641,14 @@ public override async Task Select_subquery_int_with_pushdown_and_coalesce(bool a await base.Select_subquery_int_with_pushdown_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), 42) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_int_with_pushdown_and_coalesce2(bool async) @@ -5924,7 +6656,8 @@ public override async Task Select_subquery_int_with_pushdown_and_coalesce2(bool await base.Select_subquery_int_with_pushdown_and_coalesce2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] @@ -5933,7 +6666,8 @@ SELECT TOP(1) [w0].[Id] FROM [Weapons] AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ORDER BY [w0].[Id])) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_boolean_empty(bool async) @@ -5941,12 +6675,14 @@ public override async Task Select_subquery_boolean_empty(bool async) await base.Select_subquery_boolean_empty(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ORDER BY [w].[Id]), CAST(0 AS bit)) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_boolean_empty_with_pushdown(bool async) @@ -5954,12 +6690,14 @@ public override async Task Select_subquery_boolean_empty_with_pushdown(bool asyn await base.Select_subquery_boolean_empty_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ORDER BY [w].[Id]) -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean1(bool async) @@ -5967,7 +6705,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean1(boo await base.Select_subquery_distinct_singleordefault_boolean1(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -5975,7 +6714,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]), CAST(0 AS bit)) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean2(bool async) @@ -5983,12 +6723,14 @@ public override async Task Select_subquery_distinct_singleordefault_boolean2(boo await base.Select_subquery_distinct_singleordefault_boolean2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%')), CAST(0 AS bit)) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) @@ -5996,7 +6738,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_with await base.Select_subquery_distinct_singleordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -6004,7 +6747,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty1(bool async) @@ -6012,7 +6756,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty1(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -6020,7 +6765,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ) AS [t]), CAST(0 AS bit)) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty2(bool async) @@ -6028,12 +6774,14 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG'), CAST(0 AS bit)) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(bool async) @@ -6041,7 +6789,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -6049,7 +6798,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ) AS [t]) FROM [Gears] AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Cast_subquery_to_base_type_using_typed_ToList(bool async) @@ -6057,14 +6807,16 @@ public override async Task Cast_subquery_to_base_type_using_typed_ToList(bool as await base.Cast_subquery_to_base_type_using_typed_ToList(async); AssertSql( - @"SELECT [c].[Name], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Nickname], [t].[Rank], [t].[SquadId] +""" +SELECT [c].[Name], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Nickname], [t].[Rank], [t].[SquadId] FROM [Cities] AS [c] LEFT JOIN ( SELECT [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Nickname], [g].[Rank], [g].[SquadId], [g].[AssignedCityName] FROM [Gears] AS [g] ) AS [t] ON [c].[Name] = [t].[AssignedCityName] WHERE [c].[Name] = N'Ephyra' -ORDER BY [c].[Name], [t].[Nickname]"); +ORDER BY [c].[Name], [t].[Nickname] +"""); } public override async Task Cast_ordered_subquery_to_base_type_using_typed_ToArray(bool async) @@ -6072,14 +6824,16 @@ public override async Task Cast_ordered_subquery_to_base_type_using_typed_ToArra await base.Cast_ordered_subquery_to_base_type_using_typed_ToArray(async); AssertSql( - @"SELECT [c].[Name], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Nickname], [t].[Rank], [t].[SquadId] +""" +SELECT [c].[Name], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Nickname], [t].[Rank], [t].[SquadId] FROM [Cities] AS [c] LEFT JOIN ( SELECT [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Nickname], [g].[Rank], [g].[SquadId], [g].[AssignedCityName] FROM [Gears] AS [g] ) AS [t] ON [c].[Name] = [t].[AssignedCityName] WHERE [c].[Name] = N'Ephyra' -ORDER BY [c].[Name], [t].[Nickname] DESC"); +ORDER BY [c].[Name], [t].[Nickname] DESC +"""); } public override async Task Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(bool async) @@ -6087,10 +6841,12 @@ public override async Task Correlated_collection_with_complex_order_by_funcletiz await base.Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Double_order_by_on_nullable_bool_coming_from_optional_navigation(bool async) @@ -6098,10 +6854,12 @@ public override async Task Double_order_by_on_nullable_bool_coming_from_optional await base.Double_order_by_on_nullable_bool_coming_from_optional_navigation(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w0].[IsAutomatic], [w0].[Id]"); +ORDER BY [w0].[IsAutomatic], [w0].[Id] +"""); } public override async Task Double_order_by_on_Like(bool async) @@ -6109,13 +6867,15 @@ public override async Task Double_order_by_on_Like(bool async) await base.Double_order_by_on_Like(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] LIKE N'%Lancer' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Double_order_by_on_is_null(bool async) @@ -6123,13 +6883,15 @@ public override async Task Double_order_by_on_is_null(bool async) await base.Double_order_by_on_is_null(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Double_order_by_on_string_compare(bool async) @@ -6137,12 +6899,14 @@ public override async Task Double_order_by_on_string_compare(bool async) await base.Double_order_by_on_string_compare(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] ORDER BY CASE WHEN [w].[Name] = N'Marcus'' Lancer' AND ([w].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END, [w].[Id]"); +END, [w].[Id] +"""); } public override async Task Double_order_by_binary_expression(bool async) @@ -6150,9 +6914,11 @@ public override async Task Double_order_by_binary_expression(bool async) await base.Double_order_by_binary_expression(async); AssertSql( - @"SELECT [w].[Id] + 2 AS [Binary] +""" +SELECT [w].[Id] + 2 AS [Binary] FROM [Weapons] AS [w] -ORDER BY [w].[Id] + 2"); +ORDER BY [w].[Id] + 2 +"""); } public override async Task String_compare_with_null_conditional_argument(bool async) @@ -6160,13 +6926,15 @@ public override async Task String_compare_with_null_conditional_argument(bool as await base.String_compare_with_null_conditional_argument(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] = N'Marcus'' Lancer' AND ([w0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task String_compare_with_null_conditional_argument2(bool async) @@ -6174,13 +6942,15 @@ public override async Task String_compare_with_null_conditional_argument2(bool a await base.String_compare_with_null_conditional_argument2(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN N'Marcus'' Lancer' = [w0].[Name] AND ([w0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task String_concat_with_null_conditional_argument(bool async) @@ -6188,10 +6958,12 @@ public override async Task String_concat_with_null_conditional_argument(bool asy await base.String_concat_with_null_conditional_argument(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY COALESCE([w0].[Name], N'') + CAST(5 AS nvarchar(max))"); +ORDER BY COALESCE([w0].[Name], N'') + CAST(5 AS nvarchar(max)) +"""); } public override async Task String_concat_with_null_conditional_argument2(bool async) @@ -6199,10 +6971,12 @@ public override async Task String_concat_with_null_conditional_argument2(bool as await base.String_concat_with_null_conditional_argument2(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY COALESCE([w0].[Name], N'') + N'Marcus'' Lancer'"); +ORDER BY COALESCE([w0].[Name], N'') + N'Marcus'' Lancer' +"""); } public override async Task String_concat_on_various_types(bool async) @@ -6210,10 +6984,12 @@ public override async Task String_concat_on_various_types(bool async) await base.String_concat_on_various_types(async); AssertSql( - @"SELECT (N'HasSoulPatch ' + CAST([g].[HasSoulPatch] AS nvarchar(max))) + N' HasSoulPatch' AS [HasSoulPatch], (N'Rank ' + CAST([g].[Rank] AS nvarchar(max))) + N' Rank' AS [Rank], (N'SquadId ' + CAST([g].[SquadId] AS nvarchar(max))) + N' SquadId' AS [SquadId], (N'Rating ' + COALESCE(CAST([m].[Rating] AS nvarchar(max)), N'')) + N' Rating' AS [Rating], (N'Timeline ' + CAST([m].[Timeline] AS nvarchar(max))) + N' Timeline' AS [Timeline] +""" +SELECT (N'HasSoulPatch ' + CAST([g].[HasSoulPatch] AS nvarchar(max))) + N' HasSoulPatch' AS [HasSoulPatch], (N'Rank ' + CAST([g].[Rank] AS nvarchar(max))) + N' Rank' AS [Rank], (N'SquadId ' + CAST([g].[SquadId] AS nvarchar(max))) + N' SquadId' AS [SquadId], (N'Rating ' + COALESCE(CAST([m].[Rating] AS nvarchar(max)), N'')) + N' Rating' AS [Rating], (N'Timeline ' + CAST([m].[Timeline] AS nvarchar(max))) + N' Timeline' AS [Timeline] FROM [Gears] AS [g] CROSS JOIN [Missions] AS [m] -ORDER BY [g].[Nickname], [m].[Id]"); +ORDER BY [g].[Nickname], [m].[Id] +"""); } public override async Task Time_of_day_datetimeoffset(bool async) @@ -6221,8 +6997,10 @@ public override async Task Time_of_day_datetimeoffset(bool async) await base.Time_of_day_datetimeoffset(async); AssertSql( - @"SELECT CONVERT(time, [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT CONVERT(time, [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task GroupBy_Property_Include_Select_Average(bool async) @@ -6230,9 +7008,11 @@ public override async Task GroupBy_Property_Include_Select_Average(bool async) await base.GroupBy_Property_Include_Select_Average(async); AssertSql( - @"SELECT AVG(CAST([g].[SquadId] AS float)) +""" +SELECT AVG(CAST([g].[SquadId] AS float)) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Sum(bool async) @@ -6240,9 +7020,11 @@ public override async Task GroupBy_Property_Include_Select_Sum(bool async) await base.GroupBy_Property_Include_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([g].[SquadId]), 0) +""" +SELECT COALESCE(SUM([g].[SquadId]), 0) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Count(bool async) @@ -6250,9 +7032,11 @@ public override async Task GroupBy_Property_Include_Select_Count(bool async) await base.GroupBy_Property_Include_Select_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_LongCount(bool async) @@ -6260,9 +7044,11 @@ public override async Task GroupBy_Property_Include_Select_LongCount(bool async) await base.GroupBy_Property_Include_Select_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Min(bool async) @@ -6270,9 +7056,11 @@ public override async Task GroupBy_Property_Include_Select_Min(bool async) await base.GroupBy_Property_Include_Select_Min(async); AssertSql( - @"SELECT MIN([g].[SquadId]) +""" +SELECT MIN([g].[SquadId]) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task GroupBy_Property_Include_Aggregate_with_anonymous_selector(bool async) @@ -6280,10 +7068,12 @@ public override async Task GroupBy_Property_Include_Aggregate_with_anonymous_sel await base.GroupBy_Property_Include_Aggregate_with_anonymous_selector(async); AssertSql( - @"SELECT [g].[Nickname] AS [Key], COUNT(*) AS [c] +""" +SELECT [g].[Nickname] AS [Key], COUNT(*) AS [c] FROM [Gears] AS [g] GROUP BY [g].[Nickname] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Group_by_with_include_with_entity_in_result_selector(bool async) @@ -6291,7 +7081,8 @@ public override async Task Group_by_with_include_with_entity_in_result_selector( await base.Group_by_with_include_with_entity_in_result_selector(async); AssertSql( - @"SELECT [t].[Rank], [t].[c], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[Name], [t0].[Location], [t0].[Nation] +""" +SELECT [t].[Rank], [t].[c], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[Name], [t0].[Location], [t0].[Nation] FROM ( SELECT [g].[Rank], COUNT(*) AS [c] FROM [Gears] AS [g] @@ -6309,7 +7100,8 @@ FROM [Gears] AS [g0] ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Rank] = [t0].[Rank] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task GroupBy_Property_Include_Select_Max(bool async) @@ -6317,9 +7109,11 @@ public override async Task GroupBy_Property_Include_Select_Max(bool async) await base.GroupBy_Property_Include_Select_Max(async); AssertSql( - @"SELECT MAX([g].[SquadId]) +""" +SELECT MAX([g].[SquadId]) FROM [Gears] AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task Include_with_group_by_and_FirstOrDefault_gets_properly_applied(bool async) @@ -6327,7 +7121,8 @@ public override async Task Include_with_group_by_and_FirstOrDefault_gets_properl await base.Include_with_group_by_and_FirstOrDefault_gets_properly_applied(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[Name], [t0].[Location], [t0].[Nation] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[Name], [t0].[Location], [t0].[Nation] FROM ( SELECT [g].[Rank] FROM [Gears] AS [g] @@ -6345,7 +7140,8 @@ FROM [Gears] AS [g0] WHERE [g0].[HasSoulPatch] = CAST(1 AS bit) ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[Rank] = [t0].[Rank]"); +) AS [t0] ON [t].[Rank] = [t0].[Rank] +"""); } public override async Task Include_collection_with_Cast_to_base(bool async) @@ -6353,14 +7149,16 @@ public override async Task Include_collection_with_Cast_to_base(bool async) await base.Include_collection_with_Cast_to_base(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Include_with_client_method_and_member_access_still_applies_includes(bool async) @@ -6368,12 +7166,14 @@ public override async Task Include_with_client_method_and_member_access_still_ap await base.Include_with_client_method_and_member_access_still_applies_includes(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId]"); +LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] +"""); } public override async Task Include_with_projection_of_unmapped_property_still_gets_applied(bool async) @@ -6381,13 +7181,15 @@ public override async Task Include_with_projection_of_unmapped_property_still_ge await base.Include_with_projection_of_unmapped_property_still_gets_applied(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Multiple_includes_with_client_method_around_entity_and_also_projecting_included_collection() @@ -6395,7 +7197,8 @@ public override async Task Multiple_includes_with_client_method_around_entity_an await base.Multiple_includes_with_client_method_around_entity_and_also_projecting_included_collection(); AssertSql( - @"SELECT [s].[Name], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] +""" +SELECT [s].[Name], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Squads] AS [s] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -6406,7 +7209,8 @@ FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] ) AS [t] ON [s].[Id] = [t].[SquadId] WHERE [s].[Name] = N'Delta' -ORDER BY [s].[Id], [t].[Nickname], [t].[SquadId]"); +ORDER BY [s].[Id], [t].[Nickname], [t].[SquadId] +"""); } public override async Task OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(bool async) @@ -6414,7 +7218,8 @@ public override async Task OrderBy_same_expression_containing_IsNull_correctly_d await base.OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([g].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -6431,7 +7236,8 @@ ELSE CAST(0 AS bit) ELSE NULL END IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task GetValueOrDefault_in_projection(bool async) @@ -6439,8 +7245,10 @@ public override async Task GetValueOrDefault_in_projection(bool async) await base.GetValueOrDefault_in_projection(async); AssertSql( - @"SELECT COALESCE([w].[SynergyWithId], 0) -FROM [Weapons] AS [w]"); +""" +SELECT COALESCE([w].[SynergyWithId], 0) +FROM [Weapons] AS [w] +"""); } public override async Task GetValueOrDefault_in_filter(bool async) @@ -6448,9 +7256,11 @@ public override async Task GetValueOrDefault_in_filter(bool async) await base.GetValueOrDefault_in_filter(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[SynergyWithId], 0) = 0"); +WHERE COALESCE([w].[SynergyWithId], 0) = 0 +"""); } public override async Task GetValueOrDefault_in_filter_non_nullable_column(bool async) @@ -6458,9 +7268,11 @@ public override async Task GetValueOrDefault_in_filter_non_nullable_column(bool await base.GetValueOrDefault_in_filter_non_nullable_column(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[Id], 0) = 0"); +WHERE COALESCE([w].[Id], 0) = 0 +"""); } public override async Task GetValueOrDefault_in_order_by(bool async) @@ -6468,9 +7280,11 @@ public override async Task GetValueOrDefault_in_order_by(bool async) await base.GetValueOrDefault_in_order_by(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -ORDER BY COALESCE([w].[SynergyWithId], 0), [w].[Id]"); +ORDER BY COALESCE([w].[SynergyWithId], 0), [w].[Id] +"""); } public override async Task GetValueOrDefault_with_argument(bool async) @@ -6478,9 +7292,11 @@ public override async Task GetValueOrDefault_with_argument(bool async) await base.GetValueOrDefault_with_argument(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[SynergyWithId], [w].[Id]) = 1"); +WHERE COALESCE([w].[SynergyWithId], [w].[Id]) = 1 +"""); } public override async Task GetValueOrDefault_with_argument_complex(bool async) @@ -6488,9 +7304,11 @@ public override async Task GetValueOrDefault_with_argument_complex(bool async) await base.GetValueOrDefault_with_argument_complex(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE COALESCE([w].[SynergyWithId], CAST(LEN([w].[Name]) AS int) + 42) > 10"); +WHERE COALESCE([w].[SynergyWithId], CAST(LEN([w].[Name]) AS int) + 42) > 10 +"""); } public override async Task Filter_with_complex_predicate_containing_subquery(bool async) @@ -6498,7 +7316,8 @@ public override async Task Filter_with_complex_predicate_containing_subquery(boo await base.Filter_with_complex_predicate_containing_subquery(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -6506,7 +7325,8 @@ FROM [Gears] AS [g] WHERE [g].[FullName] <> N'Dom' AND EXISTS ( SELECT 1 FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit))"); + WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit)) +"""); } public override async Task Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let( @@ -6515,13 +7335,15 @@ public override async Task Query_with_complex_let_containing_ordering_and_filter await base.Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let(async); AssertSql( - @"SELECT [g].[Nickname], ( +""" +SELECT [g].[Nickname], ( SELECT TOP(1) [w].[Name] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit) ORDER BY [w].[AmmunitionType] DESC) AS [WeaponName] FROM [Gears] AS [g] -WHERE [g].[Nickname] <> N'Dom'"); +WHERE [g].[Nickname] <> N'Dom' +"""); } public override async Task @@ -6530,13 +7352,15 @@ public override async Task await base.Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] -WHERE SUBSTRING([t].[Note], 0 + 1, [t0].[SquadId]) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([t0].[SquadId] IS NULL)) AND ([t].[GearNickName] IS NULL))"); +WHERE SUBSTRING([t].[Note], 0 + 1, [t0].[SquadId]) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([t0].[SquadId] IS NULL)) AND ([t].[GearNickName] IS NULL)) +"""); } public override async Task @@ -6546,14 +7370,16 @@ await base.Null_semantics_is_correctly_applied_for_function_comparisons_that_tak async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] -WHERE SUBSTRING([t].[Note], 0 + 1, CAST(LEN([s].[Name]) AS int)) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([s].[Name] IS NULL)) AND ([t].[GearNickName] IS NULL))"); +WHERE SUBSTRING([t].[Note], 0 + 1, CAST(LEN([s].[Name]) AS int)) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([s].[Name] IS NULL)) AND ([t].[GearNickName] IS NULL)) +"""); } public override async Task Filter_with_new_Guid(bool async) @@ -6561,9 +7387,11 @@ public override async Task Filter_with_new_Guid(bool async) await base.Filter_with_new_Guid(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note] FROM [Tags] AS [t] -WHERE [t].[Id] = 'df36f493-463f-4123-83f9-6b135deeb7ba'"); +WHERE [t].[Id] = 'df36f493-463f-4123-83f9-6b135deeb7ba' +"""); } public override async Task Filter_with_new_Guid_closure(bool async) @@ -6571,17 +7399,21 @@ public override async Task Filter_with_new_Guid_closure(bool async) await base.Filter_with_new_Guid_closure(async); AssertSql( - @"@__p_0='df36f493-463f-4123-83f9-6b135deeb7bd' +""" +@__p_0='df36f493-463f-4123-83f9-6b135deeb7bd' SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[Note] FROM [Tags] AS [t] -WHERE [t].[Id] = @__p_0", +WHERE [t].[Id] = @__p_0 +""", // - @"@__p_0='b39a6fba-9026-4d69-828e-fd7068673e57' +""" +@__p_0='b39a6fba-9026-4d69-828e-fd7068673e57' SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[Note] FROM [Tags] AS [t] -WHERE [t].[Id] = @__p_0"); +WHERE [t].[Id] = @__p_0 +"""); } public override async Task OfTypeNav1(bool async) @@ -6589,14 +7421,16 @@ public override async Task OfTypeNav1(bool async) await base.OfTypeNav1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Tags] AS [t0] ON [g].[Nickname] = [t0].[GearNickName] AND [g].[SquadId] = [t0].[GearSquadId] -WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND ([o].[Nickname] IS NOT NULL) AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL))"); +WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND ([o].[Nickname] IS NOT NULL) AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL)) +"""); } public override async Task OfTypeNav2(bool async) @@ -6604,14 +7438,16 @@ public override async Task OfTypeNav2(bool async) await base.OfTypeNav2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Cities] AS [c] ON [g].[AssignedCityName] = [c].[Name] -WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND ([o].[Nickname] IS NOT NULL) AND ([c].[Location] <> 'Bar' OR ([c].[Location] IS NULL))"); +WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND ([o].[Nickname] IS NOT NULL) AND ([c].[Location] <> 'Bar' OR ([c].[Location] IS NULL)) +"""); } public override async Task OfTypeNav3(bool async) @@ -6619,7 +7455,8 @@ public override async Task OfTypeNav3(bool async) await base.OfTypeNav3(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -6627,7 +7464,8 @@ FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] INNER JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] LEFT JOIN [Tags] AS [t0] ON [g].[Nickname] = [t0].[GearNickName] AND [g].[SquadId] = [t0].[GearSquadId] -WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND ([o].[Nickname] IS NOT NULL) AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL))"); +WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND ([o].[Nickname] IS NOT NULL) AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL)) +"""); } public override async Task Nav_rewrite_Distinct_with_convert() @@ -6649,7 +7487,8 @@ public override async Task Nav_rewrite_with_convert1(bool async) await base.Nav_rewrite_with_convert1(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] @@ -6658,7 +7497,8 @@ LEFT JOIN ( FROM [LocustLeaders] AS [l0] INNER JOIN [LocustCommanders] AS [l1] ON [l0].[Name] = [l1].[Name] ) AS [t] ON [l].[CommanderName] = [t].[Name] -WHERE [c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)"); +WHERE [c].[Name] <> N'Foo' OR ([c].[Name] IS NULL) +"""); } public override async Task Nav_rewrite_with_convert2(bool async) @@ -6666,7 +7506,8 @@ public override async Task Nav_rewrite_with_convert2(bool async) await base.Nav_rewrite_with_convert2(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator] FROM [Factions] AS [f] @@ -6677,7 +7518,8 @@ SELECT [l0].[Name] FROM [LocustLeaders] AS [l0] INNER JOIN [LocustCommanders] AS [l1] ON [l0].[Name] = [l1].[Name] ) AS [t] ON [l].[CommanderName] = [t].[Name] -WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL))"); +WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL)) +"""); } public override async Task Nav_rewrite_with_convert3(bool async) @@ -6685,7 +7527,8 @@ public override async Task Nav_rewrite_with_convert3(bool async) await base.Nav_rewrite_with_convert3(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator] FROM [Factions] AS [f] @@ -6696,7 +7539,8 @@ SELECT [l0].[Name] FROM [LocustLeaders] AS [l0] INNER JOIN [LocustCommanders] AS [l1] ON [l0].[Name] = [l1].[Name] ) AS [t] ON [l].[CommanderName] = [t].[Name] -WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL))"); +WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL)) +"""); } public override async Task Where_contains_on_navigation_with_composite_keys(bool async) @@ -6704,7 +7548,8 @@ public override async Task Where_contains_on_navigation_with_composite_keys(bool await base.Where_contains_on_navigation_with_composite_keys(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -6716,7 +7561,8 @@ WHERE EXISTS ( SELECT 1 FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] - WHERE [c].[Name] = [g0].[CityOfBirthName] AND [g0].[Nickname] = [g].[Nickname] AND [g0].[SquadId] = [g].[SquadId]))"); + WHERE [c].[Name] = [g0].[CityOfBirthName] AND [g0].[Nickname] = [g].[Nickname] AND [g0].[SquadId] = [g].[SquadId])) +"""); } public override async Task Include_with_complex_order_by(bool async) @@ -6724,7 +7570,8 @@ public override async Task Include_with_complex_order_by(bool async) await base.Include_with_complex_order_by(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Gears] AS [g] @@ -6733,7 +7580,8 @@ FROM [Gears] AS [g] ORDER BY ( SELECT TOP(1) [w].[Name] FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Gnasher%')), [g].[Nickname], [g].[SquadId]"); + WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Gnasher%')), [g].[Nickname], [g].[SquadId] +"""); } public override async Task Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(bool async) @@ -6741,7 +7589,8 @@ public override async Task Anonymous_projection_take_followed_by_projecting_sing await base.Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(async); AssertSql( - @"@__p_0='25' +""" +@__p_0='25' SELECT [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM ( @@ -6755,7 +7604,8 @@ LEFT JOIN ( FROM [Weapons] AS [w] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName]"); +) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] +"""); } public override async Task Bool_projection_from_subquery_treated_appropriately_in_where(bool async) @@ -6763,13 +7613,15 @@ public override async Task Bool_projection_from_subquery_treated_appropriately_i await base.Bool_projection_from_subquery_treated_appropriately_in_where(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] WHERE ( SELECT TOP(1) [g].[HasSoulPatch] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] - ORDER BY [g].[Nickname], [g].[SquadId]) = CAST(1 AS bit)"); + ORDER BY [g].[Nickname], [g].[SquadId]) = CAST(1 AS bit) +"""); } public override async Task DateTimeOffset_Contains_Less_than_Greater_than(bool async) @@ -6777,12 +7629,14 @@ public override async Task DateTimeOffset_Contains_Less_than_Greater_than(bool a await base.DateTimeOffset_Contains_Less_than_Greater_than(async); AssertSql( - @"@__start_0='1902-01-01T10:00:00.1234567+01:30' +""" +@__start_0='1902-01-01T10:00:00.1234567+01:30' @__end_1='1902-01-03T10:00:00.1234567+01:30' SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE @__start_0 <= CAST(CONVERT(date, [m].[Timeline]) AS datetimeoffset) AND [m].[Timeline] < @__end_1 AND [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30'"); +WHERE @__start_0 <= CAST(CONVERT(date, [m].[Timeline]) AS datetimeoffset) AND [m].[Timeline] < @__end_1 AND [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30' +"""); } public override Task DateTimeOffsetNow_minus_timespan(bool async) @@ -6793,12 +7647,14 @@ public override async Task Navigation_inside_interpolated_string_expanded(bool a await base.Navigation_inside_interpolated_string_expanded(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [w0].[OwnerFullName] FROM [Weapons] AS [w] -LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id]"); +LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] +"""); } public override async Task Left_join_projection_using_coalesce_tracking(bool async) @@ -6806,7 +7662,8 @@ public override async Task Left_join_projection_using_coalesce_tracking(bool asy await base.Left_join_projection_using_coalesce_tracking(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -6817,7 +7674,8 @@ WHEN [o0].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] -) AS [t] ON [g].[LeaderNickname] = [t].[Nickname]"); +) AS [t] ON [g].[LeaderNickname] = [t].[Nickname] +"""); } public override async Task Left_join_projection_using_conditional_tracking(bool async) @@ -6825,7 +7683,8 @@ public override async Task Left_join_projection_using_conditional_tracking(bool await base.Left_join_projection_using_conditional_tracking(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[Nickname] IS NULL) OR ([t].[SquadId] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -6839,7 +7698,8 @@ WHEN [o0].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] -) AS [t] ON [g].[LeaderNickname] = [t].[Nickname]"); +) AS [t] ON [g].[LeaderNickname] = [t].[Nickname] +"""); } public override async Task Project_collection_navigation_nested_with_take_composite_key(bool async) @@ -6847,7 +7707,8 @@ public override async Task Project_collection_navigation_nested_with_take_compos await base.Project_collection_navigation_nested_with_take_composite_key(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], CASE @@ -6868,7 +7729,8 @@ FROM [Gears] AS [g0] WHERE [t2].[row] <= 50 ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] WHERE [t0].[Discriminator] = N'Officer' -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Project_collection_navigation_nested_composite_key(bool async) @@ -6876,7 +7738,8 @@ public override async Task Project_collection_navigation_nested_composite_key(bo await base.Project_collection_navigation_nested_composite_key(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[SquadId], [t1].[AssignedCityName], [t1].[CityOfBirthName], [t1].[FullName], [t1].[HasSoulPatch], [t1].[LeaderNickname], [t1].[LeaderSquadId], [t1].[Rank], [t1].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], CASE @@ -6893,7 +7756,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t1] ON ([t0].[Nickname] = [t1].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([t1].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [t1].[LeaderSquadId] WHERE [t0].[Discriminator] = N'Officer' -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname] +"""); } public override async Task Null_checks_in_correlated_predicate_are_correctly_translated(bool async) @@ -6901,7 +7765,8 @@ public override async Task Null_checks_in_correlated_predicate_are_correctly_tra await base.Null_checks_in_correlated_predicate_are_correctly_translated(async); AssertSql( - @"SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] +""" +SELECT [t].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -6910,7 +7775,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] AND ([t].[Note] IS NOT NULL) -ORDER BY [t].[Id], [t0].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname] +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(bool async) @@ -6918,7 +7784,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(async); AssertSql( - @"@__isAutomatic_0='True' +""" +@__isAutomatic_0='True' SELECT [g].[Nickname], [g].[FullName], CASE WHEN [t].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -6929,7 +7796,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] = @__isAutomatic_0 -) AS [t] ON [g].[FullName] = [t].[OwnerFullName]"); +) AS [t] ON [g].[FullName] = [t].[OwnerFullName] +"""); } public override async Task Join_with_inner_being_a_subquery_projecting_single_property(bool async) @@ -6937,7 +7805,8 @@ public override async Task Join_with_inner_being_a_subquery_projecting_single_pr await base.Join_with_inner_being_a_subquery_projecting_single_property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -6948,7 +7817,8 @@ WHEN [o0].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] -) AS [t] ON [g].[Nickname] = [t].[Nickname]"); +) AS [t] ON [g].[Nickname] = [t].[Nickname] +"""); } public override async Task Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(bool async) @@ -6956,7 +7826,8 @@ public override async Task Join_with_inner_being_a_subquery_projecting_anonymous await base.Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -6967,7 +7838,8 @@ WHEN [o0].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] -) AS [t] ON [g].[Nickname] = [t].[Nickname]"); +) AS [t] ON [g].[Nickname] = [t].[Nickname] +"""); } public override async Task Navigation_based_on_complex_expression1(bool async) @@ -6975,7 +7847,8 @@ public override async Task Navigation_based_on_complex_expression1(bool async) await base.Navigation_based_on_complex_expression1(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator] FROM [Factions] AS [f] @@ -6991,7 +7864,8 @@ WHEN [t].[Name] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Navigation_based_on_complex_expression2(bool async) @@ -6999,7 +7873,8 @@ public override async Task Navigation_based_on_complex_expression2(bool async) await base.Navigation_based_on_complex_expression2(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator] FROM [Factions] AS [f] @@ -7009,7 +7884,8 @@ SELECT [l0].[Name] FROM [LocustLeaders] AS [l0] INNER JOIN [LocustCommanders] AS [l1] ON [l0].[Name] = [l1].[Name] ) AS [t] ON [l].[CommanderName] = [t].[Name] -WHERE ([l].[Id] IS NOT NULL) AND ([t].[Name] IS NOT NULL)"); +WHERE ([l].[Id] IS NOT NULL) AND ([t].[Name] IS NOT NULL) +"""); } public override async Task Navigation_based_on_complex_expression3(bool async) @@ -7017,7 +7893,8 @@ public override async Task Navigation_based_on_complex_expression3(bool async) await base.Navigation_based_on_complex_expression3(async); AssertSql( - @"SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] +""" +SELECT [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] LEFT JOIN ( @@ -7025,7 +7902,8 @@ LEFT JOIN ( FROM [LocustLeaders] AS [l0] INNER JOIN [LocustCommanders] AS [l1] ON [l0].[Name] = [l1].[Name] ) AS [t] ON [l].[CommanderName] = [t].[Name] -WHERE [l].[Id] IS NOT NULL"); +WHERE [l].[Id] IS NOT NULL +"""); } public override async Task Navigation_based_on_complex_expression4(bool async) @@ -7033,7 +7911,8 @@ public override async Task Navigation_based_on_complex_expression4(bool async) await base.Navigation_based_on_complex_expression4(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l].[Id] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Name], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] @@ -7051,7 +7930,8 @@ LEFT JOIN ( SELECT [l2].[Name], [l2].[LocustHordeId], [l2].[ThreatLevel], [l2].[ThreatLevelByte], [l2].[ThreatLevelNullableByte], [l3].[DefeatedByNickname], [l3].[DefeatedBySquadId], [l3].[HighCommandId] FROM [LocustLeaders] AS [l2] INNER JOIN [LocustCommanders] AS [l3] ON [l2].[Name] = [l3].[Name] -) AS [t0] ON [l].[CommanderName] = [t0].[Name]"); +) AS [t0] ON [l].[CommanderName] = [t0].[Name] +"""); } public override async Task Navigation_based_on_complex_expression5(bool async) @@ -7059,7 +7939,8 @@ public override async Task Navigation_based_on_complex_expression5(bool async) await base.Navigation_based_on_complex_expression5(async); AssertSql( - @"SELECT [t0].[Name], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [t0].[Name], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] CROSS JOIN ( @@ -7075,7 +7956,8 @@ LEFT JOIN ( FROM [LocustLeaders] AS [l2] INNER JOIN [LocustCommanders] AS [l3] ON [l2].[Name] = [l3].[Name] ) AS [t0] ON [l].[CommanderName] = [t0].[Name] -WHERE [l].[Id] IS NOT NULL"); +WHERE [l].[Id] IS NOT NULL +"""); } public override async Task Navigation_based_on_complex_expression6(bool async) @@ -7083,7 +7965,8 @@ public override async Task Navigation_based_on_complex_expression6(bool async) await base.Navigation_based_on_complex_expression6(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t0].[Name] = N'Queen Myrrah' AND ([t0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Name], [t0].[LocustHordeId], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] @@ -7102,7 +7985,8 @@ LEFT JOIN ( FROM [LocustLeaders] AS [l2] INNER JOIN [LocustCommanders] AS [l3] ON [l2].[Name] = [l3].[Name] ) AS [t0] ON [l].[CommanderName] = [t0].[Name] -WHERE [l].[Id] IS NOT NULL"); +WHERE [l].[Id] IS NOT NULL +"""); } public override async Task Select_as_operator(bool async) @@ -7110,11 +7994,13 @@ public override async Task Select_as_operator(bool async) await base.Select_as_operator(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] -LEFT JOIN [LocustCommanders] AS [l0] ON [l].[Name] = [l0].[Name]"); +LEFT JOIN [LocustCommanders] AS [l0] ON [l].[Name] = [l0].[Name] +"""); } public override async Task Select_datetimeoffset_comparison_in_projection(bool async) @@ -7122,11 +8008,13 @@ public override async Task Select_datetimeoffset_comparison_in_projection(bool a await base.Select_datetimeoffset_comparison_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [m].[Timeline] > SYSDATETIMEOFFSET() THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Missions] AS [m]"); +FROM [Missions] AS [m] +"""); } public override async Task OfType_in_subquery_works(bool async) @@ -7134,7 +8022,8 @@ public override async Task OfType_in_subquery_works(bool async) await base.OfType_in_subquery_works(async); AssertSql( - @"SELECT [t].[Name], [t].[Location], [t].[Nation] +""" +SELECT [t].[Name], [t].[Location], [t].[Nation] FROM [Gears] AS [g] INNER JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] INNER JOIN ( @@ -7143,7 +8032,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] LEFT JOIN [Cities] AS [c] ON [g0].[AssignedCityName] = [c].[Name] WHERE [o0].[Nickname] IS NOT NULL -) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId]"); +) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] +"""); } public override async Task Nullable_bool_comparison_is_translated_to_server(bool async) @@ -7151,12 +8041,14 @@ public override async Task Nullable_bool_comparison_is_translated_to_server(bool await base.Nullable_bool_comparison_is_translated_to_server(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l].[Eradicated] = CAST(1 AS bit) AND ([l].[Eradicated] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsEradicated] FROM [Factions] AS [f] -INNER JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id]"); +INNER JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] +"""); } public override async Task Accessing_reference_navigation_collection_composition_generates_single_query(bool async) @@ -7164,14 +8056,16 @@ public override async Task Accessing_reference_navigation_collection_composition await base.Accessing_reference_navigation_collection_composition_generates_single_query(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[IsAutomatic], [t].[Name], [t].[Id0] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[IsAutomatic], [t].[Name], [t].[Id0] FROM [Gears] AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[IsAutomatic], [w0].[Name], [w0].[Id] AS [Id0], [w].[OwnerFullName] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Reference_include_chain_loads_correctly_when_middle_is_null(bool async) @@ -7179,7 +8073,8 @@ public override async Task Reference_include_chain_loads_correctly_when_middle_i await base.Reference_include_chain_loads_correctly_when_middle_is_null(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -7189,7 +8084,8 @@ FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Accessing_property_of_optional_navigation_in_child_projection_works(bool async) @@ -7197,7 +8093,8 @@ public override async Task Accessing_property_of_optional_navigation_in_child_pr await base.Accessing_property_of_optional_navigation_in_child_projection_works(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Nickname] IS NOT NULL) AND ([t0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Nickname], [t1].[Id], [t1].[SquadId] @@ -7214,7 +8111,8 @@ LEFT JOIN ( FROM [Gears] AS [g0] ) AS [t2] ON [w].[OwnerFullName] = [t2].[FullName] ) AS [t1] ON [t0].[FullName] = [t1].[OwnerFullName] -ORDER BY [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[Nickname]"); +ORDER BY [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [t1].[Id], [t1].[Nickname] +"""); } public override async Task Collection_navigation_ofType_filter_works(bool async) @@ -7222,13 +8120,15 @@ public override async Task Collection_navigation_ofType_filter_works(bool async) await base.Collection_navigation_ofType_filter_works(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] WHERE EXISTS ( SELECT 1 FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] - WHERE [c].[Name] = [g].[CityOfBirthName] AND ([o].[Nickname] IS NOT NULL) AND [g].[Nickname] = N'Marcus')"); + WHERE [c].[Name] = [g].[CityOfBirthName] AND ([o].[Nickname] IS NOT NULL) AND [g].[Nickname] = N'Marcus') +"""); } public override async Task Query_reusing_parameter_doesnt_declare_duplicate_parameter(bool async) @@ -7236,7 +8136,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para await base.Query_reusing_parameter_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__prm_Inner_Nickname_0='Marcus' (Size = 450) +""" +@__prm_Inner_Nickname_0='Marcus' (Size = 450) SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -7247,7 +8148,8 @@ FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] WHERE [g].[Nickname] <> @__prm_Inner_Nickname_0 AND [g].[Nickname] <> @__prm_Inner_Nickname_0 ) AS [t] -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(bool async) @@ -7255,7 +8157,8 @@ public override async Task Query_reusing_parameter_with_inner_query_doesnt_decla await base.Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__squadId_0='1' +""" +@__squadId_0='1' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -7281,7 +8184,8 @@ SELECT 1 FROM [Squads] AS [s2] WHERE [s2].[Id] = @__squadId_0 AND [s2].[Id] = [s1].[Id]) ) AS [t] -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(bool async) @@ -7289,7 +8193,8 @@ public override async Task Query_reusing_parameter_with_inner_query_expression_d await base.Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__gearId_0='1' +""" +@__gearId_0='1' SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] @@ -7297,7 +8202,8 @@ WHERE EXISTS ( SELECT 1 FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] - WHERE [s].[Id] = [g].[SquadId] AND [g].[SquadId] = @__gearId_0 AND [g].[SquadId] = @__gearId_0)"); + WHERE [s].[Id] = [g].[SquadId] AND [g].[SquadId] = @__gearId_0 AND [g].[SquadId] = @__gearId_0) +"""); } public override async Task Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(bool async) @@ -7305,7 +8211,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para await base.Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(async); AssertSql( - @"@__entity_equality_prm_Inner_Squad_0_Id='1' (Nullable = true) +""" +@__entity_equality_prm_Inner_Squad_0_Id='1' (Nullable = true) SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM ( @@ -7319,7 +8226,8 @@ FROM [Gears] AS [g] ) AS [t] INNER JOIN [Squads] AS [s0] ON [t].[SquadId] = [s0].[Id] WHERE [s0].[Id] = @__entity_equality_prm_Inner_Squad_0_Id -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Complex_GroupBy_after_set_operator(bool async) @@ -7327,7 +8235,8 @@ public override async Task Complex_GroupBy_after_set_operator(bool async) await base.Complex_GroupBy_after_set_operator(async); AssertSql( - @"SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] +""" +SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] FROM ( SELECT [c].[Name], ( SELECT COUNT(*) @@ -7343,7 +8252,8 @@ FROM [Weapons] AS [w0] FROM [Gears] AS [g0] INNER JOIN [Cities] AS [c0] ON [g0].[CityOfBirthName] = [c0].[Name] ) AS [t] -GROUP BY [t].[Name], [t].[Count]"); +GROUP BY [t].[Name], [t].[Count] +"""); } public override async Task Complex_GroupBy_after_set_operator_using_result_selector(bool async) @@ -7351,7 +8261,8 @@ public override async Task Complex_GroupBy_after_set_operator_using_result_selec await base.Complex_GroupBy_after_set_operator_using_result_selector(async); AssertSql( - @"SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] +""" +SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] FROM ( SELECT [c].[Name], ( SELECT COUNT(*) @@ -7367,7 +8278,8 @@ FROM [Weapons] AS [w0] FROM [Gears] AS [g0] INNER JOIN [Cities] AS [c0] ON [g0].[CityOfBirthName] = [c0].[Name] ) AS [t] -GROUP BY [t].[Name], [t].[Count]"); +GROUP BY [t].[Name], [t].[Count] +"""); } public override async Task Left_join_with_GroupBy_with_composite_group_key(bool async) @@ -7375,11 +8287,13 @@ public override async Task Left_join_with_GroupBy_with_composite_group_key(bool await base.Left_join_with_GroupBy_with_composite_group_key(async); AssertSql( - @"SELECT [g].[CityOfBirthName], [g].[HasSoulPatch] +""" +SELECT [g].[CityOfBirthName], [g].[HasSoulPatch] FROM [Gears] AS [g] INNER JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] -GROUP BY [g].[CityOfBirthName], [g].[HasSoulPatch]"); +GROUP BY [g].[CityOfBirthName], [g].[HasSoulPatch] +"""); } public override async Task GroupBy_with_boolean_grouping_key(bool async) @@ -7387,7 +8301,8 @@ public override async Task GroupBy_with_boolean_grouping_key(bool async) await base.GroupBy_with_boolean_grouping_key(async); AssertSql( - @"SELECT [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus], COUNT(*) AS [Count] +""" +SELECT [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus], COUNT(*) AS [Count] FROM ( SELECT [g].[CityOfBirthName], [g].[HasSoulPatch], CASE WHEN [g].[Nickname] = N'Marcus' THEN CAST(1 AS bit) @@ -7395,7 +8310,8 @@ ELSE CAST(0 AS bit) END AS [IsMarcus] FROM [Gears] AS [g] ) AS [t] -GROUP BY [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus]"); +GROUP BY [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus] +"""); } public override async Task GroupBy_with_boolean_groupin_key_thru_navigation_access(bool async) @@ -7403,14 +8319,16 @@ public override async Task GroupBy_with_boolean_groupin_key_thru_navigation_acce await base.GroupBy_with_boolean_groupin_key_thru_navigation_access(async); AssertSql( - @"SELECT [t0].[HasSoulPatch], LOWER([s].[Name]) AS [Name] +""" +SELECT [t0].[HasSoulPatch], LOWER([s].[Name]) AS [Name] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] LEFT JOIN [Squads] AS [s] ON [t0].[SquadId] = [s].[Id] -GROUP BY [t0].[HasSoulPatch], [s].[Name]"); +GROUP BY [t0].[HasSoulPatch], [s].[Name] +"""); } public override async Task Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(bool async) @@ -7418,10 +8336,12 @@ public override async Task Group_by_over_projection_with_multiple_properties_acc await base.Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(async); AssertSql( - @"SELECT [c].[Name] +""" +SELECT [c].[Name] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] -GROUP BY [c].[Name]"); +GROUP BY [c].[Name] +"""); } public override async Task Group_by_on_StartsWith_with_null_parameter_as_argument(bool async) @@ -7429,12 +8349,14 @@ public override async Task Group_by_on_StartsWith_with_null_parameter_as_argumen await base.Group_by_on_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [t].[Key] +""" +SELECT [t].[Key] FROM ( SELECT CAST(0 AS bit) AS [Key] FROM [Gears] AS [g] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Group_by_with_having_StartsWith_with_null_parameter_as_argument(bool async) @@ -7442,10 +8364,12 @@ public override async Task Group_by_with_having_StartsWith_with_null_parameter_a await base.Group_by_with_having_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] GROUP BY [g].[FullName] -HAVING 0 = 1"); +HAVING 0 = 1 +"""); } public override async Task Select_StartsWith_with_null_parameter_as_argument(bool async) @@ -7453,8 +8377,10 @@ public override async Task Select_StartsWith_with_null_parameter_as_argument(boo await base.Select_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT CAST(0 AS bit) -FROM [Gears] AS [g]"); +""" +SELECT CAST(0 AS bit) +FROM [Gears] AS [g] +"""); } public override async Task Select_null_parameter_is_not_null(bool async) @@ -7462,10 +8388,12 @@ public override async Task Select_null_parameter_is_not_null(bool async) await base.Select_null_parameter_is_not_null(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT @__p_0 -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Where_null_parameter_is_not_null(bool async) @@ -7473,14 +8401,16 @@ public override async Task Where_null_parameter_is_not_null(bool async) await base.Where_null_parameter_is_not_null(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE @__p_0 = CAST(1 AS bit)"); +WHERE @__p_0 = CAST(1 AS bit) +"""); } public override async Task OrderBy_StartsWith_with_null_parameter_as_argument(bool async) @@ -7488,12 +8418,14 @@ public override async Task OrderBy_StartsWith_with_null_parameter_as_argument(bo await base.OrderBy_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task OrderBy_Contains_empty_list(bool async) @@ -7501,11 +8433,13 @@ public override async Task OrderBy_Contains_empty_list(bool async) await base.OrderBy_Contains_empty_list(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] -LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId]"); +LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] +"""); } public override async Task Where_with_enum_flags_parameter(bool async) @@ -7513,36 +8447,44 @@ public override async Task Where_with_enum_flags_parameter(bool async) await base.Where_with_enum_flags_parameter(async); AssertSql( - @"@__rank_0='1' (Nullable = true) +""" +@__rank_0='1' (Nullable = true) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & @__rank_0) = @__rank_0", +WHERE ([g].[Rank] & @__rank_0) = @__rank_0 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] -LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId]", +LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] +""", // - @"@__rank_0='2' (Nullable = true) +""" +@__rank_0='2' (Nullable = true) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] | @__rank_0) <> @__rank_0", +WHERE ([g].[Rank] | @__rank_0) <> @__rank_0 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(bool async) @@ -7550,7 +8492,8 @@ public override async Task FirstOrDefault_navigation_access_entity_equality_in_w await base.FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator] FROM [Factions] AS [f] @@ -7566,7 +8509,8 @@ SELECT TOP(1) [c0].[Name] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] INNER JOIN [Cities] AS [c0] ON [g].[CityOfBirthName] = [c0].[Name] - ORDER BY [g].[Nickname]) IS NULL))"); + ORDER BY [g].[Nickname]) IS NULL)) +"""); } public override async Task Bitwise_operation_with_non_null_parameter_optimizes_null_checks(bool async) @@ -7574,30 +8518,36 @@ public override async Task Bitwise_operation_with_non_null_parameter_optimizes_n await base.Bitwise_operation_with_non_null_parameter_optimizes_null_checks(async); AssertSql( - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE ([g].[Rank] & @__ranks_0) <> 0", +WHERE ([g].[Rank] & @__ranks_0) <> 0 +""", // - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT CASE WHEN ([g].[Rank] | @__ranks_0) = @__ranks_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Gears] AS [g]", +FROM [Gears] AS [g] +""", // - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT CASE WHEN ([g].[Rank] | ([g].[Rank] | (@__ranks_0 | ([g].[Rank] | @__ranks_0)))) = @__ranks_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Gears] AS [g]"); +FROM [Gears] AS [g] +"""); } public override async Task Bitwise_operation_with_null_arguments(bool async) @@ -7605,32 +8555,44 @@ public override async Task Bitwise_operation_with_null_arguments(bool async) await base.Bitwise_operation_with_null_arguments(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] -FROM [Weapons] AS [w]", +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +FROM [Weapons] AS [w] +""", // - @"@__prm_0='2' (Nullable = true) +""" +@__prm_0='2' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__prm_0) <> 0 OR ([w].[AmmunitionType] IS NULL)", +WHERE ([w].[AmmunitionType] & @__prm_0) <> 0 OR ([w].[AmmunitionType] IS NULL) +""", // - @"@__prm_0='1' (Nullable = true) +""" +@__prm_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE ([w].[AmmunitionType] & @__prm_0) = @__prm_0"); +WHERE ([w].[AmmunitionType] & @__prm_0) = @__prm_0 +"""); } public override async Task Logical_operation_with_non_null_parameter_optimizes_null_checks(bool async) @@ -7638,23 +8600,27 @@ public override async Task Logical_operation_with_non_null_parameter_optimizes_n await base.Logical_operation_with_non_null_parameter_optimizes_null_checks(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE [g].[HasSoulPatch] <> @__prm_0", +WHERE [g].[HasSoulPatch] <> @__prm_0 +""", // - @"@__prm_0='False' +""" +@__prm_0='False' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE [g].[HasSoulPatch] <> @__prm_0"); +WHERE [g].[HasSoulPatch] <> @__prm_0 +"""); } public override async Task Cast_OfType_works_correctly(bool async) @@ -7662,10 +8628,12 @@ public override async Task Cast_OfType_works_correctly(bool async) await base.Cast_OfType_works_correctly(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE [o].[Nickname] IS NOT NULL"); +WHERE [o].[Nickname] IS NOT NULL +"""); } public override async Task Join_inner_source_custom_projection_followed_by_filter(bool async) @@ -7673,7 +8641,8 @@ public override async Task Join_inner_source_custom_projection_followed_by_filte await base.Join_inner_source_custom_projection_followed_by_filter(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[Name] = N'Locust' THEN CAST(1 AS bit) ELSE NULL END AS [IsEradicated], [t].[CommanderName], [t].[Name] @@ -7690,7 +8659,8 @@ ELSE NULL END <> CAST(1 AS bit) OR (CASE WHEN [t].[Name] = N'Locust' THEN CAST(1 AS bit) ELSE NULL -END IS NULL)"); +END IS NULL) +"""); } public override async Task Byte_array_contains_literal(bool async) @@ -7698,9 +8668,11 @@ public override async Task Byte_array_contains_literal(bool async) await base.Byte_array_contains_literal(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CHARINDEX(0x01, [s].[Banner]) > 0"); +WHERE CHARINDEX(0x01, [s].[Banner]) > 0 +"""); } public override async Task Byte_array_filter_by_length_literal(bool async) @@ -7708,9 +8680,11 @@ public override async Task Byte_array_filter_by_length_literal(bool async) await base.Byte_array_filter_by_length_literal(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = 1"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = 1 +"""); } public override async Task Byte_array_filter_by_length_parameter(bool async) @@ -7718,11 +8692,13 @@ public override async Task Byte_array_filter_by_length_parameter(bool async) await base.Byte_array_filter_by_length_parameter(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = @__p_0"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = @__p_0 +"""); } public override void Byte_array_filter_by_length_parameter_compiled() @@ -7730,11 +8706,13 @@ public override void Byte_array_filter_by_length_parameter_compiled() base.Byte_array_filter_by_length_parameter_compiled(); AssertSql( - @"@__byteArrayParam='0x2A80' (Size = 8000) +""" +@__byteArrayParam='0x2A80' (Size = 8000) SELECT COUNT(*) FROM [Squads] AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = CAST(DATALENGTH(@__byteArrayParam) AS int)"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = CAST(DATALENGTH(@__byteArrayParam) AS int) +"""); } public override async Task Byte_array_contains_parameter(bool async) @@ -7742,11 +8720,13 @@ public override async Task Byte_array_contains_parameter(bool async) await base.Byte_array_contains_parameter(async); AssertSql( - @"@__someByte_0='1' (Size = 1) +""" +@__someByte_0='1' (Size = 1) SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CHARINDEX(CAST(@__someByte_0 AS varbinary(max)), [s].[Banner]) > 0"); +WHERE CHARINDEX(CAST(@__someByte_0 AS varbinary(max)), [s].[Banner]) > 0 +"""); } public override async Task Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(bool async) @@ -7754,9 +8734,11 @@ public override async Task Byte_array_filter_by_length_literal_does_not_cast_on_ await base.Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE DATALENGTH([s].[Banner5]) = 5"); +WHERE DATALENGTH([s].[Banner5]) = 5 +"""); } public override async Task Conditional_expression_with_test_being_simplified_to_constant_simple(bool isAsync) @@ -7764,7 +8746,8 @@ public override async Task Conditional_expression_with_test_being_simplified_to_ await base.Conditional_expression_with_test_being_simplified_to_constant_simple(isAsync); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' @@ -7774,7 +8757,8 @@ FROM [Gears] AS [g] WHERE CASE WHEN [g].[HasSoulPatch] = @__prm_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Conditional_expression_with_test_being_simplified_to_constant_complex(bool isAsync) @@ -7782,7 +8766,8 @@ public override async Task Conditional_expression_with_test_being_simplified_to_ await base.Conditional_expression_with_test_being_simplified_to_constant_complex(isAsync); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' @__prm2_1='Dom's Lancer' (Size = 4000) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -7802,7 +8787,8 @@ FROM [Weapons] AS [w] ELSE CAST(0 AS bit) END ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task OrderBy_bool_coming_from_optional_navigation(bool async) @@ -7810,10 +8796,12 @@ public override async Task OrderBy_bool_coming_from_optional_navigation(bool asy await base.OrderBy_bool_coming_from_optional_navigation(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w0].[IsAutomatic]"); +ORDER BY [w0].[IsAutomatic] +"""); } public override async Task DateTimeOffset_Date_returns_datetime(bool async) @@ -7821,11 +8809,13 @@ public override async Task DateTimeOffset_Date_returns_datetime(bool async) await base.DateTimeOffset_Date_returns_datetime(async); AssertSql( - @"@__dateTimeOffset_Date_0='0002-03-01T00:00:00.0000000' +""" +@__dateTimeOffset_Date_0='0002-03-01T00:00:00.0000000' SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE CONVERT(date, [m].[Timeline]) >= @__dateTimeOffset_Date_0"); +WHERE CONVERT(date, [m].[Timeline]) >= @__dateTimeOffset_Date_0 +"""); } public override async Task Conditional_with_conditions_evaluating_to_false_gets_optimized(bool async) @@ -7833,8 +8823,10 @@ public override async Task Conditional_with_conditions_evaluating_to_false_gets_ await base.Conditional_with_conditions_evaluating_to_false_gets_optimized(async); AssertSql( - @"SELECT [g].[FullName] -FROM [Gears] AS [g]"); +""" +SELECT [g].[FullName] +FROM [Gears] AS [g] +"""); } public override async Task Conditional_with_conditions_evaluating_to_true_gets_optimized(bool async) @@ -7842,8 +8834,10 @@ public override async Task Conditional_with_conditions_evaluating_to_true_gets_o await base.Conditional_with_conditions_evaluating_to_true_gets_optimized(async); AssertSql( - @"SELECT [g].[CityOfBirthName] -FROM [Gears] AS [g]"); +""" +SELECT [g].[CityOfBirthName] +FROM [Gears] AS [g] +"""); } public override async Task Projecting_required_string_column_compared_to_null_parameter(bool async) @@ -7851,8 +8845,10 @@ public override async Task Projecting_required_string_column_compared_to_null_pa await base.Projecting_required_string_column_compared_to_null_parameter(async); AssertSql( - @"SELECT CAST(0 AS bit) -FROM [Gears] AS [g]"); +""" +SELECT CAST(0 AS bit) +FROM [Gears] AS [g] +"""); } public override async Task Byte_array_filter_by_SequenceEqual(bool isAsync) @@ -7860,11 +8856,13 @@ public override async Task Byte_array_filter_by_SequenceEqual(bool isAsync) await base.Byte_array_filter_by_SequenceEqual(isAsync); AssertSql( - @"@__byteArrayParam_0='0x0405060708' (Size = 5) +""" +@__byteArrayParam_0='0x0405060708' (Size = 5) SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE [s].[Banner5] = @__byteArrayParam_0"); +WHERE [s].[Banner5] = @__byteArrayParam_0 +"""); } public override async Task Group_by_nullable_property_HasValue_and_project_the_grouping_key(bool async) @@ -7872,7 +8870,8 @@ public override async Task Group_by_nullable_property_HasValue_and_project_the_g await base.Group_by_nullable_property_HasValue_and_project_the_grouping_key(async); AssertSql( - @"SELECT [t].[Key] +""" +SELECT [t].[Key] FROM ( SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) @@ -7880,7 +8879,8 @@ ELSE CAST(0 AS bit) END AS [Key] FROM [Weapons] AS [w] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Group_by_nullable_property_and_project_the_grouping_key_HasValue(bool async) @@ -7888,12 +8888,14 @@ public override async Task Group_by_nullable_property_and_project_the_grouping_k await base.Group_by_nullable_property_and_project_the_grouping_key_HasValue(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Weapons] AS [w] -GROUP BY [w].[SynergyWithId]"); +GROUP BY [w].[SynergyWithId] +"""); } public override async Task Checked_context_with_cast_does_not_fail(bool isAsync) @@ -7901,12 +8903,14 @@ public override async Task Checked_context_with_cast_does_not_fail(bool isAsync) await base.Checked_context_with_cast_does_not_fail(isAsync); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[Name] = [l0].[Name] -WHERE CAST([l].[ThreatLevel] AS tinyint) >= CAST(5 AS tinyint)"); +WHERE CAST([l].[ThreatLevel] AS tinyint) >= CAST(5 AS tinyint) +"""); } public override async Task Checked_context_with_addition_does_not_fail(bool isAsync) @@ -7914,12 +8918,14 @@ public override async Task Checked_context_with_addition_does_not_fail(bool isAs await base.Checked_context_with_addition_does_not_fail(isAsync); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[Name] = [l0].[Name] -WHERE CAST([l].[ThreatLevel] AS bigint) >= (CAST(5 AS bigint) + CAST([l].[ThreatLevel] AS bigint))"); +WHERE CAST([l].[ThreatLevel] AS bigint) >= (CAST(5 AS bigint) + CAST([l].[ThreatLevel] AS bigint)) +"""); } public override async Task TimeSpan_Hours(bool async) @@ -7927,8 +8933,10 @@ public override async Task TimeSpan_Hours(bool async) await base.TimeSpan_Hours(async); AssertSql( - @"SELECT DATEPART(hour, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(hour, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task TimeSpan_Minutes(bool async) @@ -7936,8 +8944,10 @@ public override async Task TimeSpan_Minutes(bool async) await base.TimeSpan_Minutes(async); AssertSql( - @"SELECT DATEPART(minute, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(minute, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task TimeSpan_Seconds(bool async) @@ -7945,8 +8955,10 @@ public override async Task TimeSpan_Seconds(bool async) await base.TimeSpan_Seconds(async); AssertSql( - @"SELECT DATEPART(second, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(second, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task TimeSpan_Milliseconds(bool async) @@ -7954,8 +8966,10 @@ public override async Task TimeSpan_Milliseconds(bool async) await base.TimeSpan_Milliseconds(async); AssertSql( - @"SELECT DATEPART(millisecond, [m].[Duration]) -FROM [Missions] AS [m]"); +""" +SELECT DATEPART(millisecond, [m].[Duration]) +FROM [Missions] AS [m] +"""); } public override async Task Where_TimeSpan_Hours(bool async) @@ -7963,9 +8977,11 @@ public override async Task Where_TimeSpan_Hours(bool async) await base.Where_TimeSpan_Hours(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(hour, [m].[Duration]) = 1"); +WHERE DATEPART(hour, [m].[Duration]) = 1 +"""); } public override async Task Where_TimeSpan_Minutes(bool async) @@ -7973,9 +8989,11 @@ public override async Task Where_TimeSpan_Minutes(bool async) await base.Where_TimeSpan_Minutes(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(minute, [m].[Duration]) = 1"); +WHERE DATEPART(minute, [m].[Duration]) = 1 +"""); } public override async Task Where_TimeSpan_Seconds(bool async) @@ -7983,9 +9001,11 @@ public override async Task Where_TimeSpan_Seconds(bool async) await base.Where_TimeSpan_Seconds(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(second, [m].[Duration]) = 1"); +WHERE DATEPART(second, [m].[Duration]) = 1 +"""); } public override async Task Where_TimeSpan_Milliseconds(bool async) @@ -7993,9 +9013,11 @@ public override async Task Where_TimeSpan_Milliseconds(bool async) await base.Where_TimeSpan_Milliseconds(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE DATEPART(millisecond, [m].[Duration]) = 1"); +WHERE DATEPART(millisecond, [m].[Duration]) = 1 +"""); } public override async Task Contains_on_collection_of_byte_subquery(bool async) @@ -8003,7 +9025,8 @@ public override async Task Contains_on_collection_of_byte_subquery(bool async) await base.Contains_on_collection_of_byte_subquery(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -8012,7 +9035,8 @@ WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l1] LEFT JOIN [LocustCommanders] AS [l2] ON [l1].[Name] = [l2].[Name] - WHERE [l1].[ThreatLevelByte] = [l].[ThreatLevelByte])"); + WHERE [l1].[ThreatLevelByte] = [l].[ThreatLevelByte]) +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery(bool async) @@ -8020,7 +9044,8 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery(bool await base.Contains_on_collection_of_nullable_byte_subquery(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -8029,7 +9054,8 @@ WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l1] LEFT JOIN [LocustCommanders] AS [l2] ON [l1].[Name] = [l2].[Name] - WHERE [l1].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l1].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL)))"); + WHERE [l1].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l1].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL))) +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery_null_constant(bool async) @@ -8037,7 +9063,8 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery_null await base.Contains_on_collection_of_nullable_byte_subquery_null_constant(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -8046,7 +9073,8 @@ WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l1] LEFT JOIN [LocustCommanders] AS [l2] ON [l1].[Name] = [l2].[Name] - WHERE [l1].[ThreatLevelNullableByte] IS NULL)"); + WHERE [l1].[ThreatLevelNullableByte] IS NULL) +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery_null_parameter(bool async) @@ -8054,7 +9082,8 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery_null await base.Contains_on_collection_of_nullable_byte_subquery_null_parameter(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -8063,7 +9092,8 @@ WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] AS [l1] LEFT JOIN [LocustCommanders] AS [l2] ON [l1].[Name] = [l2].[Name] - WHERE [l1].[ThreatLevelNullableByte] IS NULL)"); + WHERE [l1].[ThreatLevelNullableByte] IS NULL) +"""); } public override async Task Contains_on_byte_array_property_using_byte_column(bool async) @@ -8071,7 +9101,8 @@ public override async Task Contains_on_byte_array_property_using_byte_column(boo await base.Contains_on_byte_array_property_using_byte_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [t].[Name], [t].[LocustHordeId], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Discriminator] FROM [Squads] AS [s] CROSS JOIN ( SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE @@ -8080,7 +9111,8 @@ END AS [Discriminator] FROM [LocustLeaders] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[Name] = [l0].[Name] ) AS [t] -WHERE CHARINDEX(CAST([t].[ThreatLevelByte] AS varbinary(max)), [s].[Banner]) > 0"); +WHERE CHARINDEX(CAST([t].[ThreatLevelByte] AS varbinary(max)), [s].[Banner]) > 0 +"""); } public override async Task Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion( @@ -8089,7 +9121,8 @@ public override async Task Subquery_projecting_non_nullable_scalar_contains_non_ await base.Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [LocustLeaders] AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -8102,7 +9135,8 @@ SELECT 1 FROM [LocustLeaders] AS [l1] LEFT JOIN [LocustCommanders] AS [l2] ON [l1].[Name] = [l2].[Name] WHERE [l1].[ThreatLevelByte] = [l].[ThreatLevelByte]) -) AS [t]"); +) AS [t] +"""); } public override async Task Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion_negated( @@ -8111,7 +9145,8 @@ public override async Task Subquery_projecting_non_nullable_scalar_contains_non_ await base.Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion_negated(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [LocustLeaders] AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -8124,7 +9159,8 @@ SELECT 1 FROM [LocustLeaders] AS [l1] LEFT JOIN [LocustCommanders] AS [l2] ON [l1].[Name] = [l2].[Name] WHERE [l1].[ThreatLevelByte] = [l].[ThreatLevelByte])) -) AS [t]"); +) AS [t] +"""); } public override async Task Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion(bool async) @@ -8132,7 +9168,8 @@ public override async Task Subquery_projecting_nullable_scalar_contains_nullable await base.Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [LocustLeaders] AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -8145,7 +9182,8 @@ SELECT 1 FROM [LocustLeaders] AS [l1] LEFT JOIN [LocustCommanders] AS [l2] ON [l1].[Name] = [l2].[Name] WHERE [l1].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l1].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL))) -) AS [t]"); +) AS [t] +"""); } public override async Task Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion_negated(bool async) @@ -8153,7 +9191,8 @@ public override async Task Subquery_projecting_nullable_scalar_contains_nullable await base.Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion_negated(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [LocustLeaders] AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE @@ -8166,7 +9205,8 @@ SELECT 1 FROM [LocustLeaders] AS [l1] LEFT JOIN [LocustCommanders] AS [l2] ON [l1].[Name] = [l2].[Name] WHERE [l1].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l1].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL)))) -) AS [t]"); +) AS [t] +"""); } public override async Task Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) @@ -8174,11 +9214,13 @@ public override async Task Enum_closure_typed_as_underlying_type_generates_corre await base.Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='1' (Nullable = true) +""" +@__prm_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE @__prm_0 = [w].[AmmunitionType]"); +WHERE @__prm_0 = [w].[AmmunitionType] +"""); } public override async Task Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) @@ -8186,14 +9228,16 @@ public override async Task Enum_flags_closure_typed_as_underlying_type_generates await base.Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='133' +""" +@__prm_0='133' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE (@__prm_0 & [g].[Rank]) = [g].[Rank]"); +WHERE (@__prm_0 & [g].[Rank]) = [g].[Rank] +"""); } public override async Task Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(bool async) @@ -8201,14 +9245,16 @@ public override async Task Enum_flags_closure_typed_as_different_type_generates_ await base.Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='5' +""" +@__prm_0='5' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE (@__prm_0 & CAST([g].[Rank] AS int)) = CAST([g].[Rank] AS int)"); +WHERE (@__prm_0 & CAST([g].[Rank] AS int)) = CAST([g].[Rank] AS int) +"""); } public override async Task Constant_enum_with_same_underlying_value_as_previously_parameterized_int(bool async) @@ -8216,11 +9262,13 @@ public override async Task Constant_enum_with_same_underlying_value_as_previousl await base.Constant_enum_with_same_underlying_value_as_previously_parameterized_int(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(@__p_0) [g].[Rank] & 1 FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Enum_array_contains(bool async) @@ -8228,10 +9276,12 @@ public override async Task Enum_array_contains(bool async) await base.Enum_array_contains(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -WHERE ([w0].[Id] IS NOT NULL) AND ([w0].[AmmunitionType] = 1 OR ([w0].[AmmunitionType] IS NULL))"); +WHERE ([w0].[Id] IS NOT NULL) AND ([w0].[AmmunitionType] = 1 OR ([w0].[AmmunitionType] IS NULL)) +"""); } [ConditionalTheory] @@ -8244,8 +9294,10 @@ await AssertQueryScalar( ss => ss.Set().Select(m => (int?)(m.CodeName.Length * 2))); AssertSql( - @"SELECT CAST(DATALENGTH([m].[CodeName]) AS int) -FROM [Missions] AS [m]"); +""" +SELECT CAST(DATALENGTH([m].[CodeName]) AS int) +FROM [Missions] AS [m] +"""); } public override async Task CompareTo_used_with_non_unicode_string_column_and_constant(bool async) @@ -8253,9 +9305,11 @@ public override async Task CompareTo_used_with_non_unicode_string_column_and_con await base.CompareTo_used_with_non_unicode_string_column_and_constant(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Location] = 'Unknown'"); +WHERE [c].[Location] = 'Unknown' +"""); } public override async Task Coalesce_used_with_non_unicode_string_column_and_constant(bool async) @@ -8263,8 +9317,10 @@ public override async Task Coalesce_used_with_non_unicode_string_column_and_cons await base.Coalesce_used_with_non_unicode_string_column_and_constant(async); AssertSql( - @"SELECT COALESCE([c].[Location], 'Unknown') -FROM [Cities] AS [c]"); +""" +SELECT COALESCE([c].[Location], 'Unknown') +FROM [Cities] AS [c] +"""); } public override async Task Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(bool async) @@ -8272,7 +9328,8 @@ public override async Task Groupby_anonymous_type_with_navigations_followed_up_b await base.Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], COUNT(*) AS [Count] +""" +SELECT [c].[Name], [c].[Location], COUNT(*) AS [Count] FROM [Weapons] AS [w] LEFT JOIN ( SELECT [g].[CityOfBirthName], [g].[FullName] @@ -8280,7 +9337,8 @@ FROM [Gears] AS [g] ) AS [t] ON [w].[OwnerFullName] = [t].[FullName] LEFT JOIN [Cities] AS [c] ON [t].[CityOfBirthName] = [c].[Name] GROUP BY [c].[Name], [c].[Location] -ORDER BY [c].[Location]"); +ORDER BY [c].[Location] +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(bool async) @@ -8288,13 +9346,15 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_con await base.SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] INNER JOIN [Weapons] AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) -ORDER BY [g].[Nickname], [w].[Id]"); +ORDER BY [g].[Nickname], [w].[Id] +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(bool async) @@ -8302,13 +9362,15 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_Def await base.SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) -ORDER BY [g].[Nickname], [w].[Id]"); +ORDER BY [g].[Nickname], [w].[Id] +"""); } public override async Task SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join( @@ -8317,7 +9379,8 @@ public override async Task SelectMany_predicate_after_navigation_with_non_equali await base.SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] @@ -8327,7 +9390,8 @@ LEFT JOIN ( FROM [Weapons] AS [w] LEFT JOIN [Weapons] AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ) AS [t] ON [g].[FullName] <> [t].[OwnerFullName] OR ([t].[OwnerFullName] IS NULL) -ORDER BY [g].[Nickname], [t].[Id]"); +ORDER BY [g].[Nickname], [t].[Id] +"""); } public override async Task SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(bool async) @@ -8335,9 +9399,11 @@ public override async Task SelectMany_without_result_selector_and_non_equality_c await base.SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] -LEFT JOIN [Weapons] AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL)"); +LEFT JOIN [Weapons] AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(bool async) @@ -8345,10 +9411,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] AND [g].[SquadId] < [w].[Id] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(bool async) @@ -8356,10 +9424,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] AND [g].[SquadId] <= [w].[Id] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(bool async) @@ -8367,10 +9437,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] AND [g].[SquadId] >= [w].[Id] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_with_Take_doesnt_convert_to_join(bool async) @@ -8378,7 +9450,8 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_wit await base.SelectMany_predicate_with_non_equality_comparison_with_Take_doesnt_convert_to_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[SynergyWithId] FROM [Gears] AS [g] @@ -8389,7 +9462,8 @@ FROM [Weapons] AS [w] WHERE [w].[OwnerFullName] <> [g].[FullName] OR ([w].[OwnerFullName] IS NULL) ORDER BY [w].[Id] ) AS [t] -ORDER BY [g].[Nickname], [t].[Id]"); +ORDER BY [g].[Nickname], [t].[Id] +"""); } public override async Task FirstOrDefault_over_int_compared_to_zero(bool async) @@ -8397,13 +9471,15 @@ public override async Task FirstOrDefault_over_int_compared_to_zero(bool async) await base.FirstOrDefault_over_int_compared_to_zero(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] AS [s] WHERE [s].[Name] = N'Kilo' AND COALESCE(( SELECT TOP(1) [g].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] - WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0"); + WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0 +"""); } public override async Task Correlated_collection_with_inner_collection_references_element_two_levels_up(bool async) @@ -8411,7 +9487,8 @@ public override async Task Correlated_collection_with_inner_collection_reference await base.Correlated_collection_with_inner_collection_references_element_two_levels_up(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] OUTER APPLY ( @@ -8420,7 +9497,8 @@ FROM [Gears] AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] ) AS [t] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Accessing_derived_property_using_hard_and_soft_cast(bool async) @@ -8428,19 +9506,23 @@ public override async Task Accessing_derived_property_using_hard_and_soft_cast(b await base.Accessing_derived_property_using_hard_and_soft_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[Name] = [l0].[Name] -WHERE ([l0].[Name] IS NOT NULL) AND ([l0].[HighCommandId] <> 0 OR ([l0].[HighCommandId] IS NULL))", +WHERE ([l0].[Name] IS NOT NULL) AND ([l0].[HighCommandId] <> 0 OR ([l0].[HighCommandId] IS NULL)) +""", // - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] LEFT JOIN [LocustCommanders] AS [l0] ON [l].[Name] = [l0].[Name] -WHERE ([l0].[Name] IS NOT NULL) AND ([l0].[HighCommandId] <> 0 OR ([l0].[HighCommandId] IS NULL))"); +WHERE ([l0].[Name] IS NOT NULL) AND ([l0].[HighCommandId] <> 0 OR ([l0].[HighCommandId] IS NULL)) +"""); } public override async Task Cast_to_derived_followed_by_include_and_FirstOrDefault(bool async) @@ -8448,7 +9530,8 @@ public override async Task Cast_to_derived_followed_by_include_and_FirstOrDefaul await base.Cast_to_derived_followed_by_include_and_FirstOrDefault(async); AssertSql( - @"SELECT TOP(1) [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT TOP(1) [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [LocustLeaders] AS [l] @@ -8460,7 +9543,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId] -WHERE [l].[Name] LIKE N'%Queen%'"); +WHERE [l].[Name] LIKE N'%Queen%' +"""); } public override async Task Correlated_collection_take(bool async) @@ -8468,7 +9552,8 @@ public override async Task Correlated_collection_take(bool async) await base.Correlated_collection_take(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [c].[Location], [c].[Nation] +""" +SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId], [c].[Location], [c].[Nation] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN ( @@ -8479,7 +9564,8 @@ FROM [Weapons] AS [w] ) AS [t] WHERE [t].[row] <= 10 ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name] +"""); } public override async Task First_on_byte_array(bool async) @@ -8487,9 +9573,11 @@ public override async Task First_on_byte_array(bool async) await base.First_on_byte_array(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(SUBSTRING([s].[Banner], 1, 1) AS tinyint) = CAST(2 AS tinyint)"); +WHERE CAST(SUBSTRING([s].[Banner], 1, 1) AS tinyint) = CAST(2 AS tinyint) +"""); } public override async Task Array_access_on_byte_array(bool async) @@ -8497,9 +9585,11 @@ public override async Task Array_access_on_byte_array(bool async) await base.Array_access_on_byte_array(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] -WHERE CAST(SUBSTRING([s].[Banner5], 2 + 1, 1) AS tinyint) = CAST(6 AS tinyint)"); +WHERE CAST(SUBSTRING([s].[Banner5], 2 + 1, 1) AS tinyint) = CAST(6 AS tinyint) +"""); } public override async Task Project_shadow_properties(bool async) @@ -8507,8 +9597,10 @@ public override async Task Project_shadow_properties(bool async) await base.Project_shadow_properties(async); AssertSql( - @"SELECT [g].[Nickname], [g].[AssignedCityName] -FROM [Gears] AS [g]"); +""" +SELECT [g].[Nickname], [g].[AssignedCityName] +FROM [Gears] AS [g] +"""); } public override async Task Composite_key_entity_equal(bool async) @@ -8516,7 +9608,8 @@ public override async Task Composite_key_entity_equal(bool async) await base.Composite_key_entity_equal(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -8528,7 +9621,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] -WHERE [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId]"); +WHERE [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId] +"""); } public override async Task Composite_key_entity_not_equal(bool async) @@ -8536,7 +9630,8 @@ public override async Task Composite_key_entity_not_equal(bool async) await base.Composite_key_entity_not_equal(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -8548,7 +9643,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] -WHERE [g].[Nickname] <> [t].[Nickname] OR [g].[SquadId] <> [t].[SquadId]"); +WHERE [g].[Nickname] <> [t].[Nickname] OR [g].[SquadId] <> [t].[SquadId] +"""); } public override async Task Composite_key_entity_equal_null(bool async) @@ -8556,7 +9652,8 @@ public override async Task Composite_key_entity_equal_null(bool async) await base.Composite_key_entity_equal_null(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -8565,7 +9662,8 @@ LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId] -WHERE ([l0].[Name] IS NOT NULL) AND (([t].[Nickname] IS NULL) OR ([t].[SquadId] IS NULL))"); +WHERE ([l0].[Name] IS NOT NULL) AND (([t].[Nickname] IS NULL) OR ([t].[SquadId] IS NULL)) +"""); } public override async Task Composite_key_entity_not_equal_null(bool async) @@ -8573,7 +9671,8 @@ public override async Task Composite_key_entity_not_equal_null(bool async) await base.Composite_key_entity_not_equal_null(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator] FROM [LocustLeaders] AS [l] @@ -8582,7 +9681,8 @@ LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] ) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId] -WHERE ([l0].[Name] IS NOT NULL) AND ([t].[Nickname] IS NOT NULL) AND ([t].[SquadId] IS NOT NULL)"); +WHERE ([l0].[Name] IS NOT NULL) AND ([t].[Nickname] IS NOT NULL) AND ([t].[SquadId] IS NOT NULL) +"""); } public override async Task Projecting_property_converted_to_nullable_with_comparison(bool async) @@ -8590,7 +9690,8 @@ public override async Task Projecting_property_converted_to_nullable_with_compar await base.Projecting_property_converted_to_nullable_with_comparison(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch] @@ -8602,7 +9703,8 @@ FROM [Gears] AS [g] WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL -END = 1"); +END = 1 +"""); } public override async Task Projecting_property_converted_to_nullable_with_addition(bool async) @@ -8610,7 +9712,8 @@ public override async Task Projecting_property_converted_to_nullable_with_additi await base.Projecting_property_converted_to_nullable_with_addition(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch] @@ -8622,7 +9725,8 @@ FROM [Gears] AS [g] WHERE (CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL -END + 1) = 2"); +END + 1) = 2 +"""); } public override async Task Projecting_property_converted_to_nullable_with_addition_and_final_projection(bool async) @@ -8630,7 +9734,8 @@ public override async Task Projecting_property_converted_to_nullable_with_additi await base.Projecting_property_converted_to_nullable_with_addition_and_final_projection(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL END + 1 AS [Value] @@ -8642,7 +9747,8 @@ FROM [Gears] AS [g] WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Projecting_property_converted_to_nullable_with_conditional(bool async) @@ -8650,7 +9756,8 @@ public override async Task Projecting_property_converted_to_nullable_with_condit await base.Projecting_property_converted_to_nullable_with_conditional(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) THEN CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL @@ -8661,7 +9768,8 @@ FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Projecting_property_converted_to_nullable_with_function_call(bool async) @@ -8669,7 +9777,8 @@ public override async Task Projecting_property_converted_to_nullable_with_functi await base.Projecting_property_converted_to_nullable_with_function_call(async); AssertSql( - @"SELECT SUBSTRING(CASE +""" +SELECT SUBSTRING(CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL END, 0 + 1, 3) @@ -8677,7 +9786,8 @@ FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] FROM [Gears] AS [g] -) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId]"); +) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] AND [t].[GearSquadId] = [t0].[SquadId] +"""); } public override async Task Projecting_property_converted_to_nullable_with_function_call2(bool async) @@ -8685,7 +9795,8 @@ public override async Task Projecting_property_converted_to_nullable_with_functi await base.Projecting_property_converted_to_nullable_with_function_call2(async); AssertSql( - @"SELECT [t].[Note], SUBSTRING([t].[Note], 0 + 1, CASE +""" +SELECT [t].[Note], SUBSTRING([t].[Note], 0 + 1, CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL END) AS [Function] @@ -8697,7 +9808,8 @@ FROM [Gears] AS [g] WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Projecting_property_converted_to_nullable_into_element_init(bool async) @@ -8705,7 +9817,8 @@ public override async Task Projecting_property_converted_to_nullable_into_elemen await base.Projecting_property_converted_to_nullable_into_element_init(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(LEN([t0].[Nickname]) AS int) ELSE NULL END, CASE @@ -8724,7 +9837,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_member_assignment(bool async) @@ -8732,7 +9846,8 @@ public override async Task Projecting_property_converted_to_nullable_into_member await base.Projecting_property_converted_to_nullable_into_member_assignment(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL END AS [Id] @@ -8745,7 +9860,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_new_array(bool async) @@ -8753,7 +9869,8 @@ public override async Task Projecting_property_converted_to_nullable_into_new_ar await base.Projecting_property_converted_to_nullable_into_new_array(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(LEN([t0].[Nickname]) AS int) ELSE NULL END, CASE @@ -8772,7 +9889,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_unary(bool async) @@ -8780,7 +9898,8 @@ public override async Task Projecting_property_converted_to_nullable_into_unary( await base.Projecting_property_converted_to_nullable_into_unary(async); AssertSql( - @"SELECT [t].[Note] +""" +SELECT [t].[Note] FROM [Tags] AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -8793,7 +9912,8 @@ ELSE NULL WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[HasSoulPatch] ELSE NULL END = CAST(0 AS bit) -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Projecting_property_converted_to_nullable_into_member_access(bool async) @@ -8801,11 +9921,13 @@ public override async Task Projecting_property_converted_to_nullable_into_member await base.Projecting_property_converted_to_nullable_into_member_access(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE DATEPART(month, [t].[IssueDate]) <> 5 OR ([t].[IssueDate] IS NULL) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Projecting_property_converted_to_nullable_and_use_it_in_order_by(bool async) @@ -8813,7 +9935,8 @@ public override async Task Projecting_property_converted_to_nullable_and_use_it_ await base.Projecting_property_converted_to_nullable_and_use_it_in_order_by(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch] @@ -8829,7 +9952,8 @@ END IS NOT NULL ORDER BY CASE WHEN [t].[GearNickName] IS NOT NULL THEN [t0].[SquadId] ELSE NULL -END, [t].[Note]"); +END, [t].[Note] +"""); } public override async Task Where_DateOnly_Year(bool async) @@ -8973,7 +10097,8 @@ public override async Task Project_navigation_defined_on_base_from_entity_with_i await base.Project_navigation_defined_on_base_from_entity_with_inheritance_using_soft_cast(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], CASE WHEN [t].[Id] IS NULL THEN CAST(1 AS bit) @@ -8989,7 +10114,8 @@ FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] -LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] AS [s] ON [g].[SquadId] = [s].[Id] +"""); } public override async Task Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(bool async) @@ -8997,7 +10123,8 @@ public override async Task Project_navigation_defined_on_derived_from_entity_wit await base.Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], CASE WHEN ([t].[Nickname] IS NULL) OR ([t].[SquadId] IS NULL) THEN CAST(1 AS bit) @@ -9023,7 +10150,8 @@ LEFT JOIN ( FROM [Factions] AS [f] INNER JOIN [LocustHordes] AS [l1] ON [f].[Id] = [l1].[Id] ) AS [t0] ON [l].[Name] = [t0].[CommanderName] -LEFT JOIN [LocustHighCommands] AS [l2] ON [l0].[HighCommandId] = [l2].[Id]"); +LEFT JOIN [LocustHighCommands] AS [l2] ON [l0].[HighCommandId] = [l2].[Id] +"""); } public override async Task Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(bool async) @@ -9031,7 +10159,8 @@ public override async Task Join_entity_with_itself_grouped_by_key_followed_by_in await base.Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[Rank], [t0].[Discriminator], [t0].[HasSoulPatch0], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] @@ -9051,7 +10180,8 @@ ORDER BY [g].[Nickname] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t0] LEFT JOIN [Weapons] AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch0]"); +ORDER BY [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch0] +"""); } public override async Task Where_bool_column_and_Contains(bool async) @@ -9059,12 +10189,14 @@ public override async Task Where_bool_column_and_Contains(bool async) await base.Where_bool_column_and_Contains(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit))"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit)) +"""); } public override async Task Where_bool_column_or_Contains(bool async) @@ -9072,12 +10204,14 @@ public override async Task Where_bool_column_or_Contains(bool async) await base.Where_bool_column_or_Contains(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit))"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit)) +"""); } public override async Task Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(bool async) @@ -9085,12 +10219,14 @@ public override async Task Parameter_used_multiple_times_take_appropriate_inferr await base.Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(async); AssertSql( - @"@__place_0='Seattle' (Size = 4000) +""" +@__place_0='Seattle' (Size = 4000) @__place_0_1='Seattle' (Size = 100) (DbType = AnsiString) SELECT [c].[Name], [c].[Location], [c].[Nation] FROM [Cities] AS [c] -WHERE [c].[Nation] = @__place_0 OR [c].[Location] = @__place_0_1"); +WHERE [c].[Nation] = @__place_0 OR [c].[Location] = @__place_0_1 +"""); } public override async Task Enum_matching_take_value_gets_different_type_mapping(bool async) @@ -9098,12 +10234,14 @@ public override async Task Enum_matching_take_value_gets_different_type_mapping( await base.Enum_matching_take_value_gets_different_type_mapping(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__value_1='1' SELECT TOP(@__p_0) [g].[Rank] & @__value_1 FROM [Gears] AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(bool async) @@ -9111,7 +10249,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(async); AssertSql( - @"@__prm_0='1' +""" +@__prm_0='1' SELECT [g].[Nickname], [g].[FullName], CASE WHEN [t].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -9122,7 +10261,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] AS [w] WHERE [w].[Id] > @__prm_0 -) AS [t] ON [g].[FullName] = [t].[OwnerFullName]"); +) AS [t] ON [g].[FullName] = [t].[OwnerFullName] +"""); } public override async Task Project_entity_and_collection_element(bool async) @@ -9130,7 +10270,8 @@ public override async Task Project_entity_and_collection_element(bool async) await base.Project_entity_and_collection_element(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[SynergyWithId] FROM [Gears] AS [g] @@ -9145,7 +10286,8 @@ FROM [Weapons] AS [w0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [s].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [s].[Id] +"""); } public override async Task DateTimeOffset_DateAdd_AddYears(bool async) @@ -9153,8 +10295,10 @@ public override async Task DateTimeOffset_DateAdd_AddYears(bool async) await base.DateTimeOffset_DateAdd_AddYears(async); AssertSql( - @"SELECT DATEADD(year, CAST(1 AS int), [m].[Timeline]) -FROM [Missions] AS [m]"); +""" +SELECT DATEADD(year, CAST(1 AS int), [m].[Timeline]) +FROM [Missions] AS [m] +"""); } public override async Task Correlated_collection_via_SelectMany_with_Distinct_missing_indentifying_columns_in_projection(bool async) @@ -9162,7 +10306,8 @@ public override async Task Correlated_collection_via_SelectMany_with_Distinct_mi await base.Correlated_collection_via_SelectMany_with_Distinct_missing_indentifying_columns_in_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t1].[HasSoulPatch] +""" +SELECT [g].[Nickname], [g].[SquadId], [t1].[HasSoulPatch] FROM [Gears] AS [g] OUTER APPLY ( SELECT DISTINCT [t0].[HasSoulPatch] @@ -9178,7 +10323,8 @@ FROM [Gears] AS [g1] ) AS [t0] ON [c].[Name] = [t0].[CityOfBirthName] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t1] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Basic_query_gears(bool async) @@ -9186,11 +10332,13 @@ public override async Task Basic_query_gears(bool async) await base.Basic_query_gears(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] -LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId]"); +LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] +"""); } public override async Task Contains_on_readonly_enumerable(bool async) @@ -9198,9 +10346,11 @@ public override async Task Contains_on_readonly_enumerable(bool async) await base.Contains_on_readonly_enumerable(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [Weapons] AS [w] -WHERE [w].[AmmunitionType] = 1"); +WHERE [w].[AmmunitionType] = 1 +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(bool async) @@ -9208,7 +10358,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(async); AssertSql( - @"@__isAutomatic_0='True' +""" +@__isAutomatic_0='True' SELECT [g].[Nickname], [g].[FullName], CASE WHEN [t].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -9219,7 +10370,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] AS [w] WHERE [w].[IsAutomatic] <> @__isAutomatic_0 -) AS [t] ON [g].[FullName] = [t].[OwnerFullName]"); +) AS [t] ON [g].[FullName] = [t].[OwnerFullName] +"""); } public override async Task Trying_to_access_unmapped_property_in_projection(bool async) @@ -9227,11 +10379,13 @@ public override async Task Trying_to_access_unmapped_property_in_projection(bool await base.Trying_to_access_unmapped_property_in_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] -LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId]"); +LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] +"""); } public override async Task Cast_to_derived_type_causes_client_eval(bool async) @@ -9239,11 +10393,13 @@ public override async Task Cast_to_derived_type_causes_client_eval(bool async) await base.Cast_to_derived_type_causes_client_eval(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] -LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId]"); +LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] +"""); } public override async Task Comparison_with_value_converted_subclass(bool async) @@ -9251,12 +10407,14 @@ public override async Task Comparison_with_value_converted_subclass(bool async) await base.Comparison_with_value_converted_subclass(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] -WHERE [f].[ServerAddress] = CAST(N'127.0.0.1' AS nvarchar(45))"); +WHERE [f].[ServerAddress] = CAST(N'127.0.0.1' AS nvarchar(45)) +"""); } public override async Task FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(bool async) @@ -9264,7 +10422,8 @@ public override async Task FirstOrDefault_on_empty_collection_of_DateTime_in_sub await base.FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(async); AssertSql( - @"SELECT [g].[Nickname], COALESCE(( +""" +SELECT [g].[Nickname], COALESCE(( SELECT TOP(1) [t1].[IssueDate] FROM [Tags] AS [t1] WHERE [t1].[GearNickName] = [g].[FullName] @@ -9275,7 +10434,8 @@ FROM [Gears] AS [g] SELECT TOP(1) [t0].[IssueDate] FROM [Tags] AS [t0] WHERE [t0].[GearNickName] = [g].[FullName] - ORDER BY [t0].[Id]), '0001-01-01T00:00:00.0000000')"); + ORDER BY [t0].[Id]), '0001-01-01T00:00:00.0000000') +"""); } public override async Task @@ -9287,7 +10447,8 @@ await base async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[IsAutomatic], [t].[Name], [t].[Count] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[IsAutomatic], [t].[Name], [t].[Count] FROM [Gears] AS [g] OUTER APPLY ( SELECT [w].[IsAutomatic], [w].[Name], COUNT(*) AS [Count] @@ -9295,7 +10456,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic], [w].[Name] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[IsAutomatic]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[IsAutomatic] +"""); } public override async Task @@ -9307,7 +10469,8 @@ await base async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t0].[Key], [t0].[Count] +""" +SELECT [g].[Nickname], [g].[SquadId], [t0].[Key], [t0].[Count] FROM [Gears] AS [g] OUTER APPLY ( SELECT [t].[Key], COUNT(*) AS [Count] @@ -9318,7 +10481,8 @@ FROM [Weapons] AS [w] ) AS [t] GROUP BY [t].[Key] ) AS [t0] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Sum_with_no_data_nullable_double(bool async) @@ -9326,9 +10490,11 @@ public override async Task Sum_with_no_data_nullable_double(bool async) await base.Sum_with_no_data_nullable_double(async); AssertSql( - @"SELECT COALESCE(SUM([m].[Rating]), 0.0E0) +""" +SELECT COALESCE(SUM([m].[Rating]), 0.0E0) FROM [Missions] AS [m] -WHERE [m].[CodeName] = N'Operation Foobar'"); +WHERE [m].[CodeName] = N'Operation Foobar' +"""); } public override async Task ToString_guid_property_projection(bool async) @@ -9336,8 +10502,10 @@ public override async Task ToString_guid_property_projection(bool async) await base.ToString_guid_property_projection(async); AssertSql( - @"SELECT [t].[GearNickName] AS [A], CONVERT(varchar(36), [t].[Id]) AS [B] -FROM [Tags] AS [t]"); +""" +SELECT [t].[GearNickName] AS [A], CONVERT(varchar(36), [t].[Id]) AS [B] +FROM [Tags] AS [t] +"""); } public override async Task Correlated_collection_with_distinct_not_projecting_identifier_column(bool async) @@ -9345,14 +10513,16 @@ public override async Task Correlated_collection_with_distinct_not_projecting_id await base.Correlated_collection_with_distinct_not_projecting_identifier_column(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic] FROM [Gears] AS [g] OUTER APPLY ( SELECT DISTINCT [w].[Name], [w].[IsAutomatic] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name] +"""); } public override async Task Include_after_Select_throws(bool async) @@ -9360,12 +10530,14 @@ public override async Task Include_after_Select_throws(bool async) await base.Include_after_Select_throws(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator], [c].[Name], [c].[Location], [c].[Nation] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] -LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name]"); +LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] +"""); } public override async Task Cast_to_derived_followed_by_multiple_includes(bool async) @@ -9373,7 +10545,8 @@ public override async Task Cast_to_derived_followed_by_multiple_includes(bool as await base.Cast_to_derived_followed_by_multiple_includes(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[SynergyWithId] FROM [LocustLeaders] AS [l] @@ -9387,7 +10560,8 @@ FROM [Gears] AS [g] ) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId] LEFT JOIN [Weapons] AS [w] ON [t].[FullName] = [w].[OwnerFullName] WHERE [l].[Name] LIKE N'%Queen%' -ORDER BY [l].[Name], [t].[Nickname], [t].[SquadId]"); +ORDER BY [l].[Name], [t].[Nickname], [t].[SquadId] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column(bool async) @@ -9395,14 +10569,16 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name] FROM [Gears] AS [g] OUTER APPLY ( SELECT DISTINCT [w].[Id], [w].[Name] FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Where_equals_method_on_nullable_with_object_overload(bool async) @@ -9410,9 +10586,11 @@ public override async Task Where_equals_method_on_nullable_with_object_overload( await base.Where_equals_method_on_nullable_with_object_overload(async); AssertSql( - @"SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[CodeName], [m].[Duration], [m].[Rating], [m].[Timeline] FROM [Missions] AS [m] -WHERE [m].[Rating] IS NULL"); +WHERE [m].[Rating] IS NULL +"""); } public override async Task @@ -9421,7 +10599,8 @@ public override async Task await base.Correlated_collection_with_groupby_not_projecting_identifier_column_but_only_grouping_key_in_final_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Key] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Key] FROM [Gears] AS [g] OUTER APPLY ( SELECT [w].[IsAutomatic] AS [Key] @@ -9429,7 +10608,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Project_derivied_entity_with_convert_to_parent(bool async) @@ -9437,12 +10617,14 @@ public override async Task Project_derivied_entity_with_convert_to_parent(bool a await base.Project_derivied_entity_with_convert_to_parent(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] -WHERE [l].[Id] IS NOT NULL"); +WHERE [l].[Id] IS NOT NULL +"""); } public override async Task Include_after_SelectMany_throws(bool async) @@ -9450,7 +10632,8 @@ public override async Task Include_after_SelectMany_throws(bool async) await base.Include_after_SelectMany_throws(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Factions] AS [f] LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] INNER JOIN ( @@ -9460,7 +10643,8 @@ END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] ) AS [t] ON [c].[Name] = [t].[CityOfBirthName] -INNER JOIN [Squads] AS [s] ON [t].[SquadId] = [s].[Id]"); +INNER JOIN [Squads] AS [s] ON [t].[SquadId] = [s].[Id] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column_composite_key(bool async) @@ -9468,13 +10652,15 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column_composite_key(async); AssertSql( - @"SELECT [s].[Id], [t].[Nickname], [t].[SquadId], [t].[HasSoulPatch] +""" +SELECT [s].[Id], [t].[Nickname], [t].[SquadId], [t].[HasSoulPatch] FROM [Squads] AS [s] LEFT JOIN ( SELECT DISTINCT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] AS [g] ) AS [t] ON [s].[Id] = [t].[SquadId] -ORDER BY [s].[Id], [t].[Nickname]"); +ORDER BY [s].[Id], [t].[Nickname] +"""); } public override async Task Include_on_entity_that_is_not_present_in_final_projection_but_uses_TypeIs_instead(bool async) @@ -9482,12 +10668,14 @@ public override async Task Include_on_entity_that_is_not_present_in_final_projec await base.Include_on_entity_that_is_not_present_in_final_projection_but_uses_TypeIs_instead(async); AssertSql( - @"SELECT [g].[Nickname], CASE +""" +SELECT [g].[Nickname], CASE WHEN [o].[Nickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsOfficer] FROM [Gears] AS [g] -LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId]"); +LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] +"""); } public override async Task GroupBy_Select_sum(bool async) @@ -9495,9 +10683,11 @@ public override async Task GroupBy_Select_sum(bool async) await base.GroupBy_Select_sum(async); AssertSql( - @"SELECT COALESCE(SUM([m].[Rating]), 0.0E0) +""" +SELECT COALESCE(SUM([m].[Rating]), 0.0E0) FROM [Missions] AS [m] -GROUP BY [m].[CodeName]"); +GROUP BY [m].[CodeName] +"""); } public override async Task ToString_boolean_property_nullable(bool async) @@ -9505,13 +10695,15 @@ public override async Task ToString_boolean_property_nullable(bool async) await base.ToString_boolean_property_nullable(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l].[Eradicated] = CAST(0 AS bit) THEN N'False' WHEN [l].[Eradicated] = CAST(1 AS bit) THEN N'True' ELSE NULL END FROM [Factions] AS [f] -INNER JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id]"); +INNER JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] +"""); } public override async Task Correlated_collection_after_distinct_3_levels(bool async) @@ -9519,7 +10711,8 @@ public override async Task Correlated_collection_after_distinct_3_levels(bool as await base.Correlated_collection_after_distinct_3_levels(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch], [t1].[Id], [t1].[Name], [t1].[Nickname0], [t1].[FullName0], [t1].[HasSoulPatch0], [t1].[Id0] +""" +SELECT [t].[Id], [t].[Name], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch], [t1].[Id], [t1].[Name], [t1].[Nickname0], [t1].[FullName0], [t1].[HasSoulPatch0], [t1].[Id0] FROM ( SELECT DISTINCT [s].[Id], [s].[Name] FROM [Squads] AS [s] @@ -9537,7 +10730,8 @@ FROM [Weapons] AS [w] WHERE [w].[OwnerFullName] = [t0].[FullName] ) AS [t2] ) AS [t1] -ORDER BY [t].[Id], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch]"); +ORDER BY [t].[Id], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch] +"""); } public override async Task ToString_boolean_property_non_nullable(bool async) @@ -9545,11 +10739,13 @@ public override async Task ToString_boolean_property_non_nullable(bool async) await base.ToString_boolean_property_non_nullable(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN N'False' ELSE N'True' END -FROM [Weapons] AS [w]"); +FROM [Weapons] AS [w] +"""); } public override async Task Include_on_derived_entity_with_cast(bool async) @@ -9557,14 +10753,16 @@ public override async Task Include_on_derived_entity_with_cast(bool async) await base.Include_on_derived_entity_with_cast(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Name], [f].[ServerAddress], [l].[CommanderName], [l].[Eradicated], CASE WHEN [l].[Id] IS NOT NULL THEN N'LocustHorde' END AS [Discriminator], [c].[Name], [c].[Location], [c].[Nation] FROM [Factions] AS [f] LEFT JOIN [LocustHordes] AS [l] ON [f].[Id] = [l].[Id] LEFT JOIN [Cities] AS [c] ON [f].[CapitalName] = [c].[Name] WHERE [l].[Id] IS NOT NULL -ORDER BY [f].[Id]"); +ORDER BY [f].[Id] +"""); } public override async Task String_concat_nullable_expressions_are_coalesced(bool async) @@ -9572,8 +10770,10 @@ public override async Task String_concat_nullable_expressions_are_coalesced(bool await base.String_concat_nullable_expressions_are_coalesced(async); AssertSql( - @"SELECT (([g].[FullName] + N'') + COALESCE([g].[LeaderNickname], N'')) + N'' -FROM [Gears] AS [g]"); +""" +SELECT (([g].[FullName] + N'') + COALESCE([g].[LeaderNickname], N'')) + N'' +FROM [Gears] AS [g] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(bool async) @@ -9581,13 +10781,15 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name], [t].[OwnerFullName] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name], [t].[OwnerFullName] FROM [Gears] AS [g] LEFT JOIN ( SELECT DISTINCT [w].[Id], [w].[Name], [w].[OwnerFullName] FROM [Weapons] AS [w] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collection_with_groupby_not_projecting_identifier_column_with_group_aggregate_in_final_projection( @@ -9596,7 +10798,8 @@ public override async Task Correlated_collection_with_groupby_not_projecting_ide await base.Correlated_collection_with_groupby_not_projecting_identifier_column_with_group_aggregate_in_final_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Key], [t].[Count] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Key], [t].[Count] FROM [Gears] AS [g] OUTER APPLY ( SELECT [w].[IsAutomatic] AS [Key], COUNT(*) AS [Count] @@ -9604,7 +10807,8 @@ FROM [Weapons] AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Project_discriminator_columns(bool async) @@ -9802,13 +11006,15 @@ public override async Task Join_with_complex_key_selector(bool async) await base.Join_with_complex_key_selector(async); AssertSql( - @"SELECT [s].[Id], [t0].[Id] AS [TagId] +""" +SELECT [s].[Id], [t0].[Id] AS [TagId] FROM [Squads] AS [s] CROSS JOIN ( SELECT [t].[Id] FROM [Tags] AS [t] WHERE [t].[Note] = N'Marcus'' Tag' -) AS [t0]"); +) AS [t0] +"""); } public override async Task Streaming_correlated_collection_issue_11403_returning_ordered_enumerable_throws(bool async) @@ -9886,13 +11092,15 @@ public override async Task Where_subquery_equality_to_null_with_composite_key(bo await base.Where_subquery_equality_to_null_with_composite_key(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name] FROM [Squads] AS [s] WHERE NOT (EXISTS ( SELECT 1 FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] - WHERE [s].[Id] = [g].[SquadId]))"); + WHERE [s].[Id] = [g].[SquadId])) +"""); } public override async Task Where_subquery_equality_to_null_without_composite_key(bool async) @@ -9900,7 +11108,8 @@ public override async Task Where_subquery_equality_to_null_without_composite_key await base.Where_subquery_equality_to_null_without_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] @@ -9908,7 +11117,8 @@ FROM [Gears] AS [g] WHERE NOT (EXISTS ( SELECT 1 FROM [Weapons] AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]))"); + WHERE [g].[FullName] = [w].[OwnerFullName])) +"""); } public override async Task Include_reference_on_derived_type_using_EF_Property(bool async) @@ -9916,7 +11126,8 @@ public override async Task Include_reference_on_derived_type_using_EF_Property(b await base.Include_reference_on_derived_type_using_EF_Property(async); AssertSql( - @"SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE +""" +SELECT [l].[Name], [l].[LocustHordeId], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId], CASE WHEN [l0].[Name] IS NOT NULL THEN N'LocustCommander' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [LocustLeaders] AS [l] @@ -9927,7 +11138,8 @@ WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator] FROM [Gears] AS [g] LEFT JOIN [Officers] AS [o] ON [g].[Nickname] = [o].[Nickname] AND [g].[SquadId] = [o].[SquadId] -) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId]"); +) AS [t] ON [l0].[DefeatedByNickname] = [t].[Nickname] AND [l0].[DefeatedBySquadId] = [t].[SquadId] +"""); } public override async Task Include_collection_on_derived_type_using_EF_Property(bool async) @@ -9935,7 +11147,8 @@ public override async Task Include_collection_on_derived_type_using_EF_Property( await base.Include_collection_on_derived_type_using_EF_Property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -9947,7 +11160,8 @@ END AS [Discriminator] FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task EF_Property_based_Include_navigation_on_derived_type(bool async) @@ -9955,7 +11169,8 @@ public override async Task EF_Property_based_Include_navigation_on_derived_type( await base.EF_Property_based_Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Rank], CASE WHEN [o].[Nickname] IS NOT NULL THEN N'Officer' END AS [Discriminator], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[Rank], [t].[Discriminator] FROM [Gears] AS [g] @@ -9968,7 +11183,8 @@ FROM [Gears] AS [g0] LEFT JOIN [Officers] AS [o0] ON [g0].[Nickname] = [o0].[Nickname] AND [g0].[SquadId] = [o0].[SquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] WHERE [o].[Nickname] IS NOT NULL -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPTInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPTInheritanceQuerySqlServerTest.cs index 21ff0791a0e..492b4f5f3f7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPTInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPTInheritanceQuerySqlServerTest.cs @@ -23,13 +23,15 @@ public override async Task Byte_enum_value_constant_used_in_projection(bool asyn await base.Byte_enum_value_constant_used_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [b].[IsFlightless] = CAST(1 AS bit) THEN CAST(0 AS tinyint) ELSE CAST(1 AS tinyint) END FROM [Animals] AS [a] INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] -INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id]"); +INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] +"""); } public override async Task Can_filter_all_animals(bool async) @@ -37,7 +39,8 @@ public override async Task Can_filter_all_animals(bool async) await base.Can_filter_all_animals(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -46,7 +49,8 @@ FROM [Animals] AS [a] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] WHERE [a].[Name] = N'Great spotted kiwi' -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_include_animals(bool async) @@ -54,7 +58,8 @@ public override async Task Can_include_animals(bool async) await base.Can_include_animals(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] +""" +SELECT [c].[Id], [c].[Name], [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t].[FoundOn], [t].[Discriminator] FROM [Countries] AS [c] LEFT JOIN ( SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE @@ -66,7 +71,8 @@ FROM [Animals] AS [a] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] ) AS [t] ON [c].[Id] = [t].[CountryId] -ORDER BY [c].[Name], [c].[Id]"); +ORDER BY [c].[Name], [c].[Id] +"""); } public override async Task Can_include_prey(bool async) @@ -74,7 +80,8 @@ public override async Task Can_include_prey(bool async) await base.Can_include_prey(async); AssertSql( - @"SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t0].[Id], [t0].[CountryId], [t0].[Name], [t0].[Species], [t0].[EagleId], [t0].[IsFlightless], [t0].[Group], [t0].[FoundOn], [t0].[Discriminator] +""" +SELECT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[Group], [t0].[Id], [t0].[CountryId], [t0].[Name], [t0].[Species], [t0].[EagleId], [t0].[IsFlightless], [t0].[Group], [t0].[FoundOn], [t0].[Discriminator] FROM ( SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group] FROM [Animals] AS [a] @@ -91,7 +98,8 @@ FROM [Animals] AS [a0] LEFT JOIN [Eagle] AS [e0] ON [a0].[Id] = [e0].[Id] LEFT JOIN [Kiwi] AS [k] ON [a0].[Id] = [k].[Id] ) AS [t0] ON [t].[Id] = [t0].[EagleId] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override void Can_insert_update_delete() @@ -102,7 +110,8 @@ public override async Task Can_query_all_animals(bool async) await base.Can_query_all_animals(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -110,7 +119,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_query_all_birds(bool async) @@ -118,7 +128,8 @@ public override async Task Can_query_all_birds(bool async) await base.Can_query_all_birds(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -126,7 +137,8 @@ FROM [Animals] AS [a] INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_query_all_plants(bool async) @@ -134,14 +146,16 @@ public override async Task Can_query_all_plants(bool async) await base.Can_query_all_plants(async); AssertSql( - @"SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [r].[HasThorns], CASE +""" +SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [r].[HasThorns], CASE WHEN [r].[Species] IS NOT NULL THEN N'Rose' WHEN [d].[Species] IS NOT NULL THEN N'Daisy' END AS [Discriminator] FROM [Plants] AS [p] LEFT JOIN [Daisies] AS [d] ON [p].[Species] = [d].[Species] LEFT JOIN [Roses] AS [r] ON [p].[Species] = [r].[Species] -ORDER BY [p].[Species]"); +ORDER BY [p].[Species] +"""); } public override async Task Can_query_all_types_when_shared_column(bool async) @@ -149,7 +163,8 @@ public override async Task Can_query_all_types_when_shared_column(bool async) await base.Can_query_all_types_when_shared_column(async); AssertSql( - @"SELECT [d].[Id], [d].[SortIndex], [c].[CaffeineGrams], [c].[CokeCO2], [c].[SugarGrams], [l].[LiltCO2], [l].[SugarGrams], [t].[CaffeineGrams], [t].[HasMilk], CASE +""" +SELECT [d].[Id], [d].[SortIndex], [c].[CaffeineGrams], [c].[CokeCO2], [c].[SugarGrams], [l].[LiltCO2], [l].[SugarGrams], [t].[CaffeineGrams], [t].[HasMilk], CASE WHEN [t].[Id] IS NOT NULL THEN N'Tea' WHEN [l].[Id] IS NOT NULL THEN N'Lilt' WHEN [c].[Id] IS NOT NULL THEN N'Coke' @@ -157,7 +172,8 @@ END AS [Discriminator] FROM [Drinks] AS [d] LEFT JOIN [Coke] AS [c] ON [d].[Id] = [c].[Id] LEFT JOIN [Lilt] AS [l] ON [d].[Id] = [l].[Id] -LEFT JOIN [Tea] AS [t] ON [d].[Id] = [t].[Id]"); +LEFT JOIN [Tea] AS [t] ON [d].[Id] = [t].[Id] +"""); } public override async Task Can_query_just_kiwis(bool async) @@ -165,10 +181,12 @@ public override async Task Can_query_just_kiwis(bool async) await base.Can_query_just_kiwis(async); AssertSql( - @"SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn] +""" +SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn] FROM [Animals] AS [a] INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] -INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id]"); +INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] +"""); } public override async Task Can_query_just_roses(bool async) @@ -176,10 +194,12 @@ public override async Task Can_query_just_roses(bool async) await base.Can_query_just_roses(async); AssertSql( - @"SELECT TOP(2) [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [r].[HasThorns] +""" +SELECT TOP(2) [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [r].[HasThorns] FROM [Plants] AS [p] INNER JOIN [Flowers] AS [f] ON [p].[Species] = [f].[Species] -INNER JOIN [Roses] AS [r] ON [p].[Species] = [r].[Species]"); +INNER JOIN [Roses] AS [r] ON [p].[Species] = [r].[Species] +"""); } public override async Task Can_query_when_shared_column(bool async) @@ -187,17 +207,23 @@ public override async Task Can_query_when_shared_column(bool async) await base.Can_query_when_shared_column(async); AssertSql( - @"SELECT TOP(2) [d].[Id], [d].[SortIndex], [c].[CaffeineGrams], [c].[CokeCO2], [c].[SugarGrams] +""" +SELECT TOP(2) [d].[Id], [d].[SortIndex], [c].[CaffeineGrams], [c].[CokeCO2], [c].[SugarGrams] FROM [Drinks] AS [d] -INNER JOIN [Coke] AS [c] ON [d].[Id] = [c].[Id]", +INNER JOIN [Coke] AS [c] ON [d].[Id] = [c].[Id] +""", // - @"SELECT TOP(2) [d].[Id], [d].[SortIndex], [l].[LiltCO2], [l].[SugarGrams] +""" +SELECT TOP(2) [d].[Id], [d].[SortIndex], [l].[LiltCO2], [l].[SugarGrams] FROM [Drinks] AS [d] -INNER JOIN [Lilt] AS [l] ON [d].[Id] = [l].[Id]", +INNER JOIN [Lilt] AS [l] ON [d].[Id] = [l].[Id] +""", // - @"SELECT TOP(2) [d].[Id], [d].[SortIndex], [t].[CaffeineGrams], [t].[HasMilk] +""" +SELECT TOP(2) [d].[Id], [d].[SortIndex], [t].[CaffeineGrams], [t].[HasMilk] FROM [Drinks] AS [d] -INNER JOIN [Tea] AS [t] ON [d].[Id] = [t].[Id]"); +INNER JOIN [Tea] AS [t] ON [d].[Id] = [t].[Id] +"""); } public override async Task Can_use_backwards_is_animal(bool async) @@ -205,10 +231,12 @@ public override async Task Can_use_backwards_is_animal(bool async) await base.Can_use_backwards_is_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn] FROM [Animals] AS [a] INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] -INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id]"); +INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] +"""); } public override async Task Can_use_backwards_of_type_animal(bool async) @@ -216,10 +244,12 @@ public override async Task Can_use_backwards_of_type_animal(bool async) await base.Can_use_backwards_of_type_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn] FROM [Animals] AS [a] INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] -INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id]"); +INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] +"""); } public override async Task Can_use_is_kiwi(bool async) @@ -227,7 +257,8 @@ public override async Task Can_use_is_kiwi(bool async) await base.Can_use_is_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -235,7 +266,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [k].[Id] IS NOT NULL"); +WHERE [k].[Id] IS NOT NULL +"""); } public override async Task Can_use_is_kiwi_with_cast(bool async) @@ -243,12 +275,14 @@ public override async Task Can_use_is_kiwi_with_cast(bool async) await base.Can_use_is_kiwi_with_cast(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [k].[Id] IS NOT NULL THEN [k].[FoundOn] ELSE CAST(0 AS tinyint) END AS [Value] FROM [Animals] AS [a] -LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id]"); +LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] +"""); } public override async Task Can_use_is_kiwi_in_projection(bool async) @@ -256,12 +290,14 @@ public override async Task Can_use_is_kiwi_in_projection(bool async) await base.Can_use_is_kiwi_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [k].[Id] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Animals] AS [a] -LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id]"); +LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] +"""); } public override async Task Can_use_is_kiwi_with_other_predicate(bool async) @@ -269,7 +305,8 @@ public override async Task Can_use_is_kiwi_with_other_predicate(bool async) await base.Can_use_is_kiwi_with_other_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -277,7 +314,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE ([k].[Id] IS NOT NULL) AND [a].[CountryId] = 1"); +WHERE ([k].[Id] IS NOT NULL) AND [a].[CountryId] = 1 +"""); } public override async Task Can_use_of_type_animal(bool async) @@ -285,7 +323,8 @@ public override async Task Can_use_of_type_animal(bool async) await base.Can_use_of_type_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -293,7 +332,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird(bool async) @@ -301,7 +341,8 @@ public override async Task Can_use_of_type_bird(bool async) await base.Can_use_of_type_bird(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -310,7 +351,8 @@ FROM [Animals] AS [a] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] WHERE ([k].[Id] IS NOT NULL) OR ([e].[Id] IS NOT NULL) -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_first(bool async) @@ -318,7 +360,8 @@ public override async Task Can_use_of_type_bird_first(bool async) await base.Can_use_of_type_bird_first(async); AssertSql( - @"SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -327,7 +370,8 @@ FROM [Animals] AS [a] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] WHERE ([k].[Id] IS NOT NULL) OR ([e].[Id] IS NOT NULL) -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_predicate(bool async) @@ -335,7 +379,8 @@ public override async Task Can_use_of_type_bird_predicate(bool async) await base.Can_use_of_type_bird_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -344,7 +389,8 @@ FROM [Animals] AS [a] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] WHERE [a].[CountryId] = 1 AND (([k].[Id] IS NOT NULL) OR ([e].[Id] IS NOT NULL)) -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_with_projection(bool async) @@ -352,12 +398,14 @@ public override async Task Can_use_of_type_bird_with_projection(bool async) await base.Can_use_of_type_bird_with_projection(async); AssertSql( - @"SELECT [b].[EagleId] +""" +SELECT [b].[EagleId] FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE ([k].[Id] IS NOT NULL) OR ([e].[Id] IS NOT NULL)"); +WHERE ([k].[Id] IS NOT NULL) OR ([e].[Id] IS NOT NULL) +"""); } public override async Task Can_use_of_type_kiwi(bool async) @@ -365,13 +413,15 @@ public override async Task Can_use_of_type_kiwi(bool async) await base.Can_use_of_type_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' END AS [Discriminator] FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [k].[Id] IS NOT NULL"); +WHERE [k].[Id] IS NOT NULL +"""); } public override async Task Can_use_of_type_kiwi_where_north_on_derived_property(bool async) @@ -379,13 +429,15 @@ public override async Task Can_use_of_type_kiwi_where_north_on_derived_property( await base.Can_use_of_type_kiwi_where_north_on_derived_property(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' END AS [Discriminator] FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE ([k].[Id] IS NOT NULL) AND [k].[FoundOn] = CAST(0 AS tinyint)"); +WHERE ([k].[Id] IS NOT NULL) AND [k].[FoundOn] = CAST(0 AS tinyint) +"""); } public override async Task Can_use_of_type_kiwi_where_south_on_derived_property(bool async) @@ -393,13 +445,15 @@ public override async Task Can_use_of_type_kiwi_where_south_on_derived_property( await base.Can_use_of_type_kiwi_where_south_on_derived_property(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' END AS [Discriminator] FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE ([k].[Id] IS NOT NULL) AND [k].[FoundOn] = CAST(1 AS tinyint)"); +WHERE ([k].[Id] IS NOT NULL) AND [k].[FoundOn] = CAST(1 AS tinyint) +"""); } public override async Task Can_use_of_type_rose(bool async) @@ -407,12 +461,14 @@ public override async Task Can_use_of_type_rose(bool async) await base.Can_use_of_type_rose(async); AssertSql( - @"SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [r].[HasThorns], CASE +""" +SELECT [p].[Species], [p].[CountryId], [p].[Genus], [p].[Name], [r].[HasThorns], CASE WHEN [r].[Species] IS NOT NULL THEN N'Rose' END AS [Discriminator] FROM [Plants] AS [p] LEFT JOIN [Roses] AS [r] ON [p].[Species] = [r].[Species] -WHERE [r].[Species] IS NOT NULL"); +WHERE [r].[Species] IS NOT NULL +"""); } public override void Member_access_on_intermediate_type_works() @@ -420,11 +476,13 @@ public override void Member_access_on_intermediate_type_works() base.Member_access_on_intermediate_type_works(); AssertSql( - @"SELECT [a].[Name] +""" +SELECT [a].[Name] FROM [Animals] AS [a] INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -ORDER BY [a].[Name]"); +ORDER BY [a].[Name] +"""); } public override async Task OfType_Union_OfType(bool async) @@ -446,12 +504,15 @@ public override void Setting_foreign_key_to_a_different_type_throws() base.Setting_foreign_key_to_a_different_type_throws(); AssertSql( - @"SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn] +""" +SELECT TOP(2) [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [k].[FoundOn] FROM [Animals] AS [a] INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] -INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id]", +INNER JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] +""", // - @"@p0='0' +""" +@p0='0' @p1='Bald eagle' (Size = 4000) @p2='Haliaeetus leucocephalus' (Size = 100) @@ -459,7 +520,8 @@ FROM [Animals] AS [a] SET NOCOUNT ON; INSERT INTO [Animals] ([CountryId], [Name], [Species]) OUTPUT INSERTED.[Id] -VALUES (@p0, @p1, @p2);"); +VALUES (@p0, @p1, @p2); +"""); } public override async Task Subquery_OfType(bool async) @@ -467,7 +529,8 @@ public override async Task Subquery_OfType(bool async) await base.Subquery_OfType(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT DISTINCT [t].[Id], [t].[CountryId], [t].[Name], [t].[Species], [t].[EagleId], [t].[IsFlightless], [t].[FoundOn], [t].[Discriminator] FROM ( @@ -481,7 +544,8 @@ FROM [Animals] AS [a] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] ORDER BY [a].[Species] ) AS [t] -WHERE [t].[Discriminator] = N'Kiwi'"); +WHERE [t].[Discriminator] = N'Kiwi' +"""); } public override async Task Union_entity_equality(bool async) @@ -496,7 +560,8 @@ public override async Task Union_siblings_with_duplicate_property_in_subquery(bo await base.Union_siblings_with_duplicate_property_in_subquery(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -518,7 +583,8 @@ FROM [Animals] AS [a0] WHERE [a0].[Name] = N'Great spotted kiwi' ) AS [t] WHERE [t].[Id0] IS NOT NULL) -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Is_operator_on_result_of_FirstOrDefault(bool async) @@ -526,7 +592,8 @@ public override async Task Is_operator_on_result_of_FirstOrDefault(bool async) await base.Is_operator_on_result_of_FirstOrDefault(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -548,7 +615,8 @@ FROM [Animals] AS [a0] WHERE [a0].[Name] = N'Great spotted kiwi' ) AS [t] WHERE [t].[Id0] IS NOT NULL) -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Selecting_only_base_properties_on_base_type(bool async) @@ -556,8 +624,10 @@ public override async Task Selecting_only_base_properties_on_base_type(bool asyn await base.Selecting_only_base_properties_on_base_type(async); AssertSql( - @"SELECT [a].[Name] -FROM [Animals] AS [a]"); +""" +SELECT [a].[Name] +FROM [Animals] AS [a] +"""); } public override async Task Selecting_only_base_properties_on_derived_type(bool async) @@ -565,9 +635,11 @@ public override async Task Selecting_only_base_properties_on_derived_type(bool a await base.Selecting_only_base_properties_on_derived_type(async); AssertSql( - @"SELECT [a].[Name] +""" +SELECT [a].[Name] FROM [Animals] AS [a] -INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id]"); +INNER JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] +"""); } public override async Task Can_query_all_animal_views(bool async) @@ -617,7 +689,8 @@ public override async Task Using_is_operator_on_multiple_type_with_no_result(boo await base.Using_is_operator_on_multiple_type_with_no_result(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -625,7 +698,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE ([k].[Id] IS NOT NULL) AND ([e].[Id] IS NOT NULL)"); +WHERE ([k].[Id] IS NOT NULL) AND ([e].[Id] IS NOT NULL) +"""); } public override async Task Using_is_operator_with_of_type_on_multiple_type_with_no_result(bool async) @@ -633,14 +707,16 @@ public override async Task Using_is_operator_with_of_type_on_multiple_type_with_ await base.Using_is_operator_with_of_type_on_multiple_type_with_no_result(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], CASE WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE ([k].[Id] IS NOT NULL) AND ([e].[Id] IS NOT NULL)"); +WHERE ([k].[Id] IS NOT NULL) AND ([e].[Id] IS NOT NULL) +"""); } public override async Task Using_OfType_on_multiple_type_with_no_result(bool async) @@ -655,7 +731,8 @@ public override async Task GetType_in_hierarchy_in_abstract_base_type(bool async await base.GetType_in_hierarchy_in_abstract_base_type(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -663,7 +740,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) @@ -671,7 +749,8 @@ public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) await base.GetType_in_hierarchy_in_intermediate_type(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -679,7 +758,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool async) @@ -687,7 +767,8 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling(bool a await base.GetType_in_hierarchy_in_leaf_type_with_sibling(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -695,7 +776,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [e].[Id] IS NOT NULL"); +WHERE [e].[Id] IS NOT NULL +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool async) @@ -703,7 +785,8 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2(bool await base.GetType_in_hierarchy_in_leaf_type_with_sibling2(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -711,7 +794,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [k].[Id] IS NOT NULL"); +WHERE [k].[Id] IS NOT NULL +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(bool async) @@ -719,7 +803,8 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_rever await base.GetType_in_hierarchy_in_leaf_type_with_sibling2_reverse(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -727,7 +812,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [k].[Id] IS NOT NULL"); +WHERE [k].[Id] IS NOT NULL +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(bool async) @@ -735,7 +821,8 @@ public override async Task GetType_in_hierarchy_in_leaf_type_with_sibling2_not_e await base.GetType_in_hierarchy_in_leaf_type_with_sibling2_not_equal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE +""" +SELECT [a].[Id], [a].[CountryId], [a].[Name], [a].[Species], [b].[EagleId], [b].[IsFlightless], [e].[Group], [k].[FoundOn], CASE WHEN [k].[Id] IS NOT NULL THEN N'Kiwi' WHEN [e].[Id] IS NOT NULL THEN N'Eagle' END AS [Discriminator] @@ -743,7 +830,8 @@ FROM [Animals] AS [a] LEFT JOIN [Birds] AS [b] ON [a].[Id] = [b].[Id] LEFT JOIN [Eagle] AS [e] ON [a].[Id] = [e].[Id] LEFT JOIN [Kiwi] AS [k] ON [a].[Id] = [k].[Id] -WHERE [k].[Id] IS NULL"); +WHERE [k].[Id] IS NULL +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPTManyToManyNoTrackingQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPTManyToManyNoTrackingQuerySqlServerTest.cs index b034b5c33cd..dec1d4c0fdb 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPTManyToManyNoTrackingQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPTManyToManyNoTrackingQuerySqlServerTest.cs @@ -25,13 +25,15 @@ public override async Task Skip_navigation_all(bool async) await base.Skip_navigation_all(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE NOT EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_without_predicate(bool async) @@ -39,13 +41,15 @@ public override async Task Skip_navigation_any_without_predicate(bool async) await base.Skip_navigation_any_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate(bool async) @@ -53,13 +57,15 @@ public override async Task Skip_navigation_any_with_predicate(bool async) await base.Skip_navigation_any_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] - WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains(bool async) @@ -67,13 +73,15 @@ public override async Task Skip_navigation_contains(bool async) await base.Skip_navigation_contains(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate(bool async) @@ -81,13 +89,15 @@ public override async Task Skip_navigation_count_without_predicate(bool async) await base.Skip_navigation_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE ( SELECT COUNT(*) FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] - WHERE [e].[Id] = [j].[RightId]) > 0"); + WHERE [e].[Id] = [j].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate(bool async) @@ -95,7 +105,8 @@ public override async Task Skip_navigation_count_with_predicate(bool async) await base.Skip_navigation_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] ORDER BY ( SELECT COUNT(*) @@ -108,7 +119,8 @@ FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] ) AS [t] ON [j].[EntityBranchId] = [t].[Id] - WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id]"); + WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id] +"""); } public override async Task Skip_navigation_long_count_without_predicate(bool async) @@ -116,13 +128,15 @@ public override async Task Skip_navigation_long_count_without_predicate(bool asy await base.Skip_navigation_long_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] WHERE ( SELECT COUNT_BIG(*) FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint)"); + WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint) +"""); } public override async Task Skip_navigation_long_count_with_predicate(bool async) @@ -130,13 +144,15 @@ public override async Task Skip_navigation_long_count_with_predicate(bool async) await base.Skip_navigation_long_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] ORDER BY ( SELECT COUNT_BIG(*) FROM [EntityTwoEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[SelfSkipSharedLeftId] = [e1].[Id] - WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id]"); + WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id] +"""); } public override async Task Skip_navigation_select_many_average(bool async) @@ -144,13 +160,15 @@ public override async Task Skip_navigation_select_many_average(bool async) await base.Skip_navigation_select_many_average(async); AssertSql( - @"SELECT AVG(CAST([t].[Key1] AS float)) +""" +SELECT AVG(CAST([t].[Key1] AS float)) FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e1].[Key1], [e0].[TwoSkipSharedId] FROM [EntityCompositeKeyEntityTwo] AS [e0] INNER JOIN [EntityCompositeKeys] AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] -) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_max(bool async) @@ -158,13 +176,15 @@ public override async Task Skip_navigation_select_many_max(bool async) await base.Skip_navigation_select_many_max(async); AssertSql( - @"SELECT MAX([t].[Key1]) +""" +SELECT MAX([t].[Key1]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Key1], [j].[ThreeId] FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityCompositeKeys] AS [e0] ON [j].[CompositeId1] = [e0].[Key1] AND [j].[CompositeId2] = [e0].[Key2] AND [j].[CompositeId3] = [e0].[Key3] -) AS [t] ON [e].[Id] = [t].[ThreeId]"); +) AS [t] ON [e].[Id] = [t].[ThreeId] +"""); } public override async Task Skip_navigation_select_many_min(bool async) @@ -172,7 +192,8 @@ public override async Task Skip_navigation_select_many_min(bool async) await base.Skip_navigation_select_many_min(async); AssertSql( - @"SELECT MIN([t0].[Id]) +""" +SELECT MIN([t0].[Id]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [t].[Id], [e0].[ThreeSkipSharedId] @@ -181,7 +202,8 @@ INNER JOIN ( SELECT [r].[Id] FROM [Roots] AS [r] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_sum(bool async) @@ -189,13 +211,15 @@ public override async Task Skip_navigation_select_many_sum(bool async) await base.Skip_navigation_select_many_sum(async); AssertSql( - @"SELECT COALESCE(SUM([t].[Key1]), 0) +""" +SELECT COALESCE(SUM([t].[Key1]), 0) FROM [Roots] AS [r] INNER JOIN ( SELECT [e0].[Key1], [e].[RootSkipSharedId] FROM [EntityCompositeKeyEntityRoot] AS [e] INNER JOIN [EntityCompositeKeys] AS [e0] ON [e].[CompositeKeySkipSharedKey1] = [e0].[Key1] AND [e].[CompositeKeySkipSharedKey2] = [e0].[Key2] AND [e].[CompositeKeySkipSharedKey3] = [e0].[Key3] -) AS [t] ON [r].[Id] = [t].[RootSkipSharedId]"); +) AS [t] ON [r].[Id] = [t].[RootSkipSharedId] +"""); } public override async Task Skip_navigation_select_subquery_average(bool async) @@ -203,14 +227,16 @@ public override async Task Skip_navigation_select_subquery_average(bool async) await base.Skip_navigation_select_subquery_average(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([e].[Key1] AS float)) FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [EntityCompositeKeys] AS [e] ON [j].[CompositeId1] = [e].[Key1] AND [j].[CompositeId2] = [e].[Key2] AND [j].[CompositeId3] = [e].[Key3] WHERE [r].[Id] = [j].[LeafId]) FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] -INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id]"); +INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] +"""); } public override async Task Skip_navigation_select_subquery_max(bool async) @@ -218,12 +244,14 @@ public override async Task Skip_navigation_select_subquery_max(bool async) await base.Skip_navigation_select_subquery_max(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MAX([e0].[Id]) FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[TwoId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_min(bool async) @@ -231,12 +259,14 @@ public override async Task Skip_navigation_select_subquery_min(bool async) await base.Skip_navigation_select_subquery_min(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN([e0].[Id]) FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[ThreeId]) -FROM [EntityThrees] AS [e]"); +FROM [EntityThrees] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_sum(bool async) @@ -244,12 +274,14 @@ public override async Task Skip_navigation_select_subquery_sum(bool async) await base.Skip_navigation_select_subquery_sum(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COALESCE(SUM([e1].[Id]), 0) FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityOnes] AS [e1] ON [e0].[OneSkipSharedId] = [e1].[Id] WHERE [e].[Id] = [e0].[TwoSkipSharedId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_order_by_first_or_default(bool async) @@ -257,7 +289,8 @@ public override async Task Skip_navigation_order_by_first_or_default(bool async) await base.Skip_navigation_order_by_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[ThreeId] @@ -267,7 +300,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_order_by_single_or_default(bool async) @@ -275,7 +309,8 @@ public override async Task Skip_navigation_order_by_single_or_default(bool async await base.Skip_navigation_order_by_single_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT TOP(1) [t].[Id], [t].[Name] @@ -287,7 +322,8 @@ FROM [JoinOneSelfPayload] AS [j] ORDER BY [e0].[Id] ) AS [t] ORDER BY [t].[Id] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Skip_navigation_order_by_last_or_default(bool async) @@ -295,7 +331,8 @@ public override async Task Skip_navigation_order_by_last_or_default(bool async) await base.Skip_navigation_order_by_last_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] LEFT JOIN ( @@ -306,7 +343,8 @@ FROM [JoinOneToBranch] AS [j] INNER JOIN [EntityOnes] AS [e] ON [j].[EntityOneId] = [e].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [r].[Id] = [t0].[EntityBranchId]"); +) AS [t0] ON [r].[Id] = [t0].[EntityBranchId] +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default(bool async) @@ -314,7 +352,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default(boo await base.Skip_navigation_order_by_reverse_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId] @@ -324,7 +363,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_cast(bool async) @@ -332,7 +372,8 @@ public override async Task Skip_navigation_cast(bool async) await base.Skip_navigation_cast(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -344,7 +385,8 @@ FROM [Roots] AS [r] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] ) AS [t] ON [j].[LeafId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +"""); } public override async Task Skip_navigation_of_type(bool async) @@ -352,7 +394,8 @@ public override async Task Skip_navigation_of_type(bool async) await base.Skip_navigation_of_type(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -370,7 +413,8 @@ FROM [Roots] AS [r] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] = N'EntityLeaf' ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Join_with_skip_navigation(bool async) @@ -378,14 +422,16 @@ public override async Task Join_with_skip_navigation(bool async) await base.Join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] INNER JOIN [EntityTwos] AS [e0] ON [e].[Id] = ( SELECT TOP(1) [e2].[Id] FROM [EntityTwoEntityTwo] AS [e1] INNER JOIN [EntityTwos] AS [e2] ON [e1].[SelfSkipSharedRightId] = [e2].[Id] WHERE [e0].[Id] = [e1].[SelfSkipSharedLeftId] - ORDER BY [e2].[Id])"); + ORDER BY [e2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation(bool async) @@ -393,7 +439,8 @@ public override async Task Left_join_with_skip_navigation(bool async) await base.Left_join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] FROM [EntityCompositeKeys] AS [e] LEFT JOIN [EntityCompositeKeys] AS [e0] ON ( SELECT TOP(1) [e2].[Id] @@ -406,7 +453,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityThrees] AS [e3] ON [j].[ThreeId] = [e3].[Id] WHERE [e0].[Key1] = [j].[CompositeId1] AND [e0].[Key2] = [j].[CompositeId2] AND [e0].[Key3] = [j].[CompositeId3] ORDER BY [e3].[Id]) -ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2]"); +ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation(bool async) @@ -414,13 +462,15 @@ public override async Task Select_many_over_skip_navigation(bool async) await base.Select_many_over_skip_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] FROM [Roots] AS [r] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [e].[RootSkipSharedId] FROM [EntityRootEntityThree] AS [e] INNER JOIN [EntityThrees] AS [e0] ON [e].[ThreeSkipSharedId] = [e0].[Id] -) AS [t] ON [r].[Id] = [t].[RootSkipSharedId]"); +) AS [t] ON [r].[Id] = [t].[RootSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_where(bool async) @@ -428,13 +478,15 @@ public override async Task Select_many_over_skip_navigation_where(bool async) await base.Select_many_over_skip_navigation_where(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId]"); +) AS [t] ON [e].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip(bool async) @@ -442,7 +494,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip(bool a await base.Select_many_over_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -452,7 +505,8 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take(bool async) @@ -460,7 +514,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take(bool a await base.Select_many_over_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneSkipSharedId] @@ -470,7 +525,8 @@ FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take(bool async) @@ -478,7 +534,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take(b await base.Select_many_over_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -488,7 +545,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_of_type(bool async) @@ -496,7 +554,8 @@ public override async Task Select_many_over_skip_navigation_of_type(bool async) await base.Select_many_over_skip_navigation_of_type(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [e0].[ThreeSkipSharedId] @@ -513,7 +572,8 @@ FROM [Roots] AS [r] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') -) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_cast(bool async) @@ -521,7 +581,8 @@ public override async Task Select_many_over_skip_navigation_cast(bool async) await base.Select_many_over_skip_navigation_cast(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [j].[EntityOneId] @@ -534,7 +595,8 @@ FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] ) AS [t] ON [j].[EntityBranchId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[EntityOneId]"); +) AS [t0] ON [e].[Id] = [t0].[EntityOneId] +"""); } public override async Task Select_skip_navigation(bool async) @@ -542,14 +604,16 @@ public override async Task Select_skip_navigation(bool async) await base.Select_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] +""" +SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[LeftId], [j].[RightId] FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[RightId] -ORDER BY [e].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [e].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Select_skip_navigation_multiple(bool async) @@ -557,7 +621,8 @@ public override async Task Select_skip_navigation_multiple(bool async) await base.Select_skip_navigation_multiple(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId], [j].[TwoId] @@ -574,7 +639,8 @@ LEFT JOIN ( FROM [EntityCompositeKeyEntityTwo] AS [e3] INNER JOIN [EntityCompositeKeys] AS [e4] ON [e3].[CompositeKeySkipSharedKey1] = [e4].[Key1] AND [e3].[CompositeKeySkipSharedKey2] = [e4].[Key2] AND [e3].[CompositeKeySkipSharedKey3] = [e4].[Key3] ) AS [t1] ON [e].[Id] = [t1].[TwoSkipSharedId] -ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2]"); +ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2] +"""); } public override async Task Select_skip_navigation_first_or_default(bool async) @@ -582,7 +648,8 @@ public override async Task Select_skip_navigation_first_or_default(bool async) await base.Select_skip_navigation_first_or_default(async); AssertSql( - @"SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] +""" +SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [t].[ThreeId] @@ -593,7 +660,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation(bool async) @@ -601,7 +669,8 @@ public override async Task Include_skip_navigation(bool async) await base.Include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -619,7 +688,8 @@ FROM [Roots] AS [r] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Include_skip_navigation_then_reference(bool async) @@ -627,7 +697,8 @@ public override async Task Include_skip_navigation_then_reference(bool async) await base.Include_skip_navigation_then_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId] @@ -635,7 +706,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation(bool async) @@ -643,7 +715,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation( await base.Include_skip_navigation_then_include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t1].[Id], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0], [t1].[Name0], [t1].[EntityBranchId], [t1].[EntityOneId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t1].[Id], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0], [t1].[Name0], [t1].[EntityBranchId], [t1].[EntityOneId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t0].[Id] AS [Id0], [t0].[Name] AS [Name0], [t0].[EntityBranchId], [t0].[EntityOneId] @@ -660,7 +733,8 @@ FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e0] ON [j0].[EntityOneId] = [e0].[Id] ) AS [t0] ON [t].[Id] = [t0].[EntityBranchId] ) AS [t1] ON [e].[Key1] = [t1].[CompositeId1] AND [e].[Key2] = [t1].[CompositeId2] AND [e].[Key3] = [t1].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[EntityBranchId], [t1].[EntityOneId]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[EntityBranchId], [t1].[EntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation(bool async) @@ -668,7 +742,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Id1], [t0].[Name1], [t0].[LeftId], [t0].[RightId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Id1], [t0].[Name1], [t0].[LeftId], [t0].[RightId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[ThreeId], [t].[Id] AS [Id1], [t].[Name] AS [Name1], [t].[LeftId], [t].[RightId] @@ -681,7 +756,8 @@ FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t] ON [e0].[Id] = [t].[LeftId] ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference(bool async) @@ -689,7 +765,8 @@ public override async Task Include_skip_navigation_and_reference(bool async) await base.Include_skip_navigation_and_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[Id], [t].[Name], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[Id], [t].[Name], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] LEFT JOIN ( @@ -697,7 +774,8 @@ LEFT JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId] +"""); } public override async Task Filtered_include_skip_navigation_where(bool async) @@ -705,7 +783,8 @@ public override async Task Filtered_include_skip_navigation_where(bool async) await base.Filtered_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[OneId], [t].[ThreeId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -713,7 +792,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by(bool async) @@ -721,14 +801,16 @@ public override async Task Filtered_include_skip_navigation_order_by(bool async) await base.Filtered_include_skip_navigation_order_by(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId], [j].[TwoId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip(bool async) @@ -736,7 +818,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip(bool a await base.Filtered_include_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[SelfSkipSharedLeftId], [t].[SelfSkipSharedRightId] @@ -747,7 +830,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take(bool async) @@ -755,7 +839,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take(bool a await base.Filtered_include_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] @@ -766,7 +851,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take(bool async) @@ -774,7 +860,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take(b await base.Filtered_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[Id0], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] @@ -785,7 +872,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_where(bool async) @@ -793,7 +881,8 @@ public override async Task Filtered_then_include_skip_navigation_where(bool asyn await base.Filtered_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -814,7 +903,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] WHERE [e1].[Id] < 10 ) AS [t] ON [e0].[Id] = [t].[ThreeId] ) AS [t0] ON [r].[Id] = [t0].[RootSkipSharedId] -ORDER BY [r].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId]"); +ORDER BY [r].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take(bool async) @@ -822,7 +912,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -846,7 +937,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e0].[Key1] = [t0].[CompositeId1] AND [e0].[Key2] = [t0].[CompositeId2] AND [e0].[Key3] = [t0].[CompositeId3] ) AS [t1] ON [r].[Id] = [t1].[RootSkipSharedId] -ORDER BY [r].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id]"); +ORDER BY [r].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation(bool async) @@ -854,7 +946,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] @@ -869,7 +962,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] WHERE [e].[Key1] < 5 ) AS [t0] ON [r].[Id] = [t0].[LeafId] -ORDER BY [r].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [r].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(bool async) @@ -877,7 +971,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0] @@ -896,7 +991,8 @@ FROM [JoinTwoToThree] AS [j0] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(bool async) @@ -904,7 +1000,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId], [j].[TwoId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0] @@ -921,7 +1018,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t0] ON [e0].[Id] = [t0].[TwoId] WHERE [e0].[Id] < 10 ) AS [t1] ON [e].[Id] = [t1].[OneId] -ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0]"); +ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined(bool async) @@ -929,7 +1027,8 @@ public override async Task Filter_include_on_skip_navigation_combined(bool async await base.Filter_include_on_skip_navigation_combined(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -939,7 +1038,8 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes(bool async) @@ -947,7 +1047,8 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[Id], [t3].[Name], [t3].[OneId], [t3].[ThreeId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[OneId0], [t3].[TwoId], [t3].[Id1], [t3].[Name1], [t3].[Number], [t3].[IsGreen], [t3].[Discriminator], [t3].[EntityBranchId], [t3].[EntityOneId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[Id], [t3].[Name], [t3].[OneId], [t3].[ThreeId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[OneId0], [t3].[TwoId], [t3].[Id1], [t3].[Name1], [t3].[Number], [t3].[IsGreen], [t3].[Discriminator], [t3].[EntityBranchId], [t3].[EntityOneId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId], [t0].[OneId] AS [OneId0], [t0].[TwoId], [t1].[Id] AS [Id1], [t1].[Name] AS [Name1], [t1].[Number], [t1].[IsGreen], [t1].[Discriminator], [t1].[EntityBranchId], [t1].[EntityOneId] @@ -977,7 +1078,8 @@ WHERE [t2].[Id] < 20 ) AS [t1] ON [e0].[Id] = [t1].[EntityOneId] WHERE [e0].[Id] < 10 ) AS [t3] ON [e].[Id] = [t3].[ThreeId] -ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId]"); +ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(bool async) @@ -985,7 +1087,8 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[OneId], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[OneId], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -998,7 +1101,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[CollectionInverseId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(bool async) @@ -1006,7 +1110,8 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] +""" +SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [t].[Id] AS [Id0], [t].[CollectionInverseId] AS [CollectionInverseId0], [t].[Name] AS [Name0], [t].[ReferenceInverseId] AS [ReferenceInverseId0], [t].[ThreeId], [t].[TwoId] @@ -1019,7 +1124,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[TwoId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId] +"""); } public override async Task Includes_accessed_via_different_path_are_merged(bool async) @@ -1041,11 +1147,14 @@ public override async Task Include_skip_navigation_split(bool async) await base.Include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -1063,7 +1172,8 @@ FROM [Roots] AS [r] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +"""); } public override async Task Include_skip_navigation_then_reference_split(bool async) @@ -1071,11 +1181,14 @@ public override async Task Include_skip_navigation_then_reference_split(bool asy await base.Include_skip_navigation_then_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[TwoId] @@ -1083,7 +1196,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation_split(bool async) @@ -1091,11 +1205,14 @@ public override async Task Include_skip_navigation_then_include_skip_navigation_ await base.Include_skip_navigation_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -1107,9 +1224,11 @@ FROM [Roots] AS [r] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] ) AS [t] ON [j].[LeafId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +""", // - @"SELECT [t1].[Id], [t1].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +""" +SELECT [t1].[Id], [t1].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -1126,7 +1245,8 @@ INNER JOIN ( FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e0] ON [j0].[EntityOneId] = [e0].[Id] ) AS [t1] ON [t0].[Id] = [t1].[EntityBranchId] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation_split(bool async) @@ -1134,11 +1254,14 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId] +""" +SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[ThreeId] @@ -1146,9 +1269,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""", // - @"SELECT [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""" +SELECT [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e1].[Id] AS [Id0], [j].[OneId], [j].[ThreeId] @@ -1161,7 +1286,8 @@ INNER JOIN ( FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t0] ON [t].[Id] = [t0].[LeftId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +"""); } public override async Task Include_skip_navigation_and_reference_split(bool async) @@ -1169,12 +1295,15 @@ public override async Task Include_skip_navigation_and_reference_split(bool asyn await base.Include_skip_navigation_and_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] -ORDER BY [e].[Id], [e0].[Id]", +ORDER BY [e].[Id], [e0].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id], [e0].[Id] +""" +SELECT [t].[Id], [t].[Name], [e].[Id], [e0].[Id] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] INNER JOIN ( @@ -1182,7 +1311,8 @@ INNER JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id]"); +ORDER BY [e].[Id], [e0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_split(bool async) @@ -1190,11 +1320,14 @@ public override async Task Filtered_include_skip_navigation_where_split(bool asy await base.Filtered_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[ThreeId] @@ -1202,7 +1335,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_split(bool async) @@ -1210,18 +1344,22 @@ public override async Task Filtered_include_skip_navigation_order_by_split(bool await base.Filtered_include_skip_navigation_order_by_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_split(bool async) @@ -1229,11 +1367,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_split( await base.Filtered_include_skip_navigation_order_by_skip_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[SelfSkipSharedLeftId] @@ -1244,7 +1385,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_split(bool async) @@ -1252,11 +1394,14 @@ public override async Task Filtered_include_skip_navigation_order_by_take_split( await base.Filtered_include_skip_navigation_order_by_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] @@ -1267,7 +1412,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1275,11 +1421,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_s await base.Filtered_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] @@ -1290,7 +1439,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_where_split(bool async) @@ -1298,7 +1448,8 @@ public override async Task Filtered_then_include_skip_navigation_where_split(boo await base.Filtered_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -1308,18 +1459,22 @@ FROM [Roots] AS [r] LEFT JOIN [Branch2s] AS [b0] ON [r].[Id] = [b0].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] -ORDER BY [r].[Id]", +ORDER BY [r].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId] FROM [Roots] AS [r] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [e].[RootSkipSharedId], [e].[ThreeSkipSharedId] FROM [EntityRootEntityThree] AS [e] INNER JOIN [EntityThrees] AS [e0] ON [e].[ThreeSkipSharedId] = [e0].[Id] ) AS [t] ON [r].[Id] = [t].[RootSkipSharedId] -ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id]", +ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Name], [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[Name], [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] FROM [Roots] AS [r] INNER JOIN ( SELECT [e0].[Id], [e].[RootSkipSharedId], [e].[ThreeSkipSharedId] @@ -1332,7 +1487,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e1] ON [j].[OneId] = [e1].[Id] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[ThreeId] -ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id]"); +ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1340,7 +1496,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -1350,18 +1507,22 @@ FROM [Roots] AS [r] LEFT JOIN [Branch2s] AS [b0] ON [r].[Id] = [b0].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] -ORDER BY [r].[Id]", +ORDER BY [r].[Id] +""", // - @"SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +""" +SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] FROM [Roots] AS [r] INNER JOIN ( SELECT [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name], [e].[RootSkipSharedId], [e].[CompositeKeySkipSharedKey1], [e].[CompositeKeySkipSharedKey2], [e].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeyEntityRoot] AS [e] INNER JOIN [EntityCompositeKeys] AS [e0] ON [e].[CompositeKeySkipSharedKey1] = [e0].[Key1] AND [e].[CompositeKeySkipSharedKey2] = [e0].[Key2] AND [e].[CompositeKeySkipSharedKey3] = [e0].[Key3] ) AS [t] ON [r].[Id] = [t].[RootSkipSharedId] -ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3]", +ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] FROM [Roots] AS [r] INNER JOIN ( SELECT [e0].[Key1], [e0].[Key2], [e0].[Key3], [e].[RootSkipSharedId], [e].[CompositeKeySkipSharedKey1], [e].[CompositeKeySkipSharedKey2], [e].[CompositeKeySkipSharedKey3] @@ -1377,7 +1538,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Key1] = [t0].[CompositeId1] AND [t].[Key2] = [t0].[CompositeId2] AND [t].[Key3] = [t0].[CompositeId3] -ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_split(bool async) @@ -1385,13 +1547,16 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen] +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] -ORDER BY [r].[Id]", +ORDER BY [r].[Id] +""", // - @"SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] +""" +SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] @@ -1401,9 +1566,11 @@ FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [EntityCompositeKeys] AS [e] ON [j].[CompositeId1] = [e].[Key1] AND [j].[CompositeId2] = [e].[Key2] AND [j].[CompositeId3] = [e].[Key3] WHERE [e].[Key1] < 5 ) AS [t] ON [r].[Id] = [t].[LeafId] -ORDER BY [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]", +ORDER BY [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] @@ -1418,7 +1585,8 @@ INNER JOIN ( FROM [EntityCompositeKeyEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t0] ON [t].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [t].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [t].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]"); +ORDER BY [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(bool async) @@ -1426,11 +1594,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] @@ -1441,9 +1612,11 @@ FROM [JoinOneToTwo] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]", +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +""", // - @"SELECT [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] +""" +SELECT [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[OneId], [t].[TwoId] @@ -1460,7 +1633,8 @@ FROM [JoinTwoToThree] AS [j0] INNER JOIN [EntityThrees] AS [e1] ON [j0].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 10 ) AS [t1] ON [t0].[Id] = [t1].[TwoId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1468,11 +1642,14 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId], [j].[TwoId] @@ -1480,9 +1657,11 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[TwoId] @@ -1499,7 +1678,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id] +"""); } public override async Task Filter_include_on_skip_navigation_combined_split(bool async) @@ -1507,11 +1687,14 @@ public override async Task Filter_include_on_skip_navigation_combined_split(bool await base.Filter_include_on_skip_navigation_combined_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] +""" +SELECT [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId] @@ -1520,9 +1703,11 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""", // - @"SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""" +SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e0].[Id], [e1].[Id] AS [Id0], [j].[OneId], [j].[TwoId] @@ -1532,7 +1717,8 @@ FROM [JoinOneToTwo] AS [j] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] INNER JOIN [EntityTwos] AS [e2] ON [t].[Id] = [e2].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(bool async) @@ -1540,11 +1726,14 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] +""" +SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -1552,9 +1741,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[ThreeId] @@ -1571,9 +1762,11 @@ FROM [JoinOneToTwo] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[ThreeId] @@ -1594,7 +1787,8 @@ FROM [Roots] AS [r] ) AS [t1] ON [j0].[EntityBranchId] = [t1].[Id] WHERE [t1].[Id] < 20 ) AS [t0] ON [t].[Id] = [t0].[EntityOneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(bool async) @@ -1602,11 +1796,14 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] +""" +SELECT [t].[Id], [t].[Name], [e].[Id], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -1614,9 +1811,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Id], [j].[OneId], [j].[ThreeId] @@ -1629,7 +1828,8 @@ INNER JOIN ( FROM [EntityTwos] AS [e1] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(bool async) @@ -1637,20 +1837,25 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e0] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[CollectionInverseId] -ORDER BY [e].[Id], [t].[Id]", +ORDER BY [e].[Id], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId] @@ -1663,7 +1868,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e1] ON [j].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_inverse_throws_in_no_tracking(bool async) @@ -1706,13 +1912,15 @@ public override async Task Select_many_over_skip_navigation_where_non_equality(b await base.Select_many_over_skip_navigation_where_non_equality(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId] AND [e].[Id] <> [t].[Id]"); +) AS [t] ON [e].[Id] = [t].[OneId] AND [e].[Id] <> [t].[Id] +"""); } public override async Task Contains_on_skip_collection_navigation(bool async) @@ -1720,7 +1928,8 @@ public override async Task Contains_on_skip_collection_navigation(bool async) await base.Contains_on_skip_collection_navigation(async); AssertSql( - @"@__entity_equality_two_0_Id='1' (Nullable = true) +""" +@__entity_equality_two_0_Id='1' (Nullable = true) SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] @@ -1728,7 +1937,8 @@ WHERE EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = @__entity_equality_two_0_Id)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = @__entity_equality_two_0_Id) +"""); } public override async Task GetType_in_hierarchy_in_base_type(bool async) @@ -1736,7 +1946,8 @@ public override async Task GetType_in_hierarchy_in_base_type(bool async) await base.GetType_in_hierarchy_in_base_type(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -1746,7 +1957,8 @@ FROM [Roots] AS [r] LEFT JOIN [Branch2s] AS [b0] ON [r].[Id] = [b0].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] -WHERE ([l0].[Id] IS NULL) AND ([l].[Id] IS NULL) AND ([b].[Id] IS NULL)"); +WHERE ([l0].[Id] IS NULL) AND ([l].[Id] IS NULL) AND ([b].[Id] IS NULL) +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) @@ -1754,7 +1966,8 @@ public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) await base.GetType_in_hierarchy_in_intermediate_type(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -1764,7 +1977,8 @@ FROM [Roots] AS [r] LEFT JOIN [Branch2s] AS [b0] ON [r].[Id] = [b0].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] -WHERE ([l].[Id] IS NULL) AND ([b].[Id] IS NOT NULL)"); +WHERE ([l].[Id] IS NULL) AND ([b].[Id] IS NOT NULL) +"""); } public override async Task GetType_in_hierarchy_in_leaf_type(bool async) @@ -1772,7 +1986,8 @@ public override async Task GetType_in_hierarchy_in_leaf_type(bool async) await base.GetType_in_hierarchy_in_leaf_type(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -1782,7 +1997,8 @@ FROM [Roots] AS [r] LEFT JOIN [Branch2s] AS [b0] ON [r].[Id] = [b0].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] -WHERE [l].[Id] IS NOT NULL"); +WHERE [l].[Id] IS NOT NULL +"""); } public override async Task GetType_in_hierarchy_in_querying_base_type(bool async) @@ -1790,13 +2006,15 @@ public override async Task GetType_in_hierarchy_in_querying_base_type(bool async await base.GetType_in_hierarchy_in_querying_base_type(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen], CASE WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' END AS [Discriminator] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_EF_Property(bool async) @@ -1804,7 +2022,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take_EF_Pro await base.Filtered_include_skip_navigation_order_by_take_EF_Property(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] @@ -1815,7 +2034,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_EF_Property( @@ -1824,7 +2044,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_EF_Property(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[OneId], [t1].[TwoId], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0], [t1].[ThreeId], [t1].[TwoId0] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0] @@ -1843,7 +2064,8 @@ FROM [JoinTwoToThree] AS [j0] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Include_skip_navigation_then_include_inverse_works_for_tracking_query_unidirectional(bool async) @@ -1858,13 +2080,15 @@ public override async Task Skip_navigation_all_unidirectional(bool async) await base.Skip_navigation_all_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE NOT EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND NOT ([u1].[Name] LIKE N'%B%'))"); + WHERE [u].[Id] = [u0].[OneId] AND NOT ([u1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate_unidirectional(bool async) @@ -1872,13 +2096,15 @@ public override async Task Skip_navigation_any_with_predicate_unidirectional(boo await base.Skip_navigation_any_with_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE EXISTS ( SELECT 1 FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoSkipSharedId] = [u1].[Id] - WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([u1].[Name] LIKE N'%B%'))"); + WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([u1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains_unidirectional(bool async) @@ -1886,13 +2112,15 @@ public override async Task Skip_navigation_contains_unidirectional(bool async) await base.Skip_navigation_contains_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u0] INNER JOIN [UnidirectionalEntityThrees] AS [u1] ON [u0].[ThreeId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = 1)"); + WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate_unidirectional(bool async) @@ -1900,13 +2128,15 @@ public override async Task Skip_navigation_count_without_predicate_unidirectiona await base.Skip_navigation_count_without_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE ( SELECT COUNT(*) FROM [UnidirectionalJoinOneSelfPayload] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[LeftId] = [u1].[Id] - WHERE [u].[Id] = [u0].[RightId]) > 0"); + WHERE [u].[Id] = [u0].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate_unidirectional(bool async) @@ -1914,7 +2144,8 @@ public override async Task Skip_navigation_count_with_predicate_unidirectional(b await base.Skip_navigation_count_with_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] ORDER BY ( SELECT COUNT(*) @@ -1927,7 +2158,8 @@ FROM [UnidirectionalRoots] AS [u1] INNER JOIN [UnidirectionalBranches] AS [u2] ON [u1].[Id] = [u2].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u3] ON [u1].[Id] = [u3].[Id] ) AS [t] ON [u0].[UnidirectionalEntityBranchId] = [t].[Id] - WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [u].[Id]"); + WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [u].[Id] +"""); } public override async Task Skip_navigation_select_subquery_average_unidirectional(bool async) @@ -1935,14 +2167,16 @@ public override async Task Skip_navigation_select_subquery_average_unidirectiona await base.Skip_navigation_select_subquery_average_unidirectional(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([u3].[Key1] AS float)) FROM [UnidirectionalJoinCompositeKeyToLeaf] AS [u2] INNER JOIN [UnidirectionalEntityCompositeKeys] AS [u3] ON [u2].[CompositeId1] = [u3].[Key1] AND [u2].[CompositeId2] = [u3].[Key2] AND [u2].[CompositeId3] = [u3].[Key3] WHERE [u].[Id] = [u2].[LeafId]) FROM [UnidirectionalRoots] AS [u] INNER JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] -INNER JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id]"); +INNER JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default_unidirectional(bool async) @@ -1950,7 +2184,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default_uni await base.Skip_navigation_order_by_reverse_first_or_default_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId] @@ -1960,7 +2195,8 @@ FROM [UnidirectionalJoinTwoToThree] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [u].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [u].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_of_type_unidirectional(bool async) @@ -1968,7 +2204,8 @@ public override async Task Skip_navigation_of_type_unidirectional(bool async) await base.Skip_navigation_of_type_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [u0].[RootSkipSharedId], [u0].[UnidirectionalEntityCompositeKeyKey1], [u0].[UnidirectionalEntityCompositeKeyKey2], [u0].[UnidirectionalEntityCompositeKeyKey3] @@ -1984,7 +2221,8 @@ FROM [UnidirectionalRoots] AS [u1] ) AS [t] ON [u0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] = N'UnidirectionalEntityLeaf' ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Join_with_skip_navigation_unidirectional(bool async) @@ -1992,14 +2230,16 @@ public override async Task Join_with_skip_navigation_unidirectional(bool async) await base.Join_with_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [u0].[CollectionInverseId], [u0].[ExtraId], [u0].[Name], [u0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [u0].[CollectionInverseId], [u0].[ExtraId], [u0].[Name], [u0].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] INNER JOIN [UnidirectionalEntityTwos] AS [u0] ON [u].[Id] = ( SELECT TOP(1) [u2].[Id] FROM [UnidirectionalEntityTwoUnidirectionalEntityTwo] AS [u1] INNER JOIN [UnidirectionalEntityTwos] AS [u2] ON [u1].[SelfSkipSharedRightId] = [u2].[Id] WHERE [u0].[Id] = [u1].[UnidirectionalEntityTwoId] - ORDER BY [u2].[Id])"); + ORDER BY [u2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation_unidirectional(bool async) @@ -2007,7 +2247,8 @@ public override async Task Left_join_with_skip_navigation_unidirectional(bool as await base.Left_join_with_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [u0].[Key1], [u0].[Key2], [u0].[Key3], [u0].[Name] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [u0].[Key1], [u0].[Key2], [u0].[Key3], [u0].[Name] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN [UnidirectionalEntityCompositeKeys] AS [u0] ON ( SELECT TOP(1) [u2].[Id] @@ -2020,7 +2261,8 @@ FROM [UnidirectionalJoinThreeToCompositeKeyFull] AS [u3] INNER JOIN [UnidirectionalEntityThrees] AS [u4] ON [u3].[ThreeId] = [u4].[Id] WHERE [u0].[Key1] = [u3].[CompositeId1] AND [u0].[Key2] = [u3].[CompositeId2] AND [u0].[Key3] = [u3].[CompositeId3] ORDER BY [u4].[Id]) -ORDER BY [u].[Key1], [u0].[Key1], [u].[Key2], [u0].[Key2]"); +ORDER BY [u].[Key1], [u0].[Key1], [u].[Key2], [u0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation_unidirectional(bool async) @@ -2028,13 +2270,15 @@ public override async Task Select_many_over_skip_navigation_unidirectional(bool await base.Select_many_over_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalRoots] AS [u] INNER JOIN ( SELECT [u3].[Id], [u3].[CollectionInverseId], [u3].[Name], [u3].[ReferenceInverseId], [u2].[UnidirectionalEntityRootId] FROM [UnidirectionalEntityRootUnidirectionalEntityThree] AS [u2] INNER JOIN [UnidirectionalEntityThrees] AS [u3] ON [u2].[ThreeSkipSharedId] = [u3].[Id] -) AS [t] ON [u].[Id] = [t].[UnidirectionalEntityRootId]"); +) AS [t] ON [u].[Id] = [t].[UnidirectionalEntityRootId] +"""); } public override async Task Select_many_over_skip_navigation_where_unidirectional(bool async) @@ -2042,13 +2286,15 @@ public override async Task Select_many_over_skip_navigation_where_unidirectional await base.Select_many_over_skip_navigation_where_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId], [u0].[OneId] FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] -) AS [t] ON [u].[Id] = [t].[OneId]"); +) AS [t] ON [u].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take_unidirectional(bool async) @@ -2056,7 +2302,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take_unidir await base.Select_many_over_skip_navigation_order_by_take_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[UnidirectionalEntityOneId] @@ -2066,7 +2313,8 @@ FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoSkipSharedId] = [u1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId]"); +) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take_unidirectional(bool async) @@ -2074,7 +2322,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take_u await base.Select_many_over_skip_navigation_order_by_skip_take_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -2084,7 +2333,8 @@ FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u0] INNER JOIN [UnidirectionalEntityThrees] AS [u1] ON [u0].[ThreeId] = [u1].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [u].[Id] = [t0].[OneId]"); +) AS [t0] ON [u].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_cast_unidirectional(bool async) @@ -2092,7 +2342,8 @@ public override async Task Select_many_over_skip_navigation_cast_unidirectional( await base.Select_many_over_skip_navigation_cast_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [u0].[UnidirectionalEntityOneId] @@ -2105,7 +2356,8 @@ FROM [UnidirectionalRoots] AS [u1] INNER JOIN [UnidirectionalBranches] AS [u2] ON [u1].[Id] = [u2].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u3] ON [u1].[Id] = [u3].[Id] ) AS [t] ON [u0].[UnidirectionalEntityBranchId] = [t].[Id] -) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId]"); +) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId] +"""); } public override async Task Select_skip_navigation_unidirectional(bool async) @@ -2113,14 +2365,16 @@ public override async Task Select_skip_navigation_unidirectional(bool async) await base.Select_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] +""" +SELECT [u].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[Name], [u0].[LeftId], [u0].[RightId] FROM [UnidirectionalJoinOneSelfPayload] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[LeftId] = [u1].[Id] ) AS [t] ON [u].[Id] = [t].[RightId] -ORDER BY [u].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [u].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Include_skip_navigation_unidirectional(bool async) @@ -2128,7 +2382,8 @@ public override async Task Include_skip_navigation_unidirectional(bool async) await base.Include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [u0].[RootSkipSharedId], [u0].[UnidirectionalEntityCompositeKeyKey1], [u0].[UnidirectionalEntityCompositeKeyKey2], [u0].[UnidirectionalEntityCompositeKeyKey3] @@ -2143,7 +2398,8 @@ FROM [UnidirectionalRoots] AS [u1] LEFT JOIN [UnidirectionalLeaves] AS [u3] ON [u1].[Id] = [u3].[Id] ) AS [t] ON [u0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Include_skip_navigation_then_reference_unidirectional(bool async) @@ -2151,7 +2407,8 @@ public override async Task Include_skip_navigation_then_reference_unidirectional await base.Include_skip_navigation_then_reference_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[Name], [u2].[Id] AS [Id0], [u2].[CollectionInverseId], [u2].[ExtraId], [u2].[Name] AS [Name0], [u2].[ReferenceInverseId], [u0].[OneId], [u0].[TwoId] @@ -2159,7 +2416,8 @@ FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[OneId] = [u1].[Id] LEFT JOIN [UnidirectionalEntityTwos] AS [u2] ON [u1].[Id] = [u2].[ReferenceInverseId] ) AS [t] ON [u].[Id] = [t].[TwoId] -ORDER BY [u].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [u].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation_unidirectional(bool async) @@ -2167,7 +2425,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation_ await base.Include_skip_navigation_then_include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t1].[Id], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0], [t1].[Name0], [t1].[UnidirectionalEntityBranchId], [t1].[UnidirectionalEntityOneId] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t1].[Id], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0], [t1].[Name0], [t1].[UnidirectionalEntityBranchId], [t1].[UnidirectionalEntityOneId] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [u0].[LeafId], [u0].[CompositeId1], [u0].[CompositeId2], [u0].[CompositeId3], [t0].[Id] AS [Id0], [t0].[Name] AS [Name0], [t0].[UnidirectionalEntityBranchId], [t0].[UnidirectionalEntityOneId] @@ -2184,7 +2443,8 @@ FROM [UnidirectionalJoinOneToBranch] AS [u4] INNER JOIN [UnidirectionalEntityOnes] AS [u5] ON [u4].[UnidirectionalEntityOneId] = [u5].[Id] ) AS [t0] ON [t].[Id] = [t0].[UnidirectionalEntityBranchId] ) AS [t1] ON [u].[Key1] = [t1].[CompositeId1] AND [u].[Key2] = [t1].[CompositeId2] AND [u].[Key3] = [t1].[CompositeId3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[UnidirectionalEntityBranchId], [t1].[UnidirectionalEntityOneId]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[UnidirectionalEntityBranchId], [t1].[UnidirectionalEntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation_unidirectional(bool async) @@ -2192,7 +2452,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Id1], [t0].[Name1], [t0].[LeftId], [t0].[RightId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Id1], [t0].[Name1], [t0].[LeftId], [t0].[RightId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[Name], [u2].[Id] AS [Id0], [u2].[CollectionInverseId], [u2].[ExtraId], [u2].[Name] AS [Name0], [u2].[ReferenceInverseId], [u0].[OneId], [u0].[ThreeId], [t].[Id] AS [Id1], [t].[Name] AS [Name1], [t].[LeftId], [t].[RightId] @@ -2205,7 +2466,8 @@ FROM [UnidirectionalJoinOneSelfPayload] AS [u3] INNER JOIN [UnidirectionalEntityOnes] AS [u4] ON [u3].[RightId] = [u4].[Id] ) AS [t] ON [u1].[Id] = [t].[LeftId] ) AS [t0] ON [u].[Id] = [t0].[ThreeId] -ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference_unidirectional(bool async) @@ -2213,7 +2475,8 @@ public override async Task Include_skip_navigation_and_reference_unidirectional( await base.Include_skip_navigation_and_reference_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [t].[Id], [t].[Name], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId], [u0].[CollectionInverseId], [u0].[Name], [u0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [t].[Id], [t].[Name], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId], [u0].[CollectionInverseId], [u0].[Name], [u0].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN [UnidirectionalEntityThrees] AS [u0] ON [u].[Id] = [u0].[ReferenceInverseId] LEFT JOIN ( @@ -2221,7 +2484,8 @@ LEFT JOIN ( FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u1] INNER JOIN [UnidirectionalEntityOnes] AS [u2] ON [u1].[UnidirectionalEntityOneId] = [u2].[Id] ) AS [t] ON [u].[Id] = [t].[TwoSkipSharedId] -ORDER BY [u].[Id], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId]"); +ORDER BY [u].[Id], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId] +"""); } public override async Task Filtered_include_skip_navigation_where_unidirectional(bool async) @@ -2229,7 +2493,8 @@ public override async Task Filtered_include_skip_navigation_where_unidirectional await base.Filtered_include_skip_navigation_where_unidirectional(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[OneId], [t].[ThreeId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[OneId], [t].[ThreeId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[OneId], [j].[ThreeId] @@ -2237,21 +2502,24 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_unidirectional(bool async) { await base.Filtered_include_skip_navigation_order_by_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId], [u0].[ThreeId], [u0].[TwoId] FROM [UnidirectionalJoinTwoToThree] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] ) AS [t] ON [u].[Id] = [t].[ThreeId] -ORDER BY [u].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [u].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_unidirectional(bool async) @@ -2259,7 +2527,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_unidir await base.Filtered_include_skip_navigation_order_by_skip_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedRightId], [t0].[UnidirectionalEntityTwoId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedRightId], [t0].[UnidirectionalEntityTwoId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[SelfSkipSharedRightId], [t].[UnidirectionalEntityTwoId] @@ -2270,7 +2539,8 @@ FROM [UnidirectionalEntityTwoUnidirectionalEntityTwo] AS [u0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityTwoId] -ORDER BY [u].[Id], [t0].[UnidirectionalEntityTwoId], [t0].[Id]"); +ORDER BY [u].[Id], [t0].[UnidirectionalEntityTwoId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_unidirectional(bool async) @@ -2278,7 +2548,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take_unidir await base.Filtered_include_skip_navigation_order_by_take_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityCompositeKeyKey1], [t].[UnidirectionalEntityCompositeKeyKey2], [t].[UnidirectionalEntityCompositeKeyKey3] @@ -2289,14 +2560,16 @@ FROM [UnidirectionalEntityCompositeKeyUnidirectionalEntityTwo] AS [u0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_unidirectional(bool async) { await base.Filtered_include_skip_navigation_order_by_skip_take_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[Id0] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[Id0], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3] @@ -2307,7 +2580,8 @@ FROM [UnidirectionalJoinThreeToCompositeKeyFull] AS [u0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [u].[Key1] = [t0].[CompositeId1] AND [u].[Key2] = [t0].[CompositeId2] AND [u].[Key3] = [t0].[CompositeId3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_unidirectional(bool async) @@ -2315,7 +2589,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +""" +SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] FROM [UnidirectionalRoots] AS [u] INNER JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] INNER JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] @@ -2330,7 +2605,8 @@ FROM [UnidirectionalEntityCompositeKeyUnidirectionalEntityTwo] AS [u4] ) AS [t] ON [u3].[Key1] = [t].[UnidirectionalEntityCompositeKeyKey1] AND [u3].[Key2] = [t].[UnidirectionalEntityCompositeKeyKey2] AND [u3].[Key3] = [t].[UnidirectionalEntityCompositeKeyKey3] WHERE [u3].[Key1] < 5 ) AS [t0] ON [u].[Id] = [t0].[LeafId] -ORDER BY [u].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Filter_include_on_skip_navigation_combined_unidirectional(bool async) @@ -2338,7 +2614,8 @@ public override async Task Filter_include_on_skip_navigation_combined_unidirecti await base.Filter_include_on_skip_navigation_combined_unidirectional(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [j].[OneId], [j].[TwoId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -2348,7 +2625,8 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Throws_when_different_filtered_include_unidirectional(bool async) @@ -2370,13 +2648,15 @@ public override async Task Select_many_over_skip_navigation_where_non_equality_u await base.Select_many_over_skip_navigation_where_non_equality_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId], [u0].[OneId] FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] -) AS [t] ON [u].[Id] = [t].[OneId] AND [u].[Id] <> [t].[Id]"); +) AS [t] ON [u].[Id] = [t].[OneId] AND [u].[Id] <> [t].[Id] +"""); } public override async Task Contains_on_skip_collection_navigation_unidirectional(bool async) @@ -2384,7 +2664,8 @@ public override async Task Contains_on_skip_collection_navigation_unidirectional await base.Contains_on_skip_collection_navigation_unidirectional(async); AssertSql( - @"@__entity_equality_two_0_Id='1' (Nullable = true) +""" +@__entity_equality_two_0_Id='1' (Nullable = true) SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] @@ -2392,7 +2673,8 @@ WHERE EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = @__entity_equality_two_0_Id)"); + WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = @__entity_equality_two_0_Id) +"""); } public override async Task GetType_in_hierarchy_in_base_type_unidirectional(bool async) @@ -2400,14 +2682,16 @@ public override async Task GetType_in_hierarchy_in_base_type_unidirectional(bool await base.GetType_in_hierarchy_in_base_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE +""" +SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE WHEN [u1].[Id] IS NOT NULL THEN N'UnidirectionalEntityLeaf' WHEN [u0].[Id] IS NOT NULL THEN N'UnidirectionalEntityBranch' END AS [Discriminator] FROM [UnidirectionalRoots] AS [u] LEFT JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] -WHERE ([u1].[Id] IS NULL) AND ([u0].[Id] IS NULL)"); +WHERE ([u1].[Id] IS NULL) AND ([u0].[Id] IS NULL) +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type_unidirectional(bool async) @@ -2415,14 +2699,16 @@ public override async Task GetType_in_hierarchy_in_intermediate_type_unidirectio await base.GetType_in_hierarchy_in_intermediate_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE +""" +SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE WHEN [u1].[Id] IS NOT NULL THEN N'UnidirectionalEntityLeaf' WHEN [u0].[Id] IS NOT NULL THEN N'UnidirectionalEntityBranch' END AS [Discriminator] FROM [UnidirectionalRoots] AS [u] LEFT JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] -WHERE ([u1].[Id] IS NULL) AND ([u0].[Id] IS NOT NULL)"); +WHERE ([u1].[Id] IS NULL) AND ([u0].[Id] IS NOT NULL) +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_unidirectional(bool async) @@ -2430,14 +2716,16 @@ public override async Task GetType_in_hierarchy_in_leaf_type_unidirectional(bool await base.GetType_in_hierarchy_in_leaf_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE +""" +SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE WHEN [u1].[Id] IS NOT NULL THEN N'UnidirectionalEntityLeaf' WHEN [u0].[Id] IS NOT NULL THEN N'UnidirectionalEntityBranch' END AS [Discriminator] FROM [UnidirectionalRoots] AS [u] LEFT JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] -WHERE [u1].[Id] IS NOT NULL"); +WHERE [u1].[Id] IS NOT NULL +"""); } public override async Task GetType_in_hierarchy_in_querying_base_type_unidirectional(bool async) @@ -2445,13 +2733,15 @@ public override async Task GetType_in_hierarchy_in_querying_base_type_unidirecti await base.GetType_in_hierarchy_in_querying_base_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE +""" +SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE WHEN [u1].[Id] IS NOT NULL THEN N'UnidirectionalEntityLeaf' END AS [Discriminator] FROM [UnidirectionalRoots] AS [u] INNER JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPTManyToManyQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPTManyToManyQuerySqlServerTest.cs index a2e9cfa9e10..7fa25a71da1 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPTManyToManyQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPTManyToManyQuerySqlServerTest.cs @@ -24,13 +24,15 @@ public override async Task Skip_navigation_all(bool async) await base.Skip_navigation_all(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE NOT EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_without_predicate(bool async) @@ -38,13 +40,15 @@ public override async Task Skip_navigation_any_without_predicate(bool async) await base.Skip_navigation_any_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate(bool async) @@ -52,13 +56,15 @@ public override async Task Skip_navigation_any_with_predicate(bool async) await base.Skip_navigation_any_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] - WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains(bool async) @@ -66,13 +72,15 @@ public override async Task Skip_navigation_contains(bool async) await base.Skip_navigation_contains(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate(bool async) @@ -80,13 +88,15 @@ public override async Task Skip_navigation_count_without_predicate(bool async) await base.Skip_navigation_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] WHERE ( SELECT COUNT(*) FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] - WHERE [e].[Id] = [j].[RightId]) > 0"); + WHERE [e].[Id] = [j].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate(bool async) @@ -94,7 +104,8 @@ public override async Task Skip_navigation_count_with_predicate(bool async) await base.Skip_navigation_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] ORDER BY ( SELECT COUNT(*) @@ -107,7 +118,8 @@ FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] ) AS [t] ON [j].[EntityBranchId] = [t].[Id] - WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id]"); + WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id] +"""); } public override async Task Skip_navigation_long_count_without_predicate(bool async) @@ -115,13 +127,15 @@ public override async Task Skip_navigation_long_count_without_predicate(bool asy await base.Skip_navigation_long_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] WHERE ( SELECT COUNT_BIG(*) FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint)"); + WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint) +"""); } public override async Task Skip_navigation_long_count_with_predicate(bool async) @@ -129,13 +143,15 @@ public override async Task Skip_navigation_long_count_with_predicate(bool async) await base.Skip_navigation_long_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] ORDER BY ( SELECT COUNT_BIG(*) FROM [EntityTwoEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[SelfSkipSharedLeftId] = [e1].[Id] - WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id]"); + WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id] +"""); } public override async Task Skip_navigation_select_many_average(bool async) @@ -143,13 +159,15 @@ public override async Task Skip_navigation_select_many_average(bool async) await base.Skip_navigation_select_many_average(async); AssertSql( - @"SELECT AVG(CAST([t].[Key1] AS float)) +""" +SELECT AVG(CAST([t].[Key1] AS float)) FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [e1].[Key1], [e0].[TwoSkipSharedId] FROM [EntityCompositeKeyEntityTwo] AS [e0] INNER JOIN [EntityCompositeKeys] AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] -) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_max(bool async) @@ -157,13 +175,15 @@ public override async Task Skip_navigation_select_many_max(bool async) await base.Skip_navigation_select_many_max(async); AssertSql( - @"SELECT MAX([t].[Key1]) +""" +SELECT MAX([t].[Key1]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [e0].[Key1], [j].[ThreeId] FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityCompositeKeys] AS [e0] ON [j].[CompositeId1] = [e0].[Key1] AND [j].[CompositeId2] = [e0].[Key2] AND [j].[CompositeId3] = [e0].[Key3] -) AS [t] ON [e].[Id] = [t].[ThreeId]"); +) AS [t] ON [e].[Id] = [t].[ThreeId] +"""); } public override async Task Skip_navigation_select_many_min(bool async) @@ -171,7 +191,8 @@ public override async Task Skip_navigation_select_many_min(bool async) await base.Skip_navigation_select_many_min(async); AssertSql( - @"SELECT MIN([t0].[Id]) +""" +SELECT MIN([t0].[Id]) FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [t].[Id], [e0].[ThreeSkipSharedId] @@ -180,7 +201,8 @@ INNER JOIN ( SELECT [r].[Id] FROM [Roots] AS [r] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_sum(bool async) @@ -188,13 +210,15 @@ public override async Task Skip_navigation_select_many_sum(bool async) await base.Skip_navigation_select_many_sum(async); AssertSql( - @"SELECT COALESCE(SUM([t].[Key1]), 0) +""" +SELECT COALESCE(SUM([t].[Key1]), 0) FROM [Roots] AS [r] INNER JOIN ( SELECT [e0].[Key1], [e].[RootSkipSharedId] FROM [EntityCompositeKeyEntityRoot] AS [e] INNER JOIN [EntityCompositeKeys] AS [e0] ON [e].[CompositeKeySkipSharedKey1] = [e0].[Key1] AND [e].[CompositeKeySkipSharedKey2] = [e0].[Key2] AND [e].[CompositeKeySkipSharedKey3] = [e0].[Key3] -) AS [t] ON [r].[Id] = [t].[RootSkipSharedId]"); +) AS [t] ON [r].[Id] = [t].[RootSkipSharedId] +"""); } public override async Task Skip_navigation_select_subquery_average(bool async) @@ -202,14 +226,16 @@ public override async Task Skip_navigation_select_subquery_average(bool async) await base.Skip_navigation_select_subquery_average(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([e].[Key1] AS float)) FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [EntityCompositeKeys] AS [e] ON [j].[CompositeId1] = [e].[Key1] AND [j].[CompositeId2] = [e].[Key2] AND [j].[CompositeId3] = [e].[Key3] WHERE [r].[Id] = [j].[LeafId]) FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] -INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id]"); +INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] +"""); } public override async Task Skip_navigation_select_subquery_max(bool async) @@ -217,12 +243,14 @@ public override async Task Skip_navigation_select_subquery_max(bool async) await base.Skip_navigation_select_subquery_max(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MAX([e0].[Id]) FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[TwoId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_min(bool async) @@ -230,12 +258,14 @@ public override async Task Skip_navigation_select_subquery_min(bool async) await base.Skip_navigation_select_subquery_min(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN([e0].[Id]) FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[ThreeId]) -FROM [EntityThrees] AS [e]"); +FROM [EntityThrees] AS [e] +"""); } public override async Task Skip_navigation_select_subquery_sum(bool async) @@ -243,12 +273,14 @@ public override async Task Skip_navigation_select_subquery_sum(bool async) await base.Skip_navigation_select_subquery_sum(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COALESCE(SUM([e1].[Id]), 0) FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityOnes] AS [e1] ON [e0].[OneSkipSharedId] = [e1].[Id] WHERE [e].[Id] = [e0].[TwoSkipSharedId]) -FROM [EntityTwos] AS [e]"); +FROM [EntityTwos] AS [e] +"""); } public override async Task Skip_navigation_order_by_first_or_default(bool async) @@ -256,7 +288,8 @@ public override async Task Skip_navigation_order_by_first_or_default(bool async) await base.Skip_navigation_order_by_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[ThreeId] @@ -266,7 +299,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_order_by_single_or_default(bool async) @@ -274,7 +308,8 @@ public override async Task Skip_navigation_order_by_single_or_default(bool async await base.Skip_navigation_order_by_single_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT TOP(1) [t].[Id], [t].[Name] @@ -286,7 +321,8 @@ FROM [JoinOneSelfPayload] AS [j] ORDER BY [e0].[Id] ) AS [t] ORDER BY [t].[Id] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Skip_navigation_order_by_last_or_default(bool async) @@ -294,7 +330,8 @@ public override async Task Skip_navigation_order_by_last_or_default(bool async) await base.Skip_navigation_order_by_last_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name] +""" +SELECT [t0].[Id], [t0].[Name] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] LEFT JOIN ( @@ -305,7 +342,8 @@ FROM [JoinOneToBranch] AS [j] INNER JOIN [EntityOnes] AS [e] ON [j].[EntityOneId] = [e].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [r].[Id] = [t0].[EntityBranchId]"); +) AS [t0] ON [r].[Id] = [t0].[EntityBranchId] +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default(bool async) @@ -313,7 +351,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default(boo await base.Skip_navigation_order_by_reverse_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId] @@ -323,7 +362,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_cast(bool async) @@ -331,7 +371,8 @@ public override async Task Skip_navigation_cast(bool async) await base.Skip_navigation_cast(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -343,7 +384,8 @@ FROM [Roots] AS [r] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] ) AS [t] ON [j].[LeafId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +"""); } public override async Task Skip_navigation_of_type(bool async) @@ -351,7 +393,8 @@ public override async Task Skip_navigation_of_type(bool async) await base.Skip_navigation_of_type(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -369,7 +412,8 @@ FROM [Roots] AS [r] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] = N'EntityLeaf' ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Join_with_skip_navigation(bool async) @@ -377,14 +421,16 @@ public override async Task Join_with_skip_navigation(bool async) await base.Join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] INNER JOIN [EntityTwos] AS [e0] ON [e].[Id] = ( SELECT TOP(1) [e2].[Id] FROM [EntityTwoEntityTwo] AS [e1] INNER JOIN [EntityTwos] AS [e2] ON [e1].[SelfSkipSharedRightId] = [e2].[Id] WHERE [e0].[Id] = [e1].[SelfSkipSharedLeftId] - ORDER BY [e2].[Id])"); + ORDER BY [e2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation(bool async) @@ -392,7 +438,8 @@ public override async Task Left_join_with_skip_navigation(bool async) await base.Left_join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] FROM [EntityCompositeKeys] AS [e] LEFT JOIN [EntityCompositeKeys] AS [e0] ON ( SELECT TOP(1) [e2].[Id] @@ -405,7 +452,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] INNER JOIN [EntityThrees] AS [e3] ON [j].[ThreeId] = [e3].[Id] WHERE [e0].[Key1] = [j].[CompositeId1] AND [e0].[Key2] = [j].[CompositeId2] AND [e0].[Key3] = [j].[CompositeId3] ORDER BY [e3].[Id]) -ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2]"); +ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation(bool async) @@ -413,13 +461,15 @@ public override async Task Select_many_over_skip_navigation(bool async) await base.Select_many_over_skip_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] FROM [Roots] AS [r] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [e].[RootSkipSharedId] FROM [EntityRootEntityThree] AS [e] INNER JOIN [EntityThrees] AS [e0] ON [e].[ThreeSkipSharedId] = [e0].[Id] -) AS [t] ON [r].[Id] = [t].[RootSkipSharedId]"); +) AS [t] ON [r].[Id] = [t].[RootSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_where(bool async) @@ -427,13 +477,15 @@ public override async Task Select_many_over_skip_navigation_where(bool async) await base.Select_many_over_skip_navigation_where(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId]"); +) AS [t] ON [e].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip(bool async) @@ -441,7 +493,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip(bool a await base.Select_many_over_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -451,7 +504,8 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take(bool async) @@ -459,7 +513,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take(bool a await base.Select_many_over_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[OneSkipSharedId] @@ -469,7 +524,8 @@ FROM [EntityOneEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take(bool async) @@ -477,7 +533,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take(b await base.Select_many_over_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -487,7 +544,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityThrees] AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_of_type(bool async) @@ -495,7 +553,8 @@ public override async Task Select_many_over_skip_navigation_of_type(bool async) await base.Select_many_over_skip_navigation_of_type(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [e0].[ThreeSkipSharedId] @@ -512,7 +571,8 @@ FROM [Roots] AS [r] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') -) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_cast(bool async) @@ -520,7 +580,8 @@ public override async Task Select_many_over_skip_navigation_cast(bool async) await base.Select_many_over_skip_navigation_cast(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [j].[EntityOneId] @@ -533,7 +594,8 @@ FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] ) AS [t] ON [j].[EntityBranchId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[EntityOneId]"); +) AS [t0] ON [e].[Id] = [t0].[EntityOneId] +"""); } public override async Task Select_skip_navigation(bool async) @@ -541,14 +603,16 @@ public override async Task Select_skip_navigation(bool async) await base.Select_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] +""" +SELECT [e].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [j].[LeftId], [j].[RightId] FROM [JoinOneSelfPayload] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[LeftId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[RightId] -ORDER BY [e].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [e].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Select_skip_navigation_multiple(bool async) @@ -556,7 +620,8 @@ public override async Task Select_skip_navigation_multiple(bool async) await base.Select_skip_navigation_multiple(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId], [j].[ThreeId], [j].[TwoId] @@ -573,7 +638,8 @@ LEFT JOIN ( FROM [EntityCompositeKeyEntityTwo] AS [e3] INNER JOIN [EntityCompositeKeys] AS [e4] ON [e3].[CompositeKeySkipSharedKey1] = [e4].[Key1] AND [e3].[CompositeKeySkipSharedKey2] = [e4].[Key2] AND [e3].[CompositeKeySkipSharedKey3] = [e4].[Key3] ) AS [t1] ON [e].[Id] = [t1].[TwoSkipSharedId] -ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2]"); +ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2] +"""); } public override async Task Select_skip_navigation_first_or_default(bool async) @@ -581,7 +647,8 @@ public override async Task Select_skip_navigation_first_or_default(bool async) await base.Select_skip_navigation_first_or_default(async); AssertSql( - @"SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] +""" +SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [t].[ThreeId] @@ -592,7 +659,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation(bool async) @@ -600,7 +668,8 @@ public override async Task Include_skip_navigation(bool async) await base.Include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] @@ -618,7 +687,8 @@ FROM [Roots] AS [r] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Include_skip_navigation_then_reference(bool async) @@ -626,7 +696,8 @@ public override async Task Include_skip_navigation_then_reference(bool async) await base.Include_skip_navigation_then_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -634,7 +705,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation(bool async) @@ -642,7 +714,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation( await base.Include_skip_navigation_then_include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id0], [t1].[Name0] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id0], [t1].[Name0] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id] AS [Id0], [t0].[Name] AS [Name0] @@ -659,7 +732,8 @@ FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e0] ON [j0].[EntityOneId] = [e0].[Id] ) AS [t0] ON [t].[Id] = [t0].[EntityBranchId] ) AS [t1] ON [e].[Key1] = [t1].[CompositeId1] AND [e].[Key2] = [t1].[CompositeId2] AND [e].[Key3] = [t1].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[EntityBranchId], [t1].[EntityOneId]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[EntityBranchId], [t1].[EntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation(bool async) @@ -667,7 +741,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[Id1], [t0].[Name1] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[Id1], [t0].[Name1] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [t].[LeftId], [t].[RightId], [t].[Payload] AS [Payload0], [t].[Id] AS [Id1], [t].[Name] AS [Name1] @@ -680,7 +755,8 @@ FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t] ON [e0].[Id] = [t].[LeftId] ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference(bool async) @@ -688,7 +764,8 @@ public override async Task Include_skip_navigation_and_reference(bool async) await base.Include_skip_navigation_and_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] LEFT JOIN ( @@ -696,7 +773,8 @@ LEFT JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId] +"""); } public override async Task Filtered_include_skip_navigation_where(bool async) @@ -704,7 +782,8 @@ public override async Task Filtered_include_skip_navigation_where(bool async) await base.Filtered_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -712,7 +791,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by(bool async) @@ -720,14 +800,16 @@ public override async Task Filtered_include_skip_navigation_order_by(bool async) await base.Filtered_include_skip_navigation_order_by(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[ThreeId], [j].[TwoId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip(bool async) @@ -735,7 +817,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip(bool a await base.Filtered_include_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [t].[SelfSkipSharedLeftId], [t].[SelfSkipSharedRightId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -746,7 +829,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take(bool async) @@ -754,7 +838,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take(bool a await base.Filtered_include_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -765,7 +850,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take(bool async) @@ -773,7 +859,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take(b await base.Filtered_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[ThreeId], [t].[Id0], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] @@ -784,7 +871,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_then_include_skip_navigation_where(bool async) @@ -792,7 +880,8 @@ public override async Task Filtered_then_include_skip_navigation_where(bool asyn await base.Filtered_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -813,7 +902,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] WHERE [e1].[Id] < 10 ) AS [t] ON [e0].[Id] = [t].[ThreeId] ) AS [t0] ON [r].[Id] = [t0].[RootSkipSharedId] -ORDER BY [r].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId]"); +ORDER BY [r].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take(bool async) @@ -821,7 +911,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -845,7 +936,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e0].[Key1] = [t0].[CompositeId1] AND [e0].[Key2] = [t0].[CompositeId2] AND [e0].[Key3] = [t0].[CompositeId3] ) AS [t1] ON [r].[Id] = [t1].[RootSkipSharedId] -ORDER BY [r].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0]"); +ORDER BY [r].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation(bool async) @@ -853,7 +945,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] @@ -868,7 +961,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] WHERE [e].[Key1] < 5 ) AS [t0] ON [r].[Id] = [t0].[LeafId] -ORDER BY [r].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [r].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(bool async) @@ -876,7 +970,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -895,7 +990,8 @@ FROM [JoinTwoToThree] AS [j0] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(bool async) @@ -903,7 +999,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -920,7 +1017,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t0] ON [e0].[Id] = [t0].[TwoId] WHERE [e0].[Id] < 10 ) AS [t1] ON [e].[Id] = [t1].[OneId] -ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0]"); +ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined(bool async) @@ -928,7 +1026,8 @@ public override async Task Filter_include_on_skip_navigation_combined(bool async await base.Filter_include_on_skip_navigation_combined(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -938,7 +1037,8 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes(bool async) @@ -946,7 +1046,8 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[OneId], [t3].[ThreeId], [t3].[Payload], [t3].[Id], [t3].[Name], [t3].[OneId0], [t3].[TwoId], [t3].[JoinOneToTwoExtraId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[EntityBranchId], [t3].[EntityOneId], [t3].[Id1], [t3].[Name1], [t3].[Number], [t3].[IsGreen], [t3].[Discriminator] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t3].[OneId], [t3].[ThreeId], [t3].[Payload], [t3].[Id], [t3].[Name], [t3].[OneId0], [t3].[TwoId], [t3].[JoinOneToTwoExtraId], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[ReferenceInverseId], [t3].[EntityBranchId], [t3].[EntityOneId], [t3].[Id1], [t3].[Name1], [t3].[Number], [t3].[IsGreen], [t3].[Discriminator] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [t0].[OneId] AS [OneId0], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id] AS [Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId], [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id] AS [Id1], [t1].[Name] AS [Name1], [t1].[Number], [t1].[IsGreen], [t1].[Discriminator] @@ -976,7 +1077,8 @@ WHERE [t2].[Id] < 20 ) AS [t1] ON [e0].[Id] = [t1].[EntityOneId] WHERE [e0].[Id] < 10 ) AS [t3] ON [e].[Id] = [t3].[ThreeId] -ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId]"); +ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(bool async) @@ -984,7 +1086,8 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -997,7 +1100,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[CollectionInverseId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(bool async) @@ -1005,7 +1109,8 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[ReferenceInverseId0] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id] AS [Id0], [t].[CollectionInverseId] AS [CollectionInverseId0], [t].[Name] AS [Name0], [t].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -1018,7 +1123,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[TwoId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId] +"""); } public override async Task Includes_accessed_via_different_path_are_merged(bool async) @@ -1040,11 +1146,14 @@ public override async Task Include_skip_navigation_split(bool async) await base.Include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[RootSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[Slumber], [t0].[IsGreen], [t0].[IsBrown], [t0].[Discriminator], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [t].[Id], [t].[Name], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown], [t].[Discriminator] @@ -1062,7 +1171,8 @@ FROM [Roots] AS [r] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] ) AS [t] ON [e0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +"""); } public override async Task Include_skip_navigation_then_reference_split(bool async) @@ -1070,11 +1180,14 @@ public override async Task Include_skip_navigation_then_reference_split(bool asy await base.Include_skip_navigation_then_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -1082,7 +1195,8 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation_split(bool async) @@ -1090,11 +1204,14 @@ public override async Task Include_skip_navigation_then_include_skip_navigation_ await base.Include_skip_navigation_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen] @@ -1106,9 +1223,11 @@ FROM [Roots] AS [r] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] ) AS [t] ON [j].[LeafId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +""", // - @"SELECT [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id], [t1].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +""" +SELECT [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[Id], [t1].[Name], [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [t].[Id] @@ -1125,7 +1244,8 @@ INNER JOIN ( FROM [JoinOneToBranch] AS [j0] INNER JOIN [EntityOnes] AS [e0] ON [j0].[EntityOneId] = [e0].[Id] ) AS [t1] ON [t0].[Id] = [t1].[EntityBranchId] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation_split(bool async) @@ -1133,11 +1253,14 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -1145,9 +1268,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""", // - @"SELECT [t0].[LeftId], [t0].[RightId], [t0].[Payload], [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +""" +SELECT [t0].[LeftId], [t0].[RightId], [t0].[Payload], [t0].[Id], [t0].[Name], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id], [e1].[Id] AS [Id0] @@ -1160,7 +1285,8 @@ INNER JOIN ( FROM [JoinOneSelfPayload] AS [j0] INNER JOIN [EntityOnes] AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t0] ON [t].[Id] = [t0].[LeftId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t].[Id0] +"""); } public override async Task Include_skip_navigation_and_reference_split(bool async) @@ -1168,12 +1294,15 @@ public override async Task Include_skip_navigation_and_reference_split(bool asyn await base.Include_skip_navigation_and_reference_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] -ORDER BY [e].[Id], [e0].[Id]", +ORDER BY [e].[Id], [e0].[Id] +""", // - @"SELECT [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e].[Id], [e0].[Id] +""" +SELECT [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[Id], [t].[Name], [e].[Id], [e0].[Id] FROM [EntityTwos] AS [e] LEFT JOIN [EntityThrees] AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] INNER JOIN ( @@ -1181,7 +1310,8 @@ INNER JOIN ( FROM [EntityOneEntityTwo] AS [e1] INNER JOIN [EntityOnes] AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id]"); +ORDER BY [e].[Id], [e0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_where_split(bool async) @@ -1189,11 +1319,14 @@ public override async Task Filtered_include_skip_navigation_where_split(bool asy await base.Filtered_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -1201,7 +1334,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_split(bool async) @@ -1209,18 +1343,22 @@ public override async Task Filtered_include_skip_navigation_order_by_split(bool await base.Filtered_include_skip_navigation_order_by_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[ThreeId], [j].[TwoId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_split(bool async) @@ -1228,11 +1366,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_split( await base.Filtered_include_skip_navigation_order_by_skip_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] +""" +SELECT [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [t].[SelfSkipSharedLeftId], [t].[SelfSkipSharedRightId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1243,7 +1384,8 @@ FROM [EntityTwoEntityTwo] AS [e0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_split(bool async) @@ -1251,11 +1393,14 @@ public override async Task Filtered_include_skip_navigation_order_by_take_split( await base.Filtered_include_skip_navigation_order_by_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1266,7 +1411,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1274,11 +1420,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_s await base.Filtered_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name] FROM [EntityCompositeKeys] AS [e] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3]", +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] +""" +SELECT [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Key1], [e].[Key2], [e].[Key3] FROM [EntityCompositeKeys] AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[ThreeId], [t].[Id0], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] @@ -1289,7 +1438,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_then_include_skip_navigation_where_split(bool async) @@ -1297,7 +1447,8 @@ public override async Task Filtered_then_include_skip_navigation_where_split(boo await base.Filtered_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -1307,18 +1458,22 @@ FROM [Roots] AS [r] LEFT JOIN [Branch2s] AS [b0] ON [r].[Id] = [b0].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] -ORDER BY [r].[Id]", +ORDER BY [r].[Id] +""", // - @"SELECT [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [r].[Id] +""" +SELECT [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [r].[Id] FROM [Roots] AS [r] INNER JOIN ( SELECT [e].[RootSkipSharedId], [e].[ThreeSkipSharedId], [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityRootEntityThree] AS [e] INNER JOIN [EntityThrees] AS [e0] ON [e].[ThreeSkipSharedId] = [e0].[Id] ) AS [t] ON [r].[Id] = [t].[RootSkipSharedId] -ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id]", +ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +""", // - @"SELECT [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +""" +SELECT [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] FROM [Roots] AS [r] INNER JOIN ( SELECT [e].[RootSkipSharedId], [e].[ThreeSkipSharedId], [e0].[Id] @@ -1331,7 +1486,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e1] ON [j].[OneId] = [e1].[Id] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[ThreeId] -ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id]"); +ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[ThreeSkipSharedId], [t].[Id] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1339,7 +1495,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -1349,18 +1506,22 @@ FROM [Roots] AS [r] LEFT JOIN [Branch2s] AS [b0] ON [r].[Id] = [b0].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] -ORDER BY [r].[Id]", +ORDER BY [r].[Id] +""", // - @"SELECT [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [r].[Id] +""" +SELECT [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [r].[Id] FROM [Roots] AS [r] INNER JOIN ( SELECT [e].[RootSkipSharedId], [e].[CompositeKeySkipSharedKey1], [e].[CompositeKeySkipSharedKey2], [e].[CompositeKeySkipSharedKey3], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name] FROM [EntityCompositeKeyEntityRoot] AS [e] INNER JOIN [EntityCompositeKeys] AS [e0] ON [e].[CompositeKeySkipSharedKey1] = [e0].[Key1] AND [e].[CompositeKeySkipSharedKey2] = [e0].[Key2] AND [e].[CompositeKeySkipSharedKey3] = [e0].[Key3] ) AS [t] ON [r].[Id] = [t].[RootSkipSharedId] -ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3]", +ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] +""", // - @"SELECT [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] +""" +SELECT [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3] FROM [Roots] AS [r] INNER JOIN ( SELECT [e].[RootSkipSharedId], [e].[CompositeKeySkipSharedKey1], [e].[CompositeKeySkipSharedKey2], [e].[CompositeKeySkipSharedKey3], [e0].[Key1], [e0].[Key2], [e0].[Key3] @@ -1376,7 +1537,8 @@ FROM [JoinThreeToCompositeKeyFull] AS [j] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Key1] = [t0].[CompositeId1] AND [t].[Key2] = [t0].[CompositeId2] AND [t].[Key3] = [t0].[CompositeId3] -ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [r].[Id], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Key1], [t].[Key2], [t].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_split(bool async) @@ -1384,13 +1546,16 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_split(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen] +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] -ORDER BY [r].[Id]", +ORDER BY [r].[Id] +""", // - @"SELECT [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [r].[Id] +""" +SELECT [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [r].[Id] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] @@ -1400,9 +1565,11 @@ FROM [JoinCompositeKeyToLeaf] AS [j] INNER JOIN [EntityCompositeKeys] AS [e] ON [j].[CompositeId1] = [e].[Key1] AND [j].[CompositeId2] = [e].[Key2] AND [j].[CompositeId3] = [e].[Key3] WHERE [e].[Key1] < 5 ) AS [t] ON [r].[Id] = [t].[LeafId] -ORDER BY [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]", +ORDER BY [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""", // - @"SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +""" +SELECT [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] INNER JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] @@ -1417,7 +1584,8 @@ INNER JOIN ( FROM [EntityCompositeKeyEntityTwo] AS [e0] INNER JOIN [EntityTwos] AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t0] ON [t].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [t].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [t].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3]"); +ORDER BY [r].[Id], [t].[LeafId], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[Key1], [t].[Key2], [t].[Key3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(bool async) @@ -1425,11 +1593,14 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] +""" +SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1440,9 +1611,11 @@ FROM [JoinOneToTwo] AS [j] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]", +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +""", // - @"SELECT [t1].[ThreeId], [t1].[TwoId], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] +""" +SELECT [t1].[ThreeId], [t1].[TwoId], [t1].[Id], [t1].[CollectionInverseId], [t1].[Name], [t1].[ReferenceInverseId], [e].[Id], [t0].[OneId], [t0].[TwoId], [t0].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [t].[OneId], [t].[TwoId], [t].[Id] @@ -1459,7 +1632,8 @@ FROM [JoinTwoToThree] AS [j0] INNER JOIN [EntityThrees] AS [e1] ON [j0].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 10 ) AS [t1] ON [t0].[Id] = [t1].[TwoId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[Id], [t0].[TwoId] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(bool async) @@ -1467,11 +1641,14 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] @@ -1479,9 +1656,11 @@ FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""", // - @"SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +""" +SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [e0].[Id] @@ -1498,7 +1677,8 @@ FROM [JoinTwoToThree] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t0].[TwoId], [t0].[Id] +"""); } public override async Task Filter_include_on_skip_navigation_combined_split(bool async) @@ -1506,11 +1686,14 @@ public override async Task Filter_include_on_skip_navigation_combined_split(bool await base.Filter_include_on_skip_navigation_combined_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityTwos] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [e].[Id] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId] @@ -1519,9 +1702,11 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]", +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""", // - @"SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +""" +SELECT [e2].[Id], [e2].[CollectionInverseId], [e2].[ExtraId], [e2].[Name], [e2].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] FROM [EntityTwos] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[TwoId], [e0].[Id], [e1].[Id] AS [Id0] @@ -1531,7 +1716,8 @@ FROM [JoinOneToTwo] AS [j] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] INNER JOIN [EntityTwos] AS [e2] ON [t].[Id] = [e2].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(bool async) @@ -1539,11 +1725,14 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -1551,9 +1740,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[OneId], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id] @@ -1570,9 +1761,11 @@ FROM [JoinOneToTwo] AS [j0] ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 3 ) AS [t0] ON [t].[Id] = [t0].[OneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id], [t0].[OneId], [t0].[Id] +""", // - @"SELECT [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id] @@ -1593,7 +1786,8 @@ FROM [Roots] AS [r] ) AS [t1] ON [j0].[EntityBranchId] = [t1].[Id] WHERE [t1].[Id] < 20 ) AS [t0] ON [t].[Id] = [t0].[EntityOneId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(bool async) @@ -1601,11 +1795,14 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId] FROM [EntityThrees] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] +""" +SELECT [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name], [e].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -1613,9 +1810,11 @@ FROM [JoinOneToThreePayloadFull] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]", +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] FROM [EntityThrees] AS [e] INNER JOIN ( SELECT [j].[OneId], [j].[ThreeId], [e0].[Id] @@ -1628,7 +1827,8 @@ INNER JOIN ( FROM [EntityTwos] AS [e1] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId], [t].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(bool async) @@ -1636,20 +1836,25 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation_split(async); AssertSql( - @"SELECT [e].[Id], [e].[Name] +""" +SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] -ORDER BY [e].[Id]", +ORDER BY [e].[Id] +""", // - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [e].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId] FROM [EntityTwos] AS [e0] WHERE [e0].[Id] > 15 ) AS [t] ON [e].[Id] = [t].[CollectionInverseId] -ORDER BY [e].[Id], [t].[Id]", +ORDER BY [e].[Id], [t].[Id] +""", // - @"SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] +""" +SELECT [t0].[ThreeId], [t0].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId], [e].[Id], [t].[Id] FROM [EntityOnes] AS [e] INNER JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId] @@ -1662,7 +1867,8 @@ FROM [JoinTwoToThree] AS [j] INNER JOIN [EntityThrees] AS [e1] ON [j].[ThreeId] = [e1].[Id] WHERE [e1].[Id] < 5 ) AS [t0] ON [t].[Id] = [t0].[TwoId] -ORDER BY [e].[Id], [t].[Id]"); +ORDER BY [e].[Id], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_inverse_works_for_tracking_query(bool async) @@ -1670,7 +1876,8 @@ public override async Task Include_skip_navigation_then_include_inverse_works_fo await base.Include_skip_navigation_then_include_inverse_works_for_tracking_query(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name], [t].[OneId] AS [OneId0], [t].[ThreeId] AS [ThreeId0], [t].[Payload] AS [Payload0], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -1682,7 +1889,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j0] INNER JOIN [EntityThrees] AS [e1] ON [j0].[ThreeId] = [e1].[Id] ) AS [t] ON [e0].[Id] = [t].[OneId] ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0] +"""); } public override async Task Throws_when_different_filtered_include(bool async) @@ -1711,13 +1919,15 @@ public override async Task Select_many_over_skip_navigation_where_non_equality(b await base.Select_many_over_skip_navigation_where_non_equality(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [EntityOnes] AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId] AND [e].[Id] <> [t].[Id]"); +) AS [t] ON [e].[Id] = [t].[OneId] AND [e].[Id] <> [t].[Id] +"""); } public override async Task Contains_on_skip_collection_navigation(bool async) @@ -1725,7 +1935,8 @@ public override async Task Contains_on_skip_collection_navigation(bool async) await base.Contains_on_skip_collection_navigation(async); AssertSql( - @"@__entity_equality_two_0_Id='1' (Nullable = true) +""" +@__entity_equality_two_0_Id='1' (Nullable = true) SELECT [e].[Id], [e].[Name] FROM [EntityOnes] AS [e] @@ -1733,7 +1944,8 @@ WHERE EXISTS ( SELECT 1 FROM [JoinOneToTwo] AS [j] INNER JOIN [EntityTwos] AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = @__entity_equality_two_0_Id)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = @__entity_equality_two_0_Id) +"""); } public override async Task GetType_in_hierarchy_in_base_type(bool async) @@ -1741,7 +1953,8 @@ public override async Task GetType_in_hierarchy_in_base_type(bool async) await base.GetType_in_hierarchy_in_base_type(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -1751,7 +1964,8 @@ FROM [Roots] AS [r] LEFT JOIN [Branch2s] AS [b0] ON [r].[Id] = [b0].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] -WHERE ([l0].[Id] IS NULL) AND ([l].[Id] IS NULL) AND ([b].[Id] IS NULL)"); +WHERE ([l0].[Id] IS NULL) AND ([l].[Id] IS NULL) AND ([b].[Id] IS NULL) +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) @@ -1759,7 +1973,8 @@ public override async Task GetType_in_hierarchy_in_intermediate_type(bool async) await base.GetType_in_hierarchy_in_intermediate_type(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -1769,7 +1984,8 @@ FROM [Roots] AS [r] LEFT JOIN [Branch2s] AS [b0] ON [r].[Id] = [b0].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] -WHERE ([l].[Id] IS NULL) AND ([b].[Id] IS NOT NULL)"); +WHERE ([l].[Id] IS NULL) AND ([b].[Id] IS NOT NULL) +"""); } public override async Task GetType_in_hierarchy_in_leaf_type(bool async) @@ -1777,7 +1993,8 @@ public override async Task GetType_in_hierarchy_in_leaf_type(bool async) await base.GetType_in_hierarchy_in_leaf_type(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [b0].[Slumber], [l].[IsGreen], [l0].[IsBrown], CASE WHEN [l0].[Id] IS NOT NULL THEN N'EntityLeaf2' WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' WHEN [b].[Id] IS NOT NULL THEN N'EntityBranch' @@ -1787,7 +2004,8 @@ FROM [Roots] AS [r] LEFT JOIN [Branch2s] AS [b0] ON [r].[Id] = [b0].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] LEFT JOIN [Leaf2s] AS [l0] ON [r].[Id] = [l0].[Id] -WHERE [l].[Id] IS NOT NULL"); +WHERE [l].[Id] IS NOT NULL +"""); } public override async Task GetType_in_hierarchy_in_querying_base_type(bool async) @@ -1795,13 +2013,15 @@ public override async Task GetType_in_hierarchy_in_querying_base_type(bool async await base.GetType_in_hierarchy_in_querying_base_type(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen], CASE +""" +SELECT [r].[Id], [r].[Name], [b].[Number], [l].[IsGreen], CASE WHEN [l].[Id] IS NOT NULL THEN N'EntityLeaf' END AS [Discriminator] FROM [Roots] AS [r] INNER JOIN [Branches] AS [b] ON [r].[Id] = [b].[Id] LEFT JOIN [Leaves] AS [l] ON [r].[Id] = [l].[Id] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_EF_Property(bool async) @@ -1809,7 +2029,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take_EF_Pro await base.Filtered_include_skip_navigation_order_by_take_EF_Property(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [EntityCompositeKeys] AS [e] LEFT JOIN ( SELECT [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -1820,7 +2041,8 @@ FROM [EntityCompositeKeyEntityTwo] AS [e0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_EF_Property( @@ -1829,7 +2051,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where_EF_Property(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[ReferenceInverseId0] FROM [EntityOnes] AS [e] OUTER APPLY ( SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -1848,7 +2071,8 @@ FROM [JoinTwoToThree] AS [j0] WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Skip_navigation_all_unidirectional(bool async) @@ -1856,13 +2080,15 @@ public override async Task Skip_navigation_all_unidirectional(bool async) await base.Skip_navigation_all_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE NOT EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND NOT ([u1].[Name] LIKE N'%B%'))"); + WHERE [u].[Id] = [u0].[OneId] AND NOT ([u1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate_unidirectional(bool async) @@ -1870,13 +2096,15 @@ public override async Task Skip_navigation_any_with_predicate_unidirectional(boo await base.Skip_navigation_any_with_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE EXISTS ( SELECT 1 FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoSkipSharedId] = [u1].[Id] - WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([u1].[Name] LIKE N'%B%'))"); + WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([u1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains_unidirectional(bool async) @@ -1884,13 +2112,15 @@ public override async Task Skip_navigation_contains_unidirectional(bool async) await base.Skip_navigation_contains_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u0] INNER JOIN [UnidirectionalEntityThrees] AS [u1] ON [u0].[ThreeId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = 1)"); + WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate_unidirectional(bool async) @@ -1898,13 +2128,15 @@ public override async Task Skip_navigation_count_without_predicate_unidirectiona await base.Skip_navigation_count_without_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] WHERE ( SELECT COUNT(*) FROM [UnidirectionalJoinOneSelfPayload] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[LeftId] = [u1].[Id] - WHERE [u].[Id] = [u0].[RightId]) > 0"); + WHERE [u].[Id] = [u0].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate_unidirectional(bool async) @@ -1912,7 +2144,8 @@ public override async Task Skip_navigation_count_with_predicate_unidirectional(b await base.Skip_navigation_count_with_predicate_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name] +""" +SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] ORDER BY ( SELECT COUNT(*) @@ -1925,7 +2158,8 @@ FROM [UnidirectionalRoots] AS [u1] INNER JOIN [UnidirectionalBranches] AS [u2] ON [u1].[Id] = [u2].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u3] ON [u1].[Id] = [u3].[Id] ) AS [t] ON [u0].[UnidirectionalEntityBranchId] = [t].[Id] - WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [u].[Id]"); + WHERE [u].[Id] = [u0].[UnidirectionalEntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [u].[Id] +"""); } public override async Task Skip_navigation_select_subquery_average_unidirectional(bool async) @@ -1933,14 +2167,16 @@ public override async Task Skip_navigation_select_subquery_average_unidirectiona await base.Skip_navigation_select_subquery_average_unidirectional(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([u3].[Key1] AS float)) FROM [UnidirectionalJoinCompositeKeyToLeaf] AS [u2] INNER JOIN [UnidirectionalEntityCompositeKeys] AS [u3] ON [u2].[CompositeId1] = [u3].[Key1] AND [u2].[CompositeId2] = [u3].[Key2] AND [u2].[CompositeId3] = [u3].[Key3] WHERE [u].[Id] = [u2].[LeafId]) FROM [UnidirectionalRoots] AS [u] INNER JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] -INNER JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id]"); +INNER JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default_unidirectional(bool async) @@ -1948,7 +2184,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default_uni await base.Skip_navigation_order_by_reverse_first_or_default_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[ThreeId] @@ -1958,7 +2195,8 @@ FROM [UnidirectionalJoinTwoToThree] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [u].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [u].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_of_type_unidirectional(bool async) @@ -1966,7 +2204,8 @@ public override async Task Skip_navigation_of_type_unidirectional(bool async) await base.Skip_navigation_of_type_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [u0].[RootSkipSharedId], [u0].[UnidirectionalEntityCompositeKeyKey1], [u0].[UnidirectionalEntityCompositeKeyKey2], [u0].[UnidirectionalEntityCompositeKeyKey3] @@ -1982,7 +2221,8 @@ FROM [UnidirectionalRoots] AS [u1] ) AS [t] ON [u0].[RootSkipSharedId] = [t].[Id] WHERE [t].[Discriminator] = N'UnidirectionalEntityLeaf' ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Join_with_skip_navigation_unidirectional(bool async) @@ -1990,14 +2230,16 @@ public override async Task Join_with_skip_navigation_unidirectional(bool async) await base.Join_with_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [u0].[CollectionInverseId], [u0].[ExtraId], [u0].[Name], [u0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [u0].[CollectionInverseId], [u0].[ExtraId], [u0].[Name], [u0].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] INNER JOIN [UnidirectionalEntityTwos] AS [u0] ON [u].[Id] = ( SELECT TOP(1) [u2].[Id] FROM [UnidirectionalEntityTwoUnidirectionalEntityTwo] AS [u1] INNER JOIN [UnidirectionalEntityTwos] AS [u2] ON [u1].[SelfSkipSharedRightId] = [u2].[Id] WHERE [u0].[Id] = [u1].[UnidirectionalEntityTwoId] - ORDER BY [u2].[Id])"); + ORDER BY [u2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation_unidirectional(bool async) @@ -2005,7 +2247,8 @@ public override async Task Left_join_with_skip_navigation_unidirectional(bool as await base.Left_join_with_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [u0].[Key1], [u0].[Key2], [u0].[Key3], [u0].[Name] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [u0].[Key1], [u0].[Key2], [u0].[Key3], [u0].[Name] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN [UnidirectionalEntityCompositeKeys] AS [u0] ON ( SELECT TOP(1) [u2].[Id] @@ -2018,7 +2261,8 @@ FROM [UnidirectionalJoinThreeToCompositeKeyFull] AS [u3] INNER JOIN [UnidirectionalEntityThrees] AS [u4] ON [u3].[ThreeId] = [u4].[Id] WHERE [u0].[Key1] = [u3].[CompositeId1] AND [u0].[Key2] = [u3].[CompositeId2] AND [u0].[Key3] = [u3].[CompositeId3] ORDER BY [u4].[Id]) -ORDER BY [u].[Key1], [u0].[Key1], [u].[Key2], [u0].[Key2]"); +ORDER BY [u].[Key1], [u0].[Key1], [u].[Key2], [u0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation_unidirectional(bool async) @@ -2026,13 +2270,15 @@ public override async Task Select_many_over_skip_navigation_unidirectional(bool await base.Select_many_over_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalRoots] AS [u] INNER JOIN ( SELECT [u3].[Id], [u3].[CollectionInverseId], [u3].[Name], [u3].[ReferenceInverseId], [u2].[UnidirectionalEntityRootId] FROM [UnidirectionalEntityRootUnidirectionalEntityThree] AS [u2] INNER JOIN [UnidirectionalEntityThrees] AS [u3] ON [u2].[ThreeSkipSharedId] = [u3].[Id] -) AS [t] ON [u].[Id] = [t].[UnidirectionalEntityRootId]"); +) AS [t] ON [u].[Id] = [t].[UnidirectionalEntityRootId] +"""); } public override async Task Select_many_over_skip_navigation_where_unidirectional(bool async) @@ -2040,13 +2286,15 @@ public override async Task Select_many_over_skip_navigation_where_unidirectional await base.Select_many_over_skip_navigation_where_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId], [u0].[OneId] FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] -) AS [t] ON [u].[Id] = [t].[OneId]"); +) AS [t] ON [u].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take_unidirectional(bool async) @@ -2054,7 +2302,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take_unidir await base.Select_many_over_skip_navigation_order_by_take_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId], [t].[UnidirectionalEntityOneId] @@ -2064,7 +2313,8 @@ FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoSkipSharedId] = [u1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId]"); +) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take_unidirectional(bool async) @@ -2072,7 +2322,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take_u await base.Select_many_over_skip_navigation_order_by_skip_take_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId], [t].[OneId] @@ -2082,7 +2333,8 @@ FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u0] INNER JOIN [UnidirectionalEntityThrees] AS [u1] ON [u0].[ThreeId] = [u1].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [u].[Id] = [t0].[OneId]"); +) AS [t0] ON [u].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_cast_unidirectional(bool async) @@ -2090,7 +2342,8 @@ public override async Task Select_many_over_skip_navigation_cast_unidirectional( await base.Select_many_over_skip_navigation_cast_unidirectional(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [UnidirectionalEntityOnes] AS [u] INNER JOIN ( SELECT [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator], [u0].[UnidirectionalEntityOneId] @@ -2103,7 +2356,8 @@ FROM [UnidirectionalRoots] AS [u1] INNER JOIN [UnidirectionalBranches] AS [u2] ON [u1].[Id] = [u2].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u3] ON [u1].[Id] = [u3].[Id] ) AS [t] ON [u0].[UnidirectionalEntityBranchId] = [t].[Id] -) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId]"); +) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityOneId] +"""); } public override async Task Select_skip_navigation_unidirectional(bool async) @@ -2111,14 +2365,16 @@ public override async Task Select_skip_navigation_unidirectional(bool async) await base.Select_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] +""" +SELECT [u].[Id], [t].[Id], [t].[Name], [t].[LeftId], [t].[RightId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[Name], [u0].[LeftId], [u0].[RightId] FROM [UnidirectionalJoinOneSelfPayload] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[LeftId] = [u1].[Id] ) AS [t] ON [u].[Id] = [t].[RightId] -ORDER BY [u].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [u].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Include_skip_navigation_unidirectional(bool async) @@ -2126,7 +2382,8 @@ public override async Task Include_skip_navigation_unidirectional(bool async) await base.Include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[Name], [t0].[Number], [t0].[IsGreen], [t0].[Discriminator] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [u0].[RootSkipSharedId], [u0].[UnidirectionalEntityCompositeKeyKey1], [u0].[UnidirectionalEntityCompositeKeyKey2], [u0].[UnidirectionalEntityCompositeKeyKey3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t].[Discriminator] @@ -2141,7 +2398,8 @@ FROM [UnidirectionalRoots] AS [u1] LEFT JOIN [UnidirectionalLeaves] AS [u3] ON [u1].[Id] = [u3].[Id] ) AS [t] ON [u0].[RootSkipSharedId] = [t].[Id] ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[RootSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Include_skip_navigation_then_reference_unidirectional(bool async) @@ -2149,7 +2407,8 @@ public override async Task Include_skip_navigation_then_reference_unidirectional await base.Include_skip_navigation_then_reference_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[UnidirectionalJoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[UnidirectionalJoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN ( SELECT [u0].[OneId], [u0].[TwoId], [u0].[UnidirectionalJoinOneToTwoExtraId], [u1].[Id], [u1].[Name], [u2].[Id] AS [Id0], [u2].[CollectionInverseId], [u2].[ExtraId], [u2].[Name] AS [Name0], [u2].[ReferenceInverseId] @@ -2157,7 +2416,8 @@ FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityOnes] AS [u1] ON [u0].[OneId] = [u1].[Id] LEFT JOIN [UnidirectionalEntityTwos] AS [u2] ON [u1].[Id] = [u2].[ReferenceInverseId] ) AS [t] ON [u].[Id] = [t].[TwoId] -ORDER BY [u].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [u].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation_unidirectional(bool async) @@ -2165,7 +2425,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation_ await base.Include_skip_navigation_then_include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[UnidirectionalEntityBranchId], [t1].[UnidirectionalEntityOneId], [t1].[Id0], [t1].[Name0] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[Name], [t1].[Number], [t1].[IsGreen], [t1].[UnidirectionalEntityBranchId], [t1].[UnidirectionalEntityOneId], [t1].[Id0], [t1].[Name0] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [u0].[LeafId], [u0].[CompositeId1], [u0].[CompositeId2], [u0].[CompositeId3], [t].[Id], [t].[Name], [t].[Number], [t].[IsGreen], [t0].[UnidirectionalEntityBranchId], [t0].[UnidirectionalEntityOneId], [t0].[Id] AS [Id0], [t0].[Name] AS [Name0] @@ -2182,7 +2443,8 @@ FROM [UnidirectionalJoinOneToBranch] AS [u4] INNER JOIN [UnidirectionalEntityOnes] AS [u5] ON [u4].[UnidirectionalEntityOneId] = [u5].[Id] ) AS [t0] ON [t].[Id] = [t0].[UnidirectionalEntityBranchId] ) AS [t1] ON [u].[Key1] = [t1].[CompositeId1] AND [u].[Key2] = [t1].[CompositeId2] AND [u].[Key3] = [t1].[CompositeId3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[UnidirectionalEntityBranchId], [t1].[UnidirectionalEntityOneId]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[UnidirectionalEntityBranchId], [t1].[UnidirectionalEntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation_unidirectional(bool async) @@ -2190,7 +2452,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[Id1], [t0].[Name1] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[Id1], [t0].[Name1] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u0].[OneId], [u0].[ThreeId], [u0].[Payload], [u1].[Id], [u1].[Name], [u2].[Id] AS [Id0], [u2].[CollectionInverseId], [u2].[ExtraId], [u2].[Name] AS [Name0], [u2].[ReferenceInverseId], [t].[LeftId], [t].[RightId], [t].[Payload] AS [Payload0], [t].[Id] AS [Id1], [t].[Name] AS [Name1] @@ -2203,7 +2466,8 @@ FROM [UnidirectionalJoinOneSelfPayload] AS [u3] INNER JOIN [UnidirectionalEntityOnes] AS [u4] ON [u3].[RightId] = [u4].[Id] ) AS [t] ON [u1].[Id] = [t].[LeftId] ) AS [t0] ON [u].[Id] = [t0].[ThreeId] -ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference_unidirectional(bool async) @@ -2211,7 +2475,8 @@ public override async Task Include_skip_navigation_and_reference_unidirectional( await base.Include_skip_navigation_and_reference_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId], [t].[Id], [t].[Name], [u0].[CollectionInverseId], [u0].[Name], [u0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId], [t].[Id], [t].[Name], [u0].[CollectionInverseId], [u0].[Name], [u0].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN [UnidirectionalEntityThrees] AS [u0] ON [u].[Id] = [u0].[ReferenceInverseId] LEFT JOIN ( @@ -2219,7 +2484,8 @@ LEFT JOIN ( FROM [UnidirectionalEntityOneUnidirectionalEntityTwo] AS [u1] INNER JOIN [UnidirectionalEntityOnes] AS [u2] ON [u1].[UnidirectionalEntityOneId] = [u2].[Id] ) AS [t] ON [u].[Id] = [t].[TwoSkipSharedId] -ORDER BY [u].[Id], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId]"); +ORDER BY [u].[Id], [u0].[Id], [t].[TwoSkipSharedId], [t].[UnidirectionalEntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_inverse_works_for_tracking_query_unidirectional(bool async) @@ -2227,7 +2493,8 @@ public override async Task Include_skip_navigation_then_include_inverse_works_fo await base.Include_skip_navigation_then_include_inverse_works_for_tracking_query_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[Id], [t0].[Name], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u0].[OneId], [u0].[ThreeId], [u0].[Payload], [u1].[Id], [u1].[Name], [t].[OneId] AS [OneId0], [t].[ThreeId] AS [ThreeId0], [t].[Payload] AS [Payload0], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[Name] AS [Name0], [t].[ReferenceInverseId] @@ -2239,7 +2506,8 @@ FROM [UnidirectionalJoinOneToThreePayloadFullShared] AS [u2] INNER JOIN [UnidirectionalEntityThrees] AS [u3] ON [u2].[ThreeId] = [u3].[Id] ) AS [t] ON [u1].[Id] = [t].[OneId] ) AS [t0] ON [u].[Id] = [t0].[ThreeId] -ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0]"); +ORDER BY [u].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0] +"""); } public override async Task Filtered_include_skip_navigation_where_unidirectional(bool async) @@ -2247,7 +2515,8 @@ public override async Task Filtered_include_skip_navigation_where_unidirectional await base.Filtered_include_skip_navigation_where_unidirectional(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[Id], [t].[Name] FROM [EntityThrees] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [e0].[Id], [e0].[Name] @@ -2255,7 +2524,8 @@ FROM [JoinOneToThreePayloadFullShared] AS [j] INNER JOIN [EntityOnes] AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_unidirectional(bool async) @@ -2263,14 +2533,16 @@ public override async Task Filtered_include_skip_navigation_order_by_unidirectio await base.Filtered_include_skip_navigation_order_by_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[Name], [u].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalEntityThrees] AS [u] LEFT JOIN ( SELECT [u0].[ThreeId], [u0].[TwoId], [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId] FROM [UnidirectionalJoinTwoToThree] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] ) AS [t] ON [u].[Id] = [t].[ThreeId] -ORDER BY [u].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [u].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_unidirectional(bool async) @@ -2278,7 +2550,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_unidir await base.Filtered_include_skip_navigation_order_by_skip_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t0].[SelfSkipSharedRightId], [t0].[UnidirectionalEntityTwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[CollectionInverseId], [u].[ExtraId], [u].[Name], [u].[ReferenceInverseId], [t0].[SelfSkipSharedRightId], [t0].[UnidirectionalEntityTwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityTwos] AS [u] LEFT JOIN ( SELECT [t].[SelfSkipSharedRightId], [t].[UnidirectionalEntityTwoId], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -2289,7 +2562,8 @@ FROM [UnidirectionalEntityTwoUnidirectionalEntityTwo] AS [u0] ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [u].[Id] = [t0].[UnidirectionalEntityTwoId] -ORDER BY [u].[Id], [t0].[UnidirectionalEntityTwoId], [t0].[Id]"); +ORDER BY [u].[Id], [t0].[UnidirectionalEntityTwoId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take_unidirectional(bool async) @@ -2297,7 +2571,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take_unidir await base.Filtered_include_skip_navigation_order_by_take_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[TwoSkipSharedId], [t].[UnidirectionalEntityCompositeKeyKey1], [t].[UnidirectionalEntityCompositeKeyKey2], [t].[UnidirectionalEntityCompositeKeyKey3], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] @@ -2308,7 +2583,8 @@ FROM [UnidirectionalEntityCompositeKeyUnidirectionalEntityTwo] AS [u0] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [u].[Key1] = [t0].[UnidirectionalEntityCompositeKeyKey1] AND [u].[Key2] = [t0].[UnidirectionalEntityCompositeKeyKey2] AND [u].[Key3] = [t0].[UnidirectionalEntityCompositeKeyKey3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_unidirectional(bool async) @@ -2316,7 +2592,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_u await base.Filtered_include_skip_navigation_order_by_skip_take_unidirectional(async); AssertSql( - @"SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] +""" +SELECT [u].[Key1], [u].[Key2], [u].[Key3], [u].[Name], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[ReferenceInverseId] FROM [UnidirectionalEntityCompositeKeys] AS [u] LEFT JOIN ( SELECT [t].[Id], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[ThreeId], [t].[Id0], [t].[CollectionInverseId], [t].[Name], [t].[ReferenceInverseId] @@ -2327,7 +2604,8 @@ FROM [UnidirectionalJoinThreeToCompositeKeyFull] AS [u0] ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [u].[Key1] = [t0].[CompositeId1] AND [u].[Key2] = [t0].[CompositeId2] AND [u].[Key3] = [t0].[CompositeId3] -ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [u].[Key1], [u].[Key2], [u].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_unidirectional(bool async) @@ -2335,7 +2613,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] +""" +SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[ReferenceInverseId] FROM [UnidirectionalRoots] AS [u] INNER JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] INNER JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] @@ -2350,7 +2629,8 @@ FROM [UnidirectionalEntityCompositeKeyUnidirectionalEntityTwo] AS [u4] ) AS [t] ON [u3].[Key1] = [t].[UnidirectionalEntityCompositeKeyKey1] AND [u3].[Key2] = [t].[UnidirectionalEntityCompositeKeyKey2] AND [u3].[Key3] = [t].[UnidirectionalEntityCompositeKeyKey3] WHERE [u3].[Key1] < 5 ) AS [t0] ON [u].[Id] = [t0].[LeafId] -ORDER BY [u].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3]"); +ORDER BY [u].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[UnidirectionalEntityCompositeKeyKey1], [t0].[UnidirectionalEntityCompositeKeyKey2], [t0].[UnidirectionalEntityCompositeKeyKey3] +"""); } public override async Task Filter_include_on_skip_navigation_combined_unidirectional(bool async) @@ -2358,7 +2638,8 @@ public override async Task Filter_include_on_skip_navigation_combined_unidirecti await base.Filter_include_on_skip_navigation_combined_unidirectional(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[Id], [t].[Name], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[ReferenceInverseId0] FROM [EntityTwos] AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [e0].[Id], [e0].[Name], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[ReferenceInverseId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -2368,7 +2649,8 @@ FROM [JoinOneToTwo] AS [j] LEFT JOIN [EntityTwos] AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Throws_when_different_filtered_include_unidirectional(bool async) @@ -2389,13 +2671,15 @@ public override async Task Select_many_over_skip_navigation_where_non_equality_u { await base.Select_many_over_skip_navigation_where_non_equality_unidirectional(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[ReferenceInverseId] FROM [UnidirectionalEntityOnes] AS [u] LEFT JOIN ( SELECT [u1].[Id], [u1].[CollectionInverseId], [u1].[ExtraId], [u1].[Name], [u1].[ReferenceInverseId], [u0].[OneId] FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] -) AS [t] ON [u].[Id] = [t].[OneId] AND [u].[Id] <> [t].[Id]"); +) AS [t] ON [u].[Id] = [t].[OneId] AND [u].[Id] <> [t].[Id] +"""); } public override async Task Contains_on_skip_collection_navigation_unidirectional(bool async) @@ -2403,7 +2687,8 @@ public override async Task Contains_on_skip_collection_navigation_unidirectional await base.Contains_on_skip_collection_navigation_unidirectional(async); AssertSql( - @"@__entity_equality_two_0_Id='1' (Nullable = true) +""" +@__entity_equality_two_0_Id='1' (Nullable = true) SELECT [u].[Id], [u].[Name] FROM [UnidirectionalEntityOnes] AS [u] @@ -2411,7 +2696,8 @@ WHERE EXISTS ( SELECT 1 FROM [UnidirectionalJoinOneToTwo] AS [u0] INNER JOIN [UnidirectionalEntityTwos] AS [u1] ON [u0].[TwoId] = [u1].[Id] - WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = @__entity_equality_two_0_Id)"); + WHERE [u].[Id] = [u0].[OneId] AND [u1].[Id] = @__entity_equality_two_0_Id) +"""); } public override async Task GetType_in_hierarchy_in_base_type_unidirectional(bool async) @@ -2419,14 +2705,16 @@ public override async Task GetType_in_hierarchy_in_base_type_unidirectional(bool await base.GetType_in_hierarchy_in_base_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE +""" +SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE WHEN [u1].[Id] IS NOT NULL THEN N'UnidirectionalEntityLeaf' WHEN [u0].[Id] IS NOT NULL THEN N'UnidirectionalEntityBranch' END AS [Discriminator] FROM [UnidirectionalRoots] AS [u] LEFT JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] -WHERE ([u1].[Id] IS NULL) AND ([u0].[Id] IS NULL)"); +WHERE ([u1].[Id] IS NULL) AND ([u0].[Id] IS NULL) +"""); } public override async Task GetType_in_hierarchy_in_intermediate_type_unidirectional(bool async) @@ -2434,14 +2722,16 @@ public override async Task GetType_in_hierarchy_in_intermediate_type_unidirectio await base.GetType_in_hierarchy_in_intermediate_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE +""" +SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE WHEN [u1].[Id] IS NOT NULL THEN N'UnidirectionalEntityLeaf' WHEN [u0].[Id] IS NOT NULL THEN N'UnidirectionalEntityBranch' END AS [Discriminator] FROM [UnidirectionalRoots] AS [u] LEFT JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] -WHERE ([u1].[Id] IS NULL) AND ([u0].[Id] IS NOT NULL)"); +WHERE ([u1].[Id] IS NULL) AND ([u0].[Id] IS NOT NULL) +"""); } public override async Task GetType_in_hierarchy_in_leaf_type_unidirectional(bool async) @@ -2449,14 +2739,16 @@ public override async Task GetType_in_hierarchy_in_leaf_type_unidirectional(bool await base.GetType_in_hierarchy_in_leaf_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE +""" +SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE WHEN [u1].[Id] IS NOT NULL THEN N'UnidirectionalEntityLeaf' WHEN [u0].[Id] IS NOT NULL THEN N'UnidirectionalEntityBranch' END AS [Discriminator] FROM [UnidirectionalRoots] AS [u] LEFT JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] -WHERE [u1].[Id] IS NOT NULL"); +WHERE [u1].[Id] IS NOT NULL +"""); } public override async Task GetType_in_hierarchy_in_querying_base_type_unidirectional(bool async) @@ -2464,13 +2756,15 @@ public override async Task GetType_in_hierarchy_in_querying_base_type_unidirecti await base.GetType_in_hierarchy_in_querying_base_type_unidirectional(async); AssertSql( - @"SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE +""" +SELECT [u].[Id], [u].[Name], [u0].[Number], [u1].[IsGreen], CASE WHEN [u1].[Id] IS NOT NULL THEN N'UnidirectionalEntityLeaf' END AS [Discriminator] FROM [UnidirectionalRoots] AS [u] INNER JOIN [UnidirectionalBranches] AS [u0] ON [u].[Id] = [u0].[Id] LEFT JOIN [UnidirectionalLeaves] AS [u1] ON [u].[Id] = [u1].[Id] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TPTRelationshipsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TPTRelationshipsQuerySqlServerTest.cs index 3025809cbc3..92765cfb4a2 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TPTRelationshipsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TPTRelationshipsQuerySqlServerTest.cs @@ -23,7 +23,8 @@ public override void Changes_in_derived_related_entities_are_detected() base.Changes_in_derived_related_entities_are_detected(); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator] +""" +SELECT [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator] FROM ( SELECT TOP(2) [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' @@ -41,7 +42,8 @@ END AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b1] LEFT JOIN [DerivedCollectionsOnBase] AS [d1] ON [b1].[Id] = [d1].[Id] ) AS [t0] ON [t].[Id] = [t0].[BaseParentId] -ORDER BY [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_without_inheritance(bool async) @@ -49,7 +51,8 @@ public override async Task Include_collection_without_inheritance(bool async) await base.Include_collection_without_inheritance(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [c].[Id], [c].[Name], [c].[ParentId] FROM [BaseEntities] AS [b] @@ -57,7 +60,8 @@ FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [CollectionsOnBase] AS [c] ON [b].[Id] = [c].[ParentId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_without_inheritance_reverse(bool async) @@ -65,7 +69,8 @@ public override async Task Include_collection_without_inheritance_reverse(bool a await base.Include_collection_without_inheritance_reverse(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE @@ -76,7 +81,8 @@ FROM [BaseEntities] AS [b] ) AS [t] ON [c].[ParentId] = [t].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [t].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [c].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [c].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_without_inheritance_with_filter(bool async) @@ -84,7 +90,8 @@ public override async Task Include_collection_without_inheritance_with_filter(bo await base.Include_collection_without_inheritance_with_filter(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [c].[Id], [c].[Name], [c].[ParentId] FROM [BaseEntities] AS [b] @@ -93,7 +100,8 @@ FROM [BaseEntities] AS [b] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [CollectionsOnBase] AS [c] ON [b].[Id] = [c].[ParentId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_without_inheritance_with_filter_reverse(bool async) @@ -101,7 +109,8 @@ public override async Task Include_collection_without_inheritance_with_filter_re await base.Include_collection_without_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE @@ -113,7 +122,8 @@ FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [t].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [c].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance(bool async) @@ -121,7 +131,8 @@ public override async Task Include_collection_with_inheritance(bool async) await base.Include_collection_with_inheritance(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator] FROM [BaseEntities] AS [b] @@ -135,7 +146,8 @@ END AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b1] LEFT JOIN [DerivedCollectionsOnBase] AS [d1] ON [b1].[Id] = [d1].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived1(bool async) @@ -143,7 +155,8 @@ public override async Task Include_collection_with_inheritance_on_derived1(bool await base.Include_collection_with_inheritance_on_derived1(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] @@ -155,7 +168,8 @@ END AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b1] LEFT JOIN [DerivedCollectionsOnBase] AS [d1] ON [b1].[Id] = [d1].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived2(bool async) @@ -163,7 +177,8 @@ public override async Task Include_collection_with_inheritance_on_derived2(bool await base.Include_collection_with_inheritance_on_derived2(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] @@ -175,7 +190,8 @@ END AS [Discriminator] FROM [BaseCollectionsOnDerived] AS [b1] LEFT JOIN [DerivedCollectionsOnDerived] AS [d1] ON [b1].[Id] = [d1].[Id] ) AS [t] ON [b].[Id] = [t].[ParentId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived3(bool async) @@ -183,7 +199,8 @@ public override async Task Include_collection_with_inheritance_on_derived3(bool await base.Include_collection_with_inheritance_on_derived3(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] @@ -193,7 +210,8 @@ LEFT JOIN ( FROM [BaseCollectionsOnDerived] AS [b1] INNER JOIN [DerivedCollectionsOnDerived] AS [d1] ON [b1].[Id] = [d1].[Id] ) AS [t] ON [b].[Id] = [t].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived_reverse(bool async) @@ -201,7 +219,8 @@ public override async Task Include_collection_with_inheritance_on_derived_revers await base.Include_collection_with_inheritance_on_derived_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [b].[ParentId], [d].[DerivedInheritanceRelationshipEntityId], CASE +""" +SELECT [b].[Id], [b].[Name], [b].[ParentId], [d].[DerivedInheritanceRelationshipEntityId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedCollectionOnDerived' END AS [Discriminator], [t].[Id], [t].[Name], [t].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnDerived] AS [b] @@ -213,7 +232,8 @@ FROM [BaseEntities] AS [b0] ) AS [t] ON [b].[ParentId] = [t].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance_reverse(bool async) @@ -221,7 +241,8 @@ public override async Task Include_collection_with_inheritance_reverse(bool asyn await base.Include_collection_with_inheritance_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedProperty], CASE +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedProperty], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedCollectionOnBase' END AS [Discriminator], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnBase] AS [b] @@ -235,7 +256,8 @@ FROM [BaseEntities] AS [b0] ) AS [t] ON [b].[BaseParentId] = [t].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_collection_with_inheritance_with_filter(bool async) @@ -243,7 +265,8 @@ public override async Task Include_collection_with_inheritance_with_filter(bool await base.Include_collection_with_inheritance_with_filter(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator] FROM [BaseEntities] AS [b] @@ -258,7 +281,8 @@ FROM [BaseCollectionsOnBase] AS [b1] LEFT JOIN [DerivedCollectionsOnBase] AS [d1] ON [b1].[Id] = [d1].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_with_filter_reverse(bool async) @@ -266,7 +290,8 @@ public override async Task Include_collection_with_inheritance_with_filter_rever await base.Include_collection_with_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedProperty], CASE +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedProperty], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedCollectionOnBase' END AS [Discriminator], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnBase] AS [b] @@ -281,7 +306,8 @@ FROM [BaseEntities] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance(bool async) @@ -289,7 +315,8 @@ public override async Task Include_reference_without_inheritance(bool async) await base.Include_reference_without_inheritance(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM [BaseEntities] AS [b] @@ -297,7 +324,8 @@ FROM [BaseEntities] AS [b] LEFT JOIN [ReferencesOnBase] AS [r] ON [b].[Id] = [r].[ParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_on_derived1(bool async) @@ -305,13 +333,15 @@ public override async Task Include_reference_without_inheritance_on_derived1(boo await base.Include_reference_without_inheritance_on_derived1(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN [ReferencesOnBase] AS [r] ON [b].[Id] = [r].[ParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_on_derived2(bool async) @@ -319,13 +349,15 @@ public override async Task Include_reference_without_inheritance_on_derived2(boo await base.Include_reference_without_inheritance_on_derived2(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN [ReferencesOnDerived] AS [r] ON [b].[Id] = [r].[ParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_on_derived_reverse(bool async) @@ -333,7 +365,8 @@ public override async Task Include_reference_without_inheritance_on_derived_reve await base.Include_reference_without_inheritance_on_derived_reverse(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [ReferencesOnDerived] AS [r] LEFT JOIN ( SELECT [b].[Id], [b].[Name], [d].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id] AS [Id0], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] @@ -342,7 +375,8 @@ FROM [BaseEntities] AS [b] ) AS [t] ON [r].[ParentId] = [t].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [t].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [r].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [r].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_reverse(bool async) @@ -350,7 +384,8 @@ public override async Task Include_reference_without_inheritance_reverse(bool as await base.Include_reference_without_inheritance_reverse(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [ReferencesOnBase] AS [r] LEFT JOIN ( SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE @@ -361,7 +396,8 @@ FROM [BaseEntities] AS [b] ) AS [t] ON [r].[ParentId] = [t].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [t].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [r].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [r].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_with_filter(bool async) @@ -369,7 +405,8 @@ public override async Task Include_reference_without_inheritance_with_filter(boo await base.Include_reference_without_inheritance_with_filter(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [r].[Name], [r].[ParentId] FROM [BaseEntities] AS [b] @@ -378,7 +415,8 @@ FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [r].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_without_inheritance_with_filter_reverse(bool async) @@ -386,7 +424,8 @@ public override async Task Include_reference_without_inheritance_with_filter_rev await base.Include_reference_without_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [r].[Id], [r].[Name], [r].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [ReferencesOnBase] AS [r] LEFT JOIN ( SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE @@ -398,7 +437,8 @@ FROM [BaseEntities] AS [b] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [t].[Id] = [b0].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [r].[Name] <> N'Bar' OR ([r].[Name] IS NULL) -ORDER BY [r].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [r].[Id], [t].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance(bool async) @@ -406,7 +446,8 @@ public override async Task Include_reference_with_inheritance(bool async) await base.Include_reference_with_inheritance(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] FROM [BaseEntities] AS [b] @@ -420,7 +461,8 @@ FROM [BaseReferencesOnBase] AS [b0] ) AS [t] ON [b].[Id] = [t].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived1(bool async) @@ -428,7 +470,8 @@ public override async Task Include_reference_with_inheritance_on_derived1(bool a await base.Include_reference_with_inheritance_on_derived1(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -440,7 +483,8 @@ FROM [BaseReferencesOnBase] AS [b0] ) AS [t] ON [b].[Id] = [t].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived2(bool async) @@ -448,7 +492,8 @@ public override async Task Include_reference_with_inheritance_on_derived2(bool a await base.Include_reference_with_inheritance_on_derived2(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -460,7 +505,8 @@ FROM [BaseReferencesOnDerived] AS [b0] ) AS [t] ON [b].[Id] = [t].[BaseParentId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived4(bool async) @@ -468,7 +514,8 @@ public override async Task Include_reference_with_inheritance_on_derived4(bool a await base.Include_reference_with_inheritance_on_derived4(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -478,7 +525,8 @@ FROM [BaseReferencesOnDerived] AS [b0] ) AS [t] ON [b].[Id] = [t].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_reverse(bool async) @@ -486,7 +534,8 @@ public override async Task Include_reference_with_inheritance_on_derived_reverse await base.Include_reference_with_inheritance_on_derived_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedInheritanceRelationshipEntityId], CASE +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedInheritanceRelationshipEntityId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedReferenceOnDerived' END AS [Discriminator], [t].[Id], [t].[Name], [t].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseReferencesOnDerived] AS [b] @@ -498,7 +547,8 @@ FROM [BaseEntities] AS [b0] ) AS [t] ON [b].[BaseParentId] = [t].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter1(bool async) @@ -506,7 +556,8 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter1(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -519,7 +570,8 @@ FROM [BaseReferencesOnBase] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter2(bool async) @@ -527,7 +579,8 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter2(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -540,7 +593,8 @@ FROM [BaseReferencesOnDerived] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter4(bool async) @@ -548,7 +602,8 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter4(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -559,7 +614,8 @@ FROM [BaseReferencesOnDerived] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_on_derived_with_filter_reverse(bool async) @@ -567,7 +623,8 @@ public override async Task Include_reference_with_inheritance_on_derived_with_fi await base.Include_reference_with_inheritance_on_derived_with_filter_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedInheritanceRelationshipEntityId], CASE +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedInheritanceRelationshipEntityId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedReferenceOnDerived' END AS [Discriminator], [t].[Id], [t].[Name], [t].[BaseId], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseReferencesOnDerived] AS [b] @@ -580,7 +637,8 @@ FROM [BaseEntities] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_reverse(bool async) @@ -588,7 +646,8 @@ public override async Task Include_reference_with_inheritance_reverse(bool async await base.Include_reference_with_inheritance_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Name], CASE +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Name], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedReferenceOnBase' END AS [Discriminator], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseReferencesOnBase] AS [b] @@ -602,7 +661,8 @@ FROM [BaseEntities] AS [b0] ) AS [t] ON [b].[BaseParentId] = [t].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_with_filter(bool async) @@ -610,7 +670,8 @@ public override async Task Include_reference_with_inheritance_with_filter(bool a await base.Include_reference_with_inheritance_with_filter(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] FROM [BaseEntities] AS [b] @@ -625,7 +686,8 @@ FROM [BaseReferencesOnBase] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_reference_with_inheritance_with_filter_reverse(bool async) @@ -633,7 +695,8 @@ public override async Task Include_reference_with_inheritance_with_filter_revers await base.Include_reference_with_inheritance_with_filter_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Name], CASE +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Name], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedReferenceOnBase' END AS [Discriminator], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseReferencesOnBase] AS [b] @@ -648,7 +711,8 @@ FROM [BaseEntities] AS [b0] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_self_reference_with_inheritance(bool async) @@ -656,7 +720,8 @@ public override async Task Include_self_reference_with_inheritance(bool async) await base.Include_self_reference_with_inheritance(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Name], [t].[BaseId], [b2].[BaseInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d2].[DerivedInheritanceRelationshipEntityId], [d2].[Id], [d2].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] @@ -670,7 +735,8 @@ FROM [BaseEntities] AS [b0] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b2] ON [t].[Id] = [b2].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d2] ON [t].[Id] = [d2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [b2].[BaseInheritanceRelationshipEntityId], [b2].[Id], [d2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [b2].[BaseInheritanceRelationshipEntityId], [b2].[Id], [d2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Include_self_reference_with_inheritance_reverse(bool async) @@ -678,7 +744,8 @@ public override async Task Include_self_reference_with_inheritance_reverse(bool await base.Include_self_reference_with_inheritance_reverse(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Name], [t].[BaseId], [t].[Discriminator], [b2].[BaseInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d2].[DerivedInheritanceRelationshipEntityId], [d2].[Id], [d2].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Name], [t].[BaseId], [t].[Discriminator], [b2].[BaseInheritanceRelationshipEntityId], [b2].[Id], [b2].[Name], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [d2].[DerivedInheritanceRelationshipEntityId], [d2].[Id], [d2].[Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -692,7 +759,8 @@ FROM [BaseEntities] AS [b0] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b2] ON [t].[Id] = [b2].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d2] ON [t].[Id] = [d2].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [b2].[BaseInheritanceRelationshipEntityId], [b2].[Id], [d2].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [b2].[BaseInheritanceRelationshipEntityId], [b2].[Id], [d2].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_collection_reference_on_non_entity_base(bool async) @@ -700,14 +768,16 @@ public override async Task Nested_include_collection_reference_on_non_entity_bas await base.Nested_include_collection_reference_on_non_entity_base(async); AssertSql( - @"SELECT [r].[Id], [r].[Name], [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0] +""" +SELECT [r].[Id], [r].[Name], [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0] FROM [ReferencedEntities] AS [r] LEFT JOIN ( SELECT [p].[Id], [p].[Name], [p].[ReferenceId], [p].[ReferencedEntityId], [r0].[Id] AS [Id0], [r0].[Name] AS [Name0] FROM [PrincipalEntities] AS [p] LEFT JOIN [ReferencedEntities] AS [r0] ON [p].[ReferenceId] = [r0].[Id] ) AS [t] ON [r].[Id] = [t].[ReferencedEntityId] -ORDER BY [r].[Id], [t].[Id]"); +ORDER BY [r].[Id], [t].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection(bool async) @@ -715,7 +785,8 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t0].[Id0], [t0].[Name0], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator0] FROM [BaseEntities] AS [b] @@ -736,7 +807,8 @@ FROM [NestedCollections] AS [n] LEFT JOIN [NestedCollectionsDerived] AS [n0] ON [n].[Id] = [n0].[Id] ) AS [t] ON [b1].[Id] = [t].[ParentCollectionId] ) AS [t0] ON [b].[Id] = [t0].[BaseParentId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [t0].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [t0].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection_reverse(bool async) @@ -744,7 +816,8 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection_reverse(async); AssertSql( - @"SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE +""" +SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE WHEN [n0].[Id] IS NOT NULL THEN N'NestedCollectionDerived' END AS [Discriminator], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t0].[OwnedReferenceOnBase_Id], [t0].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t0].[Id0], [t0].[OwnedReferenceOnDerived_Id], [t0].[OwnedReferenceOnDerived_Name] FROM [NestedCollections] AS [n] @@ -765,7 +838,8 @@ FROM [BaseEntities] AS [b0] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t0].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [n].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_collection_reference(bool async) @@ -773,7 +847,8 @@ public override async Task Nested_include_with_inheritance_collection_reference( await base.Nested_include_with_inheritance_collection_reference(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t0].[Id0], [t0].[Name0], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator0] FROM [BaseEntities] AS [b] @@ -794,7 +869,8 @@ FROM [NestedReferences] AS [n] LEFT JOIN [NestedReferencesDerived] AS [n0] ON [n].[Id] = [n0].[Id] ) AS [t] ON [b1].[Id] = [t].[ParentCollectionId] ) AS [t0] ON [b].[Id] = [t0].[BaseParentId] -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [t0].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [t0].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_reference_reverse(bool async) @@ -802,7 +878,8 @@ public override async Task Nested_include_with_inheritance_collection_reference_ await base.Nested_include_with_inheritance_collection_reference_reverse(async); AssertSql( - @"SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE +""" +SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE WHEN [n0].[Id] IS NOT NULL THEN N'NestedReferenceDerived' END AS [Discriminator], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t0].[OwnedReferenceOnBase_Id], [t0].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t0].[Id0], [t0].[OwnedReferenceOnDerived_Id], [t0].[OwnedReferenceOnDerived_Name] FROM [NestedReferences] AS [n] @@ -823,7 +900,8 @@ FROM [BaseEntities] AS [b0] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t0].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [n].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_collection(bool async) @@ -831,7 +909,8 @@ public override async Task Nested_include_with_inheritance_reference_collection( await base.Nested_include_with_inheritance_reference_collection(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator] FROM [BaseEntities] AS [b] @@ -852,7 +931,8 @@ END AS [Discriminator] FROM [NestedCollections] AS [n] LEFT JOIN [NestedCollectionsDerived] AS [n0] ON [n].[Id] = [n0].[Id] ) AS [t0] ON [t].[Id] = [t0].[ParentReferenceId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_on_base(bool async) @@ -860,7 +940,8 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_on_base(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -879,7 +960,8 @@ END AS [Discriminator] FROM [NestedCollections] AS [n] LEFT JOIN [NestedCollectionsDerived] AS [n0] ON [n].[Id] = [n0].[Id] ) AS [t0] ON [t].[Id] = [t0].[ParentReferenceId] -ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id]"); +ORDER BY [b].[Id], [t].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_reverse(bool async) @@ -887,7 +969,8 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_reverse(async); AssertSql( - @"SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE +""" +SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE WHEN [n0].[Id] IS NOT NULL THEN N'NestedCollectionDerived' END AS [Discriminator], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t0].[OwnedReferenceOnBase_Id], [t0].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t0].[Id0], [t0].[OwnedReferenceOnDerived_Id], [t0].[OwnedReferenceOnDerived_Name] FROM [NestedCollections] AS [n] @@ -908,7 +991,8 @@ FROM [BaseEntities] AS [b0] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t0].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [n].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_reference(bool async) @@ -916,7 +1000,8 @@ public override async Task Nested_include_with_inheritance_reference_reference(b await base.Nested_include_with_inheritance_reference_reference(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator] FROM [BaseEntities] AS [b] @@ -937,7 +1022,8 @@ FROM [NestedReferences] AS [n] ) AS [t0] ON [t].[Id] = [t0].[ParentReferenceId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_reference_on_base(bool async) @@ -945,7 +1031,8 @@ public override async Task Nested_include_with_inheritance_reference_reference_o await base.Nested_include_with_inheritance_reference_reference_on_base(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -964,7 +1051,8 @@ FROM [NestedReferences] AS [n] ) AS [t0] ON [t].[Id] = [t0].[ParentReferenceId] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [b].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Nested_include_with_inheritance_reference_reference_reverse(bool async) @@ -972,7 +1060,8 @@ public override async Task Nested_include_with_inheritance_reference_reference_r await base.Nested_include_with_inheritance_reference_reference_reverse(async); AssertSql( - @"SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE +""" +SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE WHEN [n0].[Id] IS NOT NULL THEN N'NestedReferenceDerived' END AS [Discriminator], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [t0].[OwnedReferenceOnBase_Id], [t0].[OwnedReferenceOnBase_Name], [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [t0].[Id0], [t0].[OwnedReferenceOnDerived_Id], [t0].[OwnedReferenceOnDerived_Name] FROM [NestedReferences] AS [n] @@ -993,7 +1082,8 @@ FROM [BaseEntities] AS [b0] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] LEFT JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] LEFT JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t0].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId]"); +ORDER BY [n].[Id], [t].[Id], [t0].[Id], [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [d1].[DerivedInheritanceRelationshipEntityId] +"""); } public override async Task Collection_projection_on_base_type(bool async) @@ -1001,7 +1091,8 @@ public override async Task Collection_projection_on_base_type(bool async) await base.Collection_projection_on_base_type(async); AssertSql( - @"SELECT [b].[Id], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator] +""" +SELECT [b].[Id], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator] FROM [BaseEntities] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Name], [d0].[DerivedProperty], CASE @@ -1010,7 +1101,8 @@ END AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b0] LEFT JOIN [DerivedCollectionsOnBase] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_on_derived_type_with_queryable_Cast(bool async) @@ -1018,7 +1110,8 @@ public override async Task Include_on_derived_type_with_queryable_Cast(bool asyn await base.Include_on_derived_type_with_queryable_Cast(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId] FROM [BaseEntities] AS [b] @@ -1031,7 +1124,8 @@ FROM [BaseCollectionsOnDerived] AS [b1] INNER JOIN [DerivedCollectionsOnDerived] AS [d1] ON [b1].[Id] = [d1].[Id] ) AS [t] ON [b].[Id] = [t].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Id] >= 4 -ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id]"); +ORDER BY [b].[Id], [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id] +"""); } public override async Task Include_collection_with_inheritance_split(bool async) @@ -1039,24 +1133,31 @@ public override async Task Include_collection_with_inheritance_split(bool async) await base.Include_collection_with_inheritance_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] LEFT JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [b].[Id] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN ( SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Name], [d0].[DerivedProperty], CASE @@ -1065,7 +1166,8 @@ END AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b0] LEFT JOIN [DerivedCollectionsOnBase] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_reverse_split(bool async) @@ -1073,7 +1175,8 @@ public override async Task Include_collection_with_inheritance_reverse_split(boo await base.Include_collection_with_inheritance_reverse_split(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedProperty], CASE +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedProperty], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedCollectionOnBase' END AS [Discriminator], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnBase] AS [b] @@ -1085,25 +1188,30 @@ WHEN [d0].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' FROM [BaseEntities] AS [b0] LEFT JOIN [DerivedEntities] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[BaseParentId] = [t].[Id] -ORDER BY [b].[Id], [t].[Id]", - // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] +ORDER BY [b].[Id], [t].[Id] +""", + // +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN ( SELECT [b0].[Id] FROM [BaseEntities] AS [b0] ) AS [t] ON [b].[BaseParentId] = [t].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id]", - // - @"SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [b].[Id], [t].[Id] +ORDER BY [b].[Id], [t].[Id] +""", + // +""" +SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [b].[Id], [t].[Id] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN ( SELECT [b0].[Id] FROM [BaseEntities] AS [b0] ) AS [t] ON [b].[BaseParentId] = [t].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id]"); +ORDER BY [b].[Id], [t].[Id] +"""); } public override async Task Include_collection_with_inheritance_with_filter_split(bool async) @@ -1111,27 +1219,34 @@ public override async Task Include_collection_with_inheritance_with_filter_split await base.Include_collection_with_inheritance_with_filter_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] LEFT JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [b].[Id] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN ( SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Name], [d0].[DerivedProperty], CASE @@ -1141,7 +1256,8 @@ FROM [BaseCollectionsOnBase] AS [b0] LEFT JOIN [DerivedCollectionsOnBase] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_with_filter_reverse_split(bool async) @@ -1149,7 +1265,8 @@ public override async Task Include_collection_with_inheritance_with_filter_rever await base.Include_collection_with_inheritance_with_filter_reverse_split(async); AssertSql( - @"SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedProperty], CASE +""" +SELECT [b].[Id], [b].[BaseParentId], [b].[Name], [d].[DerivedProperty], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedCollectionOnBase' END AS [Discriminator], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnBase] AS [b] @@ -1162,9 +1279,11 @@ FROM [BaseEntities] AS [b0] LEFT JOIN [DerivedEntities] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[BaseParentId] = [t].[Id] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id]", +ORDER BY [b].[Id], [t].[Id] +""", // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN ( SELECT [b0].[Id] @@ -1172,9 +1291,11 @@ FROM [BaseEntities] AS [b0] ) AS [t] ON [b].[BaseParentId] = [t].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id]", +ORDER BY [b].[Id], [t].[Id] +""", // - @"SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [b].[Id], [t].[Id] +""" +SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [b].[Id], [t].[Id] FROM [BaseCollectionsOnBase] AS [b] LEFT JOIN ( SELECT [b0].[Id] @@ -1182,7 +1303,8 @@ FROM [BaseEntities] AS [b0] ) AS [t] ON [b].[BaseParentId] = [t].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id], [t].[Id]"); +ORDER BY [b].[Id], [t].[Id] +"""); } public override async Task Include_collection_without_inheritance_split(bool async) @@ -1190,27 +1312,35 @@ public override async Task Include_collection_without_inheritance_split(bool asy await base.Include_collection_without_inheritance_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] LEFT JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [CollectionsOnBase] AS [c] ON [b].[Id] = [c].[ParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_without_inheritance_reverse_split(bool async) @@ -1218,7 +1348,8 @@ public override async Task Include_collection_without_inheritance_reverse_split( await base.Include_collection_without_inheritance_reverse_split(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE @@ -1227,25 +1358,30 @@ WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' FROM [BaseEntities] AS [b] LEFT JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] ) AS [t] ON [c].[ParentId] = [t].[Id] -ORDER BY [c].[Id], [t].[Id]", - // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [t].[Id] +ORDER BY [c].[Id], [t].[Id] +""", + // +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [t].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id] FROM [BaseEntities] AS [b] ) AS [t] ON [c].[ParentId] = [t].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [t].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [c].[Id], [t].[Id]", - // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [c].[Id], [t].[Id] +ORDER BY [c].[Id], [t].[Id] +""", + // +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [c].[Id], [t].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id] FROM [BaseEntities] AS [b] ) AS [t] ON [c].[ParentId] = [t].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [c].[Id], [t].[Id]"); +ORDER BY [c].[Id], [t].[Id] +"""); } public override async Task Include_collection_without_inheritance_with_filter_split(bool async) @@ -1253,31 +1389,39 @@ public override async Task Include_collection_without_inheritance_with_filter_sp await base.Include_collection_without_inheritance_with_filter_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] LEFT JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [CollectionsOnBase] AS [c] ON [b].[Id] = [c].[ParentId] WHERE [b].[Name] <> N'Bar' OR ([b].[Name] IS NULL) -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_without_inheritance_with_filter_reverse_split(bool async) @@ -1285,7 +1429,8 @@ public override async Task Include_collection_without_inheritance_with_filter_re await base.Include_collection_without_inheritance_with_filter_reverse_split(async); AssertSql( - @"SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] +""" +SELECT [c].[Id], [c].[Name], [c].[ParentId], [t].[Id], [t].[Name], [t].[BaseId], [t].[Discriminator], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE @@ -1295,9 +1440,11 @@ FROM [BaseEntities] AS [b] LEFT JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] ) AS [t] ON [c].[ParentId] = [t].[Id] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [t].[Id]", +ORDER BY [c].[Id], [t].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [t].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [c].[Id], [t].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id] @@ -1305,9 +1452,11 @@ FROM [BaseEntities] AS [b] ) AS [t] ON [c].[ParentId] = [t].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [t].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [t].[Id]", +ORDER BY [c].[Id], [t].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [c].[Id], [t].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [c].[Id], [t].[Id] FROM [CollectionsOnBase] AS [c] LEFT JOIN ( SELECT [b].[Id] @@ -1315,7 +1464,8 @@ FROM [BaseEntities] AS [b] ) AS [t] ON [c].[ParentId] = [t].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [t].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [c].[Name] <> N'Bar' OR ([c].[Name] IS NULL) -ORDER BY [c].[Id], [t].[Id]"); +ORDER BY [c].[Id], [t].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived1_split(bool async) @@ -1323,24 +1473,31 @@ public override async Task Include_collection_with_inheritance_on_derived1_split await base.Include_collection_with_inheritance_on_derived1_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [b].[Id] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] INNER JOIN ( @@ -1350,7 +1507,8 @@ END AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b0] LEFT JOIN [DerivedCollectionsOnBase] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived2_split(bool async) @@ -1358,24 +1516,31 @@ public override async Task Include_collection_with_inheritance_on_derived2_split await base.Include_collection_with_inheritance_on_derived2_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [b].[Id] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [t].[Discriminator], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] INNER JOIN ( @@ -1385,7 +1550,8 @@ END AS [Discriminator] FROM [BaseCollectionsOnDerived] AS [b0] LEFT JOIN [DerivedCollectionsOnDerived] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[ParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived3_split(bool async) @@ -1393,24 +1559,31 @@ public override async Task Include_collection_with_inheritance_on_derived3_split await base.Include_collection_with_inheritance_on_derived3_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [b].[Id] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] INNER JOIN ( @@ -1418,7 +1591,8 @@ INNER JOIN ( FROM [BaseCollectionsOnDerived] AS [b0] INNER JOIN [DerivedCollectionsOnDerived] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_collection_with_inheritance_on_derived_reverse_split(bool async) @@ -1426,7 +1600,8 @@ public override async Task Include_collection_with_inheritance_on_derived_revers await base.Include_collection_with_inheritance_on_derived_reverse_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [b].[ParentId], [d].[DerivedInheritanceRelationshipEntityId], CASE +""" +SELECT [b].[Id], [b].[Name], [b].[ParentId], [d].[DerivedInheritanceRelationshipEntityId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedCollectionOnDerived' END AS [Discriminator], [t].[Id], [t].[Name], [t].[BaseId], [t].[OwnedReferenceOnBase_Id], [t].[OwnedReferenceOnBase_Name], [t].[Id0], [t].[OwnedReferenceOnDerived_Id], [t].[OwnedReferenceOnDerived_Name] FROM [BaseCollectionsOnDerived] AS [b] @@ -1436,9 +1611,11 @@ LEFT JOIN ( FROM [BaseEntities] AS [b0] INNER JOIN [DerivedEntities] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[ParentId] = [t].[Id] -ORDER BY [b].[Id], [t].[Id]", - // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] +ORDER BY [b].[Id], [t].[Id] +""", + // +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] FROM [BaseCollectionsOnDerived] AS [b] LEFT JOIN ( SELECT [b0].[Id] @@ -1446,9 +1623,11 @@ FROM [BaseEntities] AS [b0] INNER JOIN [DerivedEntities] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[ParentId] = [t].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id]", - // - @"SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [b].[Id], [t].[Id] +ORDER BY [b].[Id], [t].[Id] +""", + // +""" +SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [b].[Id], [t].[Id] FROM [BaseCollectionsOnDerived] AS [b] LEFT JOIN ( SELECT [b0].[Id] @@ -1456,7 +1635,8 @@ FROM [BaseEntities] AS [b0] INNER JOIN [DerivedEntities] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[ParentId] = [t].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id]"); +ORDER BY [b].[Id], [t].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_split(bool async) @@ -1464,7 +1644,8 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [t].[Id], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] FROM [BaseEntities] AS [b] @@ -1476,27 +1657,33 @@ END AS [Discriminator] FROM [BaseReferencesOnBase] AS [b0] LEFT JOIN [DerivedReferencesOnBase] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id], [t].[Id]", +ORDER BY [b].[Id], [t].[Id] +""", // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] FROM [BaseEntities] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[BaseParentId] FROM [BaseReferencesOnBase] AS [b0] ) AS [t] ON [b].[Id] = [t].[BaseParentId] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id]", +ORDER BY [b].[Id], [t].[Id] +""", // - @"SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [b].[Id], [t].[Id] +""" +SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [b].[Id], [t].[Id] FROM [BaseEntities] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[BaseParentId] FROM [BaseReferencesOnBase] AS [b0] ) AS [t] ON [b].[Id] = [t].[BaseParentId] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id]", +ORDER BY [b].[Id], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator], [b].[Id], [t].[Id] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator], [b].[Id], [t].[Id] FROM [BaseEntities] AS [b] LEFT JOIN ( SELECT [b0].[Id], [b0].[BaseParentId] @@ -1509,7 +1696,8 @@ END AS [Discriminator] FROM [NestedCollections] AS [n] LEFT JOIN [NestedCollectionsDerived] AS [n0] ON [n].[Id] = [n0].[Id] ) AS [t0] ON [t].[Id] = [t0].[ParentReferenceId] -ORDER BY [b].[Id], [t].[Id]"); +ORDER BY [b].[Id], [t].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_on_base_split(bool async) @@ -1517,7 +1705,8 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_on_base_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], [t].[Id], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name], [t].[BaseParentId], [t].[Name], [t].[Discriminator] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -1527,9 +1716,11 @@ END AS [Discriminator] FROM [BaseReferencesOnBase] AS [b0] LEFT JOIN [DerivedReferencesOnBase] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id], [t].[Id]", +ORDER BY [b].[Id], [t].[Id] +""", // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [b].[Id], [t].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -1537,9 +1728,11 @@ LEFT JOIN ( FROM [BaseReferencesOnBase] AS [b0] ) AS [t] ON [b].[Id] = [t].[BaseParentId] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [b].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id]", +ORDER BY [b].[Id], [t].[Id] +""", // - @"SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [b].[Id], [t].[Id] +""" +SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [b].[Id], [t].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -1547,9 +1740,11 @@ LEFT JOIN ( FROM [BaseReferencesOnBase] AS [b0] ) AS [t] ON [b].[Id] = [t].[BaseParentId] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [b].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id], [t].[Id]", +ORDER BY [b].[Id], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator], [b].[Id], [t].[Id] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator], [b].[Id], [t].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] LEFT JOIN ( @@ -1563,7 +1758,8 @@ END AS [Discriminator] FROM [NestedCollections] AS [n] LEFT JOIN [NestedCollectionsDerived] AS [n0] ON [n].[Id] = [n0].[Id] ) AS [t0] ON [t].[Id] = [t0].[ParentReferenceId] -ORDER BY [b].[Id], [t].[Id]"); +ORDER BY [b].[Id], [t].[Id] +"""); } public override async Task Nested_include_with_inheritance_reference_collection_reverse_split(bool async) @@ -1571,7 +1767,8 @@ public override async Task Nested_include_with_inheritance_reference_collection_ await base.Nested_include_with_inheritance_reference_collection_reverse_split(async); AssertSql( - @"SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE +""" +SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE WHEN [n0].[Id] IS NOT NULL THEN N'NestedCollectionDerived' END AS [Discriminator], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [t0].[OwnedReferenceOnBase_Id], [t0].[OwnedReferenceOnBase_Name], [t0].[Id0], [t0].[OwnedReferenceOnDerived_Id], [t0].[OwnedReferenceOnDerived_Name] FROM [NestedCollections] AS [n] @@ -1590,9 +1787,11 @@ WHEN [d0].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' FROM [BaseEntities] AS [b0] LEFT JOIN [DerivedEntities] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] -ORDER BY [n].[Id], [t].[Id], [t0].[Id]", - // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [t].[Id], [t0].[Id] +ORDER BY [n].[Id], [t].[Id], [t0].[Id] +""", + // +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [t].[Id], [t0].[Id] FROM [NestedCollections] AS [n] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId] @@ -1603,9 +1802,11 @@ SELECT [b0].[Id] FROM [BaseEntities] AS [b0] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [t].[Id], [t0].[Id]", - // - @"SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [n].[Id], [t].[Id], [t0].[Id] +ORDER BY [n].[Id], [t].[Id], [t0].[Id] +""", + // +""" +SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [n].[Id], [t].[Id], [t0].[Id] FROM [NestedCollections] AS [n] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId] @@ -1616,7 +1817,8 @@ SELECT [b0].[Id] FROM [BaseEntities] AS [b0] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t0].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [n].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_reference_split(bool async) @@ -1624,24 +1826,31 @@ public override async Task Nested_include_with_inheritance_collection_reference_ await base.Nested_include_with_inheritance_collection_reference_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] LEFT JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t0].[Id0], [t0].[Name0], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator0] AS [Discriminator], [b].[Id] +""" +SELECT [t0].[Id], [t0].[BaseParentId], [t0].[Name], [t0].[DerivedProperty], [t0].[Discriminator], [t0].[Id0], [t0].[Name0], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator0] AS [Discriminator], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN ( SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Name], [d0].[DerivedProperty], CASE @@ -1657,7 +1866,8 @@ FROM [NestedReferences] AS [n] LEFT JOIN [NestedReferencesDerived] AS [n0] ON [n].[Id] = [n0].[Id] ) AS [t] ON [b0].[Id] = [t].[ParentCollectionId] ) AS [t0] ON [b].[Id] = [t0].[BaseParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_reference_reverse_split(bool async) @@ -1665,7 +1875,8 @@ public override async Task Nested_include_with_inheritance_collection_reference_ await base.Nested_include_with_inheritance_collection_reference_reverse_split(async); AssertSql( - @"SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE +""" +SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE WHEN [n0].[Id] IS NOT NULL THEN N'NestedReferenceDerived' END AS [Discriminator], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [t0].[OwnedReferenceOnBase_Id], [t0].[OwnedReferenceOnBase_Name], [t0].[Id0], [t0].[OwnedReferenceOnDerived_Id], [t0].[OwnedReferenceOnDerived_Name] FROM [NestedReferences] AS [n] @@ -1684,9 +1895,11 @@ WHEN [d0].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' FROM [BaseEntities] AS [b0] LEFT JOIN [DerivedEntities] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] -ORDER BY [n].[Id], [t].[Id], [t0].[Id]", - // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [t].[Id], [t0].[Id] +ORDER BY [n].[Id], [t].[Id], [t0].[Id] +""", + // +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [t].[Id], [t0].[Id] FROM [NestedReferences] AS [n] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId] @@ -1697,9 +1910,11 @@ SELECT [b0].[Id] FROM [BaseEntities] AS [b0] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [t].[Id], [t0].[Id]", - // - @"SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [n].[Id], [t].[Id], [t0].[Id] +ORDER BY [n].[Id], [t].[Id], [t0].[Id] +""", + // +""" +SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [n].[Id], [t].[Id], [t0].[Id] FROM [NestedReferences] AS [n] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId] @@ -1710,7 +1925,8 @@ SELECT [b0].[Id] FROM [BaseEntities] AS [b0] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t0].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [n].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection_split(bool async) @@ -1718,24 +1934,31 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] LEFT JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [b].[Id] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN ( SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Name], [d0].[DerivedProperty], CASE @@ -1744,9 +1967,11 @@ END AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b0] LEFT JOIN [DerivedCollectionsOnBase] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id], [t].[Id]", +ORDER BY [b].[Id], [t].[Id] +""", // - @"SELECT [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator], [b].[Id], [t].[Id] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[ParentCollectionId], [t0].[ParentReferenceId], [t0].[Discriminator], [b].[Id], [t].[Id] FROM [BaseEntities] AS [b] INNER JOIN ( SELECT [b0].[Id], [b0].[BaseParentId] @@ -1759,7 +1984,8 @@ END AS [Discriminator] FROM [NestedCollections] AS [n] LEFT JOIN [NestedCollectionsDerived] AS [n0] ON [n].[Id] = [n0].[Id] ) AS [t0] ON [t].[Id] = [t0].[ParentCollectionId] -ORDER BY [b].[Id], [t].[Id]"); +ORDER BY [b].[Id], [t].[Id] +"""); } public override async Task Nested_include_with_inheritance_collection_collection_reverse_split(bool async) @@ -1767,7 +1993,8 @@ public override async Task Nested_include_with_inheritance_collection_collection await base.Nested_include_with_inheritance_collection_collection_reverse_split(async); AssertSql( - @"SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE +""" +SELECT [n].[Id], [n].[Name], [n].[ParentCollectionId], [n].[ParentReferenceId], CASE WHEN [n0].[Id] IS NOT NULL THEN N'NestedCollectionDerived' END AS [Discriminator], [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [t0].[Id], [t0].[Name], [t0].[BaseId], [t0].[Discriminator], [t0].[OwnedReferenceOnBase_Id], [t0].[OwnedReferenceOnBase_Name], [t0].[Id0], [t0].[OwnedReferenceOnDerived_Id], [t0].[OwnedReferenceOnDerived_Name] FROM [NestedCollections] AS [n] @@ -1786,9 +2013,11 @@ WHEN [d0].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' FROM [BaseEntities] AS [b0] LEFT JOIN [DerivedEntities] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] -ORDER BY [n].[Id], [t].[Id], [t0].[Id]", - // - @"SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [t].[Id], [t0].[Id] +ORDER BY [n].[Id], [t].[Id], [t0].[Id] +""", + // +""" +SELECT [b1].[BaseInheritanceRelationshipEntityId], [b1].[Id], [b1].[Name], [n].[Id], [t].[Id], [t0].[Id] FROM [NestedCollections] AS [n] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId] @@ -1799,9 +2028,11 @@ SELECT [b0].[Id] FROM [BaseEntities] AS [b0] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b1] ON [t0].[Id] = [b1].[BaseInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [t].[Id], [t0].[Id]", - // - @"SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [n].[Id], [t].[Id], [t0].[Id] +ORDER BY [n].[Id], [t].[Id], [t0].[Id] +""", + // +""" +SELECT [d1].[DerivedInheritanceRelationshipEntityId], [d1].[Id], [d1].[Name], [n].[Id], [t].[Id], [t0].[Id] FROM [NestedCollections] AS [n] LEFT JOIN ( SELECT [b].[Id], [b].[BaseParentId] @@ -1812,7 +2043,8 @@ SELECT [b0].[Id] FROM [BaseEntities] AS [b0] ) AS [t0] ON [t].[BaseParentId] = [t0].[Id] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d1] ON [t0].[Id] = [d1].[DerivedInheritanceRelationshipEntityId] -ORDER BY [n].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [n].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Nested_include_collection_reference_on_non_entity_base_split(bool async) @@ -1820,18 +2052,22 @@ public override async Task Nested_include_collection_reference_on_non_entity_bas await base.Nested_include_collection_reference_on_non_entity_base_split(async); AssertSql( - @"SELECT [r].[Id], [r].[Name] +""" +SELECT [r].[Id], [r].[Name] FROM [ReferencedEntities] AS [r] -ORDER BY [r].[Id]", +ORDER BY [r].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0], [r].[Id] +""" +SELECT [t].[Id], [t].[Name], [t].[ReferenceId], [t].[ReferencedEntityId], [t].[Id0], [t].[Name0], [r].[Id] FROM [ReferencedEntities] AS [r] INNER JOIN ( SELECT [p].[Id], [p].[Name], [p].[ReferenceId], [p].[ReferencedEntityId], [r0].[Id] AS [Id0], [r0].[Name] AS [Name0] FROM [PrincipalEntities] AS [p] LEFT JOIN [ReferencedEntities] AS [r0] ON [p].[ReferenceId] = [r0].[Id] ) AS [t] ON [r].[Id] = [t].[ReferencedEntityId] -ORDER BY [r].[Id]"); +ORDER BY [r].[Id] +"""); } public override async Task Collection_projection_on_base_type_split(bool async) @@ -1839,11 +2075,14 @@ public override async Task Collection_projection_on_base_type_split(bool async) await base.Collection_projection_on_base_type_split(async); AssertSql( - @"SELECT [b].[Id] +""" +SELECT [b].[Id] FROM [BaseEntities] AS [b] -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [b].[Id] +""" +SELECT [t].[Id], [t].[BaseParentId], [t].[Name], [t].[DerivedProperty], [t].[Discriminator], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN ( SELECT [b0].[Id], [b0].[BaseParentId], [b0].[Name], [d0].[DerivedProperty], CASE @@ -1852,7 +2091,8 @@ END AS [Discriminator] FROM [BaseCollectionsOnBase] AS [b0] LEFT JOIN [DerivedCollectionsOnBase] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[BaseParentId] -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override async Task Include_on_derived_type_with_queryable_Cast_split(bool async) @@ -1860,27 +2100,34 @@ public override async Task Include_on_derived_type_with_queryable_Cast_split(boo await base.Include_on_derived_type_with_queryable_Cast_split(async); AssertSql( - @"SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE +""" +SELECT [b].[Id], [b].[Name], [d].[BaseId], CASE WHEN [d].[Id] IS NOT NULL THEN N'DerivedInheritanceRelationshipEntity' END AS [Discriminator], [b].[OwnedReferenceOnBase_Id], [b].[OwnedReferenceOnBase_Name], [d].[Id], [d].[OwnedReferenceOnDerived_Id], [d].[OwnedReferenceOnDerived_Name] FROM [BaseEntities] AS [b] LEFT JOIN [DerivedEntities] AS [d] ON [b].[Id] = [d].[Id] WHERE [b].[Id] >= 4 -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] +""" +SELECT [b0].[BaseInheritanceRelationshipEntityId], [b0].[Id], [b0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [BaseEntities_OwnedCollectionOnBase] AS [b0] ON [b].[Id] = [b0].[BaseInheritanceRelationshipEntityId] WHERE [b].[Id] >= 4 -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] +""" +SELECT [d0].[DerivedInheritanceRelationshipEntityId], [d0].[Id], [d0].[Name], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN [DerivedEntities_OwnedCollectionOnDerived] AS [d0] ON [b].[Id] = [d0].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Id] >= 4 -ORDER BY [b].[Id]", +ORDER BY [b].[Id] +""", // - @"SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [b].[Id] +""" +SELECT [t].[Id], [t].[Name], [t].[ParentId], [t].[DerivedInheritanceRelationshipEntityId], [b].[Id] FROM [BaseEntities] AS [b] INNER JOIN ( SELECT [b0].[Id], [b0].[Name], [b0].[ParentId], [d0].[DerivedInheritanceRelationshipEntityId] @@ -1888,7 +2135,8 @@ FROM [BaseCollectionsOnDerived] AS [b0] INNER JOIN [DerivedCollectionsOnDerived] AS [d0] ON [b0].[Id] = [d0].[Id] ) AS [t] ON [b].[Id] = [t].[DerivedInheritanceRelationshipEntityId] WHERE [b].[Id] >= 4 -ORDER BY [b].[Id]"); +ORDER BY [b].[Id] +"""); } public override void Entity_can_make_separate_relationships_with_base_type_and_derived_type_both() diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsQuerySqlServerTest.cs index 0ed7b5b5506..23a82d8e294 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsQuerySqlServerTest.cs @@ -49,14 +49,16 @@ public override async Task Multi_level_include_one_to_many_optional_and_one_to_m await base.Multi_level_include_one_to_many_optional_and_one_to_many_optional_produces_valid_sql(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_with_predicate_and_DefaultIfEmpty_projecting_root_collection_element_and_another_collection( @@ -65,7 +67,8 @@ public override async Task SelectMany_with_predicate_and_DefaultIfEmpty_projecti await base.SelectMany_with_predicate_and_DefaultIfEmpty_projecting_root_collection_element_and_another_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -73,7 +76,8 @@ OUTER APPLY ( WHERE [l0].[Level1_Required_Id] = ([l].[Id] * 2) OR CAST(LEN([l0].[Name]) AS int) = [l0].[Id] ) AS [t] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Filtered_include_and_non_filtered_include_on_same_navigation2(bool async) @@ -81,7 +85,8 @@ public override async Task Filtered_include_and_non_filtered_include_on_same_nav await base.Filtered_include_and_non_filtered_include_on_same_navigation2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -92,7 +97,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_methodcall(bool async) @@ -100,10 +106,12 @@ public override async Task Include_collection_with_multiple_orderbys_methodcall( await base.Include_collection_with_multiple_orderbys_methodcall(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY ABS([l].[Level1_Required_Id]), [l].[Name], [l].[Id]"); +ORDER BY ABS([l].[Level1_Required_Id]), [l].[Name], [l].[Id] +"""); } public override async Task Include_collection_multiple_with_filter(bool async) @@ -111,7 +119,8 @@ public override async Task Include_collection_multiple_with_filter(bool async) await base.Include_collection_multiple_with_filter(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l3].[Id] AS [Id0], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name] AS [Name0], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l3].[PeriodEnd] AS [PeriodEnd0], [l3].[PeriodStart] AS [PeriodStart0], [l4].[Id] AS [Id1], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name] AS [Name1], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id], [l4].[PeriodEnd] AS [PeriodEnd1], [l4].[PeriodStart] AS [PeriodStart1] @@ -124,7 +133,8 @@ SELECT COUNT(*) FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL))) > 0 -ORDER BY [l].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Filtered_include_after_reference_navigation(bool async) @@ -132,7 +142,8 @@ public override async Task Filtered_include_after_reference_navigation(bool asyn await base.Filtered_include_after_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -144,7 +155,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name] +"""); } public override async Task Skip_Take_on_grouping_element_into_non_entity(bool async) @@ -152,7 +164,8 @@ public override async Task Skip_Take_on_grouping_element_into_non_entity(bool as await base.Skip_Take_on_grouping_element_into_non_entity(async); AssertSql( - @"SELECT [t].[Date], [t0].[Name], [t0].[Id] +""" +SELECT [t].[Date], [t0].[Name], [t0].[Id] FROM ( SELECT [l].[Date] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -166,7 +179,8 @@ LEFT JOIN ( ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level( @@ -175,7 +189,8 @@ public override async Task Filtered_include_with_Take_without_order_by_followed_ await base.Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM ( SELECT TOP(1) [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -190,7 +205,8 @@ SELECT TOP(40) [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_R ) AS [t1] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(bool async) @@ -198,7 +214,8 @@ public override async Task Include_collection_ThenInclude_reference_followed_by_ await base.Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] @@ -210,7 +227,8 @@ LEFT JOIN ( FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l2].[Id] = [l3].[OneToOne_Optional_PK_Inverse3Id] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t0].[Id] +"""); } public override async Task SelectMany_with_Include_ThenInclude(bool async) @@ -218,12 +236,14 @@ public override async Task SelectMany_with_Include_ThenInclude(bool async) await base.SelectMany_with_Include_ThenInclude(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Filtered_include_on_ThenInclude(bool async) @@ -231,7 +251,8 @@ public override async Task Filtered_include_on_ThenInclude(bool async) await base.Filtered_include_on_ThenInclude(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -243,7 +264,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name] +"""); } public override async Task Complex_query_with_let_collection_projection_FirstOrDefault(bool async) @@ -251,7 +273,8 @@ public override async Task Complex_query_with_let_collection_projection_FirstOrD await base.Complex_query_with_let_collection_projection_FirstOrDefault(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t1].[Name], [t1].[Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t1].[Name], [t1].[Id], [t0].[c] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToMany_Optional_Inverse2Id] @@ -270,7 +293,8 @@ SELECT 1 FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] WHERE [l1].[Id] = [l2].[OneToMany_Optional_Inverse2Id] AND [l2].[Id] = [t0].[Id]) ) AS [t1] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Skip_Take_ToList_on_grouping_element(bool async) @@ -278,7 +302,8 @@ public override async Task Skip_Take_ToList_on_grouping_element(bool async) await base.Skip_Take_ToList_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT [l].[Date] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -292,7 +317,8 @@ LEFT JOIN ( ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task SelectMany_with_navigation_and_Distinct_projecting_columns_including_join_key(bool async) @@ -300,14 +326,16 @@ public override async Task SelectMany_with_navigation_and_Distinct_projecting_co await base.SelectMany_with_navigation_and_Distinct_projecting_columns_including_join_key(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id] AS [FK] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ) AS [t] ON [l].[Id] = [t].[FK] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(bool async) @@ -315,7 +343,8 @@ public override async Task Filtered_include_same_filter_set_on_same_navigation_t await base.Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Id1], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0], [t0].[PeriodEnd1], [t0].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Id1], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0], [t0].[PeriodEnd1], [t0].[PeriodStart1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [l0].[Id] AS [Id0], [l1].[Id] AS [Id1], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0], [l0].[Level2_Optional_Id] AS [Level2_Optional_Id0], [l0].[Level2_Required_Id] AS [Level2_Required_Id0], [l0].[Name] AS [Name1], [l0].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [l0].[OneToMany_Optional_Self_Inverse3Id] AS [OneToMany_Optional_Self_Inverse3Id0], [l0].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [l0].[OneToMany_Required_Self_Inverse3Id] AS [OneToMany_Required_Self_Inverse3Id0], [l0].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [l0].[OneToOne_Optional_Self3Id] AS [OneToOne_Optional_Self3Id0], [l0].[PeriodEnd] AS [PeriodEnd1], [l0].[PeriodStart] AS [PeriodStart1] @@ -328,7 +357,8 @@ ORDER BY [l2].[Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t].[Id] = [l0].[Level2_Required_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [t].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t0] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -336,13 +366,15 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] ORDER BY CASE WHEN ([l].[Name] IS NOT NULL) AND ([l].[Name] LIKE N'%03') THEN 1 ELSE 2 -END, [l].[Id]"); +END, [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_member(bool async) @@ -350,10 +382,12 @@ public override async Task Include_collection_with_multiple_orderbys_member(bool await base.Include_collection_with_multiple_orderbys_member(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Level1_Required_Id], [l].[Id]"); +ORDER BY [l].[Name], [l].[Level1_Required_Id], [l].[Id] +"""); } public override async Task Project_collection_and_root_entity(bool async) @@ -361,10 +395,12 @@ public override async Task Project_collection_and_root_entity(bool async) await base.Project_collection_and_root_entity(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip(bool async) @@ -372,7 +408,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip(bool async) await base.Filtered_include_basic_OrderBy_Skip(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -382,7 +419,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Include_collection_with_groupby_in_subquery_and_filter_after_groupby(bool async) @@ -390,7 +428,8 @@ public override async Task Include_collection_with_groupby_in_subquery_and_filte await base.Include_collection_with_groupby_in_subquery_and_filter_after_groupby(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM ( SELECT [l].[Name] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -406,7 +445,8 @@ LEFT JOIN ( WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Select_subquery_single_nested_subquery2(bool async) @@ -414,7 +454,8 @@ public override async Task Select_subquery_single_nested_subquery2(bool async) await base.Select_subquery_single_nested_subquery2(async); AssertSql( - @"SELECT [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id1], [t1].[c] +""" +SELECT [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id1], [t1].[c] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [t0].[Id] AS [Id0], [l1].[Id] AS [Id1], [t0].[c], [l0].[OneToMany_Optional_Inverse2Id] @@ -429,7 +470,8 @@ LEFT JOIN ( ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse4Id] ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id1]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id1] +"""); } public override async Task Filtered_include_OrderBy(bool async) @@ -437,10 +479,12 @@ public override async Task Filtered_include_OrderBy(bool async) await base.Filtered_include_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Name]"); +ORDER BY [l].[Id], [l0].[Name] +"""); } public override async Task Multiple_complex_include_select(bool async) @@ -448,7 +492,8 @@ public override async Task Multiple_complex_include_select(bool async) await base.Multiple_complex_include_select(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] @@ -457,7 +502,8 @@ LEFT JOIN ( FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l2].[Id] = [l3].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Filtered_ThenInclude_OrderBy(bool async) @@ -465,14 +511,16 @@ public override async Task Filtered_ThenInclude_OrderBy(bool async) await base.Filtered_ThenInclude_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Name0]"); +ORDER BY [l].[Id], [t].[Id], [t].[Name0] +"""); } public override async Task Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(bool async) @@ -480,7 +528,8 @@ public override async Task Filtered_include_Skip_Take_with_another_Skip_Take_on_ await base.Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] @@ -501,7 +550,8 @@ OFFSET 2 ROWS FETCH NEXT 4 ROWS ONLY ) AS [t1] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id] DESC, [t0].[Name] DESC, [t0].[Id]"); +ORDER BY [t].[Id] DESC, [t0].[Name] DESC, [t0].[Id] +"""); } public override async Task Null_check_in_Dto_projection_should_not_be_removed(bool async) @@ -509,7 +559,8 @@ public override async Task Null_check_in_Dto_projection_should_not_be_removed(bo await base.Null_check_in_Dto_projection_should_not_be_removed(async); AssertSql( - @"SELECT [l].[Id], [t].[c], [t].[Name], [t].[Id], [t].[Id0] +""" +SELECT [l].[Id], [t].[c], [t].[Name], [t].[Id], [t].[Id0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT CASE @@ -519,7 +570,8 @@ ELSE CAST(0 AS bit) FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_partially_added_before_Where_and_then_build_upon(bool async) @@ -527,7 +579,8 @@ public override async Task Include_partially_added_before_Where_and_then_build_u await base.Include_partially_added_before_Where_and_then_build_upon(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l0].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l0].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] @@ -537,7 +590,8 @@ LEFT JOIN ( LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l2].[Id] = [l3].[Level3_Optional_Id] ) AS [t] ON [l1].[Id] = [t].[OneToMany_Optional_Inverse3Id] WHERE [l0].[Id] < 3 OR [l1].[Id] > 8 -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(bool async) @@ -545,7 +599,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging_joins_ await base.Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l3].[Id], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l3].[PeriodEnd], [l3].[PeriodStart] @@ -559,7 +614,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [t].[Id] = [l1].[Level1_Required_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l1].[Id] = [l3].[OneToMany_Required_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_property(bool async) @@ -567,10 +623,12 @@ public override async Task Include_collection_with_multiple_orderbys_property(bo await base.Include_collection_with_multiple_orderbys_property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Level1_Required_Id], [l].[Name], [l].[Id]"); +ORDER BY [l].[Level1_Required_Id], [l].[Name], [l].[Id] +"""); } public override async Task Multiple_complex_includes(bool async) @@ -578,7 +636,8 @@ public override async Task Multiple_complex_includes(bool async) await base.Multiple_complex_includes(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] @@ -587,7 +646,8 @@ LEFT JOIN ( FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l2].[Id] = [l3].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Skip_Take_on_grouping_element_with_reference_include(bool async) @@ -595,7 +655,8 @@ public override async Task Skip_Take_on_grouping_element_with_reference_include( await base.Skip_Take_on_grouping_element_with_reference_include(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM ( SELECT [l].[Date] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -612,7 +673,8 @@ OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t1].[Id] = [l0].[Level1_Optional_Id] ) AS [t0] -ORDER BY [t].[Date], [t0].[Name], [t0].[Id]"); +ORDER BY [t].[Date], [t0].[Name], [t0].[Id] +"""); } public override async Task Skip_Take_on_grouping_element_with_collection_include(bool async) @@ -620,7 +682,8 @@ public override async Task Skip_Take_on_grouping_element_with_collection_include await base.Skip_Take_on_grouping_element_with_collection_include(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Date0], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM ( SELECT [l].[Date] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -637,7 +700,8 @@ OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t1].[Id] = [l0].[OneToMany_Optional_Inverse2Id] ) AS [t0] -ORDER BY [t].[Date], [t0].[Name], [t0].[Id]"); +ORDER BY [t].[Date], [t0].[Name], [t0].[Id] +"""); } public override async Task Multiple_include_with_multiple_optional_navigations(bool async) @@ -645,7 +709,8 @@ public override async Task Multiple_include_with_multiple_optional_navigations(b await base.Multiple_include_with_multiple_optional_navigations(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id], [l5].[Id], [l5].[Level2_Optional_Id], [l5].[Level2_Required_Id], [l5].[Name], [l5].[OneToMany_Optional_Inverse3Id], [l5].[OneToMany_Optional_Self_Inverse3Id], [l5].[OneToMany_Required_Inverse3Id], [l5].[OneToMany_Required_Self_Inverse3Id], [l5].[OneToOne_Optional_PK_Inverse3Id], [l5].[OneToOne_Optional_Self3Id], [l5].[PeriodEnd], [l5].[PeriodStart], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id], [l3].[PeriodEnd], [l3].[PeriodStart], [l4].[Level2_Optional_Id], [l4].[Level2_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse3Id], [l4].[OneToMany_Optional_Self_Inverse3Id], [l4].[OneToMany_Required_Inverse3Id], [l4].[OneToMany_Required_Self_Inverse3Id], [l4].[OneToOne_Optional_PK_Inverse3Id], [l4].[OneToOne_Optional_Self3Id], [l4].[PeriodEnd], [l4].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id], [l5].[Id], [l5].[Level2_Optional_Id], [l5].[Level2_Required_Id], [l5].[Name], [l5].[OneToMany_Optional_Inverse3Id], [l5].[OneToMany_Optional_Self_Inverse3Id], [l5].[OneToMany_Required_Inverse3Id], [l5].[OneToMany_Required_Self_Inverse3Id], [l5].[OneToOne_Optional_PK_Inverse3Id], [l5].[OneToOne_Optional_Self3Id], [l5].[PeriodEnd], [l5].[PeriodStart], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l3].[Date], [l3].[Level1_Optional_Id], [l3].[Level1_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse2Id], [l3].[OneToMany_Optional_Self_Inverse2Id], [l3].[OneToMany_Required_Inverse2Id], [l3].[OneToMany_Required_Self_Inverse2Id], [l3].[OneToOne_Optional_PK_Inverse2Id], [l3].[OneToOne_Optional_Self2Id], [l3].[PeriodEnd], [l3].[PeriodStart], [l4].[Level2_Optional_Id], [l4].[Level2_Required_Id], [l4].[Name], [l4].[OneToMany_Optional_Inverse3Id], [l4].[OneToMany_Optional_Self_Inverse3Id], [l4].[OneToMany_Required_Inverse3Id], [l4].[OneToMany_Required_Self_Inverse3Id], [l4].[OneToOne_Optional_PK_Inverse3Id], [l4].[OneToOne_Optional_Self3Id], [l4].[PeriodEnd], [l4].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] @@ -654,7 +719,8 @@ public override async Task Multiple_include_with_multiple_optional_navigations(b LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l4] ON [l3].[Id] = [l4].[Level2_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l5] ON [l0].[Id] = [l5].[OneToMany_Optional_Inverse3Id] WHERE [l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL) -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [l3].[Id], [l4].[Id] +"""); } public override async Task Skip_Take_Distinct_on_grouping_element(bool async) @@ -662,7 +728,8 @@ public override async Task Skip_Take_Distinct_on_grouping_element(bool async) await base.Skip_Take_Distinct_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT [l].[Date] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -678,7 +745,8 @@ ORDER BY [l0].[Name] OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] ) AS [t0] -ORDER BY [t].[Date]"); +ORDER BY [t].[Date] +"""); } public override async Task Include_collection_with_groupby_in_subquery_and_filter_before_groupby(bool async) @@ -686,7 +754,8 @@ public override async Task Include_collection_with_groupby_in_subquery_and_filte await base.Include_collection_with_groupby_in_subquery_and_filter_before_groupby(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM ( SELECT [l].[Name] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -703,7 +772,8 @@ WHERE [l0].[Id] > 3 WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Include_collection_followed_by_projecting_the_included_collection(bool async) @@ -711,10 +781,12 @@ public override async Task Include_collection_followed_by_projecting_the_include await base.Include_collection_followed_by_projecting_the_included_collection(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_context_accessed_inside_filter_correlated(bool async) @@ -722,7 +794,8 @@ public override async Task Filtered_include_context_accessed_inside_filter_corre await base.Filtered_include_context_accessed_inside_filter_correlated(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -736,7 +809,8 @@ SELECT COUNT(*) ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Required_navigation_with_Include(bool async) @@ -744,10 +818,12 @@ public override async Task Required_navigation_with_Include(bool async) await base.Required_navigation_with_Include(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Level2_Required_Id] = [l0].[Id] -INNER JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[OneToMany_Required_Inverse2Id] = [l1].[Id]"); +INNER JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[OneToMany_Required_Inverse2Id] = [l1].[Id] +"""); } public override async Task Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(bool async) @@ -755,7 +831,8 @@ public override async Task Include_collection_followed_by_complex_includes_and_p await base.Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [t].[PeriodEnd2], [t].[PeriodStart2], [t].[Id3], [t].[Level3_Optional_Id0], [t].[Level3_Required_Id0], [t].[Name3], [t].[OneToMany_Optional_Inverse4Id0], [t].[OneToMany_Optional_Self_Inverse4Id0], [t].[OneToMany_Required_Inverse4Id0], [t].[OneToMany_Required_Self_Inverse4Id0], [t].[OneToOne_Optional_PK_Inverse4Id0], [t].[OneToOne_Optional_Self4Id0], [t].[PeriodEnd3], [t].[PeriodStart3] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [t].[PeriodEnd2], [t].[PeriodStart2], [t].[Id3], [t].[Level3_Optional_Id0], [t].[Level3_Required_Id0], [t].[Name3], [t].[OneToMany_Optional_Inverse4Id0], [t].[OneToMany_Optional_Self_Inverse4Id0], [t].[OneToMany_Required_Inverse4Id0], [t].[OneToMany_Required_Self_Inverse4Id0], [t].[OneToOne_Optional_PK_Inverse4Id0], [t].[OneToOne_Optional_Self4Id0], [t].[PeriodEnd3], [t].[PeriodStart3] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd] AS [PeriodEnd1], [l2].[PeriodStart] AS [PeriodStart1], [l3].[Id] AS [Id2], [l3].[Level2_Optional_Id] AS [Level2_Optional_Id0], [l3].[Level2_Required_Id] AS [Level2_Required_Id0], [l3].[Name] AS [Name2], [l3].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [l3].[OneToMany_Optional_Self_Inverse3Id] AS [OneToMany_Optional_Self_Inverse3Id0], [l3].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [l3].[OneToMany_Required_Self_Inverse3Id] AS [OneToMany_Required_Self_Inverse3Id0], [l3].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [l3].[OneToOne_Optional_Self3Id] AS [OneToOne_Optional_Self3Id0], [l3].[PeriodEnd] AS [PeriodEnd2], [l3].[PeriodStart] AS [PeriodStart2], [l4].[Id] AS [Id3], [l4].[Level3_Optional_Id] AS [Level3_Optional_Id0], [l4].[Level3_Required_Id] AS [Level3_Required_Id0], [l4].[Name] AS [Name3], [l4].[OneToMany_Optional_Inverse4Id] AS [OneToMany_Optional_Inverse4Id0], [l4].[OneToMany_Optional_Self_Inverse4Id] AS [OneToMany_Optional_Self_Inverse4Id0], [l4].[OneToMany_Required_Inverse4Id] AS [OneToMany_Required_Inverse4Id0], [l4].[OneToMany_Required_Self_Inverse4Id] AS [OneToMany_Required_Self_Inverse4Id0], [l4].[OneToOne_Optional_PK_Inverse4Id] AS [OneToOne_Optional_PK_Inverse4Id0], [l4].[OneToOne_Optional_Self4Id] AS [OneToOne_Optional_Self4Id0], [l4].[PeriodEnd] AS [PeriodEnd3], [l4].[PeriodStart] AS [PeriodStart3] @@ -765,7 +842,8 @@ LEFT JOIN ( LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l0].[Id] = [l3].[Level2_Optional_Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l4] ON [l3].[Id] = [l4].[OneToMany_Optional_Inverse4Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] +"""); } public override async Task Filtered_include_variable_used_inside_filter(bool async) @@ -773,7 +851,8 @@ public override async Task Filtered_include_variable_used_inside_filter(bool asy await base.Filtered_include_variable_used_inside_filter(async); AssertSql( - @"@__prm_0='Foo' (Size = 4000) +""" +@__prm_0='Foo' (Size = 4000) SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -786,7 +865,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Multiple_optional_navigation_with_string_based_Include(bool async) @@ -794,12 +874,14 @@ public override async Task Multiple_optional_navigation_with_string_based_Includ await base.Multiple_optional_navigation_with_string_based_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Include_after_SelectMany(bool async) @@ -807,11 +889,13 @@ public override async Task Include_after_SelectMany(bool async) await base.Include_after_SelectMany(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Optional_navigation_with_Include_and_order(bool async) @@ -819,11 +903,13 @@ public override async Task Optional_navigation_with_Include_and_order(bool async await base.Optional_navigation_with_Include_and_order(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_DefaultIfEmpty_multiple_times_with_joins_projecting_a_collection(bool async) @@ -831,7 +917,8 @@ public override async Task SelectMany_DefaultIfEmpty_multiple_times_with_joins_p await base.SelectMany_DefaultIfEmpty_multiple_times_with_joins_projecting_a_collection(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [l14].[Name] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [l14].[Name] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -860,7 +947,8 @@ LEFT JOIN ( WHERE [l15].[Id] <> 42 ) AS [t1] ON [t].[Id2] = [t1].[OneToMany_Optional_Self_Inverse2Id] WHERE [l11].[Name] <> N'Foo' OR ([l11].[Name] IS NULL) -ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id]"); +ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id] +"""); } public override async Task Include_nested_with_optional_navigation(bool async) @@ -868,7 +956,8 @@ public override async Task Include_nested_with_optional_navigation(bool async) await base.Include_nested_with_optional_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -877,7 +966,8 @@ LEFT JOIN ( LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] ) AS [t] ON [l0].[Id] = [t].[OneToMany_Required_Inverse3Id] WHERE [l0].[Name] <> N'L2 09' OR ([l0].[Name] IS NULL) -ORDER BY [l].[Id], [l0].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [t].[Id] +"""); } public override async Task Project_collection_navigation_composed(bool async) @@ -885,7 +975,8 @@ public override async Task Project_collection_navigation_composed(bool async) await base.Project_collection_navigation_composed(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -893,7 +984,8 @@ LEFT JOIN ( WHERE [l0].[Name] <> N'Foo' OR ([l0].[Name] IS NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] WHERE [l].[Id] < 3 -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(bool async) @@ -901,7 +993,8 @@ public override async Task Include_partially_added_before_Where_and_then_build_u await base.Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l0].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l0].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToOne_Optional_PK_Inverse2Id] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l].[Id] = [l1].[Level1_Optional_Id] @@ -919,7 +1012,8 @@ LEFT JOIN ( LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l4] ON [l3].[Id] = [l4].[Level3_Optional_Id] ) AS [t1] ON [l1].[Id] = [t1].[OneToMany_Required_Inverse3Id] WHERE [l0].[Id] < 3 OR [l1].[Id] > 8 -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Required_navigation_with_Include_ThenInclude(bool async) @@ -927,11 +1021,13 @@ public override async Task Required_navigation_with_Include_ThenInclude(bool asy await base.Required_navigation_with_Include_ThenInclude(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id], [l2].[Date], [l2].[Name], [l2].[OneToMany_Optional_Self_Inverse1Id], [l2].[OneToMany_Required_Self_Inverse1Id], [l2].[OneToOne_Optional_Self1Id], [l2].[PeriodEnd], [l2].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id], [l2].[Date], [l2].[Name], [l2].[OneToMany_Optional_Self_Inverse1Id], [l2].[OneToMany_Required_Self_Inverse1Id], [l2].[OneToOne_Optional_Self1Id], [l2].[PeriodEnd], [l2].[PeriodStart] FROM [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Level3_Required_Id] = [l0].[Id] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[OneToMany_Required_Inverse3Id] = [l1].[Id] -LEFT JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[OneToMany_Optional_Inverse2Id] = [l2].[Id]"); +LEFT JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[OneToMany_Optional_Inverse2Id] = [l2].[Id] +"""); } public override async Task Project_collection_navigation_using_ef_property(bool async) @@ -939,11 +1035,13 @@ public override async Task Project_collection_navigation_using_ef_property(bool await base.Project_collection_navigation_using_ef_property(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Take_Select_collection_Take(bool async) @@ -951,7 +1049,8 @@ public override async Task Take_Select_collection_Take(bool async) await base.Take_Select_collection_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Name], [t0].[Id], [t0].[Name], [t0].[Level1Id], [t0].[Level2Id], [t0].[Id0], [t0].[Date], [t0].[Name0], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( @@ -969,7 +1068,8 @@ ORDER BY [l1].[Id] ) AS [t1] INNER JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t1].[Level1_Required_Id] = [l0].[Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging(bool async) @@ -977,7 +1077,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging(bool a await base.Complex_multi_include_with_order_by_and_paging(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l2].[PeriodEnd], [l2].[PeriodStart] @@ -990,7 +1091,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l0].[Id] = [l2].[OneToMany_Required_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery(bool async) @@ -998,7 +1100,8 @@ public override async Task Include_collection_with_groupby_in_subquery(bool asyn await base.Include_collection_with_groupby_in_subquery(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM ( SELECT [l].[Name] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -1013,7 +1116,8 @@ LEFT JOIN ( WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Name] = [t0].[Name] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Filtered_include_ThenInclude_OrderBy(bool async) @@ -1021,14 +1125,16 @@ public override async Task Filtered_include_ThenInclude_OrderBy(bool async) await base.Filtered_include_ThenInclude_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Name], [t].[Id], [t].[Name0] DESC"); +ORDER BY [l].[Id], [t].[Name], [t].[Id], [t].[Name0] DESC +"""); } public override async Task Project_collection_navigation_nested(bool async) @@ -1036,11 +1142,13 @@ public override async Task Project_collection_navigation_nested(bool async) await base.Project_collection_navigation_nested(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Filtered_include_after_different_filtered_include_different_level(bool async) @@ -1048,7 +1156,8 @@ public override async Task Filtered_include_after_different_filtered_include_dif await base.Filtered_include_after_different_filtered_include_different_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Optional_Self_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToMany_Required_Self_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[OneToOne_Optional_Self2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Name0], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Optional_Self_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToMany_Required_Self_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[OneToOne_Optional_Self3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Optional_Self_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToMany_Required_Self_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[OneToOne_Optional_Self2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Name0], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Optional_Self_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToMany_Required_Self_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[OneToOne_Optional_Self3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name] AS [Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd] AS [PeriodEnd0], [t0].[PeriodStart] AS [PeriodStart0] @@ -1068,7 +1177,8 @@ LEFT JOIN ( WHERE 1 < [t1].[row] ) AS [t0] ON [t].[Id] = [t0].[OneToMany_Required_Inverse3Id] ) AS [t2] -ORDER BY [l].[Id], [t2].[Name], [t2].[Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[Name0] DESC"); +ORDER BY [l].[Id], [t2].[Name], [t2].[Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[Name0] DESC +"""); } public override async Task Null_check_in_anonymous_type_projection_should_not_be_removed(bool async) @@ -1076,7 +1186,8 @@ public override async Task Null_check_in_anonymous_type_projection_should_not_be await base.Null_check_in_anonymous_type_projection_should_not_be_removed(async); AssertSql( - @"SELECT [l].[Id], [t].[c], [t].[Name], [t].[Id], [t].[Id0] +""" +SELECT [l].[Id], [t].[c], [t].[Name], [t].[Id], [t].[Id0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT CASE @@ -1086,7 +1197,8 @@ ELSE CAST(0 AS bit) FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Complex_query_with_let_collection_projection_FirstOrDefault_with_ToList_on_inner_and_outer(bool async) @@ -1094,7 +1206,8 @@ public override async Task Complex_query_with_let_collection_projection_FirstOrD await base.Complex_query_with_let_collection_projection_FirstOrDefault_with_ToList_on_inner_and_outer(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[Name], [t0].[Id], [t].[c] +""" +SELECT [l].[Id], [t].[Id], [t0].[Name], [t0].[Id], [t].[c] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT TOP(1) 1 AS [c], [l0].[Id] @@ -1109,7 +1222,8 @@ SELECT 1 FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] WHERE [l1].[Id] = [l2].[OneToMany_Optional_Inverse2Id] AND [l2].[Id] = [t].[Id]) ) AS [t0] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Skip_on_grouping_element(bool async) @@ -1117,7 +1231,8 @@ public override async Task Skip_on_grouping_element(bool async) await base.Skip_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT [l].[Date] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -1131,7 +1246,8 @@ LEFT JOIN ( ) AS [t1] WHERE 1 < [t1].[row] ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Filtered_include_Take_without_OrderBy(bool async) @@ -1139,7 +1255,8 @@ public override async Task Filtered_include_Take_without_OrderBy(bool async) await base.Filtered_include_Take_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -1149,7 +1266,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_after_SelectMany_and_multiple_reference_navigations(bool async) @@ -1157,13 +1275,15 @@ public override async Task Include_after_SelectMany_and_multiple_reference_navig await base.Include_after_SelectMany_and_multiple_reference_navigations(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l].[Id], [l0].[Id], [l1].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l3].[PeriodEnd], [l3].[PeriodStart] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l].[Id], [l0].[Id], [l1].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l3].[PeriodEnd], [l3].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l2].[Id] = [l3].[OneToMany_Optional_Self_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Include_reference_ThenInclude_collection_order_by(bool async) @@ -1171,11 +1291,13 @@ public override async Task Include_reference_ThenInclude_collection_order_by(boo await base.Include_reference_ThenInclude_collection_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task FirstOrDefault_with_predicate_on_correlated_collection_in_projection(bool async) @@ -1183,7 +1305,8 @@ public override async Task FirstOrDefault_with_predicate_on_correlated_collectio await base.FirstOrDefault_with_predicate_on_correlated_collection_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -1192,7 +1315,8 @@ LEFT JOIN ( FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] AND [l].[Id] = [t0].[Id]"); +) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] AND [l].[Id] = [t0].[Id] +"""); } public override async Task SelectMany_with_Include_and_order_by(bool async) @@ -1200,11 +1324,13 @@ public override async Task SelectMany_with_Include_and_order_by(bool async) await base.SelectMany_with_Include_and_order_by(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(bool async) @@ -1212,12 +1338,14 @@ public override async Task SelectMany_navigation_property_with_include_and_follo await base.SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l2].[PeriodEnd], [l2].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id], [l2].[Level2_Optional_Id], [l2].[Level2_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse3Id], [l2].[OneToMany_Optional_Self_Inverse3Id], [l2].[OneToMany_Required_Inverse3Id], [l2].[OneToMany_Required_Self_Inverse3Id], [l2].[OneToOne_Optional_PK_Inverse3Id], [l2].[OneToOne_Optional_Self3Id], [l2].[PeriodEnd], [l2].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Required_Inverse3Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(bool async) @@ -1225,7 +1353,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging_joins_ await base.Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart] @@ -1238,7 +1367,8 @@ OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [t].[Name], [t].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Project_navigation_and_collection(bool async) @@ -1246,11 +1376,13 @@ public override async Task Project_navigation_and_collection(bool async) await base.Project_navigation_and_collection(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Multiple_optional_navigation_with_Include(bool async) @@ -1258,12 +1390,14 @@ public override async Task Multiple_optional_navigation_with_Include(bool async) await base.Multiple_optional_navigation_with_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Project_collection_navigation_nested_with_take(bool async) @@ -1271,7 +1405,8 @@ public override async Task Project_collection_navigation_nested_with_take(bool a await base.Project_collection_navigation_nested_with_take(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l0].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -1282,7 +1417,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 50 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(bool async) @@ -1290,7 +1426,8 @@ public override async Task Filtered_include_and_non_filtered_include_followed_by await base.Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[PeriodEnd1], [t1].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[PeriodEnd1], [t1].[PeriodStart1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [l0].[Id] AS [Id0], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name] AS [Name0], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd] AS [PeriodEnd0], [l0].[PeriodStart] AS [PeriodStart0], [t0].[Id] AS [Id1], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Name] AS [Name1], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Optional_Self_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToMany_Required_Self_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[OneToOne_Optional_Self4Id], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1] @@ -1307,7 +1444,8 @@ LEFT JOIN ( WHERE [l2].[Id] > 1 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse4Id] ) AS [t1] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0] +"""); } public override async Task Filtered_include_basic_Where(bool async) @@ -1315,14 +1453,16 @@ public override async Task Filtered_include_basic_Where(bool async) await base.Filtered_include_basic_Where(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Projecting_collection_with_FirstOrDefault(bool async) @@ -1330,14 +1470,16 @@ public override async Task Projecting_collection_with_FirstOrDefault(bool async) await base.Projecting_collection_with_FirstOrDefault(async); AssertSql( - @"SELECT [t].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [t].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM ( SELECT TOP(1) [l].[Id] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Id] = 1 ) AS [t] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Filtered_include_complex_three_level_with_middle_having_filter2(bool async) @@ -1345,7 +1487,8 @@ public override async Task Filtered_include_complex_three_level_with_middle_havi await base.Filtered_include_complex_three_level_with_middle_having_filter2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id00], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[PeriodEnd00], [t1].[PeriodStart00], [t1].[Id1], [t1].[Level3_Optional_Id0], [t1].[Level3_Required_Id0], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id0], [t1].[OneToMany_Optional_Self_Inverse4Id0], [t1].[OneToMany_Required_Inverse4Id0], [t1].[OneToMany_Required_Self_Inverse4Id0], [t1].[OneToOne_Optional_PK_Inverse4Id0], [t1].[OneToOne_Optional_Self4Id0], [t1].[PeriodEnd1], [t1].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id00], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[PeriodEnd00], [t1].[PeriodStart00], [t1].[Id1], [t1].[Level3_Optional_Id0], [t1].[Level3_Required_Id0], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id0], [t1].[OneToMany_Optional_Self_Inverse4Id0], [t1].[OneToMany_Required_Inverse4Id0], [t1].[OneToMany_Required_Self_Inverse4Id0], [t1].[OneToOne_Optional_PK_Inverse4Id0], [t1].[OneToOne_Optional_Self4Id0], [t1].[PeriodEnd1], [t1].[PeriodStart1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name] AS [Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd] AS [PeriodEnd0], [t0].[PeriodStart] AS [PeriodStart0], [t0].[Id0] AS [Id00], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Name0] AS [Name00], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Optional_Self_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToMany_Required_Self_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[OneToOne_Optional_Self4Id], [t0].[PeriodEnd0] AS [PeriodEnd00], [t0].[PeriodStart0] AS [PeriodStart00], [t0].[Id1], [t0].[Level3_Optional_Id0], [t0].[Level3_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse4Id0], [t0].[OneToMany_Optional_Self_Inverse4Id0], [t0].[OneToMany_Required_Inverse4Id0], [t0].[OneToMany_Required_Self_Inverse4Id0], [t0].[OneToOne_Optional_PK_Inverse4Id0], [t0].[OneToOne_Optional_Self4Id0], [t0].[PeriodEnd1], [t0].[PeriodStart1] @@ -1362,7 +1505,8 @@ ORDER BY [l3].[Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [t].[Id] = [l2].[OneToMany_Required_Inverse4Id] ) AS [t0] ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id00]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id00] +"""); } public override async Task Include_inside_subquery(bool async) @@ -1370,7 +1514,8 @@ public override async Task Include_inside_subquery(bool async) await base.Include_inside_subquery(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] @@ -1379,7 +1524,8 @@ OUTER APPLY ( WHERE [l0].[Id] > 0 ) AS [t] WHERE [l].[Id] < 3 -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(bool async) @@ -1387,14 +1533,16 @@ public override async Task Include_and_ThenInclude_collections_followed_by_proje await base.Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Filtered_include_Take_with_another_Take_on_top_level(bool async) @@ -1402,7 +1550,8 @@ public override async Task Filtered_include_Take_with_another_Take_on_top_level( await base.Filtered_include_Take_with_another_Take_on_top_level(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM ( @@ -1420,7 +1569,8 @@ ORDER BY [l1].[Name] DESC ) AS [t1] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Name] DESC, [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Name] DESC, [t0].[Id] +"""); } public override async Task Optional_navigation_with_order_by_and_Include(bool async) @@ -1428,11 +1578,13 @@ public override async Task Optional_navigation_with_order_by_and_Include(bool as await base.Optional_navigation_with_order_by_and_Include(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Include_collection_multiple(bool async) @@ -1440,7 +1592,8 @@ public override async Task Include_collection_multiple(bool async) await base.Include_collection_multiple(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [t].[PeriodEnd2], [t].[PeriodStart2], [t].[Id3], [t].[Level3_Optional_Id0], [t].[Level3_Required_Id0], [t].[Name3], [t].[OneToMany_Optional_Inverse4Id0], [t].[OneToMany_Optional_Self_Inverse4Id0], [t].[OneToMany_Required_Inverse4Id0], [t].[OneToMany_Required_Self_Inverse4Id0], [t].[OneToOne_Optional_PK_Inverse4Id0], [t].[OneToOne_Optional_Self4Id0], [t].[PeriodEnd3], [t].[PeriodStart3] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1], [t].[Id2], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name2], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [t].[PeriodEnd2], [t].[PeriodStart2], [t].[Id3], [t].[Level3_Optional_Id0], [t].[Level3_Required_Id0], [t].[Name3], [t].[OneToMany_Optional_Inverse4Id0], [t].[OneToMany_Optional_Self_Inverse4Id0], [t].[OneToMany_Required_Inverse4Id0], [t].[OneToMany_Required_Self_Inverse4Id0], [t].[OneToOne_Optional_PK_Inverse4Id0], [t].[OneToOne_Optional_Self4Id0], [t].[PeriodEnd3], [t].[PeriodStart3] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd] AS [PeriodEnd1], [l2].[PeriodStart] AS [PeriodStart1], [l3].[Id] AS [Id2], [l3].[Level2_Optional_Id] AS [Level2_Optional_Id0], [l3].[Level2_Required_Id] AS [Level2_Required_Id0], [l3].[Name] AS [Name2], [l3].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [l3].[OneToMany_Optional_Self_Inverse3Id] AS [OneToMany_Optional_Self_Inverse3Id0], [l3].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [l3].[OneToMany_Required_Self_Inverse3Id] AS [OneToMany_Required_Self_Inverse3Id0], [l3].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [l3].[OneToOne_Optional_Self3Id] AS [OneToOne_Optional_Self3Id0], [l3].[PeriodEnd] AS [PeriodEnd2], [l3].[PeriodStart] AS [PeriodStart2], [l4].[Id] AS [Id3], [l4].[Level3_Optional_Id] AS [Level3_Optional_Id0], [l4].[Level3_Required_Id] AS [Level3_Required_Id0], [l4].[Name] AS [Name3], [l4].[OneToMany_Optional_Inverse4Id] AS [OneToMany_Optional_Inverse4Id0], [l4].[OneToMany_Optional_Self_Inverse4Id] AS [OneToMany_Optional_Self_Inverse4Id0], [l4].[OneToMany_Required_Inverse4Id] AS [OneToMany_Required_Inverse4Id0], [l4].[OneToMany_Required_Self_Inverse4Id] AS [OneToMany_Required_Self_Inverse4Id0], [l4].[OneToOne_Optional_PK_Inverse4Id] AS [OneToOne_Optional_PK_Inverse4Id0], [l4].[OneToOne_Optional_Self4Id] AS [OneToOne_Optional_Self4Id0], [l4].[PeriodEnd] AS [PeriodEnd3], [l4].[PeriodStart] AS [PeriodStart3] @@ -1450,7 +1603,8 @@ LEFT JOIN ( LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l0].[Id] = [l3].[Level2_Optional_Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l4] ON [l3].[Id] = [l4].[OneToMany_Optional_Inverse4Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2] +"""); } public override async Task Project_collection_navigation_nested_anonymous(bool async) @@ -1458,11 +1612,13 @@ public override async Task Project_collection_navigation_nested_anonymous(bool a await base.Project_collection_navigation_nested_anonymous(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_after_multiple_SelectMany_and_reference_navigation(bool async) @@ -1470,13 +1626,15 @@ public override async Task Include_after_multiple_SelectMany_and_reference_navig await base.Include_after_multiple_SelectMany_and_reference_navigation(async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l].[Id], [l0].[Id], [l1].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l3].[PeriodEnd], [l3].[PeriodStart] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l].[Id], [l0].[Id], [l1].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l3].[PeriodEnd], [l3].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] INNER JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l2].[Id] = [l3].[OneToMany_Required_Self_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Multiple_complex_includes_self_ref(bool async) @@ -1484,7 +1642,8 @@ public override async Task Multiple_complex_includes_self_ref(bool async) await base.Multiple_complex_includes_self_ref(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [l1].[PeriodEnd], [l1].[PeriodStart], [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [l1].[PeriodEnd], [l1].[PeriodStart], [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[OneToOne_Optional_Self1Id] = [l0].[Id] LEFT JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Self_Inverse1Id] @@ -1493,7 +1652,8 @@ LEFT JOIN ( FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] LEFT JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l2].[OneToOne_Optional_Self1Id] = [l3].[Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Self_Inverse1Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -1501,14 +1661,16 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_collection(bool async) @@ -1516,10 +1678,12 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Multiple_SelectMany_with_Include(bool async) @@ -1527,13 +1691,15 @@ public override async Task Multiple_SelectMany_with_Include(bool async) await base.Multiple_SelectMany_with_Include(async); AssertSql( - @"SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l].[Id], [l0].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l3].[PeriodEnd], [l3].[PeriodStart] +""" +SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l].[Id], [l0].[Id], [l3].[Id], [l3].[Level3_Optional_Id], [l3].[Level3_Required_Id], [l3].[Name], [l3].[OneToMany_Optional_Inverse4Id], [l3].[OneToMany_Optional_Self_Inverse4Id], [l3].[OneToMany_Required_Inverse4Id], [l3].[OneToMany_Required_Self_Inverse4Id], [l3].[OneToOne_Optional_PK_Inverse4Id], [l3].[OneToOne_Optional_Self4Id], [l3].[PeriodEnd], [l3].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[Level3_Required_Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l1].[Id] = [l3].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id] +"""); } public override async Task Lift_projection_mapping_when_pushing_down_subquery(bool async) @@ -1541,7 +1707,8 @@ public override async Task Lift_projection_mapping_when_pushing_down_subquery(bo await base.Lift_projection_mapping_when_pushing_down_subquery(async); AssertSql( - @"@__p_0='25' +""" +@__p_0='25' SELECT [t].[Id], [t0].[Id], [l1].[Id], [t0].[c] FROM ( @@ -1557,7 +1724,8 @@ LEFT JOIN ( WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Id] = [t0].[OneToMany_Required_Inverse2Id] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [t].[Id] = [l1].[OneToMany_Required_Inverse2Id] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task SelectMany_with_Include2(bool async) @@ -1565,10 +1733,12 @@ public override async Task SelectMany_with_Include2(bool async) await base.SelectMany_with_Include2(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id]"); +LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Required_Id] +"""); } public override async Task Project_collection_navigation(bool async) @@ -1576,10 +1746,12 @@ public override async Task Project_collection_navigation(bool async) await base.Project_collection_navigation(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task @@ -1589,7 +1761,8 @@ await base .Multi_level_include_correct_PK_is_chosen_as_the_join_predicate_for_queries_that_join_same_table_multiple_times(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Id00], [t0].[Date0], [t0].[Level1_Optional_Id0], [t0].[Level1_Required_Id0], [t0].[Name00], [t0].[OneToMany_Optional_Inverse2Id0], [t0].[OneToMany_Optional_Self_Inverse2Id0], [t0].[OneToMany_Required_Inverse2Id0], [t0].[OneToMany_Required_Self_Inverse2Id0], [t0].[OneToOne_Optional_PK_Inverse2Id0], [t0].[OneToOne_Optional_Self2Id0], [t0].[PeriodEnd00], [t0].[PeriodStart00], [t0].[Id1], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0], [t0].[PeriodEnd1], [t0].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Id00], [t0].[Date0], [t0].[Level1_Optional_Id0], [t0].[Level1_Required_Id0], [t0].[Name00], [t0].[OneToMany_Optional_Inverse2Id0], [t0].[OneToMany_Optional_Self_Inverse2Id0], [t0].[OneToMany_Required_Inverse2Id0], [t0].[OneToMany_Required_Self_Inverse2Id0], [t0].[OneToOne_Optional_PK_Inverse2Id0], [t0].[OneToOne_Optional_Self2Id0], [t0].[PeriodEnd00], [t0].[PeriodStart00], [t0].[Id1], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0], [t0].[PeriodEnd1], [t0].[PeriodStart1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name] AS [Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0], [t].[Id0] AS [Id00], [t].[Date] AS [Date0], [t].[Level1_Optional_Id] AS [Level1_Optional_Id0], [t].[Level1_Required_Id] AS [Level1_Required_Id0], [t].[Name0] AS [Name00], [t].[OneToMany_Optional_Inverse2Id] AS [OneToMany_Optional_Inverse2Id0], [t].[OneToMany_Optional_Self_Inverse2Id] AS [OneToMany_Optional_Self_Inverse2Id0], [t].[OneToMany_Required_Inverse2Id] AS [OneToMany_Required_Inverse2Id0], [t].[OneToMany_Required_Self_Inverse2Id] AS [OneToMany_Required_Self_Inverse2Id0], [t].[OneToOne_Optional_PK_Inverse2Id] AS [OneToOne_Optional_PK_Inverse2Id0], [t].[OneToOne_Optional_Self2Id] AS [OneToOne_Optional_Self2Id0], [t].[PeriodEnd0] AS [PeriodEnd00], [t].[PeriodStart0] AS [PeriodStart00], [t].[Id1], [t].[Level2_Optional_Id0], [t].[Level2_Required_Id0], [t].[Name1], [t].[OneToMany_Optional_Inverse3Id0], [t].[OneToMany_Optional_Self_Inverse3Id0], [t].[OneToMany_Required_Inverse3Id0], [t].[OneToMany_Required_Self_Inverse3Id0], [t].[OneToOne_Optional_PK_Inverse3Id0], [t].[OneToOne_Optional_Self3Id0], [t].[PeriodEnd1], [t].[PeriodStart1] @@ -1601,7 +1774,8 @@ LEFT JOIN ( LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l2].[Id] = [l3].[OneToMany_Optional_Inverse3Id] ) AS [t] ON [l0].[Id] = [t].[OneToMany_Optional_Inverse3Id] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0], [t0].[Id00]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0], [t0].[Id00] +"""); } public override async Task Complex_query_issue_21665(bool async) @@ -1609,7 +1783,8 @@ public override async Task Complex_query_issue_21665(bool async) await base.Complex_query_issue_21665(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Name0], [t].[c], [t].[c0], [t].[c1], [t].[Id0], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ChildCount], [t0].[Level2Name], [t0].[Level2Count], [t0].[IsLevel2There], [t0].[Id0] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Name0], [t].[c], [t].[c0], [t].[c1], [t].[Id0], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ChildCount], [t0].[Level2Name], [t0].[Level2Count], [t0].[IsLevel2There], [t0].[Id0] FROM ( SELECT TOP(1) [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Name] AS [Name0], ( SELECT COUNT(*) @@ -1652,7 +1827,8 @@ OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l4] ON [t1].[Id] = [l4].[Level1_Optional_Id] ) AS [t0] -ORDER BY [t].[Name], [t].[Id], [t].[Id0], [t0].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t].[Id], [t].[Id0], [t0].[Name], [t0].[Id] +"""); } public override async Task Filtered_include_and_non_filtered_include_on_same_navigation1(bool async) @@ -1660,7 +1836,8 @@ public override async Task Filtered_include_and_non_filtered_include_on_same_nav await base.Filtered_include_and_non_filtered_include_on_same_navigation1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -1671,7 +1848,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task @@ -1681,7 +1859,8 @@ await base.Complex_SelectMany_with_nested_navigations_and_explicit_DefaultIfEmpt async); AssertSql( - @"SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [l14].[Name] +""" +SELECT [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l].[Id], [l0].[Id], [l1].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l12].[Id], [l13].[Id], [l14].[Id], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [l14].[Name] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -1710,7 +1889,8 @@ LEFT JOIN ( WHERE [l15].[Id] <> 42 ) AS [t1] ON [t].[Id2] = [t1].[OneToMany_Optional_Self_Inverse2Id] WHERE [l11].[Name] <> N'Foo' OR ([l11].[Name] IS NULL) -ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id]"); +ORDER BY [l12].[Id], [l].[Id], [l0].[Id], [l1].[Id], [l2].[Id], [t].[Id], [t].[Id0], [t].[Id1], [t].[Id2], [t0].[Id], [t0].[Id0], [t0].[Id1], [t0].[Id2], [l11].[Id], [l13].[Id], [l14].[Id] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip_Take(bool async) @@ -1718,7 +1898,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip_Take(bool async) await base.Filtered_include_basic_OrderBy_Skip_Take(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -1728,7 +1909,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Take(bool async) @@ -1736,7 +1918,8 @@ public override async Task Filtered_include_basic_OrderBy_Take(bool async) await base.Filtered_include_basic_OrderBy_Take(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -1746,7 +1929,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_context_accessed_inside_filter(bool async) @@ -1754,10 +1938,13 @@ public override async Task Filtered_include_context_accessed_inside_filter(bool await base.Filtered_include_context_accessed_inside_filter(async); AssertSql( - @"SELECT COUNT(*) -FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l]", +""" +SELECT COUNT(*) +FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] +""", // - @"@__p_0='True' +""" +@__p_0='True' SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -1770,7 +1957,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level( @@ -1779,7 +1967,8 @@ public override async Task Filtered_include_with_Take_without_order_by_followed_ await base.Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level(async); AssertSql( - @"@__p_0='30' +""" +@__p_0='30' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM ( @@ -1796,7 +1985,8 @@ SELECT TOP(40) [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_R ) AS [t1] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t1].[Id] = [l0].[Level2_Optional_Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Include_reference_and_collection_order_by(bool async) @@ -1804,11 +1994,13 @@ public override async Task Include_reference_and_collection_order_by(bool async) await base.Include_reference_and_collection_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_with_order_by_and_Include(bool async) @@ -1816,11 +2008,13 @@ public override async Task SelectMany_with_order_by_and_Include(bool async) await base.SelectMany_with_order_by_and_Include(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l0].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Filtered_include_same_filter_set_on_same_navigation_twice(bool async) @@ -1828,7 +2022,8 @@ public override async Task Filtered_include_same_filter_set_on_same_navigation_t await base.Filtered_include_same_filter_set_on_same_navigation_twice(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -1839,7 +2034,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] DESC +"""); } public override async Task SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) @@ -1847,11 +2043,13 @@ public override async Task SelectMany_navigation_property_followed_by_select_col await base.SelectMany_navigation_property_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [l0].[Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Orderby_SelectMany_with_Include1(bool async) @@ -1859,11 +2057,13 @@ public override async Task Orderby_SelectMany_with_Include1(bool async) await base.Orderby_SelectMany_with_Include1(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_reference_collection_order_by_reference_navigation(bool async) @@ -1871,11 +2071,13 @@ public override async Task Include_reference_collection_order_by_reference_navig await base.Include_reference_collection_order_by_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l0].[Id], [l].[Id]"); +ORDER BY [l0].[Id], [l].[Id] +"""); } public override async Task Take_on_correlated_collection_in_projection(bool async) @@ -1883,7 +2085,8 @@ public override async Task Take_on_correlated_collection_in_projection(bool asyn await base.Take_on_correlated_collection_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -1893,7 +2096,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 50 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_complex_repeated(bool async) @@ -1901,10 +2105,12 @@ public override async Task Include_collection_with_multiple_orderbys_complex_rep await base.Include_collection_with_multiple_orderbys_complex_repeated(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id]"); +ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id] +"""); } public override async Task Take_on_grouping_element(bool async) @@ -1912,7 +2118,8 @@ public override async Task Take_on_grouping_element(bool async) await base.Take_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT [l].[Date] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -1926,7 +2133,8 @@ LEFT JOIN ( ) AS [t1] WHERE [t1].[row] <= 10 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name] DESC"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] DESC +"""); } public override async Task Select_subquery_single_nested_subquery(bool async) @@ -1934,7 +2142,8 @@ public override async Task Select_subquery_single_nested_subquery(bool async) await base.Select_subquery_single_nested_subquery(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [l1].[Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [l1].[Id], [t0].[c] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToMany_Optional_Inverse2Id] @@ -1945,7 +2154,8 @@ LEFT JOIN ( WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [t0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [t0].[Id], [l1].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_complex_repeated_checked(bool async) @@ -1953,10 +2163,12 @@ public override async Task Include_collection_with_multiple_orderbys_complex_rep await base.Include_collection_with_multiple_orderbys_complex_repeated_checked(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id]"); +ORDER BY -[l].[Level1_Required_Id], [l].[Name], [l].[Id] +"""); } public override async Task Filtered_include_Skip_without_OrderBy(bool async) @@ -1964,7 +2176,8 @@ public override async Task Filtered_include_Skip_without_OrderBy(bool async) await base.Filtered_include_Skip_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -1974,7 +2187,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(bool async) @@ -1982,7 +2196,8 @@ public override async Task Include_collection_and_another_navigation_chain_follo await base.Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd] AS [PeriodEnd1], [l2].[PeriodStart] AS [PeriodStart1] @@ -1990,7 +2205,8 @@ LEFT JOIN ( LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Filtered_include_after_different_filtered_include_same_level(bool async) @@ -1998,7 +2214,8 @@ public override async Task Filtered_include_after_different_filtered_include_sam await base.Filtered_include_after_different_filtered_include_same_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -2018,7 +2235,8 @@ LEFT JOIN ( ) AS [t2] WHERE 1 < [t2].[row] ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name], [t0].[Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[Name] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name], [t0].[Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[Name] DESC +"""); } public override async Task Skip_Take_on_grouping_element(bool async) @@ -2026,7 +2244,8 @@ public override async Task Skip_Take_on_grouping_element(bool async) await base.Skip_Take_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT [l].[Date] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2040,7 +2259,8 @@ LEFT JOIN ( ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_on_grouping_element_inside_collection_projection(bool async) @@ -2048,7 +2268,8 @@ public override async Task Skip_Take_on_grouping_element_inside_collection_proje await base.Skip_Take_on_grouping_element_inside_collection_projection(async); AssertSql( - @"SELECT [l].[Id], [t2].[Date], [t2].[Id], [t2].[Date0], [t2].[Name], [t2].[OneToMany_Optional_Self_Inverse1Id], [t2].[OneToMany_Required_Self_Inverse1Id], [t2].[OneToOne_Optional_Self1Id], [t2].[PeriodEnd], [t2].[PeriodStart] +""" +SELECT [l].[Id], [t2].[Date], [t2].[Id], [t2].[Date0], [t2].[Name], [t2].[OneToMany_Optional_Self_Inverse1Id], [t2].[OneToMany_Required_Self_Inverse1Id], [t2].[OneToOne_Optional_Self1Id], [t2].[PeriodEnd], [t2].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [t].[Date], [t0].[Id], [t0].[Date] AS [Date0], [t0].[Name], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] @@ -2068,7 +2289,8 @@ LEFT JOIN ( WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] ) AS [t2] -ORDER BY [l].[Id], [t2].[Date], [t2].[Date0], [t2].[Name]"); +ORDER BY [l].[Id], [t2].[Date], [t2].[Date0], [t2].[Name] +"""); } public override async Task Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) @@ -2076,12 +2298,14 @@ public override async Task Multiple_SelectMany_navigation_property_followed_by_s await base.Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [l1].[Id], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart] +""" +SELECT [l1].[Id], [l].[Id], [l0].[Id], [l2].[Id], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd], [l2].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] INNER JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Include_collection_followed_by_include_reference(bool async) @@ -2089,14 +2313,16 @@ public override async Task Include_collection_followed_by_include_reference(bool await base.Include_collection_followed_by_include_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Filtered_include_is_considered_loaded(bool async) @@ -2104,7 +2330,8 @@ public override async Task Filtered_include_is_considered_loaded(bool async) await base.Filtered_include_is_considered_loaded(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -2114,7 +2341,8 @@ FROM [LevelTwo] AS [l0] ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Id] +"""); } public override async Task SelectMany_with_Include1(bool async) @@ -2122,11 +2350,13 @@ public override async Task SelectMany_with_Include1(bool async) await base.SelectMany_with_Include1(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Including_reference_navigation_and_projecting_collection_navigation(bool async) @@ -2134,12 +2364,14 @@ public override async Task Including_reference_navigation_and_projecting_collect await base.Including_reference_navigation_and_projecting_collection_navigation(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l2].[PeriodEnd], [l2].[PeriodStart] +""" +SELECT [l].[Id], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l2].[PeriodEnd], [l2].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l].[Id] = [l2].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Skip_Take_Select_collection_Skip_Take(bool async) @@ -2147,7 +2379,8 @@ public override async Task Skip_Take_Select_collection_Skip_Take(bool async) await base.Skip_Take_Select_collection_Skip_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Name], [t0].[Id], [t0].[Name], [t0].[Level1Id], [t0].[Level2Id], [t0].[Id0], [t0].[Date], [t0].[Name0], [t0].[OneToMany_Optional_Self_Inverse1Id], [t0].[OneToMany_Required_Self_Inverse1Id], [t0].[OneToOne_Optional_Self1Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( @@ -2167,7 +2400,8 @@ OFFSET 1 ROWS FETCH NEXT 3 ROWS ONLY ) AS [t1] INNER JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t1].[Level1_Required_Id] = [l0].[Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[Id]"); +ORDER BY [t].[Id], [t0].[Id] +"""); } public override async Task Optional_navigation_with_Include_ThenInclude(bool async) @@ -2175,7 +2409,8 @@ public override async Task Optional_navigation_with_Include_ThenInclude(bool asy await base.Optional_navigation_with_Include_ThenInclude(async); AssertSql( - @"SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -2183,7 +2418,8 @@ LEFT JOIN ( FROM [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l0].[Id] = [t].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [t].[Id] +"""); } public override async Task Include_reference_followed_by_include_collection(bool async) @@ -2191,11 +2427,13 @@ public override async Task Include_reference_followed_by_include_collection(bool await base.Include_reference_followed_by_include_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Include_collection_ThenInclude_two_references(bool async) @@ -2203,7 +2441,8 @@ public override async Task Include_collection_ThenInclude_two_references(bool as await base.Include_collection_ThenInclude_two_references(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0], [l2].[Id] AS [Id1], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name1], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd] AS [PeriodEnd1], [l2].[PeriodStart] AS [PeriodStart1] @@ -2211,7 +2450,8 @@ LEFT JOIN ( LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Filtered_include_outer_parameter_used_inside_filter(bool async) @@ -2219,7 +2459,8 @@ public override async Task Filtered_include_outer_parameter_used_inside_filter(b await base.Filtered_include_outer_parameter_used_inside_filter(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [l].[Id], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] @@ -2235,7 +2476,8 @@ LEFT JOIN ( WHERE [l3].[Id] <> [l].[Id] ) AS [t1] ON [l2].[Id] = [t1].[OneToMany_Optional_Inverse3Id] ) AS [t0] -ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0], [t0].[Id] +"""); } public override async Task @@ -2245,7 +2487,8 @@ await base .Filtered_include_multiple_multi_level_includes_with_first_level_using_filter_include_on_one_of_the_chains_only(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Id1], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0], [t0].[PeriodEnd1], [t0].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Id1], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Level2_Optional_Id0], [t0].[Level2_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Optional_Self_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id0], [t0].[OneToMany_Required_Self_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id0], [t0].[OneToOne_Optional_Self3Id0], [t0].[PeriodEnd1], [t0].[PeriodStart1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [l0].[Id] AS [Id0], [l1].[Id] AS [Id1], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0], [l0].[Level2_Optional_Id] AS [Level2_Optional_Id0], [l0].[Level2_Required_Id] AS [Level2_Required_Id0], [l0].[Name] AS [Name1], [l0].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [l0].[OneToMany_Optional_Self_Inverse3Id] AS [OneToMany_Optional_Self_Inverse3Id0], [l0].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [l0].[OneToMany_Required_Self_Inverse3Id] AS [OneToMany_Required_Self_Inverse3Id0], [l0].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [l0].[OneToOne_Optional_Self3Id] AS [OneToOne_Optional_Self3Id0], [l0].[PeriodEnd] AS [PeriodEnd1], [l0].[PeriodStart] AS [PeriodStart1] @@ -2258,7 +2501,8 @@ ORDER BY [l2].[Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t].[Id] = [l0].[Level2_Required_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [t].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t0] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +"""); } public override async Task Project_collection_and_include(bool async) @@ -2266,11 +2510,13 @@ public override async Task Project_collection_and_include(bool async) await base.Project_collection_and_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task SelectMany_with_navigation_and_Distinct(bool async) @@ -2278,14 +2524,16 @@ public override async Task SelectMany_with_navigation_and_Distinct(bool async) await base.SelectMany_with_navigation_and_Distinct(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Select_nav_prop_collection_one_to_many_required(bool async) @@ -2293,10 +2541,12 @@ public override async Task Select_nav_prop_collection_one_to_many_required(bool await base.Select_nav_prop_collection_one_to_many_required(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id] +""" +SELECT [l].[Id], [l0].[Id] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(bool async) @@ -2304,7 +2554,8 @@ public override async Task Include_ThenInclude_ThenInclude_followed_by_two_neste await base.Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1] +""" +SELECT [l].[Id], [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l2].[Id] AS [Id0], [l2].[Level3_Optional_Id], [l2].[Level3_Required_Id], [l2].[Name] AS [Name0], [l2].[OneToMany_Optional_Inverse4Id], [l2].[OneToMany_Optional_Self_Inverse4Id], [l2].[OneToMany_Required_Inverse4Id], [l2].[OneToMany_Required_Self_Inverse4Id], [l2].[OneToOne_Optional_PK_Inverse4Id], [l2].[OneToOne_Optional_Self4Id], [l2].[PeriodEnd] AS [PeriodEnd0], [l2].[PeriodStart] AS [PeriodStart0], [l0].[Id] AS [Id1], [l0].[OneToMany_Optional_Inverse2Id] @@ -2312,7 +2563,8 @@ LEFT JOIN ( LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [l1].[Id] = [l2].[Level3_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id1], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id1], [t].[Id] +"""); } public override async Task Include_collection_with_multiple_orderbys_complex(bool async) @@ -2320,10 +2572,12 @@ public override async Task Include_collection_with_multiple_orderbys_complex(boo await base.Include_collection_with_multiple_orderbys_complex(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Level1_Optional_Id], [l].[Level1_Required_Id], [l].[Name], [l].[OneToMany_Optional_Inverse2Id], [l].[OneToMany_Optional_Self_Inverse2Id], [l].[OneToMany_Required_Inverse2Id], [l].[OneToMany_Required_Self_Inverse2Id], [l].[OneToOne_Optional_PK_Inverse2Id], [l].[OneToOne_Optional_Self2Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Level2_Optional_Id], [l0].[Level2_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse3Id], [l0].[OneToMany_Optional_Self_Inverse3Id], [l0].[OneToMany_Required_Inverse3Id], [l0].[OneToMany_Required_Self_Inverse3Id], [l0].[OneToOne_Optional_PK_Inverse3Id], [l0].[OneToOne_Optional_Self3Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse3Id] -ORDER BY ABS([l].[Level1_Required_Id]) + 7, [l].[Name], [l].[Id]"); +ORDER BY ABS([l].[Level1_Required_Id]) + 7, [l].[Name], [l].[Id] +"""); } public override async Task LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(bool async) @@ -2331,7 +2585,8 @@ public override async Task LeftJoin_with_Any_on_outer_source_and_projecting_coll await base.LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [l0].[Id] IS NULL THEN 0 ELSE [l0].[Id] END, [l].[Id], [l0].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart] @@ -2339,7 +2594,8 @@ ELSE [l0].[Id] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Required_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Required_Inverse3Id] WHERE [l].[Name] IN (N'L1 01', N'L1 02') -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Filtered_include_complex_three_level_with_middle_having_filter1(bool async) @@ -2347,7 +2603,8 @@ public override async Task Filtered_include_complex_three_level_with_middle_havi await base.Filtered_include_complex_three_level_with_middle_having_filter1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id00], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[PeriodEnd00], [t1].[PeriodStart00], [t1].[Id1], [t1].[Level3_Optional_Id0], [t1].[Level3_Required_Id0], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id0], [t1].[OneToMany_Optional_Self_Inverse4Id0], [t1].[OneToMany_Required_Inverse4Id0], [t1].[OneToMany_Required_Self_Inverse4Id0], [t1].[OneToOne_Optional_PK_Inverse4Id0], [t1].[OneToOne_Optional_Self4Id0], [t1].[PeriodEnd1], [t1].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t1].[Id], [t1].[Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Optional_Self_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToMany_Required_Self_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[OneToOne_Optional_Self2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Name0], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Optional_Self_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToMany_Required_Self_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[OneToOne_Optional_Self3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id00], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Name00], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Optional_Self_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToMany_Required_Self_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[OneToOne_Optional_Self4Id], [t1].[PeriodEnd00], [t1].[PeriodStart00], [t1].[Id1], [t1].[Level3_Optional_Id0], [t1].[Level3_Required_Id0], [t1].[Name1], [t1].[OneToMany_Optional_Inverse4Id0], [t1].[OneToMany_Optional_Self_Inverse4Id0], [t1].[OneToMany_Required_Inverse4Id0], [t1].[OneToMany_Required_Self_Inverse4Id0], [t1].[OneToOne_Optional_PK_Inverse4Id0], [t1].[OneToOne_Optional_Self4Id0], [t1].[PeriodEnd1], [t1].[PeriodStart1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name] AS [Name0], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd] AS [PeriodEnd0], [t0].[PeriodStart] AS [PeriodStart0], [t0].[Id0] AS [Id00], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Name0] AS [Name00], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Optional_Self_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToMany_Required_Self_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[OneToOne_Optional_Self4Id], [t0].[PeriodEnd0] AS [PeriodEnd00], [t0].[PeriodStart0] AS [PeriodStart00], [t0].[Id1], [t0].[Level3_Optional_Id0], [t0].[Level3_Required_Id0], [t0].[Name1], [t0].[OneToMany_Optional_Inverse4Id0], [t0].[OneToMany_Optional_Self_Inverse4Id0], [t0].[OneToMany_Required_Inverse4Id0], [t0].[OneToMany_Required_Self_Inverse4Id0], [t0].[OneToOne_Optional_PK_Inverse4Id0], [t0].[OneToOne_Optional_Self4Id0], [t0].[PeriodEnd1], [t0].[PeriodStart1] @@ -2364,7 +2621,8 @@ ORDER BY [l3].[Id] LEFT JOIN [LevelFour] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] ON [t].[Id] = [l2].[OneToMany_Required_Inverse4Id] ) AS [t0] ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id00]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0], [t1].[Id00] +"""); } public override async Task SelectMany_over_conditional_null_source(bool async) @@ -2435,7 +2693,8 @@ public override async Task Projecting_collection_after_optional_reference_correl await base.Projecting_collection_after_optional_reference_correlated_with_parent(async); AssertSql( - @"SELECT [l].[Id], [l0].[Id], [t].[ChildId], [t].[ParentName] +""" +SELECT [l].[Id], [l0].[Id], [t].[ChildId], [t].[ParentName] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] OUTER APPLY ( @@ -2443,7 +2702,8 @@ OUTER APPLY ( FROM [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] -ORDER BY [l].[Id], [l0].[Id]"); +ORDER BY [l].[Id], [l0].[Id] +"""); } public override async Task Projecting_collection_with_group_by_after_optional_reference_correlated_with_parent(bool async) @@ -2451,7 +2711,8 @@ public override async Task Projecting_collection_with_group_by_after_optional_re await base.Projecting_collection_with_group_by_after_optional_reference_correlated_with_parent(async); AssertSql( - @"SELECT [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l0].[Id], [t].[Key], [t].[Count] +""" +SELECT [l].[Id], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l0].[Id], [t].[Key], [t].[Count] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] @@ -2461,7 +2722,8 @@ OUTER APPLY ( WHERE ([l0].[Id] IS NOT NULL) AND [l0].[Id] = [l2].[OneToMany_Optional_Inverse3Id] GROUP BY [l2].[Name] ) AS [t] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id] +"""); } public override async Task Multiple_complex_includes_EF_Property(bool async) @@ -2469,7 +2731,8 @@ public override async Task Multiple_complex_includes_EF_Property(bool async) await base.Multiple_complex_includes_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd], [l1].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] @@ -2478,7 +2741,8 @@ LEFT JOIN ( FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l2].[Id] = [l3].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Multiple_complex_includes_self_ref_EF_Property(bool async) @@ -2486,7 +2750,8 @@ public override async Task Multiple_complex_includes_self_ref_EF_Property(bool a await base.Multiple_complex_includes_self_ref_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [l1].[PeriodEnd], [l1].[PeriodStart], [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Name], [l0].[OneToMany_Optional_Self_Inverse1Id], [l0].[OneToMany_Required_Self_Inverse1Id], [l0].[OneToOne_Optional_Self1Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Name], [l1].[OneToMany_Optional_Self_Inverse1Id], [l1].[OneToMany_Required_Self_Inverse1Id], [l1].[OneToOne_Optional_Self1Id], [l1].[PeriodEnd], [l1].[PeriodStart], [t].[Id], [t].[Date], [t].[Name], [t].[OneToMany_Optional_Self_Inverse1Id], [t].[OneToMany_Required_Self_Inverse1Id], [t].[OneToOne_Optional_Self1Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Date0], [t].[Name0], [t].[OneToMany_Optional_Self_Inverse1Id0], [t].[OneToMany_Required_Self_Inverse1Id0], [t].[OneToOne_Optional_Self1Id0], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[OneToOne_Optional_Self1Id] = [l0].[Id] LEFT JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Self_Inverse1Id] @@ -2495,7 +2760,8 @@ LEFT JOIN ( FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] LEFT JOIN [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l3] ON [l2].[OneToOne_Optional_Self1Id] = [l3].[Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Self_Inverse1Id] -ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id]"); +ORDER BY [l].[Id], [l0].[Id], [l1].[Id], [t].[Id] +"""); } public override async Task Include_collection_multiple_with_filter_EF_Property(bool async) @@ -2503,7 +2769,8 @@ public override async Task Include_collection_multiple_with_filter_EF_Property(b await base.Include_collection_multiple_with_filter_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id1], [t].[Level3_Optional_Id], [t].[Level3_Required_Id], [t].[Name1], [t].[OneToMany_Optional_Inverse4Id], [t].[OneToMany_Optional_Self_Inverse4Id], [t].[OneToMany_Required_Inverse4Id], [t].[OneToMany_Required_Self_Inverse4Id], [t].[OneToOne_Optional_PK_Inverse4Id], [t].[OneToOne_Optional_Self4Id], [t].[PeriodEnd1], [t].[PeriodStart1] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l2].[Id], [l2].[Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Optional_Self_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToMany_Required_Self_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[OneToOne_Optional_Self2Id], [l2].[PeriodEnd], [l2].[PeriodStart], [l3].[Id] AS [Id0], [l3].[Level2_Optional_Id], [l3].[Level2_Required_Id], [l3].[Name] AS [Name0], [l3].[OneToMany_Optional_Inverse3Id], [l3].[OneToMany_Optional_Self_Inverse3Id], [l3].[OneToMany_Required_Inverse3Id], [l3].[OneToMany_Required_Self_Inverse3Id], [l3].[OneToOne_Optional_PK_Inverse3Id], [l3].[OneToOne_Optional_Self3Id], [l3].[PeriodEnd] AS [PeriodEnd0], [l3].[PeriodStart] AS [PeriodStart0], [l4].[Id] AS [Id1], [l4].[Level3_Optional_Id], [l4].[Level3_Required_Id], [l4].[Name] AS [Name1], [l4].[OneToMany_Optional_Inverse4Id], [l4].[OneToMany_Optional_Self_Inverse4Id], [l4].[OneToMany_Required_Inverse4Id], [l4].[OneToMany_Required_Self_Inverse4Id], [l4].[OneToOne_Optional_PK_Inverse4Id], [l4].[OneToOne_Optional_Self4Id], [l4].[PeriodEnd] AS [PeriodEnd1], [l4].[PeriodStart] AS [PeriodStart1] @@ -2516,7 +2783,8 @@ SELECT COUNT(*) FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToOne_Optional_PK_Inverse3Id] WHERE [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([l1].[Name] <> N'Foo' OR ([l1].[Name] IS NULL))) > 0 -ORDER BY [l].[Id], [t].[Id], [t].[Id0]"); +ORDER BY [l].[Id], [t].[Id], [t].[Id0] +"""); } public override async Task Filtered_include_basic_Where_EF_Property(bool async) @@ -2524,14 +2792,16 @@ public override async Task Filtered_include_basic_Where_EF_Property(bool async) await base.Filtered_include_basic_Where_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_OrderBy_EF_Property(bool async) @@ -2539,10 +2809,12 @@ public override async Task Filtered_include_OrderBy_EF_Property(bool async) await base.Filtered_include_OrderBy_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [l0].[Name]"); +ORDER BY [l].[Id], [l0].[Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip_Take_EF_Property(bool async) @@ -2550,7 +2822,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip_Take_EF_Property( await base.Filtered_include_basic_OrderBy_Skip_Take_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Optional_Self_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToMany_Required_Self_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[OneToOne_Optional_Self2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -2560,7 +2833,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Name] +"""); } public override async Task Filtered_include_on_ThenInclude_EF_Property(bool async) @@ -2568,7 +2842,8 @@ public override async Task Filtered_include_on_ThenInclude_EF_Property(bool asyn await base.Filtered_include_on_ThenInclude_EF_Property(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Optional_Self_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToMany_Required_Self_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[OneToOne_Optional_Self3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN ( @@ -2580,7 +2855,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l0].[Id] = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name]"); +ORDER BY [l].[Id], [l0].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Name] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection(bool async) @@ -2588,10 +2864,12 @@ public override async Task Final_GroupBy_property_entity_Include_collection(bool await base.Final_GroupBy_property_entity_Include_collection(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id]"); +ORDER BY [l].[Name], [l].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_nested(bool async) @@ -2599,14 +2877,16 @@ public override async Task Final_GroupBy_property_entity_Include_collection_nest await base.Final_GroupBy_property_entity_Include_collection_nested(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[OneToMany_Optional_Inverse3Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [t].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_reference(bool async) @@ -2614,14 +2894,16 @@ public override async Task Final_GroupBy_property_entity_Include_collection_refe await base.Final_GroupBy_property_entity_Include_collection_reference(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Optional_Self_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Required_Self_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[OneToOne_Optional_Self2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Name0], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Optional_Self_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToMany_Required_Self_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[OneToOne_Optional_Self3Id], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id] AS [Id0], [l1].[Level2_Optional_Id], [l1].[Level2_Required_Id], [l1].[Name] AS [Name0], [l1].[OneToMany_Optional_Inverse3Id], [l1].[OneToMany_Optional_Self_Inverse3Id], [l1].[OneToMany_Required_Inverse3Id], [l1].[OneToMany_Required_Self_Inverse3Id], [l1].[OneToOne_Optional_PK_Inverse3Id], [l1].[OneToOne_Optional_Self3Id], [l1].[PeriodEnd] AS [PeriodEnd0], [l1].[PeriodStart] AS [PeriodStart0] FROM [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] LEFT JOIN [LevelThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l0].[Id] = [l1].[Level2_Optional_Id] ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [t].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_multiple(bool async) @@ -2629,11 +2911,13 @@ public override async Task Final_GroupBy_property_entity_Include_collection_mult await base.Final_GroupBy_property_entity_Include_collection_multiple(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l].[Id] = [l1].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_collection_reference_same_level(bool async) @@ -2641,11 +2925,13 @@ public override async Task Final_GroupBy_property_entity_Include_collection_refe await base.Final_GroupBy_property_entity_Include_collection_reference_same_level(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l].[Id] = [l1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Name], [l].[Id], [l0].[Id]"); +ORDER BY [l].[Name], [l].[Id], [l0].[Id] +"""); } public override async Task Final_GroupBy_property_entity_Include_reference(bool async) @@ -2653,10 +2939,12 @@ public override async Task Final_GroupBy_property_entity_Include_reference(bool await base.Final_GroupBy_property_entity_Include_reference(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Final_GroupBy_property_entity_Include_reference_multiple(bool async) @@ -2664,11 +2952,13 @@ public override async Task Final_GroupBy_property_entity_Include_reference_multi await base.Final_GroupBy_property_entity_Include_reference_multiple(async); AssertSql( - @"SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] +""" +SELECT [l].[Name], [l].[Id], [l].[Date], [l].[OneToMany_Optional_Self_Inverse1Id], [l].[OneToMany_Required_Self_Inverse1Id], [l].[OneToOne_Optional_Self1Id], [l].[PeriodEnd], [l].[PeriodStart], [l0].[Id], [l0].[Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Optional_Self_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToMany_Required_Self_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[OneToOne_Optional_Self2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [l1].[Id], [l1].[Date], [l1].[Level1_Optional_Id], [l1].[Level1_Required_Id], [l1].[Name], [l1].[OneToMany_Optional_Inverse2Id], [l1].[OneToMany_Optional_Self_Inverse2Id], [l1].[OneToMany_Required_Inverse2Id], [l1].[OneToMany_Required_Self_Inverse2Id], [l1].[OneToOne_Optional_PK_Inverse2Id], [l1].[OneToOne_Optional_Self2Id], [l1].[PeriodEnd], [l1].[PeriodStart] FROM [LevelOne] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[Id] = [l0].[Level1_Optional_Id] LEFT JOIN [LevelTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] ON [l].[Id] = [l1].[Level1_Required_Id] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs index 730c3d9a0f6..530015ae98b 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalComplexNavigationsCollectionsSharedTypeQuerySqlServerTest.cs @@ -38,7 +38,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging(bool a await base.Complex_multi_include_with_order_by_and_paging(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t2].[Id], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd], [t2].[PeriodStart] @@ -67,7 +68,8 @@ LEFT JOIN ( ) AS [t2] ON CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[PeriodEnd] IS NOT NULL) AND ([t0].[PeriodStart] IS NOT NULL) THEN [t0].[Id] END = [t2].[OneToMany_Required_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(bool async) @@ -75,7 +77,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging_joins_ await base.Complex_multi_include_with_order_by_and_paging_joins_on_correct_key(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t2].[Id], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t3].[Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd], [t3].[PeriodStart] @@ -109,7 +112,8 @@ LEFT JOIN ( ) AS [t3] ON CASE WHEN ([t1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t1].[Level1_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t1].[PeriodEnd] IS NOT NULL) AND ([t1].[PeriodStart] IS NOT NULL) THEN [t1].[Id] END = [t3].[OneToMany_Required_Inverse3Id] -ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id], [t2].[Id]"); +ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id], [t2].[Id] +"""); } public override async Task Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(bool async) @@ -117,7 +121,8 @@ public override async Task Complex_multi_include_with_order_by_and_paging_joins_ await base.Complex_multi_include_with_order_by_and_paging_joins_on_correct_key2(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t2].[Id], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id], [t2].[PeriodEnd], [t2].[PeriodStart] @@ -146,7 +151,8 @@ LEFT JOIN ( ) AS [t2] ON CASE WHEN ([t1].[Level2_Required_Id] IS NOT NULL) AND ([t1].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t1].[PeriodEnd] IS NOT NULL) AND ([t1].[PeriodStart] IS NOT NULL) THEN [t1].[Id] END = [t2].[OneToMany_Optional_Inverse4Id] -ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [t].[Name], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Complex_query_with_let_collection_projection_FirstOrDefault(bool async) @@ -154,7 +160,8 @@ public override async Task Complex_query_with_let_collection_projection_FirstOrD await base.Complex_query_with_let_collection_projection_FirstOrDefault(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t1].[Name], [t1].[Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t1].[Name], [t1].[Id], [t0].[c] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Required_Id], [t].[OneToMany_Required_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[OneToMany_Optional_Inverse2Id] @@ -175,7 +182,8 @@ SELECT 1 WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END) ) AS [t1] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } [ConditionalTheory(Skip = "See issue#28058")] @@ -184,7 +192,8 @@ public override async Task Complex_query_with_let_collection_projection_FirstOrD await base.Complex_query_with_let_collection_projection_FirstOrDefault_with_ToList_on_inner_and_outer(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t1].[Name], [t1].[Id], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t1].[Name], [t1].[Id], [t0].[c] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Required_Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToMany_Optional_Inverse2Id] @@ -205,7 +214,8 @@ SELECT 1 WHEN [t0].[OneToOne_Required_PK_Date] IS NOT NULL AND [t0].[Level1_Required_Id] IS NOT NULL AND [t0].[OneToMany_Required_Inverse2Id] IS NOT NULL THEN [t0].[Id] END) ) AS [t1] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Filtered_include_after_different_filtered_include_different_level(bool async) @@ -213,7 +223,8 @@ public override async Task Filtered_include_after_different_filtered_include_dif await base.Filtered_include_after_different_filtered_include_different_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd] AS [PeriodEnd0], [t0].[PeriodStart] AS [PeriodStart0] @@ -235,7 +246,8 @@ WHERE 1 < [t1].[row] WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Required_Inverse3Id] ) AS [t2] -ORDER BY [l].[Id], [t2].[Level2_Name], [t2].[Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[Level3_Name] DESC"); +ORDER BY [l].[Id], [t2].[Level2_Name], [t2].[Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[Level3_Name] DESC +"""); } public override async Task Filtered_include_after_different_filtered_include_same_level(bool async) @@ -243,7 +255,8 @@ public override async Task Filtered_include_after_different_filtered_include_sam await base.Filtered_include_after_different_filtered_include_same_level(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -263,7 +276,8 @@ LEFT JOIN ( ) AS [t2] WHERE 1 < [t2].[row] ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name], [t0].[Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[Level2_Name] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name], [t0].[Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[Level2_Name] DESC +"""); } public override async Task Filtered_include_after_reference_navigation(bool async) @@ -271,7 +285,8 @@ public override async Task Filtered_include_after_reference_navigation(bool asyn await base.Filtered_include_after_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -289,7 +304,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Level3_Name]"); +ORDER BY [l].[Id], [t].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Level3_Name] +"""); } public override async Task Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(bool async) @@ -297,7 +313,8 @@ public override async Task Filtered_include_and_non_filtered_include_followed_by await base.Filtered_include_and_non_filtered_include_followed_by_then_include_on_same_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0], [t2].[Id1], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id], [t2].[PeriodEnd1], [t2].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0], [t2].[Id1], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id], [t2].[PeriodEnd1], [t2].[PeriodStart1] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd] AS [PeriodEnd0], [t0].[PeriodStart] AS [PeriodStart0], [t1].[Id] AS [Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd] AS [PeriodEnd1], [t1].[PeriodStart] AS [PeriodStart1], [t].[c] @@ -326,7 +343,8 @@ LEFT JOIN ( WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t0].[PeriodEnd] IS NOT NULL) AND ([t0].[PeriodStart] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse4Id] ) AS [t2] -ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0]"); +ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0] +"""); } public override async Task Filtered_include_and_non_filtered_include_on_same_navigation1(bool async) @@ -334,7 +352,8 @@ public override async Task Filtered_include_and_non_filtered_include_on_same_nav await base.Filtered_include_and_non_filtered_include_on_same_navigation1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[c] @@ -349,7 +368,8 @@ END AS [c] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } public override async Task Filtered_include_and_non_filtered_include_on_same_navigation2(bool async) @@ -357,7 +377,8 @@ public override async Task Filtered_include_and_non_filtered_include_on_same_nav await base.Filtered_include_and_non_filtered_include_on_same_navigation2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[c] @@ -372,7 +393,8 @@ END AS [c] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip(bool async) @@ -380,7 +402,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip(bool async) await base.Filtered_include_basic_OrderBy_Skip(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -391,7 +414,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Skip_Take(bool async) @@ -399,7 +423,8 @@ public override async Task Filtered_include_basic_OrderBy_Skip_Take(bool async) await base.Filtered_include_basic_OrderBy_Skip_Take(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -410,7 +435,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 4 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name] +"""); } public override async Task Filtered_include_basic_OrderBy_Take(bool async) @@ -418,7 +444,8 @@ public override async Task Filtered_include_basic_OrderBy_Take(bool async) await base.Filtered_include_basic_OrderBy_Take(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -429,7 +456,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[Level2_Name] +"""); } public override async Task Filtered_include_basic_Where(bool async) @@ -437,14 +465,16 @@ public override async Task Filtered_include_basic_Where(bool async) await base.Filtered_include_basic_Where(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l0].[Id] > 5 ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_complex_three_level_with_middle_having_filter1(bool async) @@ -452,7 +482,8 @@ public override async Task Filtered_include_complex_three_level_with_middle_havi await base.Filtered_include_complex_three_level_with_middle_having_filter1(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd0], [t3].[PeriodStart0], [t3].[Id00], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[PeriodEnd00], [t3].[PeriodStart00], [t3].[Id1], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0], [t3].[PeriodEnd1], [t3].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd0], [t3].[PeriodStart0], [t3].[Id00], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[PeriodEnd00], [t3].[PeriodStart00], [t3].[Id1], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0], [t3].[PeriodEnd1], [t3].[PeriodStart1] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t2].[Id] AS [Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd] AS [PeriodEnd0], [t2].[PeriodStart] AS [PeriodStart0], [t2].[Id0] AS [Id00], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id], [t2].[PeriodEnd0] AS [PeriodEnd00], [t2].[PeriodStart0] AS [PeriodStart00], [t2].[Id1], [t2].[Level3_Optional_Id0], [t2].[Level3_Required_Id0], [t2].[Level4_Name0], [t2].[OneToMany_Optional_Inverse4Id0], [t2].[OneToMany_Required_Inverse4Id0], [t2].[OneToOne_Optional_PK_Inverse4Id0], [t2].[PeriodEnd1], [t2].[PeriodStart1], [t2].[c] @@ -492,7 +523,8 @@ LEFT JOIN ( ) AS [t2] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t3] ON [l].[Id] = [t3].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t3].[Id], [t3].[c], [t3].[Id0], [t3].[Id00]"); +ORDER BY [l].[Id], [t3].[Id], [t3].[c], [t3].[Id0], [t3].[Id00] +"""); } public override async Task Filtered_include_complex_three_level_with_middle_having_filter2(bool async) @@ -500,7 +532,8 @@ public override async Task Filtered_include_complex_three_level_with_middle_havi await base.Filtered_include_complex_three_level_with_middle_having_filter2(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd0], [t3].[PeriodStart0], [t3].[Id00], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[PeriodEnd00], [t3].[PeriodStart00], [t3].[Id1], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0], [t3].[PeriodEnd1], [t3].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd0], [t3].[PeriodStart0], [t3].[Id00], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[PeriodEnd00], [t3].[PeriodStart00], [t3].[Id1], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0], [t3].[PeriodEnd1], [t3].[PeriodStart1] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t2].[Id] AS [Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd] AS [PeriodEnd0], [t2].[PeriodStart] AS [PeriodStart0], [t2].[Id0] AS [Id00], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id], [t2].[PeriodEnd0] AS [PeriodEnd00], [t2].[PeriodStart0] AS [PeriodStart00], [t2].[Id1], [t2].[Level3_Optional_Id0], [t2].[Level3_Required_Id0], [t2].[Level4_Name0], [t2].[OneToMany_Optional_Inverse4Id0], [t2].[OneToMany_Required_Inverse4Id0], [t2].[OneToOne_Optional_PK_Inverse4Id0], [t2].[PeriodEnd1], [t2].[PeriodStart1], [t2].[c] @@ -540,7 +573,8 @@ LEFT JOIN ( ) AS [t2] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t3] ON [l].[Id] = [t3].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t3].[Id], [t3].[c], [t3].[Id0], [t3].[Id00]"); +ORDER BY [l].[Id], [t3].[Id], [t3].[c], [t3].[Id0], [t3].[Id00] +"""); } public override async Task Filtered_include_context_accessed_inside_filter(bool async) @@ -548,10 +582,13 @@ public override async Task Filtered_include_context_accessed_inside_filter(bool await base.Filtered_include_context_accessed_inside_filter(async); AssertSql( - @"SELECT COUNT(*) -FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l]", +""" +SELECT COUNT(*) +FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] +""", // - @"@__p_0='True' +""" +@__p_0='True' SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -568,7 +605,8 @@ END AS [c] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } public override async Task Filtered_include_context_accessed_inside_filter_correlated(bool async) @@ -576,7 +614,8 @@ public override async Task Filtered_include_context_accessed_inside_filter_corre await base.Filtered_include_context_accessed_inside_filter_correlated(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[c] @@ -594,7 +633,8 @@ SELECT COUNT(*) ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } // TODO: remove later!!!!! @@ -616,7 +656,8 @@ public override async Task await base.Filtered_include_multiple_multi_level_includes_with_first_level_using_filter_include_on_one_of_the_chains_only(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Id1], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0], [t2].[PeriodEnd1], [t2].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Id1], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0], [t2].[PeriodEnd1], [t2].[PeriodStart1] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id] AS [Id0], [t1].[Id] AS [Id1], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd] AS [PeriodEnd0], [t1].[PeriodStart] AS [PeriodStart0], [t0].[Level2_Optional_Id] AS [Level2_Optional_Id0], [t0].[Level2_Required_Id] AS [Level2_Required_Id0], [t0].[Level3_Name] AS [Level3_Name0], [t0].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1], [t].[c] @@ -645,7 +686,8 @@ LEFT JOIN ( WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t1].[OneToMany_Optional_Inverse3Id] ) AS [t2] -ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0]"); +ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0] +"""); } public override async Task Filtered_include_on_ThenInclude(bool async) @@ -653,7 +695,8 @@ public override async Task Filtered_include_on_ThenInclude(bool async) await base.Filtered_include_on_ThenInclude(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -671,7 +714,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Level3_Name]"); +ORDER BY [l].[Id], [t].[Id], [t0].[OneToMany_Optional_Inverse3Id], [t0].[Level3_Name] +"""); } public override async Task Filtered_include_Skip_without_OrderBy(bool async) @@ -679,7 +723,8 @@ public override async Task Filtered_include_Skip_without_OrderBy(bool async) await base.Filtered_include_Skip_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -690,7 +735,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_Take_without_OrderBy(bool async) @@ -698,7 +744,8 @@ public override async Task Filtered_include_Take_without_OrderBy(bool async) await base.Filtered_include_Take_without_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -709,7 +756,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Filtered_include_Take_with_another_Take_on_top_level(bool async) @@ -717,7 +765,8 @@ public override async Task Filtered_include_Take_with_another_Take_on_top_level( await base.Filtered_include_Take_with_another_Take_on_top_level(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] FROM ( @@ -741,7 +790,8 @@ LEFT JOIN ( WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[Level2_Optional_Id] ) AS [t1] -ORDER BY [t].[Id], [t1].[Level2_Name] DESC, [t1].[Id]"); +ORDER BY [t].[Id], [t1].[Level2_Name] DESC, [t1].[Id] +"""); } public override async Task Filtered_include_ThenInclude_OrderBy(bool async) @@ -749,7 +799,8 @@ public override async Task Filtered_include_ThenInclude_OrderBy(bool async) await base.Filtered_include_ThenInclude_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0] @@ -763,7 +814,8 @@ LEFT JOIN ( END = [t].[OneToMany_Optional_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Level2_Name], [t0].[Id], [t0].[Level3_Name] DESC"); +ORDER BY [l].[Id], [t0].[Level2_Name], [t0].[Id], [t0].[Level3_Name] DESC +"""); } public override async Task Filtered_include_variable_used_inside_filter(bool async) @@ -771,7 +823,8 @@ public override async Task Filtered_include_variable_used_inside_filter(bool asy await base.Filtered_include_variable_used_inside_filter(async); AssertSql( - @"@__prm_0='Foo' (Size = 4000) +""" +@__prm_0='Foo' (Size = 4000) SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -788,7 +841,8 @@ END AS [c] ) AS [t] WHERE [t].[row] <= 3 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c]"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] +"""); } public override async Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level( @@ -797,7 +851,8 @@ public override async Task Filtered_include_with_Take_without_order_by_followed_ await base.Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_FirstOrDefault_on_top_level(async); AssertSql( - @"SELECT [t].[Id], [t].[Date], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] +""" +SELECT [t].[Id], [t].[Date], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] FROM ( SELECT TOP(1) [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -818,7 +873,8 @@ LEFT JOIN ( WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[Level2_Optional_Id] ) AS [t1] -ORDER BY [t].[Id], [t1].[Id]"); +ORDER BY [t].[Id], [t1].[Id] +"""); } public override async Task Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level( @@ -827,7 +883,8 @@ public override async Task Filtered_include_with_Take_without_order_by_followed_ await base.Filtered_include_with_Take_without_order_by_followed_by_ThenInclude_and_unordered_Take_on_top_level(async); AssertSql( - @"@__p_0='30' +""" +@__p_0='30' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] FROM ( @@ -850,7 +907,8 @@ LEFT JOIN ( WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[Level2_Optional_Id] ) AS [t1] -ORDER BY [t].[Id], [t1].[Id]"); +ORDER BY [t].[Id], [t1].[Id] +"""); } public override async Task Filtered_ThenInclude_OrderBy(bool async) @@ -858,7 +916,8 @@ public override async Task Filtered_ThenInclude_OrderBy(bool async) await base.Filtered_ThenInclude_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0] @@ -872,7 +931,8 @@ LEFT JOIN ( END = [t].[OneToMany_Optional_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id], [t0].[Level3_Name]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Level3_Name] +"""); } public override async Task FirstOrDefault_with_predicate_on_correlated_collection_in_projection(bool async) @@ -880,7 +940,8 @@ public override async Task FirstOrDefault_with_predicate_on_correlated_collectio await base.FirstOrDefault_with_predicate_on_correlated_collection_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -894,7 +955,8 @@ LEFT JOIN ( WHERE [t].[row] <= 1 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] AND [l].[Id] = CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] -END"); +END +"""); } public override async Task Filtered_include_OrderBy(bool async) @@ -902,14 +964,16 @@ public override async Task Filtered_include_OrderBy(bool async) await base.Filtered_include_OrderBy(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Level2_Name]"); +ORDER BY [l].[Id], [t].[Level2_Name] +"""); } public override async Task Filtered_include_same_filter_set_on_same_navigation_twice(bool async) @@ -917,7 +981,8 @@ public override async Task Filtered_include_same_filter_set_on_same_navigation_t await base.Filtered_include_same_filter_set_on_same_navigation_twice(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[c] @@ -932,7 +997,8 @@ END AS [c] ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] DESC"); +ORDER BY [l].[Id], [t0].[OneToMany_Optional_Inverse2Id], [t0].[c] DESC +"""); } public override async Task Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(bool async) @@ -940,7 +1006,8 @@ public override async Task Filtered_include_same_filter_set_on_same_navigation_t await base.Filtered_include_same_filter_set_on_same_navigation_twice_followed_by_ThenIncludes(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Id1], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0], [t2].[PeriodEnd1], [t2].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Id1], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0], [t2].[PeriodEnd1], [t2].[PeriodStart1] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id] AS [Id0], [t1].[Id] AS [Id1], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd] AS [PeriodEnd0], [t1].[PeriodStart] AS [PeriodStart0], [t0].[Level2_Optional_Id] AS [Level2_Optional_Id0], [t0].[Level2_Required_Id] AS [Level2_Required_Id0], [t0].[Level3_Name] AS [Level3_Name0], [t0].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [t0].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [t0].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1], [t].[c] @@ -969,7 +1036,8 @@ LEFT JOIN ( WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t1].[OneToMany_Optional_Inverse3Id] ) AS [t2] -ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0]"); +ORDER BY [l].[Id], [t2].[c], [t2].[Id], [t2].[Id0] +"""); } public override async Task Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(bool async) @@ -977,7 +1045,8 @@ public override async Task Filtered_include_Skip_Take_with_another_Skip_Take_on_ await base.Filtered_include_Skip_Take_with_another_Skip_Take_on_top_level(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' SELECT [t].[Id], [t].[Date], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] @@ -1004,7 +1073,8 @@ LEFT JOIN ( WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[Level2_Optional_Id] ) AS [t1] -ORDER BY [t].[Id] DESC, [t1].[Level2_Name] DESC, [t1].[Id]"); +ORDER BY [t].[Id] DESC, [t1].[Level2_Name] DESC, [t1].[Id] +"""); } public override async Task Include_after_SelectMany(bool async) @@ -1012,7 +1082,8 @@ public override async Task Include_after_SelectMany(bool async) await base.Include_after_SelectMany(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1026,7 +1097,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(bool async) @@ -1034,7 +1106,8 @@ public override async Task Include_and_ThenInclude_collections_followed_by_proje await base.Include_and_ThenInclude_collections_followed_by_projecting_the_first_collection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0] @@ -1048,7 +1121,8 @@ LEFT JOIN ( END = [t].[OneToOne_Optional_PK_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Include_collection(bool async) @@ -1056,14 +1130,16 @@ public override async Task Include_collection(bool async) await base.Include_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(bool async) @@ -1071,7 +1147,8 @@ public override async Task Include_collection_and_another_navigation_chain_follo await base.Include_collection_and_another_navigation_chain_followed_by_projecting_the_first_collection(async); AssertSql( - @"SELECT [l].[Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd1], [t1].[PeriodStart1] +""" +SELECT [l].[Id], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd1], [t1].[PeriodStart1] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0], [t0].[Id] AS [Id1], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1] @@ -1092,7 +1169,8 @@ LEFT JOIN ( END = [t0].[Level3_Optional_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0] +"""); } public override async Task Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(bool async) @@ -1100,7 +1178,8 @@ public override async Task Include_collection_followed_by_complex_includes_and_p await base.Include_collection_followed_by_complex_includes_and_projecting_the_included_collection(async); AssertSql( - @"SELECT [l].[Id], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd0], [t3].[PeriodStart0], [t3].[Id1], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[PeriodEnd1], [t3].[PeriodStart1], [t3].[Id2], [t3].[Level2_Optional_Id0], [t3].[Level2_Required_Id0], [t3].[Level3_Name0], [t3].[OneToMany_Optional_Inverse3Id0], [t3].[OneToMany_Required_Inverse3Id0], [t3].[OneToOne_Optional_PK_Inverse3Id0], [t3].[PeriodEnd2], [t3].[PeriodStart2], [t3].[Id3], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0], [t3].[PeriodEnd3], [t3].[PeriodStart3] +""" +SELECT [l].[Id], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd0], [t3].[PeriodStart0], [t3].[Id1], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[PeriodEnd1], [t3].[PeriodStart1], [t3].[Id2], [t3].[Level2_Optional_Id0], [t3].[Level2_Required_Id0], [t3].[Level3_Name0], [t3].[OneToMany_Optional_Inverse3Id0], [t3].[OneToMany_Required_Inverse3Id0], [t3].[OneToOne_Optional_PK_Inverse3Id0], [t3].[PeriodEnd2], [t3].[PeriodStart2], [t3].[Id3], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0], [t3].[PeriodEnd3], [t3].[PeriodStart3] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0], [t0].[Id] AS [Id1], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1], [t1].[Id] AS [Id2], [t1].[Level2_Optional_Id] AS [Level2_Optional_Id0], [t1].[Level2_Required_Id] AS [Level2_Required_Id0], [t1].[Level3_Name] AS [Level3_Name0], [t1].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [t1].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [t1].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [t1].[PeriodEnd] AS [PeriodEnd2], [t1].[PeriodStart] AS [PeriodStart2], [t2].[Id] AS [Id3], [t2].[Level3_Optional_Id] AS [Level3_Optional_Id0], [t2].[Level3_Required_Id] AS [Level3_Required_Id0], [t2].[Level4_Name] AS [Level4_Name0], [t2].[OneToMany_Optional_Inverse4Id] AS [OneToMany_Optional_Inverse4Id0], [t2].[OneToMany_Required_Inverse4Id] AS [OneToMany_Required_Inverse4Id0], [t2].[OneToOne_Optional_PK_Inverse4Id] AS [OneToOne_Optional_PK_Inverse4Id0], [t2].[PeriodEnd] AS [PeriodEnd3], [t2].[PeriodStart] AS [PeriodStart3] @@ -1135,7 +1214,8 @@ LEFT JOIN ( END = [t2].[OneToMany_Optional_Inverse4Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t3] ON [l].[Id] = [t3].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t3].[Id], [t3].[Id0], [t3].[Id1], [t3].[Id2]"); +ORDER BY [l].[Id], [t3].[Id], [t3].[Id0], [t3].[Id1], [t3].[Id2] +"""); } public override async Task Include_collection_followed_by_include_reference(bool async) @@ -1143,7 +1223,8 @@ public override async Task Include_collection_followed_by_include_reference(bool await base.Include_collection_followed_by_include_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0] @@ -1157,7 +1238,8 @@ LEFT JOIN ( END = [t].[OneToOne_Optional_PK_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Include_collection_followed_by_projecting_the_included_collection(bool async) @@ -1165,14 +1247,16 @@ public override async Task Include_collection_followed_by_projecting_the_include await base.Include_collection_followed_by_projecting_the_included_collection(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Include_collection_multiple(bool async) @@ -1180,7 +1264,8 @@ public override async Task Include_collection_multiple(bool async) await base.Include_collection_multiple(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd0], [t3].[PeriodStart0], [t3].[Id1], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[PeriodEnd1], [t3].[PeriodStart1], [t3].[Id2], [t3].[Level2_Optional_Id0], [t3].[Level2_Required_Id0], [t3].[Level3_Name0], [t3].[OneToMany_Optional_Inverse3Id0], [t3].[OneToMany_Required_Inverse3Id0], [t3].[OneToOne_Optional_PK_Inverse3Id0], [t3].[PeriodEnd2], [t3].[PeriodStart2], [t3].[Id3], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0], [t3].[PeriodEnd3], [t3].[PeriodStart3] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t3].[Id], [t3].[OneToOne_Required_PK_Date], [t3].[Level1_Optional_Id], [t3].[Level1_Required_Id], [t3].[Level2_Name], [t3].[OneToMany_Optional_Inverse2Id], [t3].[OneToMany_Required_Inverse2Id], [t3].[OneToOne_Optional_PK_Inverse2Id], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id0], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd0], [t3].[PeriodStart0], [t3].[Id1], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[PeriodEnd1], [t3].[PeriodStart1], [t3].[Id2], [t3].[Level2_Optional_Id0], [t3].[Level2_Required_Id0], [t3].[Level3_Name0], [t3].[OneToMany_Optional_Inverse3Id0], [t3].[OneToMany_Required_Inverse3Id0], [t3].[OneToOne_Optional_PK_Inverse3Id0], [t3].[PeriodEnd2], [t3].[PeriodStart2], [t3].[Id3], [t3].[Level3_Optional_Id0], [t3].[Level3_Required_Id0], [t3].[Level4_Name0], [t3].[OneToMany_Optional_Inverse4Id0], [t3].[OneToMany_Required_Inverse4Id0], [t3].[OneToOne_Optional_PK_Inverse4Id0], [t3].[PeriodEnd3], [t3].[PeriodStart3] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0], [t0].[Id] AS [Id1], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1], [t1].[Id] AS [Id2], [t1].[Level2_Optional_Id] AS [Level2_Optional_Id0], [t1].[Level2_Required_Id] AS [Level2_Required_Id0], [t1].[Level3_Name] AS [Level3_Name0], [t1].[OneToMany_Optional_Inverse3Id] AS [OneToMany_Optional_Inverse3Id0], [t1].[OneToMany_Required_Inverse3Id] AS [OneToMany_Required_Inverse3Id0], [t1].[OneToOne_Optional_PK_Inverse3Id] AS [OneToOne_Optional_PK_Inverse3Id0], [t1].[PeriodEnd] AS [PeriodEnd2], [t1].[PeriodStart] AS [PeriodStart2], [t2].[Id] AS [Id3], [t2].[Level3_Optional_Id] AS [Level3_Optional_Id0], [t2].[Level3_Required_Id] AS [Level3_Required_Id0], [t2].[Level4_Name] AS [Level4_Name0], [t2].[OneToMany_Optional_Inverse4Id] AS [OneToMany_Optional_Inverse4Id0], [t2].[OneToMany_Required_Inverse4Id] AS [OneToMany_Required_Inverse4Id0], [t2].[OneToOne_Optional_PK_Inverse4Id] AS [OneToOne_Optional_PK_Inverse4Id0], [t2].[PeriodEnd] AS [PeriodEnd3], [t2].[PeriodStart] AS [PeriodStart3] @@ -1215,7 +1300,8 @@ LEFT JOIN ( END = [t2].[OneToMany_Optional_Inverse4Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t3] ON [l].[Id] = [t3].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t3].[Id], [t3].[Id0], [t3].[Id1], [t3].[Id2]"); +ORDER BY [l].[Id], [t3].[Id], [t3].[Id0], [t3].[Id1], [t3].[Id2] +"""); } public override async Task Include_collection_multiple_with_filter(bool async) @@ -1223,7 +1309,8 @@ public override async Task Include_collection_multiple_with_filter(bool async) await base.Include_collection_multiple_with_filter(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd1], [t1].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd1], [t1].[PeriodStart1] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l2].[Id], [l2].[OneToOne_Required_PK_Date], [l2].[Level1_Optional_Id], [l2].[Level1_Required_Id], [l2].[Level2_Name], [l2].[OneToMany_Optional_Inverse2Id], [l2].[OneToMany_Required_Inverse2Id], [l2].[OneToOne_Optional_PK_Inverse2Id], [l2].[PeriodEnd], [l2].[PeriodStart], [t0].[Id] AS [Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd] AS [PeriodEnd0], [t0].[PeriodStart] AS [PeriodStart0], [t2].[Id] AS [Id1], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id], [t2].[PeriodEnd] AS [PeriodEnd1], [t2].[PeriodStart] AS [PeriodStart1] @@ -1255,7 +1342,8 @@ LEFT JOIN ( WHEN ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [l0].[Id] END = [t].[OneToOne_Optional_PK_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND [l].[Id] = [l0].[OneToMany_Optional_Inverse2Id] AND ([t].[Level3_Name] <> N'Foo' OR ([t].[Level3_Name] IS NULL))) > 0 -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0] +"""); } public override async Task Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(bool async) @@ -1263,7 +1351,8 @@ public override async Task Include_collection_ThenInclude_reference_followed_by_ await base.Include_collection_ThenInclude_reference_followed_by_projection_into_anonmous_type(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0] @@ -1289,7 +1378,8 @@ LEFT JOIN ( END = [t2].[OneToOne_Optional_PK_Inverse3Id] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0], [t1].[Id]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0], [t1].[Id] +"""); } public override async Task Include_collection_ThenInclude_two_references(bool async) @@ -1297,7 +1387,8 @@ public override async Task Include_collection_ThenInclude_two_references(bool as await base.Include_collection_ThenInclude_two_references(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd1], [t1].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id1], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd1], [t1].[PeriodStart1] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0], [t0].[Id] AS [Id1], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1] @@ -1318,7 +1409,8 @@ LEFT JOIN ( END = [t0].[Level3_Optional_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id], [t1].[Id0]"); +ORDER BY [l].[Id], [t1].[Id], [t1].[Id0] +"""); } public override async Task Include_collection_then_reference(bool async) @@ -1326,7 +1418,8 @@ public override async Task Include_collection_then_reference(bool async) await base.Include_collection_then_reference(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0] @@ -1340,7 +1433,8 @@ LEFT JOIN ( END = [t].[Level2_Optional_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Include_collection_with_conditional_order_by(bool async) @@ -1348,7 +1442,8 @@ public override async Task Include_collection_with_conditional_order_by(bool asy await base.Include_collection_with_conditional_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1358,7 +1453,8 @@ LEFT JOIN ( ORDER BY CASE WHEN ([l].[Name] IS NOT NULL) AND ([l].[Name] LIKE N'%03') THEN 1 ELSE 2 -END, [l].[Id]"); +END, [l].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery(bool async) @@ -1366,7 +1462,8 @@ public override async Task Include_collection_with_groupby_in_subquery(bool asyn await base.Include_collection_with_groupby_in_subquery(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart] FROM ( SELECT [l].[Name] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -1385,7 +1482,8 @@ LEFT JOIN ( FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t0].[Id] = [t2].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery_and_filter_after_groupby(bool async) @@ -1393,7 +1491,8 @@ public override async Task Include_collection_with_groupby_in_subquery_and_filte await base.Include_collection_with_groupby_in_subquery_and_filter_after_groupby(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart] FROM ( SELECT [l].[Name] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -1413,7 +1512,8 @@ LEFT JOIN ( FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t0].[Id] = [t2].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Include_collection_with_groupby_in_subquery_and_filter_before_groupby(bool async) @@ -1421,7 +1521,8 @@ public override async Task Include_collection_with_groupby_in_subquery_and_filte await base.Include_collection_with_groupby_in_subquery_and_filter_before_groupby(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Name], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart] FROM ( SELECT [l].[Name] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -1442,7 +1543,8 @@ LEFT JOIN ( FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t0].[Id] = [t2].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Name], [t0].[Id]"); +ORDER BY [t].[Name], [t0].[Id] +"""); } public override async Task Include_nested_with_optional_navigation(bool async) @@ -1450,7 +1552,8 @@ public override async Task Include_nested_with_optional_navigation(bool async) await base.Include_nested_with_optional_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1472,7 +1575,8 @@ LEFT JOIN ( WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Required_Inverse3Id] WHERE [t].[Level2_Name] <> N'L2 09' OR ([t].[Level2_Name] IS NULL) -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Include_partially_added_before_Where_and_then_build_upon(bool async) @@ -1480,7 +1584,8 @@ public override async Task Include_partially_added_before_Where_and_then_build_u await base.Include_partially_added_before_Where_and_then_build_upon(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1511,7 +1616,8 @@ WHERE CASE END < 3 OR CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[PeriodEnd] IS NOT NULL) AND ([t0].[PeriodStart] IS NOT NULL) THEN [t0].[Id] END > 8 -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(bool async) @@ -1519,7 +1625,8 @@ public override async Task Include_partially_added_before_Where_and_then_build_u await base.Include_partially_added_before_Where_and_then_build_upon_with_filtered_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t3].[Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id0], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[PeriodEnd0], [t3].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t3].[Id], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id0], [t3].[Level3_Optional_Id], [t3].[Level3_Required_Id], [t3].[Level4_Name], [t3].[OneToMany_Optional_Inverse4Id], [t3].[OneToMany_Required_Inverse4Id], [t3].[OneToOne_Optional_PK_Inverse4Id], [t3].[PeriodEnd0], [t3].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1565,7 +1672,8 @@ WHERE CASE END < 3 OR CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[PeriodEnd] IS NOT NULL) AND ([t0].[PeriodStart] IS NOT NULL) THEN [t0].[Id] END > 8 -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[OneToMany_Optional_Inverse3Id], [t1].[c], [t1].[Id], [t3].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[OneToMany_Optional_Inverse3Id], [t1].[c], [t1].[Id], [t3].[Id] +"""); } public override async Task Include_reference_and_collection_order_by(bool async) @@ -1573,7 +1681,8 @@ public override async Task Include_reference_and_collection_order_by(bool async) await base.Include_reference_and_collection_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1587,7 +1696,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [t].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t].[Id] +"""); } public override async Task Include_reference_collection_order_by_reference_navigation(bool async) @@ -1595,7 +1705,8 @@ public override async Task Include_reference_collection_order_by_reference_navig await base.Include_reference_collection_order_by_reference_navigation(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1611,7 +1722,8 @@ LEFT JOIN ( END = [t0].[OneToMany_Optional_Inverse3Id] ORDER BY CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] -END, [l].[Id], [t].[Id]"); +END, [l].[Id], [t].[Id] +"""); } public override async Task Include_reference_followed_by_include_collection(bool async) @@ -1619,7 +1731,8 @@ public override async Task Include_reference_followed_by_include_collection(bool await base.Include_reference_followed_by_include_collection(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1633,7 +1746,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Include_reference_ThenInclude_collection_order_by(bool async) @@ -1641,7 +1755,8 @@ public override async Task Include_reference_ThenInclude_collection_order_by(boo await base.Include_reference_ThenInclude_collection_order_by(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1655,7 +1770,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Name], [l].[Id], [t].[Id]"); +ORDER BY [l].[Name], [l].[Id], [t].[Id] +"""); } public override async Task Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(bool async) @@ -1663,7 +1779,8 @@ public override async Task Include_ThenInclude_ThenInclude_followed_by_two_neste await base.Include_ThenInclude_ThenInclude_followed_by_two_nested_selects(async); AssertSql( - @"SELECT [l].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id1] +""" +SELECT [l].[Id], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id1] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id] AS [Id0], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[PeriodEnd] AS [PeriodEnd0], [t0].[PeriodStart] AS [PeriodStart0], [l0].[Id] AS [Id1], [l0].[OneToMany_Optional_Inverse2Id] @@ -1684,7 +1801,8 @@ LEFT JOIN ( END = [t0].[Level3_Optional_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t1].[Id1], [t1].[Id]"); +ORDER BY [l].[Id], [t1].[Id1], [t1].[Id] +"""); } public override async Task Including_reference_navigation_and_projecting_collection_navigation(bool async) @@ -1692,7 +1810,8 @@ public override async Task Including_reference_navigation_and_projecting_collect await base.Including_reference_navigation_and_projecting_collection_navigation(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart] +""" +SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1711,7 +1830,8 @@ LEFT JOIN ( FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l2] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(bool async) @@ -1719,7 +1839,8 @@ public override async Task LeftJoin_with_Any_on_outer_source_and_projecting_coll await base.LeftJoin_with_Any_on_outer_source_and_projecting_collection_from_inner(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NULL) OR ([t0].[Level1_Required_Id] IS NULL) OR ([t0].[OneToMany_Required_Inverse2Id] IS NULL) OR (CASE WHEN ([t0].[PeriodEnd0] IS NOT NULL) AND ([t0].[PeriodStart0] IS NOT NULL) THEN [t0].[PeriodEnd0] END IS NULL) OR (CASE @@ -1752,7 +1873,8 @@ LEFT JOIN ( WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t0].[PeriodEnd0] IS NOT NULL) AND ([t0].[PeriodStart0] IS NOT NULL) THEN [t0].[Id0] END = [t1].[OneToMany_Required_Inverse3Id] WHERE [l].[Name] IN (N'L1 01', N'L1 02') -ORDER BY [l].[Id], [t0].[Id], [t0].[Id0]"); +ORDER BY [l].[Id], [t0].[Id], [t0].[Id0] +"""); } public override async Task Lift_projection_mapping_when_pushing_down_subquery(bool async) @@ -1760,7 +1882,8 @@ public override async Task Lift_projection_mapping_when_pushing_down_subquery(bo await base.Lift_projection_mapping_when_pushing_down_subquery(async); AssertSql( - @"@__p_0='25' +""" +@__p_0='25' SELECT [t].[Id], [t0].[Id0], [t2].[Id], [t2].[Id0], [t0].[Id], [t0].[c] FROM ( @@ -1785,7 +1908,8 @@ SELECT CASE FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t].[Id] = [t2].[OneToMany_Required_Inverse2Id] -ORDER BY [t].[Id], [t0].[Id0]"); +ORDER BY [t].[Id], [t0].[Id0] +"""); } public override async Task Multiple_complex_includes(bool async) @@ -1793,7 +1917,8 @@ public override async Task Multiple_complex_includes(bool async) await base.Multiple_complex_includes(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1819,7 +1944,8 @@ LEFT JOIN ( END = [t2].[Level2_Optional_Id] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Multiple_complex_include_select(bool async) @@ -1827,7 +1953,8 @@ public override async Task Multiple_complex_include_select(bool async) await base.Multiple_complex_include_select(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1853,7 +1980,8 @@ LEFT JOIN ( END = [t2].[Level2_Optional_Id] WHERE ([l2].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l2].[Level1_Required_Id] IS NOT NULL) AND ([l2].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t1] ON [l].[Id] = [t1].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Multiple_include_with_multiple_optional_navigations(bool async) @@ -1861,7 +1989,8 @@ public override async Task Multiple_include_with_multiple_optional_navigations(b await base.Multiple_include_with_multiple_optional_navigations(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t1].[Id], [t2].[Id], [t3].[Id], [t4].[Id], [t4].[Level2_Optional_Id], [t4].[Level2_Required_Id], [t4].[Level3_Name], [t4].[OneToMany_Optional_Inverse3Id], [t4].[OneToMany_Required_Inverse3Id], [t4].[OneToOne_Optional_PK_Inverse3Id], [t4].[PeriodEnd], [t4].[PeriodStart], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd], [t3].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t1].[Id], [t2].[Id], [t3].[Id], [t4].[Id], [t4].[Level2_Optional_Id], [t4].[Level2_Required_Id], [t4].[Level3_Name], [t4].[OneToMany_Optional_Inverse3Id], [t4].[OneToMany_Required_Inverse3Id], [t4].[OneToOne_Optional_PK_Inverse3Id], [t4].[PeriodEnd], [t4].[PeriodStart], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t3].[Level2_Optional_Id], [t3].[Level2_Required_Id], [t3].[Level3_Name], [t3].[OneToMany_Optional_Inverse3Id], [t3].[OneToMany_Required_Inverse3Id], [t3].[OneToOne_Optional_PK_Inverse3Id], [t3].[PeriodEnd], [t3].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1902,7 +2031,8 @@ LEFT JOIN ( WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t4].[OneToMany_Optional_Inverse3Id] WHERE [t0].[Level3_Name] <> N'Foo' OR ([t0].[Level3_Name] IS NULL) -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id], [t2].[Id], [t3].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id], [t2].[Id], [t3].[Id] +"""); } public override async Task Multiple_optional_navigation_with_Include(bool async) @@ -1910,7 +2040,8 @@ public override async Task Multiple_optional_navigation_with_Include(bool async) await base.Multiple_optional_navigation_with_Include(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [l].[Id], [t].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd], [t1].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [l].[Id], [t].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd], [t1].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1931,7 +2062,8 @@ LEFT JOIN ( ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t0].[PeriodEnd] IS NOT NULL) AND ([t0].[PeriodStart] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Multiple_optional_navigation_with_string_based_Include(bool async) @@ -1939,7 +2071,8 @@ public override async Task Multiple_optional_navigation_with_string_based_Includ await base.Multiple_optional_navigation_with_string_based_Include(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [l].[Id], [t].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd], [t1].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [l].[Id], [t].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd], [t1].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -1960,7 +2093,8 @@ LEFT JOIN ( ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t0].[PeriodEnd] IS NOT NULL) AND ([t0].[PeriodStart] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) @@ -1968,7 +2102,8 @@ public override async Task Multiple_SelectMany_navigation_property_followed_by_s await base.Multiple_SelectMany_navigation_property_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END, [l].[Id], [t].[Id], [t0].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd], [t1].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -1991,7 +2126,8 @@ LEFT JOIN ( ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Multiple_SelectMany_with_Include(bool async) @@ -1999,7 +2135,8 @@ public override async Task Multiple_SelectMany_with_Include(bool async) await base.Multiple_SelectMany_with_Include(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd], [t1].[PeriodStart], [l].[Id], [t].[Id], [t2].[Id], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id], [t2].[PeriodEnd], [t2].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd], [t1].[PeriodStart], [l].[Id], [t].[Id], [t2].[Id], [t2].[Level3_Optional_Id], [t2].[Level3_Required_Id], [t2].[Level4_Name], [t2].[OneToMany_Optional_Inverse4Id], [t2].[OneToMany_Required_Inverse4Id], [t2].[OneToOne_Optional_PK_Inverse4Id], [t2].[PeriodEnd], [t2].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Required_Id], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2027,7 +2164,8 @@ LEFT JOIN ( ) AS [t2] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) THEN [t0].[Id] END = [t2].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task @@ -2036,7 +2174,8 @@ public override async Task await base.Multi_level_include_correct_PK_is_chosen_as_the_join_predicate_for_queries_that_join_same_table_multiple_times(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0], [t2].[Id00], [t2].[OneToOne_Required_PK_Date0], [t2].[Level1_Optional_Id0], [t2].[Level1_Required_Id0], [t2].[Level2_Name0], [t2].[OneToMany_Optional_Inverse2Id0], [t2].[OneToMany_Required_Inverse2Id0], [t2].[OneToOne_Optional_PK_Inverse2Id0], [t2].[PeriodEnd00], [t2].[PeriodStart00], [t2].[Id1], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0], [t2].[PeriodEnd1], [t2].[PeriodStart1] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t2].[Id], [t2].[OneToOne_Required_PK_Date], [t2].[Level1_Optional_Id], [t2].[Level1_Required_Id], [t2].[Level2_Name], [t2].[OneToMany_Optional_Inverse2Id], [t2].[OneToMany_Required_Inverse2Id], [t2].[OneToOne_Optional_PK_Inverse2Id], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[Id0], [t2].[Level2_Optional_Id], [t2].[Level2_Required_Id], [t2].[Level3_Name], [t2].[OneToMany_Optional_Inverse3Id], [t2].[OneToMany_Required_Inverse3Id], [t2].[OneToOne_Optional_PK_Inverse3Id], [t2].[PeriodEnd0], [t2].[PeriodStart0], [t2].[Id00], [t2].[OneToOne_Required_PK_Date0], [t2].[Level1_Optional_Id0], [t2].[Level1_Required_Id0], [t2].[Level2_Name0], [t2].[OneToMany_Optional_Inverse2Id0], [t2].[OneToMany_Required_Inverse2Id0], [t2].[OneToOne_Optional_PK_Inverse2Id0], [t2].[PeriodEnd00], [t2].[PeriodStart00], [t2].[Id1], [t2].[Level2_Optional_Id0], [t2].[Level2_Required_Id0], [t2].[Level3_Name0], [t2].[OneToMany_Optional_Inverse3Id0], [t2].[OneToMany_Required_Inverse3Id0], [t2].[OneToOne_Optional_PK_Inverse3Id0], [t2].[PeriodEnd1], [t2].[PeriodStart1] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t1].[Id] AS [Id0], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd] AS [PeriodEnd0], [t1].[PeriodStart] AS [PeriodStart0], [t1].[Id0] AS [Id00], [t1].[OneToOne_Required_PK_Date] AS [OneToOne_Required_PK_Date0], [t1].[Level1_Optional_Id] AS [Level1_Optional_Id0], [t1].[Level1_Required_Id] AS [Level1_Required_Id0], [t1].[Level2_Name] AS [Level2_Name0], [t1].[OneToMany_Optional_Inverse2Id] AS [OneToMany_Optional_Inverse2Id0], [t1].[OneToMany_Required_Inverse2Id] AS [OneToMany_Required_Inverse2Id0], [t1].[OneToOne_Optional_PK_Inverse2Id] AS [OneToOne_Optional_PK_Inverse2Id0], [t1].[PeriodEnd0] AS [PeriodEnd00], [t1].[PeriodStart0] AS [PeriodStart00], [t1].[Id1], [t1].[Level2_Optional_Id0], [t1].[Level2_Required_Id0], [t1].[Level3_Name0], [t1].[OneToMany_Optional_Inverse3Id0], [t1].[OneToMany_Required_Inverse3Id0], [t1].[OneToOne_Optional_PK_Inverse3Id0], [t1].[PeriodEnd1], [t1].[PeriodStart1] @@ -2064,7 +2203,8 @@ LEFT JOIN ( END = [t1].[OneToMany_Optional_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [l].[Id] = [t2].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t2].[Id], [t2].[Id0], [t2].[Id00]"); +ORDER BY [l].[Id], [t2].[Id], [t2].[Id0], [t2].[Id00] +"""); } public override async Task Multi_level_include_one_to_many_optional_and_one_to_many_optional_produces_valid_sql(bool async) @@ -2072,7 +2212,8 @@ public override async Task Multi_level_include_one_to_many_optional_and_one_to_m await base.Multi_level_include_one_to_many_optional_and_one_to_many_optional_produces_valid_sql(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart], [t].[Id] AS [Id0], [t].[Level2_Optional_Id], [t].[Level2_Required_Id], [t].[Level3_Name], [t].[OneToMany_Optional_Inverse3Id], [t].[OneToMany_Required_Inverse3Id], [t].[OneToOne_Optional_PK_Inverse3Id], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0] @@ -2086,7 +2227,8 @@ LEFT JOIN ( END = [t].[OneToMany_Optional_Inverse3Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Null_check_in_anonymous_type_projection_should_not_be_removed(bool async) @@ -2094,7 +2236,8 @@ public override async Task Null_check_in_anonymous_type_projection_should_not_be await base.Null_check_in_anonymous_type_projection_should_not_be_removed(async); AssertSql( - @"SELECT [l].[Id], [t0].[c], [t0].[Level3_Name], [t0].[Id], [t0].[Id0] +""" +SELECT [l].[Id], [t0].[c], [t0].[Level3_Name], [t0].[Id], [t0].[Id0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT CASE @@ -2115,7 +2258,8 @@ LEFT JOIN ( END = [t].[Level2_Required_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Null_check_in_Dto_projection_should_not_be_removed(bool async) @@ -2123,7 +2267,8 @@ public override async Task Null_check_in_Dto_projection_should_not_be_removed(bo await base.Null_check_in_Dto_projection_should_not_be_removed(async); AssertSql( - @"SELECT [l].[Id], [t0].[c], [t0].[Level3_Name], [t0].[Id], [t0].[Id0] +""" +SELECT [l].[Id], [t0].[c], [t0].[Level3_Name], [t0].[Id], [t0].[Id0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT CASE @@ -2144,7 +2289,8 @@ LEFT JOIN ( END = [t].[Level2_Required_Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t0].[Id] +"""); } public override async Task Optional_navigation_with_Include_and_order(bool async) @@ -2152,7 +2298,8 @@ public override async Task Optional_navigation_with_Include_and_order(bool async await base.Optional_navigation_with_Include_and_order(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2166,7 +2313,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id] +"""); } public override async Task Optional_navigation_with_Include_ThenInclude(bool async) @@ -2174,7 +2322,8 @@ public override async Task Optional_navigation_with_Include_ThenInclude(bool asy await base.Optional_navigation_with_Include_ThenInclude(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id0], [t0].[Level3_Optional_Id], [t0].[Level3_Required_Id], [t0].[Level4_Name], [t0].[OneToMany_Optional_Inverse4Id], [t0].[OneToMany_Required_Inverse4Id], [t0].[OneToOne_Optional_PK_Inverse4Id], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2195,7 +2344,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task Optional_navigation_with_order_by_and_Include(bool async) @@ -2203,7 +2353,8 @@ public override async Task Optional_navigation_with_order_by_and_Include(bool as await base.Optional_navigation_with_order_by_and_Include(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2217,7 +2368,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id] +"""); } public override async Task Orderby_SelectMany_with_Include1(bool async) @@ -2225,7 +2377,8 @@ public override async Task Orderby_SelectMany_with_Include1(bool async) await base.Orderby_SelectMany_with_Include1(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2239,7 +2392,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Projecting_collection_with_FirstOrDefault(bool async) @@ -2247,7 +2401,8 @@ public override async Task Projecting_collection_with_FirstOrDefault(bool async) await base.Projecting_collection_with_FirstOrDefault(async); AssertSql( - @"SELECT [t].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT TOP(1) [l].[Id] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2258,7 +2413,8 @@ LEFT JOIN ( FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [t].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [t].[Id]"); +ORDER BY [t].[Id] +"""); } public override async Task Project_collection_and_include(bool async) @@ -2266,7 +2422,8 @@ public override async Task Project_collection_and_include(bool async) await base.Project_collection_and_include(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2278,7 +2435,8 @@ LEFT JOIN ( FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l1] WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Project_collection_and_root_entity(bool async) @@ -2286,14 +2444,16 @@ public override async Task Project_collection_and_root_entity(bool async) await base.Project_collection_and_root_entity(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_collection_navigation(bool async) @@ -2301,14 +2461,16 @@ public override async Task Project_collection_navigation(bool async) await base.Project_collection_navigation(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_collection_navigation_composed(bool async) @@ -2316,7 +2478,8 @@ public override async Task Project_collection_navigation_composed(bool async) await base.Project_collection_navigation_composed(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [l].[Id], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2324,7 +2487,8 @@ LEFT JOIN ( WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([l0].[Level2_Name] <> N'Foo' OR ([l0].[Level2_Name] IS NULL)) ) AS [t] ON [l].[Id] = [t].[OneToMany_Optional_Inverse2Id] WHERE [l].[Id] < 3 -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Project_collection_navigation_nested(bool async) @@ -2332,7 +2496,8 @@ public override async Task Project_collection_navigation_nested(bool async) await base.Project_collection_navigation_nested(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2346,7 +2511,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Project_collection_navigation_nested_anonymous(bool async) @@ -2354,7 +2520,8 @@ public override async Task Project_collection_navigation_nested_anonymous(bool a await base.Project_collection_navigation_nested_anonymous(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2368,7 +2535,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Project_collection_navigation_nested_with_take(bool async) @@ -2376,7 +2544,8 @@ public override async Task Project_collection_navigation_nested_with_take(bool a await base.Project_collection_navigation_nested_with_take(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2394,7 +2563,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Project_collection_navigation_using_ef_property(bool async) @@ -2402,7 +2572,8 @@ public override async Task Project_collection_navigation_using_ef_property(bool await base.Project_collection_navigation_using_ef_property(async); AssertSql( - @"SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2416,7 +2587,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task Project_navigation_and_collection(bool async) @@ -2424,7 +2596,8 @@ public override async Task Project_navigation_and_collection(bool async) await base.Project_navigation_and_collection(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2438,7 +2611,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) AND ([t].[PeriodEnd] IS NOT NULL) AND ([t].[PeriodStart] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_navigation_property_followed_by_select_collection_navigation(bool async) @@ -2446,7 +2620,8 @@ public override async Task SelectMany_navigation_property_followed_by_select_col await base.SelectMany_navigation_property_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END, [l].[Id], [t].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2462,7 +2637,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(bool async) @@ -2470,7 +2646,8 @@ public override async Task SelectMany_navigation_property_with_include_and_follo await base.SelectMany_navigation_property_with_include_and_followed_by_select_collection_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[Id], [t1].[Level2_Optional_Id], [t1].[Level2_Required_Id], [t1].[Level3_Name], [t1].[OneToMany_Optional_Inverse3Id], [t1].[OneToMany_Required_Inverse3Id], [t1].[OneToOne_Optional_PK_Inverse3Id], [t1].[PeriodEnd], [t1].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2491,7 +2668,8 @@ LEFT JOIN ( ) AS [t1] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task SelectMany_with_Include1(bool async) @@ -2499,7 +2677,8 @@ public override async Task SelectMany_with_Include1(bool async) await base.SelectMany_with_Include1(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2513,7 +2692,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_with_Include2(bool async) @@ -2521,7 +2701,8 @@ public override async Task SelectMany_with_Include2(bool async) await base.SelectMany_with_Include2(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2534,7 +2715,8 @@ LEFT JOIN ( WHERE ([l1].[Level2_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse3Id] IS NOT NULL) ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] -END = [t0].[Level2_Required_Id]"); +END = [t0].[Level2_Required_Id] +"""); } public override async Task SelectMany_with_Include_and_order_by(bool async) @@ -2542,7 +2724,8 @@ public override async Task SelectMany_with_Include_and_order_by(bool async) await base.SelectMany_with_Include_and_order_by(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2556,7 +2739,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_with_Include_ThenInclude(bool async) @@ -2564,7 +2748,8 @@ public override async Task SelectMany_with_Include_ThenInclude(bool async) await base.SelectMany_with_Include_ThenInclude(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [l].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd], [t1].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart], [l].[Id], [t1].[Id], [t1].[Level3_Optional_Id], [t1].[Level3_Required_Id], [t1].[Level4_Name], [t1].[OneToMany_Optional_Inverse4Id], [t1].[OneToMany_Required_Inverse4Id], [t1].[OneToOne_Optional_PK_Inverse4Id], [t1].[PeriodEnd], [t1].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2585,7 +2770,8 @@ LEFT JOIN ( ) AS [t1] ON CASE WHEN ([t0].[Level2_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse3Id] IS NOT NULL) AND ([t0].[PeriodEnd] IS NOT NULL) AND ([t0].[PeriodStart] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse4Id] -ORDER BY [l].[Id], [t].[Id], [t0].[Id]"); +ORDER BY [l].[Id], [t].[Id], [t0].[Id] +"""); } public override async Task SelectMany_with_navigation_and_Distinct(bool async) @@ -2593,7 +2779,8 @@ public override async Task SelectMany_with_navigation_and_Distinct(bool async) await base.SelectMany_with_navigation_and_Distinct(async); AssertSql( - @"SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [l].[Date], [l].[Name], [l].[PeriodEnd], [l].[PeriodStart], [t].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT DISTINCT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2610,7 +2797,8 @@ LEFT JOIN ( END IS NOT NULL) AND (CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[PeriodStart] END IS NOT NULL) -ORDER BY [l].[Id], [t].[Id]"); +ORDER BY [l].[Id], [t].[Id] +"""); } public override async Task SelectMany_with_order_by_and_Include(bool async) @@ -2618,7 +2806,8 @@ public override async Task SelectMany_with_order_by_and_Include(bool async) await base.SelectMany_with_order_by_and_Include(async); AssertSql( - @"SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [l].[Id], [t0].[Id], [t0].[Level2_Optional_Id], [t0].[Level2_Required_Id], [t0].[Level3_Name], [t0].[OneToMany_Optional_Inverse3Id], [t0].[OneToMany_Required_Inverse3Id], [t0].[OneToOne_Optional_PK_Inverse3Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT [l0].[Id], [l0].[OneToOne_Required_PK_Date], [l0].[Level1_Optional_Id], [l0].[Level1_Required_Id], [l0].[Level2_Name], [l0].[OneToMany_Optional_Inverse2Id], [l0].[OneToMany_Required_Inverse2Id], [l0].[OneToOne_Optional_PK_Inverse2Id], [l0].[PeriodEnd], [l0].[PeriodStart] @@ -2632,7 +2821,8 @@ LEFT JOIN ( ) AS [t0] ON CASE WHEN ([t].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t].[Level1_Required_Id] IS NOT NULL) AND ([t].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t].[Id] END = [t0].[OneToMany_Optional_Inverse3Id] -ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id]"); +ORDER BY [t].[Level2_Name], [l].[Id], [t].[Id] +"""); } public override async Task Select_nav_prop_collection_one_to_many_required(bool async) @@ -2640,7 +2830,8 @@ public override async Task Select_nav_prop_collection_one_to_many_required(bool await base.Select_nav_prop_collection_one_to_many_required(async); AssertSql( - @"SELECT [l].[Id], [t].[c], [t].[Id] +""" +SELECT [l].[Id], [t].[c], [t].[Id] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT CASE @@ -2649,7 +2840,8 @@ SELECT CASE FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t] ON [l].[Id] = [t].[OneToMany_Required_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Select_subquery_single_nested_subquery(bool async) @@ -2657,7 +2849,8 @@ public override async Task Select_subquery_single_nested_subquery(bool async) await base.Select_subquery_single_nested_subquery(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t1].[Id], [t1].[Id0], [t0].[c] +""" +SELECT [l].[Id], [t0].[Id], [t1].[Id], [t1].[Id0], [t0].[c] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[c], [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Required_Id], [t].[OneToMany_Required_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart], [t].[OneToMany_Optional_Inverse2Id] @@ -2679,7 +2872,8 @@ SELECT CASE ) AS [t1] ON CASE WHEN ([t0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([t0].[Level1_Required_Id] IS NOT NULL) AND ([t0].[OneToMany_Required_Inverse2Id] IS NOT NULL) THEN [t0].[Id] END = [t1].[OneToMany_Optional_Inverse3Id] -ORDER BY [l].[Id], [t0].[Id], [t1].[Id]"); +ORDER BY [l].[Id], [t0].[Id], [t1].[Id] +"""); } public override async Task Select_subquery_single_nested_subquery2(bool async) @@ -2687,7 +2881,8 @@ public override async Task Select_subquery_single_nested_subquery2(bool async) await base.Select_subquery_single_nested_subquery2(async); AssertSql( - @"SELECT [l].[Id], [t2].[Id], [t2].[Id0], [t2].[Id1], [t2].[Id00], [t2].[c] +""" +SELECT [l].[Id], [t2].[Id], [t2].[Id0], [t2].[Id1], [t2].[Id00], [t2].[c] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [l0].[Id], [t0].[Id] AS [Id0], [t1].[Id] AS [Id1], [t1].[Id0] AS [Id00], [t0].[c], CASE @@ -2718,7 +2913,8 @@ SELECT CASE END = [t1].[OneToMany_Optional_Inverse4Id] WHERE ([l0].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l0].[Level1_Required_Id] IS NOT NULL) AND ([l0].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [l].[Id] = [t2].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id], [t2].[c0], [t2].[Id], [t2].[Id0], [t2].[Id1]"); +ORDER BY [l].[Id], [t2].[c0], [t2].[Id], [t2].[Id0], [t2].[Id1] +"""); } public override async Task Skip_on_grouping_element(bool async) @@ -2726,7 +2922,8 @@ public override async Task Skip_on_grouping_element(bool async) await base.Skip_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT [l].[Date] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2740,7 +2937,8 @@ LEFT JOIN ( ) AS [t1] WHERE 1 < [t1].[row] ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_Distinct_on_grouping_element(bool async) @@ -2748,7 +2946,8 @@ public override async Task Skip_Take_Distinct_on_grouping_element(bool async) await base.Skip_Take_Distinct_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT [l].[Date] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2764,7 +2963,8 @@ ORDER BY [l0].[Name] OFFSET 1 ROWS FETCH NEXT 5 ROWS ONLY ) AS [t1] ) AS [t0] -ORDER BY [t].[Date]"); +ORDER BY [t].[Date] +"""); } public override async Task Skip_Take_on_grouping_element(bool async) @@ -2772,7 +2972,8 @@ public override async Task Skip_Take_on_grouping_element(bool async) await base.Skip_Take_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT [l].[Date] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2786,7 +2987,8 @@ LEFT JOIN ( ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_on_grouping_element_inside_collection_projection(bool async) @@ -2794,7 +2996,8 @@ public override async Task Skip_Take_on_grouping_element_inside_collection_proje await base.Skip_Take_on_grouping_element_inside_collection_projection(async); AssertSql( - @"SELECT [l].[Id], [t2].[Date], [t2].[Id], [t2].[Date0], [t2].[Name], [t2].[PeriodEnd], [t2].[PeriodStart] +""" +SELECT [l].[Id], [t2].[Date], [t2].[Id], [t2].[Date0], [t2].[Name], [t2].[PeriodEnd], [t2].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] OUTER APPLY ( SELECT [t].[Date], [t0].[Id], [t0].[Date] AS [Date0], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] @@ -2814,7 +3017,8 @@ LEFT JOIN ( WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] ) AS [t2] -ORDER BY [l].[Id], [t2].[Date], [t2].[Date0], [t2].[Name]"); +ORDER BY [l].[Id], [t2].[Date], [t2].[Date0], [t2].[Name] +"""); } public override async Task Skip_Take_on_grouping_element_into_non_entity(bool async) @@ -2822,7 +3026,8 @@ public override async Task Skip_Take_on_grouping_element_into_non_entity(bool as await base.Skip_Take_on_grouping_element_into_non_entity(async); AssertSql( - @"SELECT [t].[Date], [t0].[Name], [t0].[Id] +""" +SELECT [t].[Date], [t0].[Name], [t0].[Id] FROM ( SELECT [l].[Date] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2836,7 +3041,8 @@ LEFT JOIN ( ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Skip_Take_on_grouping_element_with_collection_include(bool async) @@ -2844,7 +3050,8 @@ public override async Task Skip_Take_on_grouping_element_with_collection_include await base.Skip_Take_on_grouping_element_with_collection_include(async); AssertSql( - @"SELECT [t].[Date], [t1].[Id], [t1].[Date], [t1].[Name], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] +""" +SELECT [t].[Date], [t1].[Id], [t1].[Date], [t1].[Name], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] FROM ( SELECT [l].[Date] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2865,7 +3072,8 @@ LEFT JOIN ( WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t0].[Id] = [t2].[OneToMany_Optional_Inverse2Id] ) AS [t1] -ORDER BY [t].[Date], [t1].[Name], [t1].[Id]"); +ORDER BY [t].[Date], [t1].[Name], [t1].[Id] +"""); } public override async Task Skip_Take_on_grouping_element_with_reference_include(bool async) @@ -2873,7 +3081,8 @@ public override async Task Skip_Take_on_grouping_element_with_reference_include( await base.Skip_Take_on_grouping_element_with_reference_include(async); AssertSql( - @"SELECT [t].[Date], [t1].[Id], [t1].[Date], [t1].[Name], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] +""" +SELECT [t].[Date], [t1].[Id], [t1].[Date], [t1].[Name], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id0], [t1].[OneToOne_Required_PK_Date], [t1].[Level1_Optional_Id], [t1].[Level1_Required_Id], [t1].[Level2_Name], [t1].[OneToMany_Optional_Inverse2Id], [t1].[OneToMany_Required_Inverse2Id], [t1].[OneToOne_Optional_PK_Inverse2Id], [t1].[PeriodEnd0], [t1].[PeriodStart0] FROM ( SELECT [l].[Date] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2894,7 +3103,8 @@ LEFT JOIN ( WHERE ([l1].[OneToOne_Required_PK_Date] IS NOT NULL) AND ([l1].[Level1_Required_Id] IS NOT NULL) AND ([l1].[OneToMany_Required_Inverse2Id] IS NOT NULL) ) AS [t2] ON [t0].[Id] = [t2].[Level1_Optional_Id] ) AS [t1] -ORDER BY [t].[Date], [t1].[Name], [t1].[Id]"); +ORDER BY [t].[Date], [t1].[Name], [t1].[Id] +"""); } public override async Task Skip_Take_Select_collection_Skip_Take(bool async) @@ -2902,7 +3112,8 @@ public override async Task Skip_Take_Select_collection_Skip_Take(bool async) await base.Skip_Take_Select_collection_Skip_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Name], [t0].[Id], [t0].[Name], [t0].[Level1Id], [t0].[Level2Id], [t0].[Id0], [t0].[Date], [t0].[Name0], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id1] FROM ( @@ -2928,7 +3139,8 @@ OFFSET 1 ROWS FETCH NEXT 3 ROWS ONLY ) AS [t1] INNER JOIN [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t1].[Level1_Required_Id] = [l0].[Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[c], [t0].[Id1]"); +ORDER BY [t].[Id], [t0].[c], [t0].[Id1] +"""); } public override async Task Skip_Take_ToList_on_grouping_element(bool async) @@ -2936,7 +3148,8 @@ public override async Task Skip_Take_ToList_on_grouping_element(bool async) await base.Skip_Take_ToList_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT [l].[Date] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2950,7 +3163,8 @@ LEFT JOIN ( ) AS [t1] WHERE 1 < [t1].[row] AND [t1].[row] <= 6 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name]"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] +"""); } public override async Task Take_on_correlated_collection_in_projection(bool async) @@ -2958,7 +3172,8 @@ public override async Task Take_on_correlated_collection_in_projection(bool asyn await base.Take_on_correlated_collection_in_projection(async); AssertSql( - @"SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [l].[Id], [t0].[Id], [t0].[OneToOne_Required_PK_Date], [t0].[Level1_Optional_Id], [t0].[Level1_Required_Id], [t0].[Level2_Name], [t0].[OneToMany_Optional_Inverse2Id], [t0].[OneToMany_Required_Inverse2Id], [t0].[OneToOne_Optional_PK_Inverse2Id], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [t].[Id], [t].[OneToOne_Required_PK_Date], [t].[Level1_Optional_Id], [t].[Level1_Required_Id], [t].[Level2_Name], [t].[OneToMany_Optional_Inverse2Id], [t].[OneToMany_Required_Inverse2Id], [t].[OneToOne_Optional_PK_Inverse2Id], [t].[PeriodEnd], [t].[PeriodStart] @@ -2969,7 +3184,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 50 ) AS [t0] ON [l].[Id] = [t0].[OneToMany_Optional_Inverse2Id] -ORDER BY [l].[Id]"); +ORDER BY [l].[Id] +"""); } public override async Task Take_on_grouping_element(bool async) @@ -2977,7 +3193,8 @@ public override async Task Take_on_grouping_element(bool async) await base.Take_on_grouping_element(async); AssertSql( - @"SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Date], [t0].[Id], [t0].[Date], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] FROM ( SELECT [l].[Date] FROM [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] @@ -2991,7 +3208,8 @@ LEFT JOIN ( ) AS [t1] WHERE [t1].[row] <= 10 ) AS [t0] ON [t].[Date] = [t0].[Date] -ORDER BY [t].[Date], [t0].[Date], [t0].[Name] DESC"); +ORDER BY [t].[Date], [t0].[Date], [t0].[Name] DESC +"""); } public override async Task Take_Select_collection_Take(bool async) @@ -2999,7 +3217,8 @@ public override async Task Take_Select_collection_Take(bool async) await base.Take_Select_collection_Take(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Name], [t0].[Id], [t0].[Name], [t0].[Level1Id], [t0].[Level2Id], [t0].[Id0], [t0].[Date], [t0].[Name0], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id1] FROM ( @@ -3023,7 +3242,8 @@ ORDER BY CASE ) AS [t1] INNER JOIN [Level1] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [t1].[Level1_Required_Id] = [l0].[Id] ) AS [t0] -ORDER BY [t].[Id], [t0].[c], [t0].[Id1]"); +ORDER BY [t].[Id], [t0].[c], [t0].[Id1] +"""); } public override async Task SelectMany_with_predicate_and_DefaultIfEmpty_projecting_root_collection_element_and_another_collection( diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalFiltersInheritanceQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalFiltersInheritanceQuerySqlServerTest.cs index ea421ab3146..e99be2c055e 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalFiltersInheritanceQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalFiltersInheritanceQuerySqlServerTest.cs @@ -42,10 +42,12 @@ public override async Task Can_use_of_type_animal(bool async) await base.Can_use_of_type_animal(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [a] WHERE [a].[CountryId] = 1 -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_is_kiwi(bool async) @@ -53,9 +55,11 @@ public override async Task Can_use_is_kiwi(bool async) await base.Can_use_is_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [a] -WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_use_is_kiwi_with_other_predicate(bool async) @@ -63,9 +67,11 @@ public override async Task Can_use_is_kiwi_with_other_predicate(bool async) await base.Can_use_is_kiwi_with_other_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [a] -WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1"); +WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi' AND [a].[CountryId] = 1 +"""); } public override async Task Can_use_is_kiwi_in_projection(bool async) @@ -73,12 +79,14 @@ public override async Task Can_use_is_kiwi_in_projection(bool async) await base.Can_use_is_kiwi_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [a].[Discriminator] = N'Kiwi' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Animals] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [a] -WHERE [a].[CountryId] = 1"); +WHERE [a].[CountryId] = 1 +"""); } public override async Task Can_use_of_type_bird(bool async) @@ -86,10 +94,12 @@ public override async Task Can_use_of_type_bird(bool async) await base.Can_use_of_type_bird(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [a] WHERE [a].[CountryId] = 1 -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_predicate(bool async) @@ -97,10 +107,12 @@ public override async Task Can_use_of_type_bird_predicate(bool async) await base.Can_use_of_type_bird_predicate(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [a] WHERE [a].[CountryId] = 1 AND [a].[CountryId] = 1 -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_bird_with_projection(bool async) @@ -108,9 +120,11 @@ public override async Task Can_use_of_type_bird_with_projection(bool async) await base.Can_use_of_type_bird_with_projection(async); AssertSql( - @"SELECT [a].[Name] +""" +SELECT [a].[Name] FROM [Animals] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [a] -WHERE [a].[CountryId] = 1"); +WHERE [a].[CountryId] = 1 +"""); } public override async Task Can_use_of_type_bird_first(bool async) @@ -118,10 +132,12 @@ public override async Task Can_use_of_type_bird_first(bool async) await base.Can_use_of_type_bird_first(async); AssertSql( - @"SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] +""" +SELECT TOP(1) [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group], [a].[FoundOn] FROM [Animals] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [a] WHERE [a].[CountryId] = 1 -ORDER BY [a].[Species]"); +ORDER BY [a].[Species] +"""); } public override async Task Can_use_of_type_kiwi(bool async) @@ -129,9 +145,11 @@ public override async Task Can_use_of_type_kiwi(bool async) await base.Can_use_of_type_kiwi(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[FoundOn] FROM [Animals] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [a] -WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi'"); +WHERE [a].[CountryId] = 1 AND [a].[Discriminator] = N'Kiwi' +"""); } public override async Task Can_use_derived_set(bool async) @@ -139,9 +157,11 @@ public override async Task Can_use_derived_set(bool async) await base.Can_use_derived_set(async); AssertSql( - @"SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] +""" +SELECT [a].[Id], [a].[CountryId], [a].[Discriminator], [a].[Name], [a].[PeriodEnd], [a].[PeriodStart], [a].[Species], [a].[EagleId], [a].[IsFlightless], [a].[Group] FROM [Animals] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [a] -WHERE [a].[Discriminator] = N'Eagle' AND [a].[CountryId] = 1"); +WHERE [a].[Discriminator] = N'Eagle' AND [a].[CountryId] = 1 +"""); } public override Task Can_use_IgnoreQueryFilters_and_GetDatabaseValues(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalGearsOfWarQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalGearsOfWarQuerySqlServerTest.cs index 60d5bd31726..3ec6e986606 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalGearsOfWarQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalGearsOfWarQuerySqlServerTest.cs @@ -55,13 +55,17 @@ public override async Task Include_where_list_contains_navigation(bool async) () => base.Include_where_list_contains_navigation(async))).Actual); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Include_where_list_contains_navigation2(bool async) @@ -72,14 +76,18 @@ public override async Task Include_where_list_contains_navigation2(bool async) () => base.Include_where_list_contains_navigation2(async))).Actual); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Gears] AS [g] INNER JOIN [Cities] AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Navigation_accessed_twice_outside_and_inside_subquery(bool async) @@ -90,13 +98,17 @@ public override async Task Navigation_accessed_twice_outside_and_inside_subquery () => base.Navigation_accessed_twice_outside_and_inside_subquery(async))).Actual); AssertSql( - @"SELECT [t].[Id] -FROM [Tags] AS [t]", +""" +SELECT [t].[Id] +FROM [Tags] AS [t] +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] AS [g] LEFT JOIN [Tags] AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(bool async) @@ -108,7 +120,8 @@ public override async Task Query_reusing_parameter_with_inner_query_doesnt_decla () => base.Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(async))).Actual); AssertSql( - @"@__squadId_0='1' +""" +@__squadId_0='1' SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] FROM ( @@ -128,7 +141,8 @@ SELECT 1 FROM [Squads] AS [s2] WHERE [s2].[Id] = @__squadId_0 AND [s2].[Id] = [s1].[Id]) ) AS [t] -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task @@ -139,7 +153,8 @@ await Assert.ThrowsAsync( () => base.Multiple_includes_with_client_method_around_entity_and_also_projecting_included_collection()); AssertSql( - @"SELECT [s].[Name], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[PeriodEnd], [s].[PeriodStart], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[SynergyWithId] +""" +SELECT [s].[Name], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[PeriodEnd], [s].[PeriodStart], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[SynergyWithId] FROM [Squads] AS [s] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd] AS [PeriodEnd0], [w].[PeriodStart] AS [PeriodStart0], [w].[SynergyWithId] @@ -147,7 +162,8 @@ FROM [Gears] AS [g] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] ) AS [t] ON [s].[Id] = [t].[SquadId] WHERE [s].[Name] = N'Delta' -ORDER BY [s].[Id], [t].[Nickname], [t].[SquadId]"); +ORDER BY [s].[Id], [t].[Nickname], [t].[SquadId] +"""); } public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result1() // Test infra issue @@ -159,11 +175,13 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc () => base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result1()).Actual); AssertSql( - @"SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId] +"""); } public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result2() // Test infra issue @@ -175,11 +193,13 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc () => base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result2()).Actual); AssertSql( - @"SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] AS [g] LEFT JOIN [Gears] AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] LEFT JOIN [Weapons] AS [w] ON [g0].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId] +"""); } public override void Byte_array_filter_by_length_parameter_compiled() @@ -191,11 +211,13 @@ public override void Byte_array_filter_by_length_parameter_compiled() () => base.Byte_array_filter_by_length_parameter_compiled()).Actual); AssertSql( - @"@__byteArrayParam='0x2A80' (Size = 8000) +""" +@__byteArrayParam='0x2A80' (Size = 8000) SELECT COUNT(*) FROM [Squads] AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = CAST(DATALENGTH(@__byteArrayParam) AS int)"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = CAST(DATALENGTH(@__byteArrayParam) AS int) +"""); } public override async Task Where_DateOnly_Year(bool async) @@ -339,8 +361,10 @@ public override async Task Basic_query_gears(bool async) await base.Basic_query_gears(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Accessing_derived_property_using_hard_and_soft_cast(bool async) @@ -348,13 +372,17 @@ public override async Task Accessing_derived_property_using_hard_and_soft_cast(b await base.Accessing_derived_property_using_hard_and_soft_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -WHERE [l].[Discriminator] = N'LocustCommander' AND ([l].[HighCommandId] <> 0 OR ([l].[HighCommandId] IS NULL))", +WHERE [l].[Discriminator] = N'LocustCommander' AND ([l].[HighCommandId] <> 0 OR ([l].[HighCommandId] IS NULL)) +""", // - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -WHERE [l].[Discriminator] = N'LocustCommander' AND ([l].[HighCommandId] <> 0 OR ([l].[HighCommandId] IS NULL))"); +WHERE [l].[Discriminator] = N'LocustCommander' AND ([l].[HighCommandId] <> 0 OR ([l].[HighCommandId] IS NULL)) +"""); } public override async Task Accessing_property_of_optional_navigation_in_child_projection_works(bool async) @@ -362,7 +390,8 @@ public override async Task Accessing_property_of_optional_navigation_in_child_pr await base.Accessing_property_of_optional_navigation_in_child_projection_works(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[Id], [t0].[SquadId] @@ -373,7 +402,8 @@ LEFT JOIN ( FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [w].[OwnerFullName] = [g0].[FullName] ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [t].[Note], [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname]"); +ORDER BY [t].[Note], [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname] +"""); } public override async Task Accessing_reference_navigation_collection_composition_generates_single_query(bool async) @@ -381,14 +411,16 @@ public override async Task Accessing_reference_navigation_collection_composition await base.Accessing_reference_navigation_collection_composition_generates_single_query(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[IsAutomatic], [t].[Name], [t].[Id0] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[IsAutomatic], [t].[Name], [t].[Id0] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[IsAutomatic], [w0].[Name], [w0].[Id] AS [Id0], [w].[OwnerFullName] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task All_with_optional_navigation_is_translated_to_sql(bool async) @@ -396,14 +428,16 @@ public override async Task All_with_optional_navigation_is_translated_to_sql(boo await base.All_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE [t].[Note] = N'Foo' AND ([t].[Note] IS NOT NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(bool async) @@ -411,7 +445,8 @@ public override async Task Anonymous_projection_take_followed_by_projecting_sing await base.Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(async); AssertSql( - @"@__p_0='25' +""" +@__p_0='25' SELECT [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] FROM ( @@ -425,7 +460,8 @@ LEFT JOIN ( FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName]"); +) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] +"""); } public override async Task Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(bool async) @@ -433,13 +469,15 @@ public override async Task Any_with_optional_navigation_as_subquery_predicate_is await base.Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] WHERE NOT (EXISTS ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] - WHERE [s].[Id] = [g].[SquadId] AND [t].[Note] = N'Dom''s Tag'))"); + WHERE [s].[Id] = [g].[SquadId] AND [t].[Note] = N'Dom''s Tag')) +"""); } [ConditionalTheory] @@ -454,12 +492,14 @@ public virtual async Task Set_operation_on_temporal_same_ops(bool async) : query.ToList(); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2015-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) UNION ALL SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] -FROM [Gears] FOR SYSTEM_TIME AS OF '2015-01-01T00:00:00.0000000' AS [g0]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2015-01-01T00:00:00.0000000' AS [g0] +"""); } [ConditionalTheory] @@ -474,13 +514,15 @@ public virtual async Task Set_operation_with_inheritance_on_temporal_same_ops(bo : query.ToList(); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2015-01-01T00:00:00.0000000' AS [g] WHERE [g].[Discriminator] = N'Officer' UNION ALL SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2015-01-01T00:00:00.0000000' AS [g0] -WHERE [g0].[Discriminator] = N'Officer'"); +WHERE [g0].[Discriminator] = N'Officer' +"""); } [ConditionalTheory] @@ -507,7 +549,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_i await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_inheritance_and_coalesce_result(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] @@ -516,7 +559,8 @@ LEFT JOIN ( ) AS [t] ON [g].[LeaderNickname] = [t].[Nickname] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [t].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [w].[Id] +"""); } public override async Task Select_null_propagation_negative3(bool async) @@ -524,7 +568,8 @@ public override async Task Select_null_propagation_negative3(bool async) await base.Select_null_propagation_negative3(async); AssertSql( - @"SELECT [g0].[Nickname], CASE +""" +SELECT [g0].[Nickname], CASE WHEN ([g0].[Nickname] IS NOT NULL) AND ([g0].[SquadId] IS NOT NULL) THEN CASE WHEN [g0].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -533,7 +578,8 @@ ELSE NULL END AS [Condition] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g0].[Nickname]"); +ORDER BY [g0].[Nickname] +"""); } public override async Task String_concat_with_null_conditional_argument(bool async) @@ -541,10 +587,12 @@ public override async Task String_concat_with_null_conditional_argument(bool asy await base.String_concat_with_null_conditional_argument(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY COALESCE([w0].[Name], N'') + CAST(5 AS nvarchar(max))"); +ORDER BY COALESCE([w0].[Name], N'') + CAST(5 AS nvarchar(max)) +"""); } public override async Task Where_null_parameter_is_not_null(bool async) @@ -552,11 +600,13 @@ public override async Task Where_null_parameter_is_not_null(bool async) await base.Where_null_parameter_is_not_null(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE @__p_0 = CAST(1 AS bit)"); +WHERE @__p_0 = CAST(1 AS bit) +"""); } public override async Task GroupBy_Property_Include_Select_LongCount(bool async) @@ -564,9 +614,11 @@ public override async Task GroupBy_Property_Include_Select_LongCount(bool async) await base.GroupBy_Property_Include_Select_LongCount(async); AssertSql( - @"SELECT COUNT_BIG(*) +""" +SELECT COUNT_BIG(*) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task Projecting_property_converted_to_nullable_into_element_init(bool async) @@ -574,7 +626,8 @@ public override async Task Projecting_property_converted_to_nullable_into_elemen await base.Projecting_property_converted_to_nullable_into_element_init(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(LEN([g].[Nickname]) AS int) ELSE NULL END, CASE @@ -590,7 +643,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task OfTypeNav1(bool async) @@ -598,11 +652,13 @@ public override async Task OfTypeNav1(bool async) await base.OfTypeNav1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t0] ON [g].[Nickname] = [t0].[GearNickName] AND [g].[SquadId] = [t0].[GearSquadId] -WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL))"); +WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL)) +"""); } public override async Task Select_subquery_int_with_outside_cast_and_coalesce(bool async) @@ -610,12 +666,14 @@ public override async Task Select_subquery_int_with_outside_cast_and_coalesce(bo await base.Select_subquery_int_with_outside_cast_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), 0, 42) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Include_with_join_and_inheritance1(bool async) @@ -623,14 +681,16 @@ public override async Task Include_with_join_and_inheritance1(bool async) await base.Include_with_join_and_inheritance1(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[Discriminator] = N'Officer' ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] -INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [t0].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [t0].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_conditional_result(bool async) @@ -638,7 +698,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_conditional_result(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g0].[Nickname] IS NOT NULL) AND ([g0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] @@ -646,7 +707,8 @@ ELSE CAST(0 AS bit) LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g0].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id] +"""); } public override async Task Where_datetimeoffset_month_component(bool async) @@ -654,9 +716,11 @@ public override async Task Where_datetimeoffset_month_component(bool async) await base.Where_datetimeoffset_month_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(month, [m].[Timeline]) = 1"); +WHERE DATEPART(month, [m].[Timeline]) = 1 +"""); } public override async Task Where_datetimeoffset_milliseconds_parameter_and_constant(bool async) @@ -664,9 +728,11 @@ public override async Task Where_datetimeoffset_milliseconds_parameter_and_const await base.Where_datetimeoffset_milliseconds_parameter_and_constant(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30'"); +WHERE [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30' +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(bool async) @@ -674,14 +740,16 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation_comp await base.Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [t0].[Note] +""" +SELECT [g].[Nickname], [t0].[Note] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN ( SELECT [t].[Note], [g0].[Nickname], [g0].[SquadId] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [t].[GearNickName] = [g0].[Nickname] AND [t].[GearSquadId] = [g0].[SquadId] WHERE [t].[Note] IN (N'Cole''s Tag', N'Dom''s Tag') -) AS [t0] ON [g].[Nickname] = [t0].[Nickname] AND [g].[SquadId] = [t0].[SquadId]"); +) AS [t0] ON [g].[Nickname] = [t0].[Nickname] AND [g].[SquadId] = [t0].[SquadId] +"""); } public override async Task Where_subquery_left_join_firstordefault_boolean(bool async) @@ -689,7 +757,8 @@ public override async Task Where_subquery_left_join_firstordefault_boolean(bool await base.Where_subquery_left_join_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [w].[IsAutomatic] @@ -700,7 +769,8 @@ LEFT JOIN ( WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] ON [w].[Id] = [t].[Id] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Double_order_by_on_is_null(bool async) @@ -708,13 +778,15 @@ public override async Task Double_order_by_on_is_null(bool async) await base.Double_order_by_on_is_null(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Navigation_access_on_derived_entity_using_cast(bool async) @@ -722,14 +794,16 @@ public override async Task Navigation_access_on_derived_entity_using_cast(bool a await base.Navigation_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] +""" +SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[ThreatLevel] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(bool async) @@ -737,8 +811,10 @@ public override async Task Cast_result_operator_on_subquery_is_properly_lifted_t await base.Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(async); AssertSql( - @"SELECT [f].[Eradicated] -FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f]"); +""" +SELECT [f].[Eradicated] +FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] +"""); } public override async Task GroupBy_with_boolean_groupin_key_thru_navigation_access(bool async) @@ -746,11 +822,13 @@ public override async Task GroupBy_with_boolean_groupin_key_thru_navigation_acce await base.GroupBy_with_boolean_groupin_key_thru_navigation_access(async); AssertSql( - @"SELECT [g].[HasSoulPatch], LOWER([s].[Name]) AS [Name] +""" +SELECT [g].[HasSoulPatch], LOWER([s].[Name]) AS [Name] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] -GROUP BY [g].[HasSoulPatch], [s].[Name]"); +GROUP BY [g].[HasSoulPatch], [s].[Name] +"""); } public override async Task Byte_array_contains_literal(bool async) @@ -758,9 +836,11 @@ public override async Task Byte_array_contains_literal(bool async) await base.Byte_array_contains_literal(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE CHARINDEX(0x01, [s].[Banner]) > 0"); +WHERE CHARINDEX(0x01, [s].[Banner]) > 0 +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(bool async) @@ -768,7 +848,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(async); AssertSql( - @"@__isAutomatic_0='True' +""" +@__isAutomatic_0='True' SELECT [g].[Nickname], [g].[FullName], CASE WHEN [t].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -779,7 +860,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [w].[IsAutomatic] = @__isAutomatic_0 -) AS [t] ON [g].[FullName] = [t].[OwnerFullName]"); +) AS [t] ON [g].[FullName] = [t].[OwnerFullName] +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated_complex1(bool async) @@ -787,13 +869,15 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated_complex1(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE CASE WHEN [g].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE [g].[HasSoulPatch] -END = CAST(0 AS bit)"); +END = CAST(0 AS bit) +"""); } public override async Task Double_order_by_on_Like(bool async) @@ -801,13 +885,15 @@ public override async Task Double_order_by_on_Like(bool async) await base.Double_order_by_on_Like(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] LIKE N'%Lancer' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Where_bitwise_and_nullable_enum_with_constant(bool async) @@ -815,9 +901,11 @@ public override async Task Where_bitwise_and_nullable_enum_with_constant(bool as await base.Where_bitwise_and_nullable_enum_with_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE ([w].[AmmunitionType] & 1) > 0"); +WHERE ([w].[AmmunitionType] & 1) > 0 +"""); } public override async Task Where_subquery_distinct_firstordefault_boolean_with_pushdown(bool async) @@ -825,7 +913,8 @@ public override async Task Where_subquery_distinct_firstordefault_boolean_with_p await base.Where_subquery_distinct_firstordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -834,7 +923,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Correlated_collection_with_top_level_Count(bool async) @@ -842,8 +932,10 @@ public override async Task Correlated_collection_with_top_level_Count(bool async await base.Correlated_collection_with_top_level_Count(async); AssertSql( - @"SELECT COUNT(*) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT COUNT(*) +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Subquery_with_result_operator_is_not_lifted(bool async) @@ -851,7 +943,8 @@ public override async Task Subquery_with_result_operator_is_not_lifted(bool asyn await base.Subquery_with_result_operator_is_not_lifted(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[FullName] FROM ( @@ -860,7 +953,8 @@ SELECT TOP(@__p_0) [g].[FullName], [g].[Rank] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ORDER BY [g].[FullName] ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Include_with_join_reference2(bool async) @@ -868,10 +962,12 @@ public override async Task Include_with_join_reference2(bool async) await base.Include_with_join_reference2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearSquadId] = [g].[SquadId] AND [t].[GearNickName] = [g].[Nickname] -INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Conditional_expression_with_test_being_simplified_to_constant_simple(bool async) @@ -879,14 +975,16 @@ public override async Task Conditional_expression_with_test_being_simplified_to_ await base.Conditional_expression_with_test_being_simplified_to_constant_simple(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE CASE WHEN [g].[HasSoulPatch] = @__prm_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Include_reference_on_derived_type_using_lambda_with_soft_cast(bool async) @@ -894,9 +992,11 @@ public override async Task Include_reference_on_derived_type_using_lambda_with_s await base.Include_reference_on_derived_type_using_lambda_with_soft_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] +"""); } public override async Task Null_propagation_optimization1(bool async) @@ -904,9 +1004,11 @@ public override async Task Null_propagation_optimization1(bool async) await base.Null_propagation_optimization1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[LeaderNickname] = N'Marcus' AND ([g].[LeaderNickname] IS NOT NULL)"); +WHERE [g].[LeaderNickname] = N'Marcus' AND ([g].[LeaderNickname] IS NOT NULL) +"""); } public override async Task DateTimeOffset_DateAdd_AddMonths(bool async) @@ -914,8 +1016,10 @@ public override async Task DateTimeOffset_DateAdd_AddMonths(bool async) await base.DateTimeOffset_DateAdd_AddMonths(async); AssertSql( - @"SELECT DATEADD(month, CAST(1 AS int), [m].[Timeline]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEADD(month, CAST(1 AS int), [m].[Timeline]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Where_datetimeoffset_minute_component(bool async) @@ -923,9 +1027,11 @@ public override async Task Where_datetimeoffset_minute_component(bool async) await base.Where_datetimeoffset_minute_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(minute, [m].[Timeline]) = 0"); +WHERE DATEPART(minute, [m].[Timeline]) = 0 +"""); } public override async Task Projecting_property_converted_to_nullable_with_conditional(bool async) @@ -933,7 +1039,8 @@ public override async Task Projecting_property_converted_to_nullable_with_condit await base.Projecting_property_converted_to_nullable_with_conditional(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) THEN CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL @@ -941,7 +1048,8 @@ ELSE NULL ELSE -1 END FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Include_collection_with_complex_OrderBy2(bool async) @@ -949,7 +1057,8 @@ public override async Task Include_collection_with_complex_OrderBy2(bool async) await base.Include_collection_with_complex_OrderBy2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' @@ -957,7 +1066,8 @@ ORDER BY ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); + ORDER BY [w].[Id]), [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task ToString_guid_property_projection(bool async) @@ -965,8 +1075,10 @@ public override async Task ToString_guid_property_projection(bool async) await base.ToString_guid_property_projection(async); AssertSql( - @"SELECT [t].[GearNickName] AS [A], CONVERT(varchar(36), [t].[Id]) AS [B] -FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t]"); +""" +SELECT [t].[GearNickName] AS [A], CONVERT(varchar(36), [t].[Id]) AS [B] +FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] +"""); } public override async Task Group_by_nullable_property_and_project_the_grouping_key_HasValue(bool async) @@ -974,12 +1086,14 @@ public override async Task Group_by_nullable_property_and_project_the_grouping_k await base.Group_by_nullable_property_and_project_the_grouping_key_HasValue(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -GROUP BY [w].[SynergyWithId]"); +GROUP BY [w].[SynergyWithId] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToArray(bool async) @@ -987,11 +1101,13 @@ public override async Task Correlated_collections_naked_navigation_with_ToArray( await base.Correlated_collections_naked_navigation_with_ToArray(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Optional_navigation_type_compensation_works_with_all(bool async) @@ -999,14 +1115,16 @@ public override async Task Optional_navigation_type_compensation_works_with_all( await base.Optional_navigation_type_compensation_works_with_all(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [g].[HasSoulPatch] = CAST(0 AS bit)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Negate_on_column(bool async) @@ -1014,9 +1132,11 @@ public override async Task Negate_on_column(bool async) await base.Negate_on_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE [s].[Id] = -[s].[Id]"); +WHERE [s].[Id] = -[s].[Id] +"""); } public override async Task Projecting_property_converted_to_nullable_with_addition_and_final_projection(bool async) @@ -1024,7 +1144,8 @@ public override async Task Projecting_property_converted_to_nullable_with_additi await base.Projecting_property_converted_to_nullable_with_addition_and_final_projection(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL END + 1 AS [Value] @@ -1033,7 +1154,8 @@ ELSE NULL WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(bool async) @@ -1041,10 +1163,12 @@ public override async Task Multiple_order_bys_are_properly_lifted_from_subquery_ await base.Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Correlated_collections_nested_with_custom_ordering(bool async) @@ -1052,7 +1176,8 @@ public override async Task Correlated_collections_nested_with_custom_ordering(bo await base.Correlated_collections_nested_with_custom_ordering(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId], [g0].[Rank], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -1065,7 +1190,8 @@ LEFT JOIN ( WHERE [g0].[FullName] <> N'Foo' ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[HasSoulPatch] DESC, [g].[Nickname], [g].[SquadId], [t0].[Rank], [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic]"); +ORDER BY [g].[HasSoulPatch] DESC, [g].[Nickname], [g].[SquadId], [t0].[Rank], [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic] +"""); } public override async Task Correlated_collections_with_funky_orderby_complex_scenario2(bool async) @@ -1073,7 +1199,8 @@ public override async Task Correlated_collections_with_funky_orderby_complex_sce await base.Correlated_collections_with_funky_orderby_complex_scenario2(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [t].[Id], [t].[Nickname] AS [Nickname0], [t].[SquadId] AS [SquadId0], [t].[Id0], [t].[Nickname0] AS [Nickname00], [t].[HasSoulPatch], [t].[SquadId0] AS [SquadId00], [g0].[HasSoulPatch] AS [HasSoulPatch0], [t].[IsAutomatic], [t].[Name], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -1087,7 +1214,8 @@ LEFT JOIN ( ) AS [t] ON [g0].[FullName] = [t].[OwnerFullName] ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[HasSoulPatch], [g].[LeaderNickname], [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[HasSoulPatch0] DESC, [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic], [t0].[Name] DESC, [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00]"); +ORDER BY [g].[HasSoulPatch], [g].[LeaderNickname], [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[HasSoulPatch0] DESC, [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic], [t0].[Name] DESC, [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00] +"""); } public override async Task Union_with_collection_navigations(bool async) @@ -1095,7 +1223,8 @@ public override async Task Union_with_collection_navigations(bool async) await base.Union_with_collection_navigations(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] @@ -1107,7 +1236,8 @@ SELECT COUNT(*) WHERE [g].[Nickname] = [g1].[LeaderNickname] AND [g].[SquadId] = [g1].[LeaderSquadId] ) AS [t]) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[Discriminator] = N'Officer'"); +WHERE [g].[Discriminator] = N'Officer' +"""); } public override async Task Correlated_collections_complex_scenario2(bool async) @@ -1115,7 +1245,8 @@ public override async Task Correlated_collections_complex_scenario2(bool async) await base.Correlated_collections_complex_scenario2(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [t].[Id], [t].[Nickname] AS [Nickname0], [t].[SquadId] AS [SquadId0], [t].[Id0], [t].[Nickname0] AS [Nickname00], [t].[HasSoulPatch], [t].[SquadId0] AS [SquadId00], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -1129,7 +1260,8 @@ LEFT JOIN ( ) AS [t] ON [g0].[FullName] = [t].[OwnerFullName] ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Nickname00] +"""); } public override async Task Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(bool async) @@ -1137,10 +1269,12 @@ public override async Task Subquery_containing_left_join_projecting_main_from_cl await base.Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Conditional_expression_with_test_being_simplified_to_constant_complex(bool async) @@ -1148,7 +1282,8 @@ public override async Task Conditional_expression_with_test_being_simplified_to_ await base.Conditional_expression_with_test_being_simplified_to_constant_complex(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' @__prm2_1='Dom's Lancer' (Size = 4000) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] @@ -1165,7 +1300,8 @@ SELECT TOP(1) [w].[Name] ELSE CAST(0 AS bit) END ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Nav_rewrite_with_convert2(bool async) @@ -1173,7 +1309,8 @@ public override async Task Nav_rewrite_with_convert2(bool async) await base.Nav_rewrite_with_convert2(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [f].[CapitalName] = [c].[Name] LEFT JOIN ( @@ -1181,7 +1318,8 @@ SELECT [l].[Name] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL))"); +WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL)) +"""); } public override async Task DateTimeOffset_DateAdd_AddHours(bool async) @@ -1189,8 +1327,10 @@ public override async Task DateTimeOffset_DateAdd_AddHours(bool async) await base.DateTimeOffset_DateAdd_AddHours(async); AssertSql( - @"SELECT DATEADD(hour, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEADD(hour, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task String_concat_with_null_conditional_argument2(bool async) @@ -1198,10 +1338,12 @@ public override async Task String_concat_with_null_conditional_argument2(bool as await base.String_concat_with_null_conditional_argument2(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY COALESCE([w0].[Name], N'') + N'Marcus'' Lancer'"); +ORDER BY COALESCE([w0].[Name], N'') + N'Marcus'' Lancer' +"""); } public override async Task Trying_to_access_unmapped_property_in_projection(bool async) @@ -1209,8 +1351,10 @@ public override async Task Trying_to_access_unmapped_property_in_projection(bool await base.Trying_to_access_unmapped_property_in_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Outer_parameter_in_join_key(bool async) @@ -1218,7 +1362,8 @@ public override async Task Outer_parameter_in_join_key(bool async) await base.Outer_parameter_in_join_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [t].[Note], [t].[Id], [g0].[Nickname], [g0].[SquadId] @@ -1226,7 +1371,8 @@ OUTER APPLY ( INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[FullName] = [g0].[FullName] ) AS [t0] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname] +"""); } public override async Task Negate_on_like_expression(bool async) @@ -1234,9 +1380,11 @@ public override async Task Negate_on_like_expression(bool async) await base.Negate_on_like_expression(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE ([s].[Name] IS NOT NULL) AND NOT ([s].[Name] LIKE N'us%')"); +WHERE ([s].[Name] IS NOT NULL) AND NOT ([s].[Name] LIKE N'us%') +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean2(bool async) @@ -1244,12 +1392,14 @@ public override async Task Select_subquery_distinct_singleordefault_boolean2(boo await base.Select_subquery_distinct_singleordefault_boolean2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%')), CAST(0 AS bit)) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Include_collection_on_derived_type_using_string(bool async) @@ -1257,10 +1407,12 @@ public override async Task Include_collection_on_derived_type_using_string(bool await base.Include_collection_on_derived_type_using_string(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(bool async) @@ -1268,7 +1420,8 @@ public override async Task Project_navigation_defined_on_derived_from_entity_wit await base.Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], CASE +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], CASE WHEN ([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsNull], [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], CASE @@ -1281,7 +1434,8 @@ END AS [IsNull] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] ON [l].[Name] = [f].[CommanderName] -LEFT JOIN [LocustHighCommands] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[HighCommandId] = [l0].[Id]"); +LEFT JOIN [LocustHighCommands] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[HighCommandId] = [l0].[Id] +"""); } public override async Task Null_propagation_optimization6(bool async) @@ -1289,7 +1443,8 @@ public override async Task Null_propagation_optimization6(bool async) await base.Null_propagation_optimization6(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(LEN([g].[LeaderNickname]) AS int) @@ -1297,7 +1452,8 @@ ELSE NULL END = 5 AND (CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(LEN([g].[LeaderNickname]) AS int) ELSE NULL -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Select_coalesce_with_anonymous_types(bool async) @@ -1305,9 +1461,11 @@ public override async Task Select_coalesce_with_anonymous_types(bool async) await base.Select_coalesce_with_anonymous_types(async); AssertSql( - @"SELECT [g].[LeaderNickname], [g].[FullName] +""" +SELECT [g].[LeaderNickname], [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Composite_key_entity_not_equal(bool async) @@ -1315,10 +1473,12 @@ public override async Task Composite_key_entity_not_equal(bool async) await base.Composite_key_entity_not_equal(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] CROSS JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] -WHERE [g].[Nickname] <> [g0].[Nickname] OR [g].[SquadId] <> [g0].[SquadId]"); +WHERE [g].[Nickname] <> [g0].[Nickname] OR [g].[SquadId] <> [g0].[SquadId] +"""); } public override async Task Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(bool async) @@ -1326,7 +1486,8 @@ public override async Task Where_subquery_distinct_orderby_firstordefault_boolea await base.Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -1335,7 +1496,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Cast_to_derived_followed_by_include_and_FirstOrDefault(bool async) @@ -1343,10 +1505,12 @@ public override async Task Cast_to_derived_followed_by_include_and_FirstOrDefaul await base.Cast_to_derived_followed_by_include_and_FirstOrDefault(async); AssertSql( - @"SELECT TOP(1) [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT TOP(1) [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] -WHERE [l].[Name] LIKE N'%Queen%'"); +WHERE [l].[Name] LIKE N'%Queen%' +"""); } public override async Task Correlated_collections_nested_inner_subquery_references_outer_qsre_two_levels_up(bool async) @@ -1354,7 +1518,8 @@ public override async Task Correlated_collections_nested_inner_subquery_referenc await base.Correlated_collections_nested_inner_subquery_references_outer_qsre_two_levels_up(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [t].[Name], [t].[Nickname] AS [Nickname0], [t].[Id] @@ -1367,7 +1532,8 @@ LEFT JOIN ( WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] AND [g0].[FullName] <> N'Foo' ) AS [t0] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task @@ -1379,7 +1545,8 @@ await base async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[IsAutomatic], [t].[Name], [t].[Count] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[IsAutomatic], [t].[Name], [t].[Count] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [w].[IsAutomatic], [w].[Name], COUNT(*) AS [Count] @@ -1387,7 +1554,8 @@ OUTER APPLY ( WHERE [g].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic], [w].[Name] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[IsAutomatic]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[IsAutomatic] +"""); } public override async Task Member_access_on_derived_materialized_entity_using_cast(bool async) @@ -1395,9 +1563,11 @@ public override async Task Member_access_on_derived_materialized_entity_using_ca await base.Member_access_on_derived_materialized_entity_using_cast(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Where_bool_column_or_Contains(bool async) @@ -1405,9 +1575,11 @@ public override async Task Where_bool_column_or_Contains(bool async) await base.Where_bool_column_or_Contains(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit))"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit)) +"""); } public override async Task Subquery_containing_join_projecting_main_from_clause_gets_lifted(bool async) @@ -1415,10 +1587,12 @@ public override async Task Subquery_containing_join_projecting_main_from_clause_ await base.Subquery_containing_join_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Include_with_group_by_and_FirstOrDefault_gets_properly_applied(bool async) @@ -1426,7 +1600,8 @@ public override async Task Include_with_group_by_and_FirstOrDefault_gets_properl await base.Include_with_group_by_and_FirstOrDefault_gets_properly_applied(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t0].[Name], [t0].[Location], [t0].[Nation], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t0].[Name], [t0].[Location], [t0].[Nation], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM ( SELECT [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] @@ -1441,7 +1616,8 @@ LEFT JOIN ( WHERE [g0].[HasSoulPatch] = CAST(1 AS bit) ) AS [t1] WHERE [t1].[row] <= 1 -) AS [t0] ON [t].[Rank] = [t0].[Rank]"); +) AS [t0] ON [t].[Rank] = [t0].[Rank] +"""); } public override async Task Select_null_propagation_negative6(bool async) @@ -1449,14 +1625,16 @@ public override async Task Select_null_propagation_negative6(bool async) await base.Select_null_propagation_negative6(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([g].[LeaderNickname]) AS int) <> CAST(LEN([g].[LeaderNickname]) AS int) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END ELSE NULL END -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Cast_to_derived_type_causes_client_eval(bool async) @@ -1464,8 +1642,10 @@ public override async Task Cast_to_derived_type_causes_client_eval(bool async) await base.Cast_to_derived_type_causes_client_eval(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Optional_navigation_type_compensation_works_with_negated_predicate(bool async) @@ -1473,10 +1653,12 @@ public override async Task Optional_navigation_type_compensation_works_with_nega await base.Optional_navigation_type_compensation_works_with_negated_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [g].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [g].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Project_one_value_type_from_empty_collection(bool async) @@ -1484,12 +1666,14 @@ public override async Task Project_one_value_type_from_empty_collection(bool asy await base.Project_one_value_type_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) [g].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) AS [SquadId] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Contains_on_nullable_array_produces_correct_sql(bool async) @@ -1497,10 +1681,12 @@ public override async Task Contains_on_nullable_array_produces_correct_sql(bool await base.Contains_on_nullable_array_produces_correct_sql(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[AssignedCityName] = [c].[Name] -WHERE [g].[SquadId] < 2 AND ([c].[Name] = N'Ephyra' OR ([c].[Name] IS NULL))"); +WHERE [g].[SquadId] < 2 AND ([c].[Name] = N'Ephyra' OR ([c].[Name] IS NULL)) +"""); } public override async Task Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(bool async) @@ -1508,11 +1694,13 @@ public override async Task Subquery_containing_SelectMany_projecting_main_from_c await base.Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] CROSS JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(bool async) @@ -1520,7 +1708,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(async); AssertSql( - @"@__isAutomatic_0='True' +""" +@__isAutomatic_0='True' SELECT [g].[Nickname], [g].[FullName], CASE WHEN [t].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -1531,7 +1720,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [w].[IsAutomatic] <> @__isAutomatic_0 -) AS [t] ON [g].[FullName] = [t].[OwnerFullName]"); +) AS [t] ON [g].[FullName] = [t].[OwnerFullName] +"""); } public override async Task Navigation_based_on_complex_expression6(bool async) @@ -1539,7 +1729,8 @@ public override async Task Navigation_based_on_complex_expression6(bool async) await base.Navigation_based_on_complex_expression6(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t0].[Name] = N'Queen Myrrah' AND ([t0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] @@ -1553,7 +1744,8 @@ LEFT JOIN ( SELECT [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[PeriodEnd], [l0].[PeriodStart], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE [l0].[Discriminator] = N'LocustCommander' -) AS [t0] ON [f].[CommanderName] = [t0].[Name]"); +) AS [t0] ON [f].[CommanderName] = [t0].[Name] +"""); } public override async Task Join_with_order_by_without_skip_or_take(bool async) @@ -1561,9 +1753,11 @@ public override async Task Join_with_order_by_without_skip_or_take(bool async) await base.Join_with_order_by_without_skip_or_take(async); AssertSql( - @"SELECT [w].[Name], [g].[FullName] +""" +SELECT [w].[Name], [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName]"); +INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] +"""); } public override async Task GroupBy_Property_Include_Aggregate_with_anonymous_selector(bool async) @@ -1571,10 +1765,12 @@ public override async Task GroupBy_Property_Include_Aggregate_with_anonymous_sel await base.GroupBy_Property_Include_Aggregate_with_anonymous_selector(async); AssertSql( - @"SELECT [g].[Nickname] AS [Key], COUNT(*) AS [c] +""" +SELECT [g].[Nickname] AS [Key], COUNT(*) AS [c] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] GROUP BY [g].[Nickname] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_conditional_equality_2(bool async) @@ -1582,10 +1778,12 @@ public override async Task Where_conditional_equality_2(bool async) await base.Where_conditional_equality_2(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[LeaderNickname] IS NULL -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Non_unicode_string_literal_is_used_for_non_unicode_column(bool async) @@ -1593,9 +1791,11 @@ public override async Task Non_unicode_string_literal_is_used_for_non_unicode_co await base.Non_unicode_string_literal_is_used_for_non_unicode_column(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] -WHERE [c].[Location] = 'Unknown'"); +WHERE [c].[Location] = 'Unknown' +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated_complex2(bool async) @@ -1603,13 +1803,15 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated_complex2(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE CASE WHEN [g].[HasSoulPatch] = CAST(0 AS bit) THEN CAST(0 AS bit) ELSE [g].[HasSoulPatch] -END = CAST(0 AS bit)"); +END = CAST(0 AS bit) +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(bool async) @@ -1617,10 +1819,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] AND [g].[SquadId] >= [w].[Id] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Navigation_based_on_complex_expression4(bool async) @@ -1628,7 +1832,8 @@ public override async Task Navigation_based_on_complex_expression4(bool async) await base.Navigation_based_on_complex_expression4(async); AssertSql( - @"SELECT CAST(1 AS bit), [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] +""" +SELECT CAST(1 AS bit), [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] CROSS JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] @@ -1639,7 +1844,8 @@ LEFT JOIN ( SELECT [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[PeriodEnd], [l0].[PeriodStart], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE [l0].[Discriminator] = N'LocustCommander' -) AS [t0] ON [f].[CommanderName] = [t0].[Name]"); +) AS [t0] ON [f].[CommanderName] = [t0].[Name] +"""); } public override async Task Include_with_order_by_constant(bool async) @@ -1647,10 +1853,12 @@ public override async Task Include_with_order_by_constant(bool async) await base.Include_with_order_by_constant(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [s].[Id] = [g].[SquadId] -ORDER BY [s].[Id], [g].[Nickname]"); +ORDER BY [s].[Id], [g].[Nickname] +"""); } public override async Task Select_null_propagation_negative7(bool async) @@ -1658,11 +1866,13 @@ public override async Task Select_null_propagation_negative7(bool async) await base.Select_null_propagation_negative7(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE NULL END -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion(bool async) @@ -1670,7 +1880,8 @@ public override async Task Subquery_projecting_nullable_scalar_contains_nullable await base.Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] @@ -1679,7 +1890,8 @@ WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE [l0].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l0].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL))) -) AS [t]"); +) AS [t] +"""); } public override async Task Where_subquery_boolean(bool async) @@ -1687,13 +1899,15 @@ public override async Task Where_subquery_boolean(bool async) await base.Where_subquery_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [w].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Correlated_collections_basic_projection_explicit_to_list(bool async) @@ -1701,7 +1915,8 @@ public override async Task Correlated_collections_basic_projection_explicit_to_l await base.Correlated_collections_basic_projection_explicit_to_list(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -1709,7 +1924,8 @@ LEFT JOIN ( WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Select_ternary_operation_with_has_value_not_null(bool async) @@ -1717,12 +1933,14 @@ public override async Task Select_ternary_operation_with_has_value_not_null(bool await base.Select_ternary_operation_with_has_value_not_null(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1"); +WHERE ([w].[AmmunitionType] IS NOT NULL) AND [w].[AmmunitionType] = 1 +"""); } public override async Task Collection_navigation_access_on_derived_entity_using_cast(bool async) @@ -1730,12 +1948,14 @@ public override async Task Collection_navigation_access_on_derived_entity_using_ await base.Collection_navigation_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], ( +""" +SELECT [f].[Name], ( SELECT COUNT(*) FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [f].[Id] = [l].[LocustHordeId]) AS [LeadersCount] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task String_compare_with_null_conditional_argument2(bool async) @@ -1743,13 +1963,15 @@ public override async Task String_compare_with_null_conditional_argument2(bool a await base.String_compare_with_null_conditional_argument2(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN N'Marcus'' Lancer' = [w0].[Name] AND ([w0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task GroupBy_Property_Include_Select_Max(bool async) @@ -1757,9 +1979,11 @@ public override async Task GroupBy_Property_Include_Select_Max(bool async) await base.GroupBy_Property_Include_Select_Max(async); AssertSql( - @"SELECT MAX([g].[SquadId]) +""" +SELECT MAX([g].[SquadId]) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(bool async) @@ -1767,7 +1991,8 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(async); AssertSql( - @"@__prm_0='1' +""" +@__prm_0='1' SELECT [g].[Nickname], [g].[FullName], CASE WHEN [t].[Id] IS NOT NULL THEN CAST(1 AS bit) @@ -1778,7 +2003,8 @@ LEFT JOIN ( SELECT [w].[Id], [w].[OwnerFullName] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [w].[Id] > @__prm_0 -) AS [t] ON [g].[FullName] = [t].[OwnerFullName]"); +) AS [t] ON [g].[FullName] = [t].[OwnerFullName] +"""); } public override async Task Select_null_propagation_works_for_navigations_with_composite_keys(bool async) @@ -1786,9 +2012,11 @@ public override async Task Select_null_propagation_works_for_navigations_with_co await base.Select_null_propagation_works_for_navigations_with_composite_keys(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Include_base_navigation_on_derived_entity(bool async) @@ -1796,11 +2024,13 @@ public override async Task Include_base_navigation_on_derived_entity(bool async) await base.Include_base_navigation_on_derived_entity(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Include_with_join_collection2(bool async) @@ -1808,11 +2038,13 @@ public override async Task Include_with_join_collection2(bool async) await base.Include_with_join_collection2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearSquadId] = [g].[SquadId] AND [t].[GearNickName] = [g].[Nickname] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collection_with_complex_OrderBy(bool async) @@ -1820,7 +2052,8 @@ public override async Task Correlated_collection_with_complex_OrderBy(bool async await base.Correlated_collection_with_complex_OrderBy(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] @@ -1831,7 +2064,8 @@ LEFT JOIN ( ORDER BY ( SELECT COUNT(*) FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [t].[Nickname]"); + WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Complex_predicate_with_AndAlso_and_nullable_bool_property(bool async) @@ -1839,10 +2073,12 @@ public override async Task Complex_predicate_with_AndAlso_and_nullable_bool_prop await base.Complex_predicate_with_AndAlso_and_nullable_bool_property(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [w].[OwnerFullName] = [g].[FullName] -WHERE [w].[Id] <> 50 AND [g].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [w].[Id] <> 50 AND [g].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Where_datetimeoffset_second_component(bool async) @@ -1850,9 +2086,11 @@ public override async Task Where_datetimeoffset_second_component(bool async) await base.Where_datetimeoffset_second_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(second, [m].[Timeline]) = 0"); +WHERE DATEPART(second, [m].[Timeline]) = 0 +"""); } public override async Task Optional_navigation_type_compensation_works_with_binary_expression(bool async) @@ -1860,10 +2098,12 @@ public override async Task Optional_navigation_type_compensation_works_with_bina await base.Optional_navigation_type_compensation_works_with_binary_expression(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit) OR ([t].[Note] LIKE N'%Cole%')"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) OR ([t].[Note] LIKE N'%Cole%') +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_with_Take_doesnt_convert_to_join(bool async) @@ -1871,7 +2111,8 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_wit await base.SelectMany_predicate_with_non_equality_comparison_with_Take_doesnt_convert_to_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] CROSS APPLY ( SELECT TOP(3) [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -1879,7 +2120,8 @@ SELECT TOP(3) [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w] WHERE [w].[OwnerFullName] <> [g].[FullName] OR ([w].[OwnerFullName] IS NULL) ORDER BY [w].[Id] ) AS [t] -ORDER BY [g].[Nickname], [t].[Id]"); +ORDER BY [g].[Nickname], [t].[Id] +"""); } public override async Task Include_with_complex_order_by(bool async) @@ -1887,13 +2129,15 @@ public override async Task Include_with_complex_order_by(bool async) await base.Include_with_complex_order_by(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] ORDER BY ( SELECT TOP(1) [w].[Name] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Gnasher%')), [g].[Nickname], [g].[SquadId]"); + WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Gnasher%')), [g].[Nickname], [g].[SquadId] +"""); } public override async Task Reference_include_chain_loads_correctly_when_middle_is_null(bool async) @@ -1901,11 +2145,13 @@ public override async Task Reference_include_chain_loads_correctly_when_middle_i await base.Reference_include_chain_loads_correctly_when_middle_is_null(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(bool async) @@ -1913,10 +2159,12 @@ public override async Task Optional_navigation_type_compensation_works_with_proj await base.Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(async); AssertSql( - @"SELECT [g].[SquadId] +""" +SELECT [g].[SquadId] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join( @@ -1925,14 +2173,16 @@ public override async Task SelectMany_predicate_after_navigation_with_non_equali await base.SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ) AS [t] ON [g].[FullName] <> [t].[OwnerFullName] OR ([t].[OwnerFullName] IS NULL) -ORDER BY [g].[Nickname], [t].[Id]"); +ORDER BY [g].[Nickname], [t].[Id] +"""); } public override async Task Project_collection_navigation_nested_composite_key(bool async) @@ -1940,12 +2190,14 @@ public override async Task Project_collection_navigation_nested_composite_key(bo await base.Project_collection_navigation_nested_composite_key(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON ([g].[Nickname] = [g0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Cast_to_derived_followed_by_multiple_includes(bool async) @@ -1953,12 +2205,14 @@ public override async Task Cast_to_derived_followed_by_multiple_includes(bool as await base.Cast_to_derived_followed_by_multiple_includes(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [l].[Name] LIKE N'%Queen%' -ORDER BY [l].[Name], [g].[Nickname], [g].[SquadId]"); +ORDER BY [l].[Name], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Where_any_subquery_without_collision(bool async) @@ -1966,12 +2220,14 @@ public override async Task Where_any_subquery_without_collision(bool async) await base.Where_any_subquery_without_collision(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE EXISTS ( SELECT 1 FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName])"); + WHERE [g].[FullName] = [w].[OwnerFullName]) +"""); } public override async Task Select_subquery_int_with_pushdown_and_coalesce(bool async) @@ -1979,12 +2235,14 @@ public override async Task Select_subquery_int_with_pushdown_and_coalesce(bool a await base.Select_subquery_int_with_pushdown_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), 42) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty2(bool async) @@ -1992,12 +2250,14 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG'), CAST(0 AS bit)) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task DateTimeOffset_DateAdd_AddYears(bool async) @@ -2005,8 +2265,10 @@ public override async Task DateTimeOffset_DateAdd_AddYears(bool async) await base.DateTimeOffset_DateAdd_AddYears(async); AssertSql( - @"SELECT DATEADD(year, CAST(1 AS int), [m].[Timeline]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEADD(year, CAST(1 AS int), [m].[Timeline]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Logical_operation_with_non_null_parameter_optimizes_null_checks(bool async) @@ -2014,17 +2276,21 @@ public override async Task Logical_operation_with_non_null_parameter_optimizes_n await base.Logical_operation_with_non_null_parameter_optimizes_null_checks(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] <> @__prm_0", +WHERE [g].[HasSoulPatch] <> @__prm_0 +""", // - @"@__prm_0='False' +""" +@__prm_0='False' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] <> @__prm_0"); +WHERE [g].[HasSoulPatch] <> @__prm_0 +"""); } public override async Task Include_collection_with_Cast_to_base(bool async) @@ -2032,11 +2298,13 @@ public override async Task Include_collection_with_Cast_to_base(bool async) await base.Include_collection_with_Cast_to_base(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(bool async) @@ -2044,12 +2312,14 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] CROSS JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t0] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [t0].[GearNickName] = [g0].[Nickname] AND [t0].[GearSquadId] = [g0].[SquadId] -WHERE [g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL))"); +WHERE [g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL)) +"""); } public override async Task Left_join_projection_using_conditional_tracking(bool async) @@ -2057,12 +2327,14 @@ public override async Task Left_join_projection_using_conditional_tracking(bool await base.Left_join_projection_using_conditional_tracking(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g0].[Nickname] IS NULL) OR ([g0].[SquadId] IS NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] +"""); } public override async Task GroupBy_with_boolean_grouping_key(bool async) @@ -2070,7 +2342,8 @@ public override async Task GroupBy_with_boolean_grouping_key(bool async) await base.GroupBy_with_boolean_grouping_key(async); AssertSql( - @"SELECT [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus], COUNT(*) AS [Count] +""" +SELECT [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus], COUNT(*) AS [Count] FROM ( SELECT [g].[CityOfBirthName], [g].[HasSoulPatch], CASE WHEN [g].[Nickname] = N'Marcus' THEN CAST(1 AS bit) @@ -2078,7 +2351,8 @@ ELSE CAST(0 AS bit) END AS [IsMarcus] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ) AS [t] -GROUP BY [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus]"); +GROUP BY [t].[CityOfBirthName], [t].[HasSoulPatch], [t].[IsMarcus] +"""); } public override async Task Correlated_collections_with_Distinct(bool async) @@ -2086,7 +2360,8 @@ public override async Task Correlated_collections_with_Distinct(bool async) await base.Correlated_collections_with_Distinct(async); AssertSql( - @"SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank] +""" +SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] OUTER APPLY ( SELECT DISTINCT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] @@ -2098,7 +2373,8 @@ ORDER BY [g].[Nickname] OFFSET 0 ROWS ) AS [t] ) AS [t0] -ORDER BY [s].[Name], [s].[Id], [t0].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t0].[Nickname] +"""); } public override async Task Correlated_collections_basic_projecting_single_property(bool async) @@ -2106,7 +2382,8 @@ public override async Task Correlated_collections_basic_projecting_single_proper await base.Correlated_collections_basic_projecting_single_property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[Id] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Name], [w].[Id], [w].[OwnerFullName] @@ -2114,7 +2391,8 @@ LEFT JOIN ( WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Select_null_propagation_negative1(bool async) @@ -2122,14 +2400,16 @@ public override async Task Select_null_propagation_negative1(bool async) await base.Select_null_propagation_negative1(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([g].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END ELSE NULL END -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Join_inner_source_custom_projection_followed_by_filter(bool async) @@ -2137,7 +2417,8 @@ public override async Task Join_inner_source_custom_projection_followed_by_filte await base.Join_inner_source_custom_projection_followed_by_filter(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [f].[Name] = N'Locust' THEN CAST(1 AS bit) ELSE NULL END AS [IsEradicated], [f].[CommanderName], [f].[Name] @@ -2149,7 +2430,8 @@ ELSE NULL END <> CAST(1 AS bit) OR (CASE WHEN [f].[Name] = N'Locust' THEN CAST(1 AS bit) ELSE NULL -END IS NULL)"); +END IS NULL) +"""); } public override async Task Collection_navigation_ofType_filter_works(bool async) @@ -2157,12 +2439,14 @@ public override async Task Collection_navigation_ofType_filter_works(bool async) await base.Collection_navigation_ofType_filter_works(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] WHERE EXISTS ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] - WHERE [c].[Name] = [g].[CityOfBirthName] AND [g].[Discriminator] = N'Officer' AND [g].[Nickname] = N'Marcus')"); + WHERE [c].[Name] = [g].[CityOfBirthName] AND [g].[Discriminator] = N'Officer' AND [g].[Nickname] = N'Marcus') +"""); } public override async Task DateTimeOffset_DateAdd_AddMinutes(bool async) @@ -2170,8 +2454,10 @@ public override async Task DateTimeOffset_DateAdd_AddMinutes(bool async) await base.DateTimeOffset_DateAdd_AddMinutes(async); AssertSql( - @"SELECT DATEADD(minute, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEADD(minute, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Where_with_enum_flags_parameter(bool async) @@ -2179,24 +2465,32 @@ public override async Task Where_with_enum_flags_parameter(bool async) await base.Where_with_enum_flags_parameter(async); AssertSql( - @"@__rank_0='1' (Nullable = true) +""" +@__rank_0='1' (Nullable = true) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & @__rank_0) = @__rank_0", +WHERE ([g].[Rank] & @__rank_0) = @__rank_0 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]", +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +""", // - @"@__rank_0='2' (Nullable = true) +""" +@__rank_0='2' (Nullable = true) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] | @__rank_0) <> @__rank_0", +WHERE ([g].[Rank] | @__rank_0) <> @__rank_0 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Select_null_propagation_negative9(bool async) @@ -2204,14 +2498,16 @@ public override async Task Select_null_propagation_negative9(bool async) await base.Select_null_propagation_negative9(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN COALESCE(CASE WHEN CAST(LEN([g].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, CAST(0 AS bit)) ELSE NULL END -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Comparing_two_collection_navigations_composite_key(bool async) @@ -2219,11 +2515,13 @@ public override async Task Comparing_two_collection_navigations_composite_key(bo await base.Comparing_two_collection_navigations_composite_key(async); AssertSql( - @"SELECT [g].[Nickname] AS [Nickname1], [g0].[Nickname] AS [Nickname2] +""" +SELECT [g].[Nickname] AS [Nickname1], [g0].[Nickname] AS [Nickname2] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] CROSS JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] WHERE [g].[Nickname] = [g0].[Nickname] AND [g].[SquadId] = [g0].[SquadId] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Projecting_property_converted_to_nullable_with_addition(bool async) @@ -2231,7 +2529,8 @@ public override async Task Projecting_property_converted_to_nullable_with_additi await base.Projecting_property_converted_to_nullable_with_addition(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -2240,7 +2539,8 @@ ELSE CAST(0 AS bit) WHERE (CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL -END + 1) = 2"); +END + 1) = 2 +"""); } public override async Task Correlated_collections_nested(bool async) @@ -2248,7 +2548,8 @@ public override async Task Correlated_collections_nested(bool async) await base.Correlated_collections_nested(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0], [t].[PeriodEnd], [t].[PeriodStart] @@ -2261,7 +2562,8 @@ WHERE [s1].[SquadId] < 7 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 42 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Where_subquery_concat_firstordefault_boolean(bool async) @@ -2269,7 +2571,8 @@ public override async Task Where_subquery_concat_firstordefault_boolean(bool asy await base.Where_subquery_concat_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -2282,7 +2585,8 @@ UNION ALL FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_lastordefault_boolean(bool async) @@ -2290,7 +2594,8 @@ public override async Task Where_subquery_distinct_lastordefault_boolean(bool as await base.Where_subquery_distinct_lastordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE ( SELECT TOP(1) [t].[IsAutomatic] @@ -2300,7 +2605,8 @@ SELECT TOP(1) [t].[IsAutomatic] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] ORDER BY [t].[Id] DESC) = CAST(0 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Concat_with_collection_navigations(bool async) @@ -2308,7 +2614,8 @@ public override async Task Concat_with_collection_navigations(bool async) await base.Concat_with_collection_navigations(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -2320,7 +2627,8 @@ SELECT COUNT(*) WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t]) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Join_on_entity_qsre_keys(bool async) @@ -2328,9 +2636,11 @@ public override async Task Join_on_entity_qsre_keys(bool async) await base.Join_on_entity_qsre_keys(async); AssertSql( - @"SELECT [w].[Name] AS [Name1], [w0].[Name] AS [Name2] +""" +SELECT [w].[Name] AS [Name1], [w0].[Name] AS [Name2] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[Id] = [w0].[Id]"); +INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[Id] = [w0].[Id] +"""); } public override async Task Projecting_property_converted_to_nullable_with_comparison(bool async) @@ -2338,7 +2648,8 @@ public override async Task Projecting_property_converted_to_nullable_with_compar await base.Projecting_property_converted_to_nullable_with_comparison(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -2347,7 +2658,8 @@ ELSE CAST(0 AS bit) WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL -END = 1"); +END = 1 +"""); } public override async Task Distinct_with_optional_navigation_is_translated_to_sql(bool async) @@ -2355,10 +2667,12 @@ public override async Task Distinct_with_optional_navigation_is_translated_to_sq await base.Distinct_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT DISTINCT [g].[HasSoulPatch] +""" +SELECT DISTINCT [g].[HasSoulPatch] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL) +"""); } public override async Task Where_member_access_on_anonymous_type(bool async) @@ -2366,9 +2680,11 @@ public override async Task Where_member_access_on_anonymous_type(bool async) await base.Where_member_access_on_anonymous_type(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[LeaderNickname] = N'Marcus'"); +WHERE [g].[LeaderNickname] = N'Marcus' +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(bool async) @@ -2376,7 +2692,8 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[PeriodEnd], [w1].[PeriodStart], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[PeriodEnd], [w2].[PeriodStart], [w2].[SynergyWithId], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[PeriodEnd], [w1].[PeriodStart], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[PeriodEnd], [w2].[PeriodStart], [w2].[SynergyWithId], CASE WHEN ([g0].[Nickname] IS NOT NULL) AND ([g0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [w3].[Id], [w3].[AmmunitionType], [w3].[IsAutomatic], [w3].[Name], [w3].[OwnerFullName], [w3].[PeriodEnd], [w3].[PeriodStart], [w3].[SynergyWithId], [w4].[Id], [w4].[AmmunitionType], [w4].[IsAutomatic], [w4].[Name], [w4].[OwnerFullName], [w4].[PeriodEnd], [w4].[PeriodStart], [w4].[SynergyWithId] @@ -2388,7 +2705,8 @@ ELSE CAST(0 AS bit) LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w2] ON [g].[FullName] = [w2].[OwnerFullName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w3] ON [g0].[FullName] = [w3].[OwnerFullName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w4] ON [g].[FullName] = [w4].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id], [w2].[Id], [w3].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id], [w2].[Id], [w3].[Id] +"""); } public override async Task Left_join_predicate_value_equals_condition(bool async) @@ -2396,9 +2714,11 @@ public override async Task Left_join_predicate_value_equals_condition(bool async await base.Left_join_predicate_value_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task GetValueOrDefault_in_order_by(bool async) @@ -2406,9 +2726,11 @@ public override async Task GetValueOrDefault_in_order_by(bool async) await base.GetValueOrDefault_in_order_by(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -ORDER BY COALESCE([w].[SynergyWithId], 0), [w].[Id]"); +ORDER BY COALESCE([w].[SynergyWithId], 0), [w].[Id] +"""); } public override async Task GroupBy_Property_Include_Select_Sum(bool async) @@ -2416,9 +2738,11 @@ public override async Task GroupBy_Property_Include_Select_Sum(bool async) await base.GroupBy_Property_Include_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM([g].[SquadId]), 0) +""" +SELECT COALESCE(SUM([g].[SquadId]), 0) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task Where_enum_has_flag_with_non_nullable_parameter(bool async) @@ -2426,11 +2750,13 @@ public override async Task Where_enum_has_flag_with_non_nullable_parameter(bool await base.Where_enum_has_flag_with_non_nullable_parameter(async); AssertSql( - @"@__parameter_0='2' +""" +@__parameter_0='2' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0"); +WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0 +"""); } public override async Task Where_TimeSpan_Seconds(bool async) @@ -2438,9 +2764,11 @@ public override async Task Where_TimeSpan_Seconds(bool async) await base.Where_TimeSpan_Seconds(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(second, [m].[Duration]) = 1"); +WHERE DATEPART(second, [m].[Duration]) = 1 +"""); } public override async Task Query_reusing_parameter_doesnt_declare_duplicate_parameter(bool async) @@ -2448,7 +2776,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para await base.Query_reusing_parameter_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__prm_Inner_Nickname_0='Marcus' (Size = 450) +""" +@__prm_Inner_Nickname_0='Marcus' (Size = 450) SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] FROM ( @@ -2456,7 +2785,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[Nickname] <> @__prm_Inner_Nickname_0 AND [g].[Nickname] <> @__prm_Inner_Nickname_0 ) AS [t] -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Correlated_collections_on_left_join_with_null_value(bool async) @@ -2464,11 +2794,13 @@ public override async Task Correlated_collections_on_left_join_with_null_value(b await base.Correlated_collections_on_left_join_with_null_value(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Note], [t].[Id], [g].[Nickname], [g].[SquadId]"); +ORDER BY [t].[Note], [t].[Id], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Negate_on_binary_expression(bool async) @@ -2476,9 +2808,11 @@ public override async Task Negate_on_binary_expression(bool async) await base.Negate_on_binary_expression(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE [s].[Id] = -([s].[Id] + [s].[Id])"); +WHERE [s].[Id] = -([s].[Id] + [s].[Id]) +"""); } public override async Task Include_on_derived_entity_using_OfType(bool async) @@ -2486,7 +2820,8 @@ public override async Task Include_on_derived_entity_using_OfType(bool async) await base.Include_on_derived_entity_using_OfType(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[PeriodEnd], [l0].[PeriodStart], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[PeriodEnd], [l0].[PeriodStart], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] @@ -2494,7 +2829,8 @@ LEFT JOIN ( WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [f].[Id] = [l0].[LocustHordeId] -ORDER BY [f].[Name], [f].[Id], [t].[Name]"); +ORDER BY [f].[Name], [f].[Id], [t].[Name] +"""); } public override async Task Select_Singleton_Navigation_With_Member_Access(bool async) @@ -2502,10 +2838,12 @@ public override async Task Select_Singleton_Navigation_With_Member_Access(bool a await base.Select_Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[Nickname] = N'Marcus' AND ([g].[CityOfBirthName] <> N'Ephyra' OR ([g].[CityOfBirthName] IS NULL))"); +WHERE [g].[Nickname] = N'Marcus' AND ([g].[CityOfBirthName] <> N'Ephyra' OR ([g].[CityOfBirthName] IS NULL)) +"""); } public override async Task GroupBy_Property_Include_Select_Min(bool async) @@ -2513,9 +2851,11 @@ public override async Task GroupBy_Property_Include_Select_Min(bool async) await base.GroupBy_Property_Include_Select_Min(async); AssertSql( - @"SELECT MIN([g].[SquadId]) +""" +SELECT MIN([g].[SquadId]) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task Select_inverted_boolean(bool async) @@ -2523,12 +2863,14 @@ public override async Task Select_inverted_boolean(bool async) await base.Select_inverted_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Manual] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[IsAutomatic] = CAST(1 AS bit)"); +WHERE [w].[IsAutomatic] = CAST(1 AS bit) +"""); } public override async Task Where_datetimeoffset_millisecond_component(bool async) @@ -2536,9 +2878,11 @@ public override async Task Where_datetimeoffset_millisecond_component(bool async await base.Where_datetimeoffset_millisecond_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(millisecond, [m].[Timeline]) = 0"); +WHERE DATEPART(millisecond, [m].[Timeline]) = 0 +"""); } public override async Task Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion_negated( @@ -2547,7 +2891,8 @@ public override async Task Subquery_projecting_non_nullable_scalar_contains_non_ await base.Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion_negated(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] @@ -2556,7 +2901,8 @@ WHERE NOT (EXISTS ( SELECT 1 FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE [l0].[ThreatLevelByte] = [l].[ThreatLevelByte])) -) AS [t]"); +) AS [t] +"""); } public override async Task Correlated_collections_basic_projection_composite_key(bool async) @@ -2564,7 +2910,8 @@ public override async Task Correlated_collections_basic_projection_composite_key await base.Correlated_collections_basic_projection_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[FullName], [t].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[FullName], [t].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[FullName], [g0].[SquadId], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -2572,7 +2919,8 @@ LEFT JOIN ( WHERE [g0].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' AND [g].[Nickname] <> N'Foo' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Contains_on_readonly_enumerable(bool async) @@ -2580,9 +2928,11 @@ public override async Task Contains_on_readonly_enumerable(bool async) await base.Contains_on_readonly_enumerable(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] = 1"); +WHERE [w].[AmmunitionType] = 1 +"""); } public override async Task Projecting_property_converted_to_nullable_into_new_array(bool async) @@ -2590,7 +2940,8 @@ public override async Task Projecting_property_converted_to_nullable_into_new_ar await base.Projecting_property_converted_to_nullable_into_new_array(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(LEN([g].[Nickname]) AS int) ELSE NULL END, CASE @@ -2606,7 +2957,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Outer_parameter_in_join_key_inner_and_outer(bool async) @@ -2614,7 +2966,8 @@ public override async Task Outer_parameter_in_join_key_inner_and_outer(bool asyn await base.Outer_parameter_in_join_key_inner_and_outer(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [t].[Note], [t].[Id], [g0].[Nickname], [g0].[SquadId] @@ -2622,7 +2975,8 @@ OUTER APPLY ( INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[FullName] = [g].[Nickname] ) AS [t0] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname] +"""); } public override async Task Select_Where_Navigation_Included(bool async) @@ -2630,10 +2984,12 @@ public override async Task Select_Where_Navigation_Included(bool async) await base.Select_Where_Navigation_Included(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[Nickname] = N'Marcus'"); +WHERE [g].[Nickname] = N'Marcus' +"""); } public override async Task Correlated_collections_basic_projecting_constant(bool async) @@ -2641,7 +2997,8 @@ public override async Task Correlated_collections_basic_projecting_constant(bool await base.Correlated_collections_basic_projecting_constant(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT N'BFG' AS [c], [w].[Id], [w].[OwnerFullName] @@ -2649,7 +3006,8 @@ LEFT JOIN ( WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Select_subquery_projecting_single_constant_null_of_non_mapped_type(bool async) @@ -2657,7 +3015,8 @@ public override async Task Select_subquery_projecting_single_constant_null_of_no await base.Select_subquery_projecting_single_constant_null_of_non_mapped_type(async); AssertSql( - @"SELECT [s].[Name], [t0].[c] +""" +SELECT [s].[Name], [t0].[c] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [t].[c], [t].[SquadId] @@ -2667,7 +3026,8 @@ LEFT JOIN ( WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Include_with_client_method_and_member_access_still_applies_includes(bool async) @@ -2675,9 +3035,11 @@ public override async Task Include_with_client_method_and_member_access_still_ap await base.Include_with_client_method_and_member_access_still_applies_includes(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId]"); +LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] +"""); } public override async Task Include_after_Select_throws(bool async) @@ -2685,9 +3047,11 @@ public override async Task Include_after_Select_throws(bool async) await base.Include_after_Select_throws(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] -LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [f].[CapitalName] = [c].[Name]"); +LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [f].[CapitalName] = [c].[Name] +"""); } public override async Task Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) @@ -2695,11 +3059,13 @@ public override async Task Enum_closure_typed_as_underlying_type_generates_corre await base.Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='1' (Nullable = true) +""" +@__prm_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE @__prm_0 = [w].[AmmunitionType]"); +WHERE @__prm_0 = [w].[AmmunitionType] +"""); } public override async Task FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(bool async) @@ -2707,10 +3073,12 @@ public override async Task FirstOrDefault_with_manually_created_groupjoin_is_tra await base.FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(async); AssertSql( - @"SELECT TOP(1) [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT TOP(1) [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [s].[Id] = [g].[SquadId] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Bitwise_operation_with_null_arguments(bool async) @@ -2718,32 +3086,44 @@ public override async Task Bitwise_operation_with_null_arguments(bool async) await base.Bitwise_operation_with_null_arguments(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] IS NULL", +WHERE [w].[AmmunitionType] IS NULL +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]", +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +""", // - @"@__prm_0='2' (Nullable = true) +""" +@__prm_0='2' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE ([w].[AmmunitionType] & @__prm_0) <> 0 OR ([w].[AmmunitionType] IS NULL)", +WHERE ([w].[AmmunitionType] & @__prm_0) <> 0 OR ([w].[AmmunitionType] IS NULL) +""", // - @"@__prm_0='1' (Nullable = true) +""" +@__prm_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE ([w].[AmmunitionType] & @__prm_0) = @__prm_0"); +WHERE ([w].[AmmunitionType] & @__prm_0) = @__prm_0 +"""); } public override async Task Projecting_property_converted_to_nullable_with_function_call(bool async) @@ -2751,12 +3131,14 @@ public override async Task Projecting_property_converted_to_nullable_with_functi await base.Projecting_property_converted_to_nullable_with_function_call(async); AssertSql( - @"SELECT SUBSTRING(CASE +""" +SELECT SUBSTRING(CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL END, 0 + 1, 3) FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(bool async) @@ -2764,9 +3146,11 @@ public override async Task Byte_array_filter_by_length_literal_does_not_cast_on_ await base.Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE DATALENGTH([s].[Banner5]) = 5"); +WHERE DATALENGTH([s].[Banner5]) = 5 +"""); } public override async Task Correlated_collection_with_distinct_not_projecting_identifier_column(bool async) @@ -2774,14 +3158,16 @@ public override async Task Correlated_collection_with_distinct_not_projecting_id await base.Correlated_collection_with_distinct_not_projecting_identifier_column(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT DISTINCT [w].[Name], [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name] +"""); } public override async Task GetValueOrDefault_in_projection(bool async) @@ -2789,8 +3175,10 @@ public override async Task GetValueOrDefault_in_projection(bool async) await base.GetValueOrDefault_in_projection(async); AssertSql( - @"SELECT COALESCE([w].[SynergyWithId], 0) -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +""" +SELECT COALESCE([w].[SynergyWithId], 0) +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(bool async) @@ -2798,12 +3186,14 @@ public override async Task Groupby_anonymous_type_with_navigations_followed_up_b await base.Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], COUNT(*) AS [Count] +""" +SELECT [c].[Name], [c].[Location], COUNT(*) AS [Count] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] GROUP BY [c].[Name], [c].[Location] -ORDER BY [c].[Location]"); +ORDER BY [c].[Location] +"""); } public override async Task Select_conditional_with_anonymous_type_and_null_constant(bool async) @@ -2811,12 +3201,14 @@ public override async Task Select_conditional_with_anonymous_type_and_null_const await base.Select_conditional_with_anonymous_type_and_null_constant(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[HasSoulPatch] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Left_join_with_GroupBy_with_composite_group_key(bool async) @@ -2824,11 +3216,13 @@ public override async Task Left_join_with_GroupBy_with_composite_group_key(bool await base.Left_join_with_GroupBy_with_composite_group_key(async); AssertSql( - @"SELECT [g].[CityOfBirthName], [g].[HasSoulPatch] +""" +SELECT [g].[CityOfBirthName], [g].[HasSoulPatch] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] -GROUP BY [g].[CityOfBirthName], [g].[HasSoulPatch]"); +GROUP BY [g].[CityOfBirthName], [g].[HasSoulPatch] +"""); } public override async Task Select_multiple_conditions(bool async) @@ -2836,11 +3230,13 @@ public override async Task Select_multiple_conditions(bool async) await base.Select_multiple_conditions(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) AND [w].[SynergyWithId] = 1 AND ([w].[SynergyWithId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsCartridge] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(bool async) @@ -2848,12 +3244,14 @@ public override async Task Parameter_used_multiple_times_take_appropriate_inferr await base.Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(async); AssertSql( - @"@__place_0='Seattle' (Size = 4000) +""" +@__place_0='Seattle' (Size = 4000) @__place_0_1='Seattle' (Size = 100) (DbType = AnsiString) SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] -WHERE [c].[Nation] = @__place_0 OR [c].[Location] = @__place_0_1"); +WHERE [c].[Nation] = @__place_0 OR [c].[Location] = @__place_0_1 +"""); } public override async Task Left_join_predicate_value(bool async) @@ -2861,9 +3259,11 @@ public override async Task Left_join_predicate_value(bool async) await base.Left_join_predicate_value(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit)"); +LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Include_collection_with_complex_OrderBy3(bool async) @@ -2871,7 +3271,8 @@ public override async Task Include_collection_with_complex_OrderBy3(bool async) await base.Include_collection_with_complex_OrderBy3(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' @@ -2879,7 +3280,8 @@ ORDER BY COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]), CAST(0 AS bit)), [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); + ORDER BY [w].[Id]), CAST(0 AS bit)), [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Correlated_collections_multiple_nested_complex_collections(bool async) @@ -2887,7 +3289,8 @@ public override async Task Correlated_collections_multiple_nested_complex_collec await base.Correlated_collections_multiple_nested_complex_collections(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Name], [t0].[IsAutomatic], [t0].[Id1], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00], [t2].[Id], [t2].[AmmunitionType], [t2].[IsAutomatic], [t2].[Name], [t2].[OwnerFullName], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[SynergyWithId], [t2].[Nickname], [t2].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Name], [t0].[IsAutomatic], [t0].[Id1], [t0].[Nickname00], [t0].[HasSoulPatch], [t0].[SquadId00], [t2].[Id], [t2].[AmmunitionType], [t2].[IsAutomatic], [t2].[Name], [t2].[OwnerFullName], [t2].[PeriodEnd], [t2].[PeriodStart], [t2].[SynergyWithId], [t2].[Nickname], [t2].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g1] ON [t].[GearNickName] = [g1].[Nickname] AND [t].[GearSquadId] = [g1].[SquadId] @@ -2914,7 +3317,8 @@ LEFT JOIN ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Rank], [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic0], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Id1], [t0].[Nickname00], [t0].[SquadId00], [t2].[IsAutomatic], [t2].[Nickname] DESC, [t2].[Id]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Rank], [t0].[Nickname], [t0].[SquadId], [t0].[IsAutomatic0], [t0].[Id], [t0].[Nickname0], [t0].[SquadId0], [t0].[Id0], [t0].[Id1], [t0].[Nickname00], [t0].[SquadId00], [t2].[IsAutomatic], [t2].[Nickname] DESC, [t2].[Id] +"""); } public override async Task Byte_array_contains_parameter(bool async) @@ -2922,11 +3326,13 @@ public override async Task Byte_array_contains_parameter(bool async) await base.Byte_array_contains_parameter(async); AssertSql( - @"@__someByte_0='1' (Size = 1) +""" +@__someByte_0='1' (Size = 1) SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE CHARINDEX(CAST(@__someByte_0 AS varbinary(max)), [s].[Banner]) > 0"); +WHERE CHARINDEX(CAST(@__someByte_0 AS varbinary(max)), [s].[Banner]) > 0 +"""); } public override async Task GroupBy_Property_Include_Select_Count(bool async) @@ -2934,9 +3340,11 @@ public override async Task GroupBy_Property_Include_Select_Count(bool async) await base.GroupBy_Property_Include_Select_Count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task Where_TimeSpan_Hours(bool async) @@ -2944,9 +3352,11 @@ public override async Task Where_TimeSpan_Hours(bool async) await base.Where_TimeSpan_Hours(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(hour, [m].[Duration]) = 1"); +WHERE DATEPART(hour, [m].[Duration]) = 1 +"""); } public override async Task Select_comparison_with_null(bool async) @@ -2954,21 +3364,25 @@ public override async Task Select_comparison_with_null(bool async) await base.Select_comparison_with_null(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] = @__ammunitionType_0 AND ([w].[AmmunitionType] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Cartridge] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0", +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +""", // - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [Cartridge] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Include_with_projection_of_unmapped_property_still_gets_applied(bool async) @@ -2976,10 +3390,12 @@ public override async Task Include_with_projection_of_unmapped_property_still_ge await base.Include_with_projection_of_unmapped_property_still_gets_applied(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task OfTypeNav2(bool async) @@ -2987,11 +3403,13 @@ public override async Task OfTypeNav2(bool async) await base.OfTypeNav2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[AssignedCityName] = [c].[Name] -WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([c].[Location] <> 'Bar' OR ([c].[Location] IS NULL))"); +WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([c].[Location] <> 'Bar' OR ([c].[Location] IS NULL)) +"""); } public override async Task Enum_matching_take_value_gets_different_type_mapping(bool async) @@ -2999,12 +3417,14 @@ public override async Task Enum_matching_take_value_gets_different_type_mapping( await base.Enum_matching_take_value_gets_different_type_mapping(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__value_1='1' SELECT TOP(@__p_0) [g].[Rank] & @__value_1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Include_with_join_collection1(bool async) @@ -3012,11 +3432,13 @@ public override async Task Include_with_join_collection1(bool async) await base.Include_with_join_collection1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Optional_navigation_type_compensation_works_with_list_initializers(bool async) @@ -3024,11 +3446,13 @@ public override async Task Optional_navigation_type_compensation_works_with_list await base.Optional_navigation_type_compensation_works_with_list_initializers(async); AssertSql( - @"SELECT [g].[SquadId], [g].[SquadId] + 1 +""" +SELECT [g].[SquadId], [g].[SquadId] + 1 FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Contains_on_collection_of_byte_subquery(bool async) @@ -3036,12 +3460,14 @@ public override async Task Contains_on_collection_of_byte_subquery(bool async) await base.Contains_on_collection_of_byte_subquery(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] - WHERE [l0].[ThreatLevelByte] = [l].[ThreatLevelByte])"); + WHERE [l0].[ThreatLevelByte] = [l].[ThreatLevelByte]) +"""); } public override async Task Left_join_predicate_condition_equals_condition(bool async) @@ -3049,9 +3475,11 @@ public override async Task Left_join_predicate_condition_equals_condition(bool a await base.Left_join_predicate_condition_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Conditional_with_conditions_evaluating_to_true_gets_optimized(bool async) @@ -3059,8 +3487,10 @@ public override async Task Conditional_with_conditions_evaluating_to_true_gets_o await base.Conditional_with_conditions_evaluating_to_true_gets_optimized(async); AssertSql( - @"SELECT [g].[CityOfBirthName] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT [g].[CityOfBirthName] +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Correlated_collections_on_select_many(bool async) @@ -3068,7 +3498,8 @@ public override async Task Correlated_collections_on_select_many(bool async) await base.Correlated_collections_on_select_many(async); AssertSql( - @"SELECT [g].[Nickname], [s].[Name], [g].[SquadId], [s].[Id], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank] +""" +SELECT [g].[Nickname], [s].[Name], [g].[SquadId], [s].[Id], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] CROSS JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( @@ -3082,7 +3513,8 @@ LEFT JOIN ( WHERE [g0].[HasSoulPatch] = CAST(0 AS bit) ) AS [t0] ON [s].[Id] = [t0].[SquadId] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g].[Nickname], [s].[Id] DESC, [g].[SquadId], [t].[Id], [t0].[Nickname]"); +ORDER BY [g].[Nickname], [s].[Id] DESC, [g].[SquadId], [t].[Id], [t0].[Nickname] +"""); } public override async Task Bitwise_operation_with_non_null_parameter_optimizes_null_checks(bool async) @@ -3090,27 +3522,33 @@ public override async Task Bitwise_operation_with_non_null_parameter_optimizes_n await base.Bitwise_operation_with_non_null_parameter_optimizes_null_checks(async); AssertSql( - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & @__ranks_0) <> 0", +WHERE ([g].[Rank] & @__ranks_0) <> 0 +""", // - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT CASE WHEN ([g].[Rank] | @__ranks_0) = @__ranks_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]", +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +""", // - @"@__ranks_0='134' +""" +@__ranks_0='134' SELECT CASE WHEN ([g].[Rank] | ([g].[Rank] | (@__ranks_0 | ([g].[Rank] | @__ranks_0)))) = @__ranks_0 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Correlated_collections_project_anonymous_collection_result(bool async) @@ -3118,11 +3556,13 @@ public override async Task Correlated_collections_project_anonymous_collection_r await base.Correlated_collections_project_anonymous_collection_result(async); AssertSql( - @"SELECT [s].[Name], [s].[Id], [g].[FullName], [g].[Rank], [g].[Nickname], [g].[SquadId] +""" +SELECT [s].[Name], [s].[Id], [g].[FullName], [g].[Rank], [g].[Nickname], [g].[SquadId] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [s].[Id] = [g].[SquadId] WHERE [s].[Id] < 20 -ORDER BY [s].[Id], [g].[Nickname]"); +ORDER BY [s].[Id], [g].[Nickname] +"""); } public override async Task Navigation_based_on_complex_expression3(bool async) @@ -3130,13 +3570,15 @@ public override async Task Navigation_based_on_complex_expression3(bool async) await base.Navigation_based_on_complex_expression3(async); AssertSql( - @"SELECT [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] +""" +SELECT [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Discriminator] = N'LocustCommander' -) AS [t] ON [f].[CommanderName] = [t].[Name]"); +) AS [t] ON [f].[CommanderName] = [t].[Name] +"""); } public override async Task Correlated_collection_order_by_constant(bool async) @@ -3144,10 +3586,12 @@ public override async Task Correlated_collection_order_by_constant(bool async) await base.Correlated_collection_order_by_constant(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Join_predicate_value_equals_condition(bool async) @@ -3155,9 +3599,11 @@ public override async Task Join_predicate_value_equals_condition(bool async) await base.Join_predicate_value_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task GetValueOrDefault_with_argument_complex(bool async) @@ -3165,9 +3611,11 @@ public override async Task GetValueOrDefault_with_argument_complex(bool async) await base.GetValueOrDefault_with_argument_complex(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE COALESCE([w].[SynergyWithId], CAST(LEN([w].[Name]) AS int) + 42) > 10"); +WHERE COALESCE([w].[SynergyWithId], CAST(LEN([w].[Name]) AS int) + 42) > 10 +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(bool async) @@ -3175,10 +3623,12 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] -WHERE [g].[Nickname] = N'Marcus' AND [c].[Location] = 'Jacinto''s location'"); +WHERE [g].[Nickname] = N'Marcus' AND [c].[Location] = 'Jacinto''s location' +"""); } public override async Task Where_count_subquery_without_collision(bool async) @@ -3186,12 +3636,14 @@ public override async Task Where_count_subquery_without_collision(bool async) await base.Where_count_subquery_without_collision(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE ( SELECT COUNT(*) FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]) = 2"); + WHERE [g].[FullName] = [w].[OwnerFullName]) = 2 +"""); } public override async Task Select_null_parameter(bool async) @@ -3199,21 +3651,29 @@ public override async Task Select_null_parameter(bool async) await base.Select_null_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], @__ammunitionType_0 AS [AmmoType] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]", +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +""", // - @"SELECT [w].[Id], NULL AS [AmmoType] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]", +""" +SELECT [w].[Id], NULL AS [AmmoType] +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +""", // - @"@__ammunitionType_0='2' (Nullable = true) +""" +@__ammunitionType_0='2' (Nullable = true) SELECT [w].[Id], @__ammunitionType_0 AS [AmmoType] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]", +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +""", // - @"SELECT [w].[Id], NULL AS [AmmoType] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +""" +SELECT [w].[Id], NULL AS [AmmoType] +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Project_collection_navigation_nested_with_take_composite_key(bool async) @@ -3221,7 +3681,8 @@ public override async Task Project_collection_navigation_nested_with_take_compos await base.Project_collection_navigation_nested_with_take_composite_key(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN ( @@ -3233,7 +3694,8 @@ LEFT JOIN ( WHERE [t1].[row] <= 50 ) AS [t0] ON ([g].[Nickname] = [t0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([t0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Nickname]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId], [t0].[Nickname] +"""); } public override async Task Filter_on_subquery_projecting_one_value_type_from_empty_collection(bool async) @@ -3241,12 +3703,14 @@ public override async Task Filter_on_subquery_projecting_one_value_type_from_emp await base.Filter_on_subquery_projecting_one_value_type_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] WHERE [s].[Name] = N'Kilo' AND COALESCE(( SELECT TOP(1) [g].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] - WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0"); + WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0 +"""); } public override async Task Correlated_collection_with_inner_collection_references_element_two_levels_up(bool async) @@ -3254,7 +3718,8 @@ public override async Task Correlated_collection_with_inner_collection_reference await base.Correlated_collection_with_inner_collection_references_element_two_levels_up(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [g0].[FullName] AS [ReportName], [g].[FullName] AS [OfficerName], [g0].[Nickname], [g0].[SquadId] @@ -3262,7 +3727,8 @@ OUTER APPLY ( WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] ) AS [t] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Where_subquery_distinct_first_boolean(bool async) @@ -3270,7 +3736,8 @@ public override async Task Where_subquery_distinct_first_boolean(bool async) await base.Where_subquery_distinct_first_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -3280,7 +3747,8 @@ SELECT TOP(1) [t].[IsAutomatic] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] ORDER BY [t].[Id]) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task GroupBy_Select_sum(bool async) @@ -3288,9 +3756,11 @@ public override async Task GroupBy_Select_sum(bool async) await base.GroupBy_Select_sum(async); AssertSql( - @"SELECT COALESCE(SUM([m].[Rating]), 0.0E0) +""" +SELECT COALESCE(SUM([m].[Rating]), 0.0E0) FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -GROUP BY [m].[CodeName]"); +GROUP BY [m].[CodeName] +"""); } public override async Task Group_by_with_include_with_entity_in_result_selector(bool async) @@ -3298,7 +3768,8 @@ public override async Task Group_by_with_include_with_entity_in_result_selector( await base.Group_by_with_include_with_entity_in_result_selector(async); AssertSql( - @"SELECT [t].[Rank], [t].[c], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t0].[Name], [t0].[Location], [t0].[Nation], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [t].[Rank], [t].[c], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t0].[Name], [t0].[Location], [t0].[Nation], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM ( SELECT [g].[Rank], COUNT(*) AS [c] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] @@ -3313,7 +3784,8 @@ LEFT JOIN ( ) AS [t1] WHERE [t1].[row] <= 1 ) AS [t0] ON [t].[Rank] = [t0].[Rank] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Select_subquery_boolean_empty(bool async) @@ -3321,12 +3793,14 @@ public override async Task Select_subquery_boolean_empty(bool async) await base.Select_subquery_boolean_empty(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ORDER BY [w].[Id]), CAST(0 AS bit)) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Optional_navigation_type_compensation_works_with_orderby(bool async) @@ -3334,11 +3808,13 @@ public override async Task Optional_navigation_type_compensation_works_with_orde await base.Optional_navigation_type_compensation_works_with_orderby(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) -ORDER BY [g].[SquadId]"); +ORDER BY [g].[SquadId] +"""); } public override async Task Cast_OfType_works_correctly(bool async) @@ -3346,9 +3822,11 @@ public override async Task Cast_OfType_works_correctly(bool async) await base.Cast_OfType_works_correctly(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[Discriminator] = N'Officer'"); +WHERE [g].[Discriminator] = N'Officer' +"""); } public override async Task Correlated_collections_basic_projecting_constant_bool(bool async) @@ -3356,7 +3834,8 @@ public override async Task Correlated_collections_basic_projecting_constant_bool await base.Correlated_collections_basic_projecting_constant_bool(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[c], [t].[Id] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT CAST(1 AS bit) AS [c], [w].[Id], [w].[OwnerFullName] @@ -3364,7 +3843,8 @@ SELECT CAST(1 AS bit) AS [c], [w].[Id], [w].[OwnerFullName] WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collection_after_distinct_3_levels(bool async) @@ -3372,7 +3852,8 @@ public override async Task Correlated_collection_after_distinct_3_levels(bool as await base.Correlated_collection_after_distinct_3_levels(async); AssertSql( - @"SELECT [t].[Id], [t].[Name], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch], [t1].[Id], [t1].[Name], [t1].[Nickname0], [t1].[FullName0], [t1].[HasSoulPatch0], [t1].[Id0] +""" +SELECT [t].[Id], [t].[Name], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch], [t1].[Id], [t1].[Name], [t1].[Nickname0], [t1].[FullName0], [t1].[HasSoulPatch0], [t1].[Id0] FROM ( SELECT DISTINCT [s].[Id], [s].[Name] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] @@ -3390,7 +3871,8 @@ OUTER APPLY ( WHERE [w].[OwnerFullName] = [t0].[FullName] ) AS [t2] ) AS [t1] -ORDER BY [t].[Id], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch]"); +ORDER BY [t].[Id], [t1].[Nickname], [t1].[FullName], [t1].[HasSoulPatch] +"""); } public override async Task Null_propagation_optimization5(bool async) @@ -3398,7 +3880,8 @@ public override async Task Null_propagation_optimization5(bool async) await base.Null_propagation_optimization5(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(LEN([g].[LeaderNickname]) AS int) @@ -3406,7 +3889,8 @@ ELSE NULL END = 5 AND (CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(LEN([g].[LeaderNickname]) AS int) ELSE NULL -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Navigation_access_fk_on_derived_entity_using_cast(bool async) @@ -3414,14 +3898,16 @@ public override async Task Navigation_access_fk_on_derived_entity_using_cast(boo await base.Navigation_access_fk_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [t].[Name] AS [CommanderName] +""" +SELECT [f].[Name], [t].[Name] AS [CommanderName] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task First_on_byte_array(bool async) @@ -3429,9 +3915,11 @@ public override async Task First_on_byte_array(bool async) await base.First_on_byte_array(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE CAST(SUBSTRING([s].[Banner], 1, 1) AS tinyint) = CAST(2 AS tinyint)"); +WHERE CAST(SUBSTRING([s].[Banner], 1, 1) AS tinyint) = CAST(2 AS tinyint) +"""); } public override async Task @@ -3440,11 +3928,13 @@ public override async Task await base.Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation_complex(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] -WHERE SUBSTRING([t].[Note], 0 + 1, CAST(LEN([s].[Name]) AS int)) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([s].[Name] IS NULL)) AND ([t].[GearNickName] IS NULL))"); +WHERE SUBSTRING([t].[Note], 0 + 1, CAST(LEN([s].[Name]) AS int)) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([s].[Name] IS NULL)) AND ([t].[GearNickName] IS NULL)) +"""); } public override async Task Project_one_value_type_with_client_projection_from_empty_collection(bool async) @@ -3452,7 +3942,8 @@ public override async Task Project_one_value_type_with_client_projection_from_em await base.Project_one_value_type_with_client_projection_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], [t0].[SquadId], [t0].[LeaderSquadId], [t0].[c] +""" +SELECT [s].[Name], [t0].[SquadId], [t0].[LeaderSquadId], [t0].[c] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [t].[SquadId], [t].[LeaderSquadId], [t].[c] @@ -3463,7 +3954,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool async) @@ -3471,10 +3963,12 @@ public override async Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool as await base.Optional_Navigation_Null_Coalesce_To_Clr_Type(async); AssertSql( - @"SELECT TOP(1) COALESCE([w0].[IsAutomatic], CAST(0 AS bit)) AS [IsAutomatic] +""" +SELECT TOP(1) COALESCE([w0].[IsAutomatic], CAST(0 AS bit)) AS [IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w].[Id]"); +ORDER BY [w].[Id] +"""); } public override async Task Where_datetimeoffset_utcnow(bool async) @@ -3482,9 +3976,11 @@ public override async Task Where_datetimeoffset_utcnow(bool async) await base.Where_datetimeoffset_utcnow(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE [m].[Timeline] <> CAST(SYSUTCDATETIME() AS datetimeoffset)"); +WHERE [m].[Timeline] <> CAST(SYSUTCDATETIME() AS datetimeoffset) +"""); } public override async Task Nav_rewrite_with_convert3(bool async) @@ -3492,7 +3988,8 @@ public override async Task Nav_rewrite_with_convert3(bool async) await base.Nav_rewrite_with_convert3(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [f].[CapitalName] = [c].[Name] LEFT JOIN ( @@ -3500,7 +3997,8 @@ SELECT [l].[Name] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL))"); +WHERE ([c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)) AND ([t].[Name] <> N'Bar' OR ([t].[Name] IS NULL)) +"""); } public override async Task Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion(bool async) @@ -3508,7 +4006,8 @@ public override async Task Subquery_projecting_non_nullable_scalar_contains_non_ await base.Subquery_projecting_non_nullable_scalar_contains_non_nullable_value_doesnt_need_null_expansion(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] @@ -3517,7 +4016,8 @@ WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE [l0].[ThreatLevelByte] = [l].[ThreatLevelByte]) -) AS [t]"); +) AS [t] +"""); } public override async Task Correlated_collections_with_funky_orderby_complex_scenario1(bool async) @@ -3525,7 +4025,8 @@ public override async Task Correlated_collections_with_funky_orderby_complex_sce await base.Correlated_collections_with_funky_orderby_complex_scenario1(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0], [t].[HasSoulPatch], [t].[SquadId0] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0], [t].[HasSoulPatch], [t].[SquadId0] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Id], [g0].[Nickname], [g0].[SquadId], [s].[Id] AS [Id0], [g1].[Nickname] AS [Nickname0], [g1].[HasSoulPatch], [g1].[SquadId] AS [SquadId0], [w].[OwnerFullName] @@ -3534,7 +4035,8 @@ LEFT JOIN ( LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g0].[SquadId] = [s].[Id] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g1] ON [s].[Id] = [g1].[SquadId] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] -ORDER BY [g].[FullName], [g].[Nickname] DESC, [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0]"); +ORDER BY [g].[FullName], [g].[Nickname] DESC, [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0] +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery(bool async) @@ -3542,12 +4044,14 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery(bool await base.Contains_on_collection_of_nullable_byte_subquery(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] - WHERE [l0].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l0].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL)))"); + WHERE [l0].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l0].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL))) +"""); } public override async Task Where_datetimeoffset_now(bool async) @@ -3555,9 +4059,11 @@ public override async Task Where_datetimeoffset_now(bool async) await base.Where_datetimeoffset_now(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE [m].[Timeline] <> SYSDATETIMEOFFSET()"); +WHERE [m].[Timeline] <> SYSDATETIMEOFFSET() +"""); } public override async Task Select_subquery_int_with_inside_cast_and_coalesce(bool async) @@ -3565,12 +4071,14 @@ public override async Task Select_subquery_int_with_inside_cast_and_coalesce(boo await base.Select_subquery_int_with_inside_cast_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), 42) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task String_compare_with_null_conditional_argument(bool async) @@ -3578,13 +4086,15 @@ public override async Task String_compare_with_null_conditional_argument(bool as await base.String_compare_with_null_conditional_argument(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] ORDER BY CASE WHEN [w0].[Name] = N'Marcus'' Lancer' AND ([w0].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Correlated_collections_basic_projection_explicit_to_array(bool async) @@ -3592,7 +4102,8 @@ public override async Task Correlated_collections_basic_projection_explicit_to_a await base.Correlated_collections_basic_projection_explicit_to_array(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -3600,7 +4111,8 @@ LEFT JOIN ( WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Subquery_is_lifted_from_additional_from_clause(bool async) @@ -3608,11 +4120,13 @@ public override async Task Subquery_is_lifted_from_additional_from_clause(bool a await base.Subquery_is_lifted_from_additional_from_clause(async); AssertSql( - @"SELECT [g].[FullName] AS [Name1], [g0].[FullName] AS [Name2] +""" +SELECT [g].[FullName] AS [Name1], [g0].[FullName] AS [Name2] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] CROSS JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g0].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool async) @@ -3620,8 +4134,10 @@ public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool async) await base.DateTimeOffset_DateAdd_AddMilliseconds(async); AssertSql( - @"SELECT DATEADD(millisecond, CAST(300.0E0 AS int), [m].[Timeline]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEADD(millisecond, CAST(300.0E0 AS int), [m].[Timeline]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(bool async) @@ -3629,7 +4145,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g1] ON [t].[GearNickName] = [g1].[Nickname] AND [t].[GearSquadId] = [g1].[SquadId] @@ -3642,7 +4159,8 @@ LEFT JOIN ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[IsAutomatic], [t0].[Nickname] DESC, [t0].[Id]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[IsAutomatic], [t0].[Nickname] DESC, [t0].[Id] +"""); } public override async Task Member_access_on_derived_entity_using_cast(bool async) @@ -3650,9 +4168,11 @@ public override async Task Member_access_on_derived_entity_using_cast(bool async await base.Member_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [f].[Eradicated] +""" +SELECT [f].[Name], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Double_order_by_on_string_compare(bool async) @@ -3660,12 +4180,14 @@ public override async Task Double_order_by_on_string_compare(bool async) await base.Double_order_by_on_string_compare(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ORDER BY CASE WHEN [w].[Name] = N'Marcus'' Lancer' AND ([w].[Name] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END, [w].[Id]"); +END, [w].[Id] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool async) @@ -3673,13 +4195,15 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool await base.Join_on_entity_qsre_keys_inner_key_is_navigation(async); AssertSql( - @"SELECT [c].[Name] AS [CityName], [t].[Nickname] AS [GearNickname] +""" +SELECT [c].[Name] AS [CityName], [t].[Nickname] AS [GearNickname] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] INNER JOIN ( SELECT [g].[Nickname], [c0].[Name] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c0] ON [g].[AssignedCityName] = [c0].[Name] -) AS [t] ON [c].[Name] = [t].[Name]"); +) AS [t] ON [c].[Name] = [t].[Name] +"""); } public override async Task Correlated_collections_with_Take(bool async) @@ -3687,7 +4211,8 @@ public override async Task Correlated_collections_with_Take(bool async) await base.Correlated_collections_with_Take(async); AssertSql( - @"SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank] +""" +SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] @@ -3697,7 +4222,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname] +"""); } public override async Task Correlated_collection_take(bool async) @@ -3705,7 +4231,8 @@ public override async Task Correlated_collection_take(bool async) await base.Correlated_collection_take(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN ( @@ -3716,7 +4243,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 10 ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name] +"""); } public override async Task Enum_ToString_is_client_eval(bool async) @@ -3724,9 +4252,11 @@ public override async Task Enum_ToString_is_client_eval(bool async) await base.Enum_ToString_is_client_eval(async); AssertSql( - @"SELECT [g].[Rank] +""" +SELECT [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -ORDER BY [g].[SquadId], [g].[Nickname]"); +ORDER BY [g].[SquadId], [g].[Nickname] +"""); } public override async Task Include_with_nested_navigation_in_order_by(bool async) @@ -3734,12 +4264,14 @@ public override async Task Include_with_nested_navigation_in_order_by(bool async await base.Include_with_nested_navigation_in_order_by(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] WHERE [g].[Nickname] <> N'Paduk' OR ([g].[Nickname] IS NULL) -ORDER BY [c].[Name], [w].[Id]"); +ORDER BY [c].[Name], [w].[Id] +"""); } public override async Task Negated_bool_ternary_inside_anonymous_type_in_projection(bool async) @@ -3747,7 +4279,8 @@ public override async Task Negated_bool_ternary_inside_anonymous_type_in_project await base.Negated_bool_ternary_inside_anonymous_type_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN CASE WHEN [g].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE COALESCE([g].[HasSoulPatch], CAST(1 AS bit)) @@ -3755,7 +4288,8 @@ ELSE COALESCE([g].[HasSoulPatch], CAST(1 AS bit)) ELSE CAST(0 AS bit) END AS [c] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings( @@ -3764,7 +4298,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g1] ON [t].[GearNickName] = [g1].[Nickname] AND [t].[GearSquadId] = [g1].[SquadId] @@ -3780,7 +4315,8 @@ SELECT COUNT(*) SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id] DESC, [t0].[c], [t0].[Nickname]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id] DESC, [t0].[c], [t0].[Nickname] +"""); } public override async Task Include_reference_on_derived_type_using_string_nested2(bool async) @@ -3788,7 +4324,8 @@ public override async Task Include_reference_on_derived_type_using_string_nested await base.Include_reference_on_derived_type_using_string_nested2(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank], [t].[Name], [t].[Location], [t].[Nation], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank], [t].[Name], [t].[Location], [t].[Nation], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN ( @@ -3796,7 +4333,8 @@ LEFT JOIN ( FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g0].[CityOfBirthName] = [c].[Name] ) AS [t] ON ([g].[Nickname] = [t].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([t].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [l].[Name], [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId]"); +ORDER BY [l].[Name], [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId] +"""); } public override async Task Group_by_on_StartsWith_with_null_parameter_as_argument(bool async) @@ -3804,12 +4342,14 @@ public override async Task Group_by_on_StartsWith_with_null_parameter_as_argumen await base.Group_by_on_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [t].[Key] +""" +SELECT [t].[Key] FROM ( SELECT CAST(0 AS bit) AS [Key] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Where_is_properly_lifted_from_subquery_created_by_include(bool async) @@ -3817,11 +4357,13 @@ public override async Task Where_is_properly_lifted_from_subquery_created_by_inc await base.Where_is_properly_lifted_from_subquery_created_by_include(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE [g].[FullName] <> N'Augustus Cole' AND [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Where_datetimeoffset_dayofyear_component(bool async) @@ -3829,9 +4371,11 @@ public override async Task Where_datetimeoffset_dayofyear_component(bool async) await base.Where_datetimeoffset_dayofyear_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(dayofyear, [m].[Timeline]) = 2"); +WHERE DATEPART(dayofyear, [m].[Timeline]) = 2 +"""); } public override async Task DateTimeOffset_DateAdd_AddDays(bool async) @@ -3839,8 +4383,10 @@ public override async Task DateTimeOffset_DateAdd_AddDays(bool async) await base.DateTimeOffset_DateAdd_AddDays(async); AssertSql( - @"SELECT DATEADD(day, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEADD(day, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(bool async) @@ -3848,14 +4394,16 @@ public override async Task Null_semantics_on_nullable_bool_from_inner_join_subqu await base.Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(async); AssertSql( - @"SELECT [t].[Id], [t].[CapitalName], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated] +""" +SELECT [t].[Id], [t].[CapitalName], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN ( SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] WHERE [f].[Name] = N'Swarm' ) AS [t] ON [l].[Name] = [t].[CommanderName] -WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL)"); +WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL) +"""); } public override async Task Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion_negated(bool async) @@ -3863,7 +4411,8 @@ public override async Task Subquery_projecting_nullable_scalar_contains_nullable await base.Subquery_projecting_nullable_scalar_contains_nullable_value_needs_null_expansion_negated(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] +""" +SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] CROSS APPLY ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] @@ -3872,7 +4421,8 @@ WHERE NOT (EXISTS ( SELECT 1 FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE [l0].[ThreatLevelNullableByte] = [l].[ThreatLevelNullableByte] OR (([l0].[ThreatLevelNullableByte] IS NULL) AND ([l].[ThreatLevelNullableByte] IS NULL)))) -) AS [t]"); +) AS [t] +"""); } public override async Task Select_Where_Navigation_Equals_Navigation(bool async) @@ -3880,12 +4430,14 @@ public override async Task Select_Where_Navigation_Equals_Navigation(bool async) await base.Select_Where_Navigation_Equals_Navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] CROSS JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t0] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [t0].[GearNickName] = [g0].[Nickname] AND [t0].[GearSquadId] = [g0].[SquadId] -WHERE ([g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL))) AND ([g].[SquadId] = [g0].[SquadId] OR (([g].[SquadId] IS NULL) AND ([g0].[SquadId] IS NULL)))"); +WHERE ([g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL))) AND ([g].[SquadId] = [g0].[SquadId] OR (([g].[SquadId] IS NULL) AND ([g0].[SquadId] IS NULL))) +"""); } public override async Task Array_access_on_byte_array(bool async) @@ -3893,9 +4445,11 @@ public override async Task Array_access_on_byte_array(bool async) await base.Array_access_on_byte_array(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE CAST(SUBSTRING([s].[Banner5], 2 + 1, 1) AS tinyint) = CAST(6 AS tinyint)"); +WHERE CAST(SUBSTRING([s].[Banner5], 2 + 1, 1) AS tinyint) = CAST(6 AS tinyint) +"""); } public override async Task Where_contains_on_navigation_with_composite_keys(bool async) @@ -3903,7 +4457,8 @@ public override async Task Where_contains_on_navigation_with_composite_keys(bool await base.Where_contains_on_navigation_with_composite_keys(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE EXISTS ( SELECT 1 @@ -3911,7 +4466,8 @@ SELECT 1 WHERE EXISTS ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] - WHERE [c].[Name] = [g0].[CityOfBirthName] AND [g0].[Nickname] = [g].[Nickname] AND [g0].[SquadId] = [g].[SquadId]))"); + WHERE [c].[Name] = [g0].[CityOfBirthName] AND [g0].[Nickname] = [g].[Nickname] AND [g0].[SquadId] = [g].[SquadId])) +"""); } public override async Task Cast_to_derived_type_after_OfType_works(bool async) @@ -3919,9 +4475,11 @@ public override async Task Cast_to_derived_type_after_OfType_works(bool async) await base.Cast_to_derived_type_after_OfType_works(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[Discriminator] = N'Officer'"); +WHERE [g].[Discriminator] = N'Officer' +"""); } public override async Task Select_Where_Navigation(bool async) @@ -3929,10 +4487,12 @@ public override async Task Select_Where_Navigation(bool async) await base.Select_Where_Navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[Nickname] = N'Marcus'"); +WHERE [g].[Nickname] = N'Marcus' +"""); } public override async Task Project_navigation_defined_on_base_from_entity_with_inheritance_using_soft_cast(bool async) @@ -3940,7 +4500,8 @@ public override async Task Project_navigation_defined_on_base_from_entity_with_i await base.Project_navigation_defined_on_base_from_entity_with_inheritance_using_soft_cast(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], CASE +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], CASE WHEN [t].[Id] IS NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsNull], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart], CASE @@ -3953,7 +4514,8 @@ END AS [IsNull] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] -LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down2(bool async) @@ -3961,7 +4523,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down2(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t].[FullName] FROM ( @@ -3969,7 +4532,8 @@ SELECT TOP(@__p_0) [g].[FullName], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task OrderBy_bool_coming_from_optional_navigation(bool async) @@ -3977,10 +4541,12 @@ public override async Task OrderBy_bool_coming_from_optional_navigation(bool asy await base.OrderBy_bool_coming_from_optional_navigation(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w0].[IsAutomatic]"); +ORDER BY [w0].[IsAutomatic] +"""); } public override async Task Where_subquery_boolean_with_pushdown(bool async) @@ -3988,13 +4554,15 @@ public override async Task Where_subquery_boolean_with_pushdown(bool async) await base.Where_subquery_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_distinct_firstordefault_boolean(bool async) @@ -4002,7 +4570,8 @@ public override async Task Where_subquery_distinct_firstordefault_boolean(bool a await base.Where_subquery_distinct_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND COALESCE(( SELECT TOP(1) [t].[IsAutomatic] @@ -4011,7 +4580,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate(bool async) @@ -4019,10 +4589,12 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Nullable_bool_comparison_is_translated_to_server(bool async) @@ -4030,11 +4602,13 @@ public override async Task Nullable_bool_comparison_is_translated_to_server(bool await base.Nullable_bool_comparison_is_translated_to_server(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [f].[Eradicated] = CAST(1 AS bit) AND ([f].[Eradicated] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsEradicated] -FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f]"); +FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] +"""); } public override async Task Where_bitwise_and_nullable_enum_with_non_nullable_parameter(bool async) @@ -4042,11 +4616,13 @@ public override async Task Where_bitwise_and_nullable_enum_with_non_nullable_par await base.Where_bitwise_and_nullable_enum_with_non_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' +""" +@__ammunitionType_0='1' SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0"); +WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0 +"""); } public override async Task Where_enum_has_flag(bool async) @@ -4054,25 +4630,35 @@ public override async Task Where_enum_has_flag(bool async) await base.Where_enum_has_flag(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & 2) = 2", +WHERE ([g].[Rank] & 2) = 2 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & 18) = 18", +WHERE ([g].[Rank] & 18) = 18 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & 1) = 1", +WHERE ([g].[Rank] & 1) = 1 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & 1) = 1", +WHERE ([g].[Rank] & 1) = 1 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE (2 & [g].[Rank]) = [g].[Rank]"); +WHERE (2 & [g].[Rank]) = [g].[Rank] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToList(bool async) @@ -4080,11 +4666,13 @@ public override async Task Correlated_collections_naked_navigation_with_ToList(b await base.Correlated_collections_naked_navigation_with_ToList(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Collection_with_inheritance_and_join_include_source(bool async) @@ -4092,11 +4680,13 @@ public override async Task Collection_with_inheritance_and_join_include_source(b await base.Collection_with_inheritance_and_join_include_source(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t0].[Id], [t0].[GearNickName], [t0].[GearSquadId], [t0].[IssueDate], [t0].[Note], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t0] ON [g].[Nickname] = [t0].[GearNickName] AND [g].[SquadId] = [t0].[GearSquadId] -WHERE [g].[Discriminator] = N'Officer'"); +WHERE [g].[Discriminator] = N'Officer' +"""); } public override async Task Complex_GroupBy_after_set_operator(bool async) @@ -4104,7 +4694,8 @@ public override async Task Complex_GroupBy_after_set_operator(bool async) await base.Complex_GroupBy_after_set_operator(async); AssertSql( - @"SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] +""" +SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] FROM ( SELECT [c].[Name], ( SELECT COUNT(*) @@ -4120,7 +4711,8 @@ SELECT COUNT(*) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c0] ON [g0].[CityOfBirthName] = [c0].[Name] ) AS [t] -GROUP BY [t].[Name], [t].[Count]"); +GROUP BY [t].[Name], [t].[Count] +"""); } public override async Task Projecting_property_converted_to_nullable_into_member_assignment(bool async) @@ -4128,7 +4720,8 @@ public override async Task Projecting_property_converted_to_nullable_into_member await base.Projecting_property_converted_to_nullable_into_member_assignment(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL END AS [Id] @@ -4138,7 +4731,8 @@ WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL END IS NOT NULL -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Where_enum_has_flag_subquery(bool async) @@ -4146,7 +4740,8 @@ public override async Task Where_enum_has_flag_subquery(bool async) await base.Where_enum_has_flag_subquery(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE ([g].[Rank] & COALESCE(( SELECT TOP(1) [g0].[Rank] @@ -4154,9 +4749,11 @@ SELECT TOP(1) [g0].[Rank] ORDER BY [g0].[Nickname], [g0].[SquadId]), 0)) = COALESCE(( SELECT TOP(1) [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] - ORDER BY [g0].[Nickname], [g0].[SquadId]), 0)", + ORDER BY [g0].[Nickname], [g0].[SquadId]), 0) +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE (2 & COALESCE(( SELECT TOP(1) [g0].[Rank] @@ -4164,7 +4761,8 @@ SELECT TOP(1) [g0].[Rank] ORDER BY [g0].[Nickname], [g0].[SquadId]), 0)) = COALESCE(( SELECT TOP(1) [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] - ORDER BY [g0].[Nickname], [g0].[SquadId]), 0)"); + ORDER BY [g0].[Nickname], [g0].[SquadId]), 0) +"""); } public override async Task Select_required_navigation_on_the_same_type_with_cast(bool async) @@ -4172,9 +4770,11 @@ public override async Task Select_required_navigation_on_the_same_type_with_cast await base.Select_required_navigation_on_the_same_type_with_cast(async); AssertSql( - @"SELECT [c].[Name] +""" +SELECT [c].[Name] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] +"""); } public override async Task Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let(bool async) @@ -4182,13 +4782,15 @@ public override async Task Query_with_complex_let_containing_ordering_and_filter await base.Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let(async); AssertSql( - @"SELECT [g].[Nickname], ( +""" +SELECT [g].[Nickname], ( SELECT TOP(1) [w].[Name] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit) ORDER BY [w].[AmmunitionType] DESC) AS [WeaponName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[Nickname] <> N'Dom'"); +WHERE [g].[Nickname] <> N'Dom' +"""); } public override async Task Select_subquery_projecting_single_constant_bool(bool async) @@ -4196,11 +4798,13 @@ public override async Task Select_subquery_projecting_single_constant_bool(bool await base.Select_subquery_projecting_single_constant_bool(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) CAST(1 AS bit) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), CAST(0 AS bit)) AS [Gear] -FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s]"); +FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] +"""); } public override async Task Null_propagation_optimization4(bool async) @@ -4208,7 +4812,8 @@ public override async Task Null_propagation_optimization4(bool async) await base.Null_propagation_optimization4(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE CASE WHEN [g].[LeaderNickname] IS NULL THEN NULL @@ -4216,7 +4821,8 @@ ELSE CAST(LEN([g].[LeaderNickname]) AS int) END = 5 AND (CASE WHEN [g].[LeaderNickname] IS NULL THEN NULL ELSE CAST(LEN([g].[LeaderNickname]) AS int) -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column(bool async) @@ -4224,14 +4830,16 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT DISTINCT [w].[Id], [w].[Name] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Optional_navigation_with_collection_composite_key(bool async) @@ -4239,13 +4847,15 @@ public override async Task Optional_navigation_with_collection_composite_key(boo await base.Optional_navigation_with_collection_composite_key(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE [g].[Discriminator] = N'Officer' AND ( SELECT COUNT(*) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] - WHERE ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL) AND [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] AND [g0].[Nickname] = N'Dom') > 0"); + WHERE ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL) AND [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] AND [g0].[Nickname] = N'Dom') > 0 +"""); } public override async Task Select_as_operator(bool async) @@ -4253,8 +4863,10 @@ public override async Task Select_as_operator(bool async) await base.Select_as_operator(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] -FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l]"); +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] +"""); } public override async Task Include_reference_on_derived_type_using_lambda_with_tracking(bool async) @@ -4262,9 +4874,11 @@ public override async Task Include_reference_on_derived_type_using_lambda_with_t await base.Include_reference_on_derived_type_using_lambda_with_tracking(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] +"""); } public override async Task DateTimeOffset_DateAdd_AddSeconds(bool async) @@ -4272,8 +4886,10 @@ public override async Task DateTimeOffset_DateAdd_AddSeconds(bool async) await base.DateTimeOffset_DateAdd_AddSeconds(async); AssertSql( - @"SELECT DATEADD(second, CAST(1.0E0 AS int), [m].[Timeline]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEADD(second, CAST(1.0E0 AS int), [m].[Timeline]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task CompareTo_used_with_non_unicode_string_column_and_constant(bool async) @@ -4281,9 +4897,11 @@ public override async Task CompareTo_used_with_non_unicode_string_column_and_con await base.CompareTo_used_with_non_unicode_string_column_and_constant(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] -WHERE [c].[Location] = 'Unknown'"); +WHERE [c].[Location] = 'Unknown' +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(bool async) @@ -4291,12 +4909,14 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(async); AssertSql( - @"SELECT [t].[Id] AS [Id1], [t0].[Id] AS [Id2] +""" +SELECT [t].[Id] AS [Id1], [t0].[Id] AS [Id2] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] CROSS JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t0] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [t0].[GearNickName] = [g0].[Nickname] AND [t0].[GearSquadId] = [g0].[SquadId] -WHERE [g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL))"); +WHERE [g].[Nickname] = [g0].[Nickname] OR (([g].[Nickname] IS NULL) AND ([g0].[Nickname] IS NULL)) +"""); } public override async Task Where_enum_has_flag_subquery_with_pushdown(bool async) @@ -4304,7 +4924,8 @@ public override async Task Where_enum_has_flag_subquery_with_pushdown(bool async await base.Where_enum_has_flag_subquery_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE ([g].[Rank] & ( SELECT TOP(1) [g0].[Rank] @@ -4315,9 +4936,11 @@ SELECT TOP(1) [g0].[Rank] ORDER BY [g0].[Nickname], [g0].[SquadId]) OR (( SELECT TOP(1) [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] - ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL)", + ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL) +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE (2 & ( SELECT TOP(1) [g0].[Rank] @@ -4328,7 +4951,8 @@ SELECT TOP(1) [g0].[Rank] ORDER BY [g0].[Nickname], [g0].[SquadId]) OR (( SELECT TOP(1) [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] - ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL)"); + ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL) +"""); } public override async Task Select_null_parameter_is_not_null(bool async) @@ -4336,10 +4960,12 @@ public override async Task Select_null_parameter_is_not_null(bool async) await base.Select_null_parameter_is_not_null(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT @__p_0 -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Select_null_propagation_optimization7(bool async) @@ -4347,11 +4973,13 @@ public override async Task Select_null_propagation_optimization7(bool async) await base.Select_null_propagation_optimization7(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN [g].[LeaderNickname] + [g].[LeaderNickname] ELSE NULL END -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result4(bool async) @@ -4359,14 +4987,16 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result4(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[PeriodEnd], [w1].[PeriodStart], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[PeriodEnd], [w2].[PeriodStart], [w2].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId], [w1].[Id], [w1].[AmmunitionType], [w1].[IsAutomatic], [w1].[Name], [w1].[OwnerFullName], [w1].[PeriodEnd], [w1].[PeriodStart], [w1].[SynergyWithId], [w2].[Id], [w2].[AmmunitionType], [w2].[IsAutomatic], [w2].[Name], [w2].[OwnerFullName], [w2].[PeriodEnd], [w2].[PeriodStart], [w2].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [g0].[FullName] = [w0].[OwnerFullName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w1] ON [g0].[FullName] = [w1].[OwnerFullName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w2] ON [g].[FullName] = [w2].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id], [w0].[Id], [w1].[Id] +"""); } public override async Task Coalesce_operator_in_predicate_with_other_conditions(bool async) @@ -4374,9 +5004,11 @@ public override async Task Coalesce_operator_in_predicate_with_other_conditions( await base.Coalesce_operator_in_predicate_with_other_conditions(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] = 1 AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit)"); +WHERE [w].[AmmunitionType] = 1 AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Where_subquery_union_firstordefault_boolean(bool async) @@ -4384,7 +5016,8 @@ public override async Task Where_subquery_union_firstordefault_boolean(bool asyn await base.Where_subquery_union_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -4397,7 +5030,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]) = CAST(1 AS bit)"); + ORDER BY [t].[Id]) = CAST(1 AS bit) +"""); } public override async Task Contains_on_byte_array_property_using_byte_column(bool async) @@ -4405,10 +5039,12 @@ public override async Task Contains_on_byte_array_property_using_byte_column(boo await base.Contains_on_byte_array_property_using_byte_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] CROSS JOIN [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -WHERE CHARINDEX(CAST([l].[ThreatLevelByte] AS varbinary(max)), [s].[Banner]) > 0"); +WHERE CHARINDEX(CAST([l].[ThreatLevelByte] AS varbinary(max)), [s].[Banner]) > 0 +"""); } public override async Task Project_shadow_properties(bool async) @@ -4416,8 +5052,10 @@ public override async Task Project_shadow_properties(bool async) await base.Project_shadow_properties(async); AssertSql( - @"SELECT [g].[Nickname], [g].[AssignedCityName] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT [g].[Nickname], [g].[AssignedCityName] +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Where_nullable_enum_with_constant(bool async) @@ -4425,9 +5063,11 @@ public override async Task Where_nullable_enum_with_constant(bool async) await base.Where_nullable_enum_with_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] = 1"); +WHERE [w].[AmmunitionType] = 1 +"""); } public override async Task Projecting_property_converted_to_nullable_and_use_it_in_order_by(bool async) @@ -4435,7 +5075,8 @@ public override async Task Projecting_property_converted_to_nullable_and_use_it_ await base.Projecting_property_converted_to_nullable_and_use_it_in_order_by(async); AssertSql( - @"SELECT [t].[Note], CASE +""" +SELECT [t].[Note], CASE WHEN [t].[GearNickName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -4448,7 +5089,8 @@ END IS NOT NULL ORDER BY CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL -END, [t].[Note]"); +END, [t].[Note] +"""); } public override async Task Join_on_entity_qsre_keys_inheritance(bool async) @@ -4456,13 +5098,15 @@ public override async Task Join_on_entity_qsre_keys_inheritance(bool async) await base.Join_on_entity_qsre_keys_inheritance(async); AssertSql( - @"SELECT [g].[FullName] AS [GearName], [t].[FullName] AS [OfficerName] +""" +SELECT [g].[FullName] AS [GearName], [t].[FullName] AS [OfficerName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] WHERE [g0].[Discriminator] = N'Officer' -) AS [t] ON [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId]"); +) AS [t] ON [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId] +"""); } public override async Task Select_Where_Navigation_Null(bool async) @@ -4470,10 +5114,12 @@ public override async Task Select_Where_Navigation_Null(bool async) await base.Select_Where_Navigation_Null(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE ([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL)"); +WHERE ([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL) +"""); } public override async Task @@ -4482,7 +5128,8 @@ public override async Task await base.Correlated_collection_with_groupby_not_projecting_identifier_column_but_only_grouping_key_in_final_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Key] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Key] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [w].[IsAutomatic] AS [Key] @@ -4490,7 +5137,8 @@ SELECT [w].[IsAutomatic] AS [Key] WHERE [g].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Join_predicate_condition_equals_condition(bool async) @@ -4498,9 +5146,11 @@ public override async Task Join_predicate_condition_equals_condition(bool async) await base.Join_predicate_condition_equals_condition(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [w].[SynergyWithId] IS NOT NULL"); +INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [w].[SynergyWithId] IS NOT NULL +"""); } public override async Task Select_correlated_filtered_collection_works_with_caching(bool async) @@ -4508,10 +5158,12 @@ public override async Task Select_correlated_filtered_collection_works_with_cach await base.Select_correlated_filtered_collection_works_with_caching(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] -ORDER BY [t].[Note], [t].[Id], [g].[Nickname]"); +ORDER BY [t].[Note], [t].[Id], [g].[Nickname] +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) @@ -4519,7 +5171,8 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_nested_navigati await base.Join_on_entity_qsre_keys_inner_key_is_nested_navigation(async); AssertSql( - @"SELECT [s].[Name] AS [SquadName], [t].[Name] AS [WeaponName] +""" +SELECT [s].[Name] AS [SquadName], [t].[Name] AS [WeaponName] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] INNER JOIN ( SELECT [w].[Name], [s0].[Id] AS [Id0] @@ -4527,7 +5180,8 @@ INNER JOIN ( LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s0] ON [g].[SquadId] = [s0].[Id] WHERE [w].[IsAutomatic] = CAST(1 AS bit) -) AS [t] ON [s].[Id] = [t].[Id0]"); +) AS [t] ON [s].[Id] = [t].[Id0] +"""); } public override async Task Correlated_collections_similar_collection_projected_multiple_times(bool async) @@ -4535,7 +5189,8 @@ public override async Task Correlated_collections_similar_collection_projected_m await base.Correlated_collections_similar_collection_projected_multiple_times(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -4547,7 +5202,8 @@ LEFT JOIN ( FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] WHERE [w0].[IsAutomatic] = CAST(0 AS bit) ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Rank], [g].[Nickname], [g].[SquadId], [t].[OwnerFullName], [t].[Id], [t0].[IsAutomatic]"); +ORDER BY [g].[Rank], [g].[Nickname], [g].[SquadId], [t].[OwnerFullName], [t].[Id], [t0].[IsAutomatic] +"""); } public override async Task Correlated_collections_complex_scenario1(bool async) @@ -4555,7 +5211,8 @@ public override async Task Correlated_collections_complex_scenario1(bool async) await base.Correlated_collections_complex_scenario1(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0], [t].[HasSoulPatch], [t].[SquadId0] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0], [t].[HasSoulPatch], [t].[SquadId0] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Id], [g0].[Nickname], [g0].[SquadId], [s].[Id] AS [Id0], [g1].[Nickname] AS [Nickname0], [g1].[HasSoulPatch], [g1].[SquadId] AS [SquadId0], [w].[OwnerFullName] @@ -4564,7 +5221,8 @@ LEFT JOIN ( LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g0].[SquadId] = [s].[Id] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g1] ON [s].[Id] = [g1].[SquadId] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Nickname], [t].[SquadId], [t].[Id0], [t].[Nickname0] +"""); } public override async Task TimeSpan_Minutes(bool async) @@ -4572,8 +5230,10 @@ public override async Task TimeSpan_Minutes(bool async) await base.TimeSpan_Minutes(async); AssertSql( - @"SELECT DATEPART(minute, [m].[Duration]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEPART(minute, [m].[Duration]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean1(bool async) @@ -4581,7 +5241,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean1(boo await base.Select_subquery_distinct_singleordefault_boolean1(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -4589,7 +5250,8 @@ SELECT TOP(1) [t].[IsAutomatic] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]), CAST(0 AS bit)) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Comparing_entities_using_Equals_inheritance(bool async) @@ -4597,7 +5259,8 @@ public override async Task Comparing_entities_using_Equals_inheritance(bool asyn await base.Comparing_entities_using_Equals_inheritance(async); AssertSql( - @"SELECT [g].[Nickname] AS [Nickname1], [t].[Nickname] AS [Nickname2] +""" +SELECT [g].[Nickname] AS [Nickname1], [t].[Nickname] AS [Nickname2] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] CROSS JOIN ( SELECT [g0].[Nickname], [g0].[SquadId] @@ -4605,7 +5268,8 @@ CROSS JOIN ( WHERE [g0].[Discriminator] = N'Officer' ) AS [t] WHERE [g].[Nickname] = [t].[Nickname] AND [g].[SquadId] = [t].[SquadId] -ORDER BY [g].[Nickname], [t].[Nickname]"); +ORDER BY [g].[Nickname], [t].[Nickname] +"""); } public override async Task Where_compare_anonymous_types_with_uncorrelated_members(bool async) @@ -4613,9 +5277,11 @@ public override async Task Where_compare_anonymous_types_with_uncorrelated_membe await base.Where_compare_anonymous_types_with_uncorrelated_members(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(bool async) @@ -4623,10 +5289,12 @@ public override async Task Order_by_is_properly_lifted_from_subquery_with_same_o await base.Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Select_null_propagation_negative8(bool async) @@ -4634,14 +5302,16 @@ public override async Task Select_null_propagation_negative8(bool async) await base.Select_null_propagation_negative8(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [s].[Id] IS NOT NULL THEN [c].[Name] ELSE NULL END FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] -LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[AssignedCityName] = [c].[Name]"); +LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[AssignedCityName] = [c].[Name] +"""); } public override async Task Skip_with_orderby_followed_by_orderBy_is_pushed_down(bool async) @@ -4649,7 +5319,8 @@ public override async Task Skip_with_orderby_followed_by_orderBy_is_pushed_down( await base.Skip_with_orderby_followed_by_orderBy_is_pushed_down(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[FullName] FROM ( @@ -4659,7 +5330,8 @@ SELECT [t].[FullName] ORDER BY [g].[FullName] OFFSET @__p_0 ROWS ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task Where_nullable_enum_with_null_constant(bool async) @@ -4667,9 +5339,11 @@ public override async Task Where_nullable_enum_with_null_constant(bool async) await base.Where_nullable_enum_with_null_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task ThenInclude_collection_on_derived_after_derived_reference(bool async) @@ -4677,7 +5351,8 @@ public override async Task ThenInclude_collection_on_derived_after_derived_refer await base.ThenInclude_collection_on_derived_after_derived_reference(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] @@ -4686,7 +5361,8 @@ LEFT JOIN ( ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[DefeatedByNickname] = [g].[Nickname] AND [t].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON ([g].[Nickname] = [g0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings( @@ -4695,7 +5371,8 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId], [t0].[Nickname], [t0].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g1] ON [t].[GearNickName] = [g1].[Nickname] AND [t].[GearSquadId] = [g1].[SquadId] @@ -4708,7 +5385,8 @@ LEFT JOIN ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[IsAutomatic], [t0].[Nickname] DESC, [t0].[Id]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note], [g].[Nickname], [g].[SquadId], [t].[Id], [g1].[Nickname], [g1].[SquadId], [t0].[IsAutomatic], [t0].[Nickname] DESC, [t0].[Id] +"""); } public override async Task SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(bool async) @@ -4716,9 +5394,11 @@ public override async Task SelectMany_without_result_selector_and_non_equality_c await base.SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL)"); +LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) +"""); } public override async Task Order_by_entity_qsre_with_other_orderbys(bool async) @@ -4726,11 +5406,13 @@ public override async Task Order_by_entity_qsre_with_other_orderbys(bool async) await base.Order_by_entity_qsre_with_other_orderbys(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w].[IsAutomatic], [g].[Nickname] DESC, [g].[SquadId] DESC, [w0].[Id], [w].[Name]"); +ORDER BY [w].[IsAutomatic], [g].[Nickname] DESC, [g].[SquadId] DESC, [w0].[Id], [w].[Name] +"""); } public override async Task Select_subquery_projecting_multiple_constants_inside_anonymous(bool async) @@ -4738,7 +5420,8 @@ public override async Task Select_subquery_projecting_multiple_constants_inside_ await base.Select_subquery_projecting_multiple_constants_inside_anonymous(async); AssertSql( - @"SELECT [s].[Name], [t0].[True1], [t0].[False1], [t0].[c] +""" +SELECT [s].[Name], [t0].[True1], [t0].[False1], [t0].[c] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [t].[True1], [t].[False1], [t].[c], [t].[SquadId] @@ -4748,7 +5431,8 @@ SELECT CAST(1 AS bit) AS [True1], CAST(0 AS bit) AS [False1], 1 AS [c], [g].[Squ WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(bool async) @@ -4756,7 +5440,8 @@ public override async Task FirstOrDefault_navigation_access_entity_equality_in_w await base.FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [f].[CapitalName] = [c].[Name] WHERE [c].[Name] = ( @@ -4767,7 +5452,8 @@ SELECT TOP(1) [c0].[Name] SELECT TOP(1) [c0].[Name] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c0] ON [g].[CityOfBirthName] = [c0].[Name] - ORDER BY [g].[Nickname]) IS NULL))"); + ORDER BY [g].[Nickname]) IS NULL)) +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(bool async) @@ -4775,10 +5461,12 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_Def await base.SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) -ORDER BY [g].[Nickname], [w].[Id]"); +ORDER BY [g].[Nickname], [w].[Id] +"""); } public override async Task Correlated_collections_basic_projection(bool async) @@ -4786,7 +5474,8 @@ public override async Task Correlated_collections_basic_projection(bool async) await base.Correlated_collections_basic_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -4794,7 +5483,8 @@ LEFT JOIN ( WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Where_bitwise_and_nullable_enum_with_null_constant(bool async) @@ -4802,9 +5492,11 @@ public override async Task Where_bitwise_and_nullable_enum_with_null_constant(bo await base.Where_bitwise_and_nullable_enum_with_null_constant(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE ([w].[AmmunitionType] & NULL) > 0"); +WHERE ([w].[AmmunitionType] & NULL) > 0 +"""); } public override async Task Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(bool async) @@ -4812,13 +5504,15 @@ public override async Task Join_with_order_by_on_inner_sequence_navigation_trans await base.Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(async); AssertSql( - @"SELECT [g].[FullName], [t0].[Note] +""" +SELECT [g].[FullName], [t0].[Note] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN ( SELECT [t].[Note], [g0].[FullName] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [t].[GearNickName] = [g0].[Nickname] AND [t].[GearSquadId] = [g0].[SquadId] -) AS [t0] ON [g].[FullName] = [t0].[FullName]"); +) AS [t0] ON [g].[FullName] = [t0].[FullName] +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool async) @@ -4826,9 +5520,11 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] -WHERE COALESCE([c].[Location], '') + 'Added' LIKE '%Add%'"); +WHERE COALESCE([c].[Location], '') + 'Added' LIKE '%Add%' +"""); } public override async Task Enum_array_contains(bool async) @@ -4836,10 +5532,12 @@ public override async Task Enum_array_contains(bool async) await base.Enum_array_contains(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -WHERE ([w0].[Id] IS NOT NULL) AND ([w0].[AmmunitionType] = 1 OR ([w0].[AmmunitionType] IS NULL))"); +WHERE ([w0].[Id] IS NOT NULL) AND ([w0].[AmmunitionType] = 1 OR ([w0].[AmmunitionType] IS NULL)) +"""); } public override async Task Sum_with_optional_navigation_is_translated_to_sql(bool async) @@ -4847,10 +5545,12 @@ public override async Task Sum_with_optional_navigation_is_translated_to_sql(boo await base.Sum_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT COALESCE(SUM([g].[SquadId]), 0) +""" +SELECT COALESCE(SUM([g].[SquadId]), 0) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL) +"""); } public override async Task Where_TimeSpan_Milliseconds(bool async) @@ -4858,9 +5558,11 @@ public override async Task Where_TimeSpan_Milliseconds(bool async) await base.Where_TimeSpan_Milliseconds(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(millisecond, [m].[Duration]) = 1"); +WHERE DATEPART(millisecond, [m].[Duration]) = 1 +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(bool async) @@ -4868,7 +5570,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -4876,7 +5579,8 @@ SELECT TOP(1) [t].[IsAutomatic] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ) AS [t]) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Select_required_navigation_on_derived_type(bool async) @@ -4884,9 +5588,11 @@ public override async Task Select_required_navigation_on_derived_type(bool async await base.Select_required_navigation_on_derived_type(async); AssertSql( - @"SELECT [l0].[Name] +""" +SELECT [l0].[Name] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -LEFT JOIN [LocustHighCommands] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[HighCommandId] = [l0].[Id]"); +LEFT JOIN [LocustHighCommands] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[HighCommandId] = [l0].[Id] +"""); } public override async Task Select_subquery_boolean_with_pushdown(bool async) @@ -4894,12 +5600,14 @@ public override async Task Select_subquery_boolean_with_pushdown(bool async) await base.Select_subquery_boolean_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Multiple_derived_included_on_one_method(bool async) @@ -4907,7 +5615,8 @@ public override async Task Multiple_derived_included_on_one_method(bool async) await base.Multiple_derived_included_on_one_method(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] @@ -4916,7 +5625,8 @@ LEFT JOIN ( ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[DefeatedByNickname] = [g].[Nickname] AND [t].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON ([g].[Nickname] = [g0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Select_null_propagation_works_for_multiple_navigations_with_composite_keys(bool async) @@ -4924,7 +5634,8 @@ public override async Task Select_null_propagation_works_for_multiple_navigation await base.Select_null_propagation_works_for_multiple_navigations_with_composite_keys(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [c].[Name] IS NOT NULL THEN [c].[Name] ELSE NULL END @@ -4932,7 +5643,8 @@ ELSE NULL LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t0] ON ([g].[Nickname] = [t0].[GearNickName] OR (([g].[Nickname] IS NULL) AND ([t0].[GearNickName] IS NULL))) AND ([g].[SquadId] = [t0].[GearSquadId] OR (([g].[SquadId] IS NULL) AND ([t0].[GearSquadId] IS NULL))) LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [t0].[GearNickName] = [g0].[Nickname] AND [t0].[GearSquadId] = [g0].[SquadId] -LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g0].[AssignedCityName] = [c].[Name]"); +LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g0].[AssignedCityName] = [c].[Name] +"""); } public override async Task Byte_array_filter_by_SequenceEqual(bool async) @@ -4940,11 +5652,13 @@ public override async Task Byte_array_filter_by_SequenceEqual(bool async) await base.Byte_array_filter_by_SequenceEqual(async); AssertSql( - @"@__byteArrayParam_0='0x0405060708' (Size = 5) +""" +@__byteArrayParam_0='0x0405060708' (Size = 5) SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE [s].[Banner5] = @__byteArrayParam_0"); +WHERE [s].[Banner5] = @__byteArrayParam_0 +"""); } public override async Task Include_on_derived_entity_with_cast(bool async) @@ -4952,10 +5666,12 @@ public override async Task Include_on_derived_entity_with_cast(bool async) await base.Include_on_derived_entity_with_cast(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [f].[CapitalName] = [c].[Name] -ORDER BY [f].[Id]"); +ORDER BY [f].[Id] +"""); } public override async Task Include_collection_OrderBy_aggregate(bool async) @@ -4963,14 +5679,16 @@ public override async Task Include_collection_OrderBy_aggregate(bool async) await base.Include_collection_OrderBy_aggregate(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' ORDER BY ( SELECT COUNT(*) FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); + WHERE [g].[FullName] = [w].[OwnerFullName]), [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Projecting_property_converted_to_nullable_into_member_access(bool async) @@ -4978,11 +5696,13 @@ public override async Task Projecting_property_converted_to_nullable_into_member await base.Projecting_property_converted_to_nullable_into_member_access(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE DATEPART(month, [t].[IssueDate]) <> 5 OR ([t].[IssueDate] IS NULL) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Correlated_collection_with_top_level_Last_with_order_by_on_inner(bool async) @@ -4990,14 +5710,16 @@ public override async Task Correlated_collection_with_top_level_Last_with_order_ await base.Correlated_collection_with_top_level_Last_with_order_by_on_inner(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ORDER BY [g].[FullName] DESC ) AS [t] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[FullName] DESC, [t].[Nickname], [t].[SquadId], [w].[Name]"); +ORDER BY [t].[FullName] DESC, [t].[Nickname], [t].[SquadId], [w].[Name] +"""); } public override async Task Non_unicode_parameter_is_used_for_non_unicode_column(bool async) @@ -5005,11 +5727,13 @@ public override async Task Non_unicode_parameter_is_used_for_non_unicode_column( await base.Non_unicode_parameter_is_used_for_non_unicode_column(async); AssertSql( - @"@__value_0='Unknown' (Size = 100) (DbType = AnsiString) +""" +@__value_0='Unknown' (Size = 100) (DbType = AnsiString) SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] -WHERE [c].[Location] = @__value_0"); +WHERE [c].[Location] = @__value_0 +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down3(bool async) @@ -5017,7 +5741,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down3(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t].[FullName] FROM ( @@ -5025,7 +5750,8 @@ SELECT TOP(@__p_0) [g].[FullName], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] -ORDER BY [t].[FullName], [t].[Rank]"); +ORDER BY [t].[FullName], [t].[Rank] +"""); } public override async Task Distinct_on_subquery_doesnt_get_lifted(bool async) @@ -5033,11 +5759,13 @@ public override async Task Distinct_on_subquery_doesnt_get_lifted(bool async) await base.Distinct_on_subquery_doesnt_get_lifted(async); AssertSql( - @"SELECT [t].[HasSoulPatch] +""" +SELECT [t].[HasSoulPatch] FROM ( SELECT DISTINCT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -) AS [t]"); +) AS [t] +"""); } public override async Task GetValueOrDefault_in_filter(bool async) @@ -5045,9 +5773,11 @@ public override async Task GetValueOrDefault_in_filter(bool async) await base.GetValueOrDefault_in_filter(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE COALESCE([w].[SynergyWithId], 0) = 0"); +WHERE COALESCE([w].[SynergyWithId], 0) = 0 +"""); } public override async Task Count_with_optional_navigation_is_translated_to_sql(bool async) @@ -5055,10 +5785,12 @@ public override async Task Count_with_optional_navigation_is_translated_to_sql(b await base.Count_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] -WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'Foo' OR ([t].[Note] IS NULL) +"""); } public override async Task Project_entity_and_collection_element(bool async) @@ -5066,7 +5798,8 @@ public override async Task Project_entity_and_collection_element(bool async) await base.Project_entity_and_collection_element(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] @@ -5078,7 +5811,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [s].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [s].[Id] +"""); } public override async Task Where_required_navigation_on_derived_type(bool async) @@ -5086,10 +5820,12 @@ public override async Task Where_required_navigation_on_derived_type(bool async) await base.Where_required_navigation_on_derived_type(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [LocustHighCommands] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[HighCommandId] = [l0].[Id] -WHERE [l0].[IsOperational] = CAST(1 AS bit)"); +WHERE [l0].[IsOperational] = CAST(1 AS bit) +"""); } public override async Task Composite_key_entity_not_equal_null(bool async) @@ -5097,10 +5833,12 @@ public override async Task Composite_key_entity_not_equal_null(bool async) await base.Composite_key_entity_not_equal_null(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] -WHERE [l].[Discriminator] = N'LocustCommander' AND ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL)"); +WHERE [l].[Discriminator] = N'LocustCommander' AND ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL) +"""); } public override async Task Collection_with_inheritance_and_join_include_joined(bool async) @@ -5108,14 +5846,16 @@ public override async Task Collection_with_inheritance_and_join_include_joined(b await base.Collection_with_inheritance_and_join_include_joined(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t1].[Id], [t1].[GearNickName], [t1].[GearSquadId], [t1].[IssueDate], [t1].[Note], [t1].[PeriodEnd], [t1].[PeriodStart] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t1].[Id], [t1].[GearNickName], [t1].[GearSquadId], [t1].[IssueDate], [t1].[Note], [t1].[PeriodEnd], [t1].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[Discriminator] = N'Officer' ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] -LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t1] ON [t0].[Nickname] = [t1].[GearNickName] AND [t0].[SquadId] = [t1].[GearSquadId]"); +LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t1] ON [t0].[Nickname] = [t1].[GearNickName] AND [t0].[SquadId] = [t1].[GearSquadId] +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(bool async) @@ -5123,10 +5863,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] AND [g].[SquadId] < [w].[Id] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean1(bool async) @@ -5134,7 +5876,8 @@ public override async Task Where_subquery_distinct_singleordefault_boolean1(bool await base.Where_subquery_distinct_singleordefault_boolean1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND COALESCE(( SELECT TOP(1) [t].[IsAutomatic] @@ -5143,7 +5886,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]), CAST(0 AS bit)) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Select_null_propagation_optimization9(bool async) @@ -5151,8 +5895,10 @@ public override async Task Select_null_propagation_optimization9(bool async) await base.Select_null_propagation_optimization9(async); AssertSql( - @"SELECT CAST(LEN([g].[FullName]) AS int) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT CAST(LEN([g].[FullName]) AS int) +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Select_StartsWith_with_null_parameter_as_argument(bool async) @@ -5160,8 +5906,10 @@ public override async Task Select_StartsWith_with_null_parameter_as_argument(boo await base.Select_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT CAST(0 AS bit) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT CAST(0 AS bit) +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(bool async) @@ -5169,11 +5917,13 @@ public override async Task Enum_flags_closure_typed_as_different_type_generates_ await base.Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='5' +""" +@__prm_0='5' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE (@__prm_0 & CAST([g].[Rank] AS int)) = CAST([g].[Rank] AS int)"); +WHERE (@__prm_0 & CAST([g].[Rank] AS int)) = CAST([g].[Rank] AS int) +"""); } public override async Task Include_navigation_on_derived_type(bool async) @@ -5181,11 +5931,13 @@ public override async Task Include_navigation_on_derived_type(bool async) await base.Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Comparing_two_collection_navigations_inheritance(bool async) @@ -5193,7 +5945,8 @@ public override async Task Comparing_two_collection_navigations_inheritance(bool await base.Comparing_two_collection_navigations_inheritance(async); AssertSql( - @"SELECT [f].[Name], [t].[Nickname] +""" +SELECT [f].[Name], [t].[Nickname] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] CROSS JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] @@ -5206,7 +5959,8 @@ LEFT JOIN ( WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t0] ON [f].[CommanderName] = [t0].[Name] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [t0].[DefeatedByNickname] = [g0].[Nickname] AND [t0].[DefeatedBySquadId] = [g0].[SquadId] -WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [g0].[Nickname] = [t].[Nickname] AND [g0].[SquadId] = [t].[SquadId]"); +WHERE [t].[HasSoulPatch] = CAST(1 AS bit) AND [g0].[Nickname] = [t].[Nickname] AND [g0].[SquadId] = [t].[SquadId] +"""); } public override async Task Include_collection_on_derived_type_using_lambda(bool async) @@ -5214,10 +5968,12 @@ public override async Task Include_collection_on_derived_type_using_lambda(bool await base.Include_collection_on_derived_type_using_lambda(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Order_by_entity_qsre(bool async) @@ -5225,10 +5981,12 @@ public override async Task Order_by_entity_qsre(bool async) await base.Order_by_entity_qsre(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[AssignedCityName] = [c].[Name] -ORDER BY [c].[Name], [g].[Nickname] DESC"); +ORDER BY [c].[Name], [g].[Nickname] DESC +"""); } public override async Task OfTypeNav3(bool async) @@ -5236,12 +5994,14 @@ public override async Task OfTypeNav3(bool async) await base.OfTypeNav3(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t0] ON [g].[Nickname] = [t0].[GearNickName] AND [g].[SquadId] = [t0].[GearSquadId] -WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL))"); +WHERE ([t].[Note] <> N'Foo' OR ([t].[Note] IS NULL)) AND [g].[Discriminator] = N'Officer' AND ([t0].[Note] <> N'Bar' OR ([t0].[Note] IS NULL)) +"""); } public override async Task Streaming_correlated_collection_issue_11403(bool async) @@ -5249,7 +6009,8 @@ public override async Task Streaming_correlated_collection_issue_11403(bool asyn await base.Streaming_correlated_collection_issue_11403(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] @@ -5260,7 +6021,8 @@ LEFT JOIN ( FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [w].[IsAutomatic] = CAST(0 AS bit) ) AS [t0] ON [t].[FullName] = [t0].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id]"); +ORDER BY [t].[Nickname], [t].[SquadId], [t0].[Id] +"""); } public override async Task Correlated_collections_nested_mixed_streaming_with_buffer1(bool async) @@ -5268,7 +6030,8 @@ public override async Task Correlated_collections_nested_mixed_streaming_with_bu await base.Correlated_collections_nested_mixed_streaming_with_buffer1(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0], [t].[PeriodEnd], [t].[PeriodStart] @@ -5281,7 +6044,8 @@ WHERE [s1].[SquadId] < 2 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 3 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Time_of_day_datetimeoffset(bool async) @@ -5289,8 +6053,10 @@ public override async Task Time_of_day_datetimeoffset(bool async) await base.Time_of_day_datetimeoffset(async); AssertSql( - @"SELECT CONVERT(time, [m].[Timeline]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT CONVERT(time, [m].[Timeline]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Join_predicate_value(bool async) @@ -5298,9 +6064,11 @@ public override async Task Join_predicate_value(bool async) await base.Join_predicate_value(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit)"); +INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Where_conditional_equality_3(bool async) @@ -5308,9 +6076,11 @@ public override async Task Where_conditional_equality_3(bool async) await base.Where_conditional_equality_3(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_datetimeoffset_date_component(bool async) @@ -5318,11 +6088,13 @@ public override async Task Where_datetimeoffset_date_component(bool async) await base.Where_datetimeoffset_date_component(async); AssertSql( - @"@__Date_0='0001-01-01T00:00:00.0000000' +""" +@__Date_0='0001-01-01T00:00:00.0000000' SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE CONVERT(date, [m].[Timeline]) > @__Date_0"); +WHERE CONVERT(date, [m].[Timeline]) > @__Date_0 +"""); } public override async Task OrderBy_Contains_empty_list(bool async) @@ -5330,8 +6102,10 @@ public override async Task OrderBy_Contains_empty_list(bool async) await base.OrderBy_Contains_empty_list(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(bool async) @@ -5339,7 +6113,8 @@ public override async Task FirstOrDefault_on_empty_collection_of_DateTime_in_sub await base.FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(async); AssertSql( - @"SELECT [g].[Nickname], COALESCE(( +""" +SELECT [g].[Nickname], COALESCE(( SELECT TOP(1) [t1].[IssueDate] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t1] WHERE [t1].[GearNickName] = [g].[FullName] @@ -5350,7 +6125,8 @@ SELECT TOP(1) [t1].[IssueDate] SELECT TOP(1) [t0].[IssueDate] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t0] WHERE [t0].[GearNickName] = [g].[FullName] - ORDER BY [t0].[Id]), '0001-01-01T00:00:00.0000000')"); + ORDER BY [t0].[Id]), '0001-01-01T00:00:00.0000000') +"""); } public override async Task Coalesce_operator_in_predicate(bool async) @@ -5358,9 +6134,11 @@ public override async Task Coalesce_operator_in_predicate(bool async) await base.Coalesce_operator_in_predicate(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit)"); +WHERE COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Filter_with_new_Guid(bool async) @@ -5368,9 +6146,11 @@ public override async Task Filter_with_new_Guid(bool async) await base.Filter_with_new_Guid(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] -WHERE [t].[Id] = 'df36f493-463f-4123-83f9-6b135deeb7ba'"); +WHERE [t].[Id] = 'df36f493-463f-4123-83f9-6b135deeb7ba' +"""); } public override async Task Correlated_collections_nested_mixed_streaming_with_buffer2(bool async) @@ -5378,7 +6158,8 @@ public override async Task Correlated_collections_nested_mixed_streaming_with_bu await base.Correlated_collections_nested_mixed_streaming_with_buffer2(async); AssertSql( - @"SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0], [t0].[MissionId0], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [s0].[SquadId], [s0].[MissionId], [m].[Id], [t].[SquadId] AS [SquadId0], [t].[MissionId] AS [MissionId0], [t].[PeriodEnd], [t].[PeriodStart] @@ -5391,7 +6172,8 @@ WHERE [s1].[SquadId] < 7 ) AS [t] ON [m].[Id] = [t].[MissionId] WHERE [s0].[MissionId] < 42 ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0]"); +ORDER BY [s].[Id], [t0].[SquadId], [t0].[MissionId], [t0].[Id], [t0].[SquadId0] +"""); } public override async Task Optional_navigation_type_compensation_works_with_array_initializers(bool async) @@ -5399,10 +6181,12 @@ public override async Task Optional_navigation_type_compensation_works_with_arra await base.Optional_navigation_type_compensation_works_with_array_initializers(async); AssertSql( - @"SELECT [g].[SquadId] +""" +SELECT [g].[SquadId] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) @@ -5410,7 +6194,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_with await base.Select_subquery_distinct_singleordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -5418,7 +6203,8 @@ SELECT TOP(1) [t].[IsAutomatic] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task DateTimeOffset_Contains_Less_than_Greater_than(bool async) @@ -5426,12 +6212,14 @@ public override async Task DateTimeOffset_Contains_Less_than_Greater_than(bool a await base.DateTimeOffset_Contains_Less_than_Greater_than(async); AssertSql( - @"@__start_0='1902-01-01T10:00:00.1234567+01:30' +""" +@__start_0='1902-01-01T10:00:00.1234567+01:30' @__end_1='1902-01-03T10:00:00.1234567+01:30' SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE @__start_0 <= CAST(CONVERT(date, [m].[Timeline]) AS datetimeoffset) AND [m].[Timeline] < @__end_1 AND [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30'"); +WHERE @__start_0 <= CAST(CONVERT(date, [m].[Timeline]) AS datetimeoffset) AND [m].[Timeline] < @__end_1 AND [m].[Timeline] = '1902-01-02T10:00:00.1234567+01:30' +"""); } public override Task DateTimeOffsetNow_minus_timespan(bool async) @@ -5442,8 +6230,10 @@ public override async Task Conditional_with_conditions_evaluating_to_false_gets_ await base.Conditional_with_conditions_evaluating_to_false_gets_optimized(async); AssertSql( - @"SELECT [g].[FullName] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT [g].[FullName] +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Cast_ordered_subquery_to_base_type_using_typed_ToArray(bool async) @@ -5451,11 +6241,13 @@ public override async Task Cast_ordered_subquery_to_base_type_using_typed_ToArra await base.Cast_ordered_subquery_to_base_type_using_typed_ToArray(async); AssertSql( - @"SELECT [c].[Name], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Nickname], [g].[Rank], [g].[SquadId] +""" +SELECT [c].[Name], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Nickname], [g].[Rank], [g].[SquadId] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [c].[Name] = [g].[AssignedCityName] WHERE [c].[Name] = N'Ephyra' -ORDER BY [c].[Name], [g].[Nickname] DESC"); +ORDER BY [c].[Name], [g].[Nickname] DESC +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate2(bool async) @@ -5463,10 +6255,12 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate2(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(bool async) @@ -5474,14 +6268,16 @@ public override async Task Null_semantics_on_nullable_bool_from_left_join_subque await base.Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(async); AssertSql( - @"SELECT [t].[Id], [t].[CapitalName], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated] +""" +SELECT [t].[Id], [t].[CapitalName], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ServerAddress], [t].[CommanderName], [t].[Eradicated] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN ( SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] WHERE [f].[Name] = N'Swarm' ) AS [t] ON [l].[Name] = [t].[CommanderName] -WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL)"); +WHERE [t].[Eradicated] <> CAST(1 AS bit) OR ([t].[Eradicated] IS NULL) +"""); } public override async Task Bool_projection_from_subquery_treated_appropriately_in_where(bool async) @@ -5489,12 +6285,14 @@ public override async Task Bool_projection_from_subquery_treated_appropriately_i await base.Bool_projection_from_subquery_treated_appropriately_in_where(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] WHERE ( SELECT TOP(1) [g].[HasSoulPatch] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] - ORDER BY [g].[Nickname], [g].[SquadId]) = CAST(1 AS bit)"); + ORDER BY [g].[Nickname], [g].[SquadId]) = CAST(1 AS bit) +"""); } public override async Task Select_correlated_filtered_collection_with_composite_key(bool async) @@ -5502,7 +6300,8 @@ public override async Task Select_correlated_filtered_collection_with_composite_ await base.Select_correlated_filtered_collection_with_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] @@ -5510,7 +6309,8 @@ LEFT JOIN ( WHERE [g0].[Nickname] <> N'Dom' ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Subquery_created_by_include_gets_lifted_nested(bool async) @@ -5518,14 +6318,16 @@ public override async Task Subquery_created_by_include_gets_lifted_nested(bool a await base.Subquery_created_by_include_gets_lifted_nested(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] WHERE EXISTS ( SELECT 1 FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName]) AND [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(bool async) @@ -5533,7 +6335,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para await base.Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(async); AssertSql( - @"@__entity_equality_prm_Inner_Squad_0_Id='1' (Nullable = true) +""" +@__entity_equality_prm_Inner_Squad_0_Id='1' (Nullable = true) SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] FROM ( @@ -5544,7 +6347,8 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para ) AS [t] INNER JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s0] ON [t].[SquadId] = [s0].[Id] WHERE [s0].[Id] = @__entity_equality_prm_Inner_Squad_0_Id -ORDER BY [t].[FullName]"); +ORDER BY [t].[FullName] +"""); } public override async Task Concat_with_count(bool async) @@ -5552,14 +6356,16 @@ public override async Task Concat_with_count(bool async) await base.Concat_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] UNION ALL SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] -) AS [t]"); +) AS [t] +"""); } public override async Task Projecting_property_converted_to_nullable_with_function_call2(bool async) @@ -5567,7 +6373,8 @@ public override async Task Projecting_property_converted_to_nullable_with_functi await base.Projecting_property_converted_to_nullable_with_function_call2(async); AssertSql( - @"SELECT [t].[Note], SUBSTRING([t].[Note], 0 + 1, CASE +""" +SELECT [t].[Note], SUBSTRING([t].[Note], 0 + 1, CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[SquadId] ELSE NULL END) AS [Function] @@ -5576,7 +6383,8 @@ ELSE NULL WHERE CASE WHEN [t].[GearNickName] IS NOT NULL THEN [g].[Nickname] ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Double_order_by_binary_expression(bool async) @@ -5584,9 +6392,11 @@ public override async Task Double_order_by_binary_expression(bool async) await base.Double_order_by_binary_expression(async); AssertSql( - @"SELECT [w].[Id] + 2 AS [Binary] +""" +SELECT [w].[Id] + 2 AS [Binary] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -ORDER BY [w].[Id] + 2"); +ORDER BY [w].[Id] + 2 +"""); } public override async Task Include_with_join_and_inheritance3(bool async) @@ -5594,7 +6404,8 @@ public override async Task Include_with_join_and_inheritance3(bool async) await base.Include_with_join_and_inheritance3(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] @@ -5602,7 +6413,8 @@ INNER JOIN ( WHERE [g].[Discriminator] = N'Officer' ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [t0].[Nickname] = [g0].[LeaderNickname] AND [t0].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[Nickname] +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(bool async) @@ -5610,10 +6422,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] AND [g].[SquadId] <= [w].[Id] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean2(bool async) @@ -5621,13 +6435,15 @@ public override async Task Where_subquery_distinct_singleordefault_boolean2(bool await base.Where_subquery_distinct_singleordefault_boolean2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND COALESCE(( SELECT DISTINCT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%')), CAST(0 AS bit)) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task TimeSpan_Seconds(bool async) @@ -5635,8 +6451,10 @@ public override async Task TimeSpan_Seconds(bool async) await base.TimeSpan_Seconds(async); AssertSql( - @"SELECT DATEPART(second, [m].[Duration]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEPART(second, [m].[Duration]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Navigation_inside_interpolated_string_expanded(bool async) @@ -5644,12 +6462,14 @@ public override async Task Navigation_inside_interpolated_string_expanded(bool a await base.Navigation_inside_interpolated_string_expanded(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [w0].[OwnerFullName] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id]"); +LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] +"""); } public override async Task Include_reference_on_derived_type_using_string_nested1(bool async) @@ -5657,10 +6477,12 @@ public override async Task Include_reference_on_derived_type_using_string_nested await base.Include_reference_on_derived_type_using_string_nested1(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] -LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] +"""); } public override async Task Navigation_based_on_complex_expression2(bool async) @@ -5668,14 +6490,16 @@ public override async Task Navigation_based_on_complex_expression2(bool async) await base.Navigation_based_on_complex_expression2(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -WHERE [t].[Name] IS NOT NULL"); +WHERE [t].[Name] IS NOT NULL +"""); } public override async Task Where_datetimeoffset_year_component(bool async) @@ -5683,9 +6507,11 @@ public override async Task Where_datetimeoffset_year_component(bool async) await base.Where_datetimeoffset_year_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(year, [m].[Timeline]) = 2"); +WHERE DATEPART(year, [m].[Timeline]) = 2 +"""); } public override async Task Select_ternary_operation_with_inverted_boolean(bool async) @@ -5693,11 +6519,13 @@ public override async Task Select_ternary_operation_with_inverted_boolean(bool a await base.Select_ternary_operation_with_inverted_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN 1 ELSE 0 END AS [Num] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Where_subquery_distinct_orderby_firstordefault_boolean(bool async) @@ -5705,7 +6533,8 @@ public override async Task Where_subquery_distinct_orderby_firstordefault_boolea await base.Where_subquery_distinct_orderby_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND COALESCE(( SELECT TOP(1) [t].[IsAutomatic] @@ -5714,7 +6543,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] - ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit)"); + ORDER BY [t].[Id]), CAST(0 AS bit)) = CAST(1 AS bit) +"""); } public override async Task Composite_key_entity_equal_null(bool async) @@ -5722,10 +6552,12 @@ public override async Task Composite_key_entity_equal_null(bool async) await base.Composite_key_entity_equal_null(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] -WHERE [l].[Discriminator] = N'LocustCommander' AND (([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL))"); +WHERE [l].[Discriminator] = N'LocustCommander' AND (([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL)) +"""); } public override async Task Optional_navigation_type_compensation_works_with_contains(bool async) @@ -5733,13 +6565,15 @@ public override async Task Optional_navigation_type_compensation_works_with_cont await base.Optional_navigation_type_compensation_works_with_contains(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE ([t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)) AND EXISTS ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] - WHERE [g0].[SquadId] = [g].[SquadId])"); + WHERE [g0].[SquadId] = [g].[SquadId]) +"""); } public override async Task Optional_navigation_type_compensation_works_with_DTOs(bool async) @@ -5747,10 +6581,12 @@ public override async Task Optional_navigation_type_compensation_works_with_DTOs await base.Optional_navigation_type_compensation_works_with_DTOs(async); AssertSql( - @"SELECT [g].[SquadId] AS [Id] +""" +SELECT [g].[SquadId] AS [Id] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(bool async) @@ -5758,9 +6594,11 @@ public override async Task Non_unicode_string_literals_in_contains_is_used_for_n await base.Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] -WHERE [c].[Location] IN ('Unknown', 'Jacinto''s location', 'Ephyra''s location')"); +WHERE [c].[Location] IN ('Unknown', 'Jacinto''s location', 'Ephyra''s location') +"""); } public override async Task Include_on_derived_type_with_order_by_and_paging(bool async) @@ -5768,7 +6606,8 @@ public override async Task Include_on_derived_type_with_order_by_and_paging(bool await base.Include_on_derived_type_with_order_by_and_paging(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' SELECT [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator0], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Rank], [t0].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM ( @@ -5779,7 +6618,8 @@ SELECT TOP(@__p_0) [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[Pe ORDER BY [t].[Note] ) AS [t0] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t0].[Note], [t0].[Name], [t0].[Nickname], [t0].[SquadId], [t0].[Id]"); +ORDER BY [t0].[Note], [t0].[Name], [t0].[Nickname], [t0].[SquadId], [t0].[Id] +"""); } public override async Task Where_datetimeoffset_day_component(bool async) @@ -5787,9 +6627,11 @@ public override async Task Where_datetimeoffset_day_component(bool async) await base.Where_datetimeoffset_day_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(day, [m].[Timeline]) = 2"); +WHERE DATEPART(day, [m].[Timeline]) = 2 +"""); } public override async Task Projecting_required_string_column_compared_to_null_parameter(bool async) @@ -5797,8 +6639,10 @@ public override async Task Projecting_required_string_column_compared_to_null_pa await base.Projecting_required_string_column_compared_to_null_parameter(async); AssertSql( - @"SELECT CAST(0 AS bit) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT CAST(0 AS bit) +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(bool async) @@ -5806,14 +6650,16 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] AND [g].[SquadId] = [t].[GearSquadId] WHERE [g].[Discriminator] = N'Officer' AND EXISTS ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId]) -ORDER BY [g].[HasSoulPatch] DESC, [t].[Note]"); +ORDER BY [g].[HasSoulPatch] DESC, [t].[Note] +"""); } public override async Task Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(bool async) @@ -5821,10 +6667,12 @@ public override async Task Collection_navigation_access_on_derived_entity_using_ await base.Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(async); AssertSql( - @"SELECT [f].[Name], [l].[Name] AS [LeaderName] +""" +SELECT [f].[Name], [l].[Name] AS [LeaderName] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] INNER JOIN [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] ON [f].[Id] = [l].[LocustHordeId] -ORDER BY [l].[Name]"); +ORDER BY [l].[Name] +"""); } public override async Task Filter_with_complex_predicate_containing_subquery(bool async) @@ -5832,12 +6680,14 @@ public override async Task Filter_with_complex_predicate_containing_subquery(boo await base.Filter_with_complex_predicate_containing_subquery(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[FullName] <> N'Dom' AND EXISTS ( SELECT 1 FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit))"); + WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = CAST(1 AS bit)) +"""); } public override async Task Navigation_based_on_complex_expression1(bool async) @@ -5845,14 +6695,16 @@ public override async Task Navigation_based_on_complex_expression1(bool async) await base.Navigation_based_on_complex_expression1(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -WHERE [t].[Name] IS NOT NULL"); +WHERE [t].[Name] IS NOT NULL +"""); } public override async Task Group_by_nullable_property_HasValue_and_project_the_grouping_key(bool async) @@ -5860,7 +6712,8 @@ public override async Task Group_by_nullable_property_HasValue_and_project_the_g await base.Group_by_nullable_property_HasValue_and_project_the_grouping_key(async); AssertSql( - @"SELECT [t].[Key] +""" +SELECT [t].[Key] FROM ( SELECT CASE WHEN [w].[SynergyWithId] IS NOT NULL THEN CAST(1 AS bit) @@ -5868,7 +6721,8 @@ ELSE CAST(0 AS bit) END AS [Key] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result3(bool async) @@ -5876,12 +6730,14 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result3(async); AssertSql( - @"SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g].[Nickname], [g].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g0].[FullName] = [w].[OwnerFullName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [g].[FullName] = [w0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [w].[Id] +"""); } public override async Task Where_datetimeoffset_hour_component(bool async) @@ -5889,9 +6745,11 @@ public override async Task Where_datetimeoffset_hour_component(bool async) await base.Where_datetimeoffset_hour_component(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(hour, [m].[Timeline]) = 10"); +WHERE DATEPART(hour, [m].[Timeline]) = 10 +"""); } public override async Task Property_access_on_derived_entity_using_cast(bool async) @@ -5899,9 +6757,11 @@ public override async Task Property_access_on_derived_entity_using_cast(bool asy await base.Property_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [f].[Eradicated] +""" +SELECT [f].[Name], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Correlated_collections_deeply_nested_left_join(bool async) @@ -5909,7 +6769,8 @@ public override async Task Correlated_collections_deeply_nested_left_join(bool a await base.Correlated_collections_deeply_nested_left_join(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] @@ -5923,7 +6784,8 @@ LEFT JOIN ( ) AS [t1] ON [g0].[FullName] = [t1].[OwnerFullName] WHERE [g0].[HasSoulPatch] = CAST(1 AS bit) ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [t].[Note], [g].[Nickname] DESC, [t].[Id], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [t].[Note], [g].[Nickname] DESC, [t].[Id], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Constant_enum_with_same_underlying_value_as_previously_parameterized_int(bool async) @@ -5931,11 +6793,13 @@ public override async Task Constant_enum_with_same_underlying_value_as_previousl await base.Constant_enum_with_same_underlying_value_as_previously_parameterized_int(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT TOP(@__p_0) [g].[Rank] & 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Bitwise_projects_values_in_select(bool async) @@ -5943,7 +6807,8 @@ public override async Task Bitwise_projects_values_in_select(bool async) await base.Bitwise_projects_values_in_select(async); AssertSql( - @"SELECT TOP(1) CASE +""" +SELECT TOP(1) CASE WHEN ([g].[Rank] & 2) = 2 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [BitwiseTrue], CASE @@ -5951,7 +6816,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [BitwiseFalse], [g].[Rank] & 2 AS [BitwiseValue] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & 2) = 2"); +WHERE ([g].[Rank] & 2) = 2 +"""); } public override async Task Comparison_with_value_converted_subclass(bool async) @@ -5959,9 +6825,11 @@ public override async Task Comparison_with_value_converted_subclass(bool async) await base.Comparison_with_value_converted_subclass(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] -WHERE [f].[ServerAddress] = CAST(N'127.0.0.1' AS nvarchar(45))"); +WHERE [f].[ServerAddress] = CAST(N'127.0.0.1' AS nvarchar(45)) +"""); } public override async Task Navigation_access_on_derived_materialized_entity_using_cast(bool async) @@ -5969,14 +6837,16 @@ public override async Task Navigation_access_on_derived_materialized_entity_usin await base.Navigation_access_on_derived_materialized_entity_using_cast(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[ThreatLevel] AS [Threat] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[ThreatLevel] AS [Threat] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[ThreatLevel] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Select_null_conditional_with_inheritance_negative(bool async) @@ -5984,11 +6854,13 @@ public override async Task Select_null_conditional_with_inheritance_negative(boo await base.Select_null_conditional_with_inheritance_negative(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [f].[CommanderName] IS NOT NULL THEN [f].[Eradicated] ELSE NULL END -FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f]"); +FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down1(bool async) @@ -5996,7 +6868,8 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down1(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' SELECT [t].[FullName] FROM ( @@ -6004,7 +6877,8 @@ SELECT TOP(@__p_0) [g].[FullName], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) ) AS [t] -ORDER BY [t].[Rank]"); +ORDER BY [t].[Rank] +"""); } public override async Task String_based_Include_navigation_on_derived_type(bool async) @@ -6012,11 +6886,13 @@ public override async Task String_based_Include_navigation_on_derived_type(bool await base.String_based_Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Select_ternary_operation_multiple_conditions(bool async) @@ -6024,11 +6900,13 @@ public override async Task Select_ternary_operation_multiple_conditions(bool asy await base.Select_ternary_operation_multiple_conditions(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[AmmunitionType] = 2 AND [w].[SynergyWithId] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Select_subquery_projecting_single_constant_of_non_mapped_type(bool async) @@ -6036,7 +6914,8 @@ public override async Task Select_subquery_projecting_single_constant_of_non_map await base.Select_subquery_projecting_single_constant_of_non_mapped_type(async); AssertSql( - @"SELECT [s].[Name], [t0].[c] +""" +SELECT [s].[Name], [t0].[c] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [t].[c], [t].[SquadId] @@ -6046,7 +6925,8 @@ LEFT JOIN ( WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Select_subquery_boolean(bool async) @@ -6054,12 +6934,14 @@ public override async Task Select_subquery_boolean(bool async) await base.Select_subquery_boolean(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] ORDER BY [w].[Id]), CAST(0 AS bit)) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Member_access_on_derived_entity_using_cast_and_let(bool async) @@ -6067,9 +6949,11 @@ public override async Task Member_access_on_derived_entity_using_cast_and_let(bo await base.Member_access_on_derived_entity_using_cast_and_let(async); AssertSql( - @"SELECT [f].[Name], [f].[Eradicated] +""" +SELECT [f].[Name], [f].[Eradicated] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task ThenInclude_collection_on_derived_after_base_reference(bool async) @@ -6077,11 +6961,13 @@ public override async Task ThenInclude_collection_on_derived_after_base_referenc await base.ThenInclude_collection_on_derived_after_base_reference(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_string(bool async) @@ -6089,9 +6975,11 @@ public override async Task Include_reference_on_derived_type_using_string(bool a await base.Include_reference_on_derived_type_using_string(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(bool async) @@ -6099,12 +6987,14 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] WHERE [c].[Location] = 'Unknown' AND ( SELECT COUNT(*) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] - WHERE [c].[Name] = [g].[CityOfBirthName] AND [g].[Nickname] = N'Paduk') = 1"); + WHERE [c].[Name] = [g].[CityOfBirthName] AND [g].[Nickname] = N'Paduk') = 1 +"""); } public override async Task Project_derivied_entity_with_convert_to_parent(bool async) @@ -6112,8 +7002,10 @@ public override async Task Project_derivied_entity_with_convert_to_parent(bool a await base.Project_derivied_entity_with_convert_to_parent(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] -FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f]"); +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated] +FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] +"""); } public override async Task Select_subquery_int_with_pushdown_and_coalesce2(bool async) @@ -6121,7 +7013,8 @@ public override async Task Select_subquery_int_with_pushdown_and_coalesce2(bool await base.Select_subquery_int_with_pushdown_and_coalesce2(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [w].[Id] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] @@ -6130,7 +7023,8 @@ SELECT TOP(1) [w0].[Id] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] WHERE [g].[FullName] = [w0].[OwnerFullName] ORDER BY [w0].[Id])) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(bool async) @@ -6138,9 +7032,11 @@ public override async Task Join_with_inner_being_a_subquery_projecting_anonymous await base.Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[Nickname]"); +INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[Nickname] +"""); } public override async Task ThenInclude_reference_on_derived_after_derived_collection(bool async) @@ -6148,14 +7044,16 @@ public override async Task ThenInclude_reference_on_derived_after_derived_collec await base.ThenInclude_reference_on_derived_after_derived_collection(async); AssertSql( - @"SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator0], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Rank] +""" +SELECT [f].[Id], [f].[CapitalName], [f].[Discriminator], [f].[Name], [f].[PeriodEnd], [f].[PeriodStart], [f].[ServerAddress], [f].[CommanderName], [f].[Eradicated], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator0], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Rank] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator] AS [Discriminator0], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd] AS [PeriodEnd0], [g].[PeriodStart] AS [PeriodStart0], [g].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] ) AS [t] ON [f].[Id] = [t].[LocustHordeId] -ORDER BY [f].[Id], [t].[Name], [t].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [t].[Nickname] +"""); } public override async Task Subquery_containing_join_gets_lifted_clashing_names(bool async) @@ -6163,12 +7061,14 @@ public override async Task Subquery_containing_join_gets_lifted_clashing_names(b await base.Subquery_containing_join_gets_lifted_clashing_names(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[Nickname] = [t].[GearNickName] INNER JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t0] ON [g].[Nickname] = [t0].[GearNickName] WHERE [t].[GearNickName] <> N'Cole Train' OR ([t].[GearNickName] IS NULL) -ORDER BY [g].[Nickname], [t0].[Id]"); +ORDER BY [g].[Nickname], [t0].[Id] +"""); } public override async Task Include_with_join_reference1(bool async) @@ -6176,10 +7076,12 @@ public override async Task Include_with_join_reference1(bool async) await base.Include_with_join_reference1(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] -INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name]"); +INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] +"""); } public override async Task GetValueOrDefault_in_filter_non_nullable_column(bool async) @@ -6187,9 +7089,11 @@ public override async Task GetValueOrDefault_in_filter_non_nullable_column(bool await base.GetValueOrDefault_in_filter_non_nullable_column(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE COALESCE([w].[Id], 0) = 0"); +WHERE COALESCE([w].[Id], 0) = 0 +"""); } public override async Task Checked_context_with_cast_does_not_fail(bool async) @@ -6197,9 +7101,11 @@ public override async Task Checked_context_with_cast_does_not_fail(bool async) await base.Checked_context_with_cast_does_not_fail(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -WHERE CAST([l].[ThreatLevel] AS tinyint) >= CAST(5 AS tinyint)"); +WHERE CAST([l].[ThreatLevel] AS tinyint) >= CAST(5 AS tinyint) +"""); } public override async Task ThenInclude_collection_on_derived_after_derived_collection(bool async) @@ -6207,14 +7113,16 @@ public override async Task ThenInclude_collection_on_derived_after_derived_colle await base.ThenInclude_collection_on_derived_after_derived_collection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank], [t].[Nickname0], [t].[SquadId0], [t].[AssignedCityName0], [t].[CityOfBirthName0], [t].[Discriminator0], [t].[FullName0], [t].[HasSoulPatch0], [t].[LeaderNickname0], [t].[LeaderSquadId0], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Rank0] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank], [t].[Nickname0], [t].[SquadId0], [t].[AssignedCityName0], [t].[CityOfBirthName0], [t].[Discriminator0], [t].[FullName0], [t].[HasSoulPatch0], [t].[LeaderNickname0], [t].[LeaderSquadId0], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Rank0] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g1].[Nickname] AS [Nickname0], [g1].[SquadId] AS [SquadId0], [g1].[AssignedCityName] AS [AssignedCityName0], [g1].[CityOfBirthName] AS [CityOfBirthName0], [g1].[Discriminator] AS [Discriminator0], [g1].[FullName] AS [FullName0], [g1].[HasSoulPatch] AS [HasSoulPatch0], [g1].[LeaderNickname] AS [LeaderNickname0], [g1].[LeaderSquadId] AS [LeaderSquadId0], [g1].[PeriodEnd] AS [PeriodEnd0], [g1].[PeriodStart] AS [PeriodStart0], [g1].[Rank] AS [Rank0] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g1] ON [g0].[Nickname] = [g1].[LeaderNickname] AND [g0].[SquadId] = [g1].[LeaderSquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[Nickname0]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[Nickname0] +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(bool async) @@ -6222,10 +7130,12 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_con await base.SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] <> [w].[OwnerFullName] OR ([w].[OwnerFullName] IS NULL) -ORDER BY [g].[Nickname], [w].[Id]"); +ORDER BY [g].[Nickname], [w].[Id] +"""); } public override async Task Nav_rewrite_with_convert1(bool async) @@ -6233,7 +7143,8 @@ public override async Task Nav_rewrite_with_convert1(bool async) await base.Nav_rewrite_with_convert1(async); AssertSql( - @"SELECT [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] +""" +SELECT [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [f].[CapitalName] = [c].[Name] LEFT JOIN ( @@ -6241,7 +7152,8 @@ LEFT JOIN ( FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -WHERE [c].[Name] <> N'Foo' OR ([c].[Name] IS NULL)"); +WHERE [c].[Name] <> N'Foo' OR ([c].[Name] IS NULL) +"""); } public override async Task Concat_scalars_with_count(bool async) @@ -6249,14 +7161,16 @@ public override async Task Concat_scalars_with_count(bool async) await base.Concat_scalars_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] UNION ALL SELECT [g0].[FullName] AS [Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] -) AS [t]"); +) AS [t] +"""); } public override async Task Optional_navigation_type_compensation_works_with_projection(bool async) @@ -6264,10 +7178,12 @@ public override async Task Optional_navigation_type_compensation_works_with_proj await base.Optional_navigation_type_compensation_works_with_projection(async); AssertSql( - @"SELECT [g].[SquadId] +""" +SELECT [g].[SquadId] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL)"); +WHERE [t].[Note] <> N'K.I.A.' OR ([t].[Note] IS NULL) +"""); } public override async Task GroupJoin_Composite_Key(bool async) @@ -6275,9 +7191,11 @@ public override async Task GroupJoin_Composite_Key(bool async) await base.GroupJoin_Composite_Key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] -INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery_null_parameter(bool async) @@ -6285,12 +7203,14 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery_null await base.Contains_on_collection_of_nullable_byte_subquery_null_parameter(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] - WHERE [l0].[ThreatLevelNullableByte] IS NULL)"); + WHERE [l0].[ThreatLevelNullableByte] IS NULL) +"""); } public override async Task Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(bool async) @@ -6298,10 +7218,12 @@ public override async Task Group_by_over_projection_with_multiple_properties_acc await base.Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(async); AssertSql( - @"SELECT [c].[Name] +""" +SELECT [c].[Name] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] -GROUP BY [c].[Name]"); +GROUP BY [c].[Name] +"""); } public override async Task Double_negate_on_column(bool async) @@ -6309,9 +7231,11 @@ public override async Task Double_negate_on_column(bool async) await base.Double_negate_on_column(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE -(-[s].[Id]) = [s].[Id]"); +WHERE -(-[s].[Id]) = [s].[Id] +"""); } public override async Task Outer_parameter_in_group_join_with_DefaultIfEmpty(bool async) @@ -6319,7 +7243,8 @@ public override async Task Outer_parameter_in_group_join_with_DefaultIfEmpty(boo await base.Outer_parameter_in_group_join_with_DefaultIfEmpty(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t0].[Note], [t0].[Id], [t0].[Nickname], [t0].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [t].[Note], [t].[Id], [g0].[Nickname], [g0].[SquadId] @@ -6327,7 +7252,8 @@ OUTER APPLY ( LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[FullName] = [g0].[FullName] ) AS [t0] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Id], [t0].[Nickname] +"""); } public override async Task Project_collection_navigation_with_inheritance2(bool async) @@ -6335,7 +7261,8 @@ public override async Task Project_collection_navigation_with_inheritance2(bool await base.Project_collection_navigation_with_inheritance2(async); AssertSql( - @"SELECT [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[DefeatedByNickname], [l].[DefeatedBySquadId] @@ -6344,7 +7271,8 @@ LEFT JOIN ( ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[DefeatedByNickname] = [g].[Nickname] AND [t].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON ([g].[Nickname] = [g0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Correlated_collections_inner_subquery_predicate_references_outer_qsre(bool async) @@ -6352,7 +7280,8 @@ public override async Task Correlated_collections_inner_subquery_predicate_refer await base.Correlated_collections_inner_subquery_predicate_references_outer_qsre(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[Nickname], [t].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[Nickname], [t].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [g0].[FullName] AS [ReportName], [g0].[Nickname], [g0].[SquadId] @@ -6360,7 +7289,8 @@ OUTER APPLY ( WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] AND [g].[FullName] <> N'Foo' ) AS [t] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Project_discriminator_columns(bool async) @@ -6368,25 +7298,37 @@ public override async Task Project_discriminator_columns(bool async) await base.Project_discriminator_columns(async); AssertSql( - @"SELECT [g].[Nickname], [g].[Discriminator] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]", +""" +SELECT [g].[Nickname], [g].[Discriminator] +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +""", // - @"SELECT [g].[Nickname], [g].[Discriminator] +""" +SELECT [g].[Nickname], [g].[Discriminator] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[Discriminator] = N'Officer'", +WHERE [g].[Discriminator] = N'Officer' +""", // - @"SELECT [f].[Id], [f].[Discriminator] -FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f]", +""" +SELECT [f].[Id], [f].[Discriminator] +FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] +""", // - @"SELECT [f].[Id], [f].[Discriminator] -FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f]", +""" +SELECT [f].[Id], [f].[Discriminator] +FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] +""", // - @"SELECT [l].[Name], [l].[Discriminator] -FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l]", +""" +SELECT [l].[Name], [l].[Discriminator] +FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] +""", // - @"SELECT [l].[Name], [l].[Discriminator] +""" +SELECT [l].[Name], [l].[Discriminator] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -WHERE [l].[Discriminator] = N'LocustCommander'"); +WHERE [l].[Discriminator] = N'LocustCommander' +"""); } public override async Task Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(bool async) @@ -6394,7 +7336,8 @@ public override async Task Join_entity_with_itself_grouped_by_key_followed_by_in await base.Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(async); AssertSql( - @"@__p_0='0' +""" +@__p_0='0' @__p_1='10' SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t0].[HasSoulPatch0], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -6411,7 +7354,8 @@ ORDER BY [g].[Nickname] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY ) AS [t0] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [t0].[FullName] = [w].[OwnerFullName] -ORDER BY [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch0]"); +ORDER BY [t0].[Nickname], [t0].[SquadId], [t0].[HasSoulPatch0] +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty1(bool async) @@ -6419,7 +7363,8 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty1(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) [t].[IsAutomatic] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -6427,7 +7372,8 @@ SELECT TOP(1) [t].[IsAutomatic] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ) AS [t]), CAST(0 AS bit)) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Correlated_collections_same_collection_projected_multiple_times(bool async) @@ -6435,7 +7381,8 @@ public override async Task Correlated_collections_same_collection_projected_mult await base.Correlated_collections_same_collection_projected_multiple_times(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -6447,7 +7394,8 @@ LEFT JOIN ( FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] WHERE [w0].[IsAutomatic] = CAST(1 AS bit) ) AS [t0] ON [g].[FullName] = [t0].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task OfType_in_subquery_works(bool async) @@ -6455,7 +7403,8 @@ public override async Task OfType_in_subquery_works(bool async) await base.OfType_in_subquery_works(async); AssertSql( - @"SELECT [t].[Name], [t].[Location], [t].[Nation], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Name], [t].[Location], [t].[Nation], [t].[PeriodEnd], [t].[PeriodStart] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN ( SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -6463,7 +7412,8 @@ INNER JOIN ( LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g0].[AssignedCityName] = [c].[Name] WHERE [g0].[Discriminator] = N'Officer' ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -WHERE [g].[Discriminator] = N'Officer'"); +WHERE [g].[Discriminator] = N'Officer' +"""); } public override async Task Where_nullable_enum_with_nullable_parameter(bool async) @@ -6471,15 +7421,19 @@ public override async Task Where_nullable_enum_with_nullable_parameter(bool asyn await base.Where_nullable_enum_with_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0", +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] IS NULL"); +WHERE [w].[AmmunitionType] IS NULL +"""); } public override async Task Concat_with_scalar_projection(bool async) @@ -6487,11 +7441,13 @@ public override async Task Concat_with_scalar_projection(bool async) await base.Concat_with_scalar_projection(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] UNION ALL SELECT [g0].[Nickname] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] +"""); } public override async Task Correlated_collections_different_collections_projected(bool async) @@ -6499,7 +7455,8 @@ public override async Task Correlated_collections_different_collections_projecte await base.Correlated_collections_different_collections_projected(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic], [t].[Id], [g0].[Nickname], [g0].[Rank], [g0].[SquadId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Name], [t].[IsAutomatic], [t].[Id], [g0].[Nickname], [g0].[Rank], [g0].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Name], [w].[IsAutomatic], [w].[Id], [w].[OwnerFullName] @@ -6508,7 +7465,8 @@ LEFT JOIN ( ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g0].[FullName], [g0].[Nickname]"); +ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[Id], [g0].[FullName], [g0].[Nickname] +"""); } public override async Task Join_with_inner_being_a_subquery_projecting_single_property(bool async) @@ -6516,9 +7474,11 @@ public override async Task Join_with_inner_being_a_subquery_projecting_single_pr await base.Join_with_inner_being_a_subquery_projecting_single_property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[Nickname]"); +INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[Nickname] +"""); } public override async Task Non_unicode_string_literal_is_used_for_non_unicode_column_right(bool async) @@ -6526,9 +7486,11 @@ public override async Task Non_unicode_string_literal_is_used_for_non_unicode_co await base.Non_unicode_string_literal_is_used_for_non_unicode_column_right(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] -WHERE 'Unknown' = [c].[Location]"); +WHERE 'Unknown' = [c].[Location] +"""); } public override async Task Checked_context_with_addition_does_not_fail(bool async) @@ -6536,9 +7498,11 @@ public override async Task Checked_context_with_addition_does_not_fail(bool asyn await base.Checked_context_with_addition_does_not_fail(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -WHERE CAST([l].[ThreatLevel] AS bigint) >= (CAST(5 AS bigint) + CAST([l].[ThreatLevel] AS bigint))"); +WHERE CAST([l].[ThreatLevel] AS bigint) >= (CAST(5 AS bigint) + CAST([l].[ThreatLevel] AS bigint)) +"""); } public override async Task Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(bool async) @@ -6546,7 +7510,8 @@ public override async Task Correlated_collections_from_left_join_with_additional await base.Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(async); AssertSql( - @"SELECT [w].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId], [t0].[Rank] +""" +SELECT [w].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[Id], [t0].[AmmunitionType], [t0].[IsAutomatic], [t0].[Name], [t0].[OwnerFullName], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[SynergyWithId], [t0].[Rank] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] @@ -6559,7 +7524,8 @@ LEFT JOIN ( WHERE [w0].[IsAutomatic] = CAST(0 AS bit) ) AS [t] ON [g0].[FullName] = [t].[OwnerFullName] ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [w].[Name], [w].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[FullName] DESC, [t0].[Nickname], [t0].[SquadId], [t0].[Id]"); +ORDER BY [w].[Name], [w].[Id], [g].[Nickname], [g].[SquadId], [s].[Id], [t0].[FullName] DESC, [t0].[Nickname], [t0].[SquadId], [t0].[Id] +"""); } public override async Task Project_collection_navigation_with_inheritance3(bool async) @@ -6567,7 +7533,8 @@ public override async Task Project_collection_navigation_with_inheritance3(bool await base.Project_collection_navigation_with_inheritance3(async); AssertSql( - @"SELECT [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[DefeatedByNickname], [l].[DefeatedBySquadId] @@ -6576,7 +7543,8 @@ LEFT JOIN ( ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[DefeatedByNickname] = [g].[Nickname] AND [t].[DefeatedBySquadId] = [g].[SquadId] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON ([g].[Nickname] = [g0].[LeaderNickname] OR (([g].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [f].[Id], [t].[Name], [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task Correlated_collections_nested_inner_subquery_references_outer_qsre_one_level_up(bool async) @@ -6584,7 +7552,8 @@ public override async Task Correlated_collections_nested_inner_subquery_referenc await base.Correlated_collections_nested_inner_subquery_references_outer_qsre_one_level_up(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t0].[FullName], [t0].[Nickname], [t0].[SquadId], [t0].[Name], [t0].[Nickname0], [t0].[Id] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g0].[FullName], [g0].[Nickname], [g0].[SquadId], [t].[Name], [t].[Nickname] AS [Nickname0], [t].[Id], [g0].[LeaderNickname], [g0].[LeaderSquadId] @@ -6597,7 +7566,8 @@ OUTER APPLY ( WHERE [g0].[FullName] <> N'Foo' ) AS [t0] ON [g].[Nickname] = [t0].[LeaderNickname] AND [g].[SquadId] = [t0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t0].[Nickname], [t0].[SquadId] +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated(bool async) @@ -6605,10 +7575,12 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Include_on_derived_multi_level(bool async) @@ -6616,7 +7588,8 @@ public override async Task Include_on_derived_multi_level(bool async) await base.Include_on_derived_multi_level(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank], [t].[Id], [t].[Banner], [t].[Banner5], [t].[InternalNumber], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[SquadId0], [t].[MissionId], [t].[PeriodEnd1], [t].[PeriodStart1] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank], [t].[Id], [t].[Banner], [t].[Banner5], [t].[InternalNumber], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[SquadId0], [t].[MissionId], [t].[PeriodEnd1], [t].[PeriodStart1] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd] AS [PeriodEnd0], [s].[PeriodStart] AS [PeriodStart0], [s0].[SquadId] AS [SquadId0], [s0].[MissionId], [s0].[PeriodEnd] AS [PeriodEnd1], [s0].[PeriodStart] AS [PeriodStart1] @@ -6624,7 +7597,8 @@ LEFT JOIN ( INNER JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g0].[SquadId] = [s].[Id] LEFT JOIN [SquadMissions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s0] ON [s].[Id] = [s0].[SquadId] ) AS [t] ON [g].[Nickname] = [t].[LeaderNickname] AND [g].[SquadId] = [t].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[Id], [t].[SquadId0]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[Id], [t].[SquadId0] +"""); } public override async Task Null_propagation_optimization2(bool async) @@ -6632,7 +7606,8 @@ public override async Task Null_propagation_optimization2(bool async) await base.Null_propagation_optimization2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE CASE WHEN [g].[LeaderNickname] IS NULL THEN NULL @@ -6640,7 +7615,8 @@ ELSE CASE WHEN ([g].[LeaderNickname] IS NOT NULL) AND ([g].[LeaderNickname] LIKE N'%us') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Select_subquery_distinct_firstordefault(bool async) @@ -6648,7 +7624,8 @@ public override async Task Select_subquery_distinct_firstordefault(bool async) await base.Select_subquery_distinct_firstordefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [t].[Name] FROM ( SELECT DISTINCT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -6657,7 +7634,8 @@ SELECT TOP(1) [t].[Name] ) AS [t] ORDER BY [t].[Id]) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) +"""); } public override async Task Include_on_entity_that_is_not_present_in_final_projection_but_uses_TypeIs_instead(bool async) @@ -6665,11 +7643,13 @@ public override async Task Include_on_entity_that_is_not_present_in_final_projec await base.Include_on_entity_that_is_not_present_in_final_projection_but_uses_TypeIs_instead(async); AssertSql( - @"SELECT [g].[Nickname], CASE +""" +SELECT [g].[Nickname], CASE WHEN [g].[Discriminator] = N'Officer' THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [IsOfficer] -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Composite_key_entity_equal(bool async) @@ -6677,10 +7657,12 @@ public override async Task Composite_key_entity_equal(bool async) await base.Composite_key_entity_equal(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] CROSS JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] -WHERE [g].[Nickname] = [g0].[Nickname] AND [g].[SquadId] = [g0].[SquadId]"); +WHERE [g].[Nickname] = [g0].[Nickname] AND [g].[SquadId] = [g0].[SquadId] +"""); } public override async Task Select_null_conditional_with_inheritance(bool async) @@ -6688,11 +7670,13 @@ public override async Task Select_null_conditional_with_inheritance(bool async) await base.Select_null_conditional_with_inheritance(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [f].[CommanderName] IS NOT NULL THEN [f].[CommanderName] ELSE NULL END -FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f]"); +FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] +"""); } public override async Task Select_ternary_operation_with_boolean(bool async) @@ -6700,11 +7684,13 @@ public override async Task Select_ternary_operation_with_boolean(bool async) await base.Select_ternary_operation_with_boolean(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(1 AS bit) THEN 1 ELSE 0 END AS [Num] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Order_by_entity_qsre_composite_key(bool async) @@ -6712,10 +7698,12 @@ public override async Task Order_by_entity_qsre_composite_key(bool async) await base.Order_by_entity_qsre_composite_key(async); AssertSql( - @"SELECT [w].[Name] +""" +SELECT [w].[Name] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [w].[OwnerFullName] = [g].[FullName] -ORDER BY [g].[Nickname], [g].[SquadId], [w].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [w].[Id] +"""); } public override async Task Include_using_alternate_key(bool async) @@ -6723,11 +7711,13 @@ public override async Task Include_using_alternate_key(bool async) await base.Include_using_alternate_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Nickname] = N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collections_with_FirstOrDefault(bool async) @@ -6735,13 +7725,15 @@ public override async Task Correlated_collections_with_FirstOrDefault(bool async await base.Correlated_collections_with_FirstOrDefault(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [s].[Id] = [g].[SquadId] ORDER BY [g].[Nickname]) FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -ORDER BY [s].[Name]"); +ORDER BY [s].[Name] +"""); } public override async Task Where_subquery_distinct_last_boolean(bool async) @@ -6749,7 +7741,8 @@ public override async Task Where_subquery_distinct_last_boolean(bool async) await base.Where_subquery_distinct_last_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -6759,7 +7752,8 @@ SELECT TOP(1) [t].[IsAutomatic] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] ORDER BY [t].[Id] DESC) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Where_enum_has_flag_subquery_client_eval(bool async) @@ -6767,7 +7761,8 @@ public override async Task Where_enum_has_flag_subquery_client_eval(bool async) await base.Where_enum_has_flag_subquery_client_eval(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE ([g].[Rank] & ( SELECT TOP(1) [g0].[Rank] @@ -6778,7 +7773,8 @@ SELECT TOP(1) [g0].[Rank] ORDER BY [g0].[Nickname], [g0].[SquadId]) OR (( SELECT TOP(1) [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] - ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL)"); + ORDER BY [g0].[Nickname], [g0].[SquadId]) IS NULL) +"""); } public override async Task Correlated_collection_via_SelectMany_with_Distinct_missing_indentifying_columns_in_projection(bool async) @@ -6786,7 +7782,8 @@ public override async Task Correlated_collection_via_SelectMany_with_Distinct_mi await base.Correlated_collection_via_SelectMany_with_Distinct_missing_indentifying_columns_in_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[HasSoulPatch] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[HasSoulPatch] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT DISTINCT [g1].[HasSoulPatch] @@ -6796,7 +7793,8 @@ SELECT DISTINCT [g1].[HasSoulPatch] INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g1] ON [c].[Name] = [g1].[CityOfBirthName] WHERE [g].[FullName] = [w].[OwnerFullName] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Subquery_is_lifted_from_main_from_clause_of_SelectMany(bool async) @@ -6804,11 +7802,13 @@ public override async Task Subquery_is_lifted_from_main_from_clause_of_SelectMan await base.Subquery_is_lifted_from_main_from_clause_of_SelectMany(async); AssertSql( - @"SELECT [g].[FullName] AS [Name1], [g0].[FullName] AS [Name2] +""" +SELECT [g].[FullName] AS [Name1], [g0].[FullName] AS [Name2] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] CROSS JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g0].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [g].[FullName]"); +ORDER BY [g].[FullName] +"""); } public override async Task Select_subquery_projecting_single_constant_inside_anonymous(bool async) @@ -6816,7 +7816,8 @@ public override async Task Select_subquery_projecting_single_constant_inside_ano await base.Select_subquery_projecting_single_constant_inside_anonymous(async); AssertSql( - @"SELECT [s].[Name], [t0].[One] +""" +SELECT [s].[Name], [t0].[One] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [t].[One], [t].[SquadId] @@ -6826,7 +7827,8 @@ LEFT JOIN ( WHERE [g].[HasSoulPatch] = CAST(1 AS bit) ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [s].[Id] = [t0].[SquadId]"); +) AS [t0] ON [s].[Id] = [t0].[SquadId] +"""); } public override async Task Include_collection_on_derived_type_using_lambda_with_soft_cast(bool async) @@ -6834,10 +7836,12 @@ public override async Task Include_collection_on_derived_type_using_lambda_with_ await base.Include_collection_on_derived_type_using_lambda_with_soft_cast(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task TimeSpan_Milliseconds(bool async) @@ -6845,8 +7849,10 @@ public override async Task TimeSpan_Milliseconds(bool async) await base.TimeSpan_Milliseconds(async); AssertSql( - @"SELECT DATEPART(millisecond, [m].[Duration]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEPART(millisecond, [m].[Duration]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Navigation_access_via_EFProperty_on_derived_entity_using_cast(bool async) @@ -6854,14 +7860,16 @@ public override async Task Navigation_access_via_EFProperty_on_derived_entity_us await base.Navigation_access_via_EFProperty_on_derived_entity_using_cast(async); AssertSql( - @"SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] +""" +SELECT [f].[Name], [t].[ThreatLevel] AS [Threat] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name], [l].[ThreatLevel] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE [l].[Discriminator] = N'LocustCommander' ) AS [t] ON [f].[CommanderName] = [t].[Name] -ORDER BY [f].[Name]"); +ORDER BY [f].[Name] +"""); } public override async Task Byte_array_filter_by_length_literal(bool async) @@ -6869,9 +7877,11 @@ public override async Task Byte_array_filter_by_length_literal(bool async) await base.Byte_array_filter_by_length_literal(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = 1"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = 1 +"""); } public override async Task GroupBy_Property_Include_Select_Average(bool async) @@ -6879,9 +7889,11 @@ public override async Task GroupBy_Property_Include_Select_Average(bool async) await base.GroupBy_Property_Include_Select_Average(async); AssertSql( - @"SELECT AVG(CAST([g].[SquadId] AS float)) +""" +SELECT AVG(CAST([g].[SquadId] AS float)) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -GROUP BY [g].[Rank]"); +GROUP BY [g].[Rank] +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(bool async) @@ -6889,9 +7901,11 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(async); AssertSql( - @"SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] +""" +SELECT [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] -WHERE [c].[Location] LIKE '%Jacinto%'"); +WHERE [c].[Location] LIKE '%Jacinto%' +"""); } public override async Task Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(bool async) @@ -6899,10 +7913,12 @@ public override async Task Correlated_collection_with_complex_order_by_funcletiz await base.Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [g].[Nickname], [g].[SquadId], [w].[Name], [w].[Id] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Select_datetimeoffset_comparison_in_projection(bool async) @@ -6910,11 +7926,13 @@ public override async Task Select_datetimeoffset_comparison_in_projection(bool a await base.Select_datetimeoffset_comparison_in_projection(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [m].[Timeline] > SYSDATETIMEOFFSET() THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Include_multiple_circular_with_filter(bool async) @@ -6922,12 +7940,14 @@ public override async Task Include_multiple_circular_with_filter(bool async) await base.Include_multiple_circular_with_filter(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [c].[Name] = [g0].[AssignedCityName] WHERE [g].[Nickname] = N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [g0].[Nickname] +"""); } public override async Task TimeSpan_Hours(bool async) @@ -6935,8 +7955,10 @@ public override async Task TimeSpan_Hours(bool async) await base.TimeSpan_Hours(async); AssertSql( - @"SELECT DATEPART(hour, [m].[Duration]) -FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT DATEPART(hour, [m].[Duration]) +FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] +"""); } public override async Task Singleton_Navigation_With_Member_Access(bool async) @@ -6944,10 +7966,12 @@ public override async Task Singleton_Navigation_With_Member_Access(bool async) await base.Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT [g].[CityOfBirthName] AS [B] +""" +SELECT [g].[CityOfBirthName] AS [B] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE [g].[Nickname] = N'Marcus' AND ([g].[CityOfBirthName] <> N'Ephyra' OR ([g].[CityOfBirthName] IS NULL))"); +WHERE [g].[Nickname] = N'Marcus' AND ([g].[CityOfBirthName] <> N'Ephyra' OR ([g].[CityOfBirthName] IS NULL)) +"""); } public override async Task Join_on_entity_qsre_keys_composite_key(bool async) @@ -6955,9 +7979,11 @@ public override async Task Join_on_entity_qsre_keys_composite_key(bool async) await base.Join_on_entity_qsre_keys_composite_key(async); AssertSql( - @"SELECT [g].[FullName] AS [GearName1], [g0].[FullName] AS [GearName2] +""" +SELECT [g].[FullName] AS [GearName1], [g0].[FullName] AS [GearName2] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[Nickname] AND [g].[SquadId] = [g0].[SquadId]"); +INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[Nickname] AND [g].[SquadId] = [g0].[SquadId] +"""); } public override async Task Include_reference_on_derived_type_using_lambda(bool async) @@ -6965,9 +7991,11 @@ public override async Task Include_reference_on_derived_type_using_lambda(bool a await base.Include_reference_on_derived_type_using_lambda(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] +"""); } public override async Task Projecting_nullable_bool_in_conditional_works(bool async) @@ -6975,12 +8003,14 @@ public override async Task Projecting_nullable_bool_in_conditional_works(bool as await base.Projecting_nullable_bool_in_conditional_works(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g].[Nickname] IS NOT NULL) AND ([g].[SquadId] IS NOT NULL) THEN [g].[HasSoulPatch] ELSE CAST(0 AS bit) END AS [Prop] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Where_nullable_enum_with_non_nullable_parameter(bool async) @@ -6988,11 +8018,13 @@ public override async Task Where_nullable_enum_with_non_nullable_parameter(bool await base.Where_nullable_enum_with_non_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' +""" +@__ammunitionType_0='1' SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE [w].[AmmunitionType] = @__ammunitionType_0"); +WHERE [w].[AmmunitionType] = @__ammunitionType_0 +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery_null_constant(bool async) @@ -7000,12 +8032,14 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery_null await base.Contains_on_collection_of_nullable_byte_subquery_null_constant(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] WHERE EXISTS ( SELECT 1 FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] - WHERE [l0].[ThreatLevelNullableByte] IS NULL)"); + WHERE [l0].[ThreatLevelNullableByte] IS NULL) +"""); } public override async Task Where_bitwise_and_enum(bool async) @@ -7013,13 +8047,17 @@ public override async Task Where_bitwise_and_enum(bool async) await base.Where_bitwise_and_enum(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & 2) > 0", +WHERE ([g].[Rank] & 2) > 0 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & 2) = 2"); +WHERE ([g].[Rank] & 2) = 2 +"""); } public override async Task Left_join_projection_using_coalesce_tracking(bool async) @@ -7027,9 +8065,11 @@ public override async Task Left_join_projection_using_coalesce_tracking(bool asy await base.Left_join_projection_using_coalesce_tracking(async); AssertSql( - @"SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[LeaderNickname] = [g0].[Nickname] +"""); } public override async Task Navigation_based_on_complex_expression5(bool async) @@ -7037,7 +8077,8 @@ public override async Task Navigation_based_on_complex_expression5(bool async) await base.Navigation_based_on_complex_expression5(async); AssertSql( - @"SELECT [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] +""" +SELECT [t0].[Name], [t0].[Discriminator], [t0].[LocustHordeId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ThreatLevel], [t0].[ThreatLevelByte], [t0].[ThreatLevelNullableByte], [t0].[DefeatedByNickname], [t0].[DefeatedBySquadId], [t0].[HighCommandId], [t].[Name], [t].[Discriminator], [t].[LocustHordeId], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreatLevel], [t].[ThreatLevelByte], [t].[ThreatLevelNullableByte], [t].[DefeatedByNickname], [t].[DefeatedBySquadId], [t].[HighCommandId] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] CROSS JOIN ( SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId] @@ -7048,7 +8089,8 @@ LEFT JOIN ( SELECT [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[PeriodEnd], [l0].[PeriodStart], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] WHERE [l0].[Discriminator] = N'LocustCommander' -) AS [t0] ON [f].[CommanderName] = [t0].[Name]"); +) AS [t0] ON [f].[CommanderName] = [t0].[Name] +"""); } public override async Task ToString_boolean_property_nullable(bool async) @@ -7056,12 +8098,14 @@ public override async Task ToString_boolean_property_nullable(bool async) await base.ToString_boolean_property_nullable(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [f].[Eradicated] = CAST(0 AS bit) THEN N'False' WHEN [f].[Eradicated] = CAST(1 AS bit) THEN N'True' ELSE NULL END -FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f]"); +FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] +"""); } public override async Task OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(bool async) @@ -7069,7 +8113,8 @@ public override async Task OrderBy_same_expression_containing_IsNull_correctly_d await base.OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE WHEN CAST(LEN([g].[Nickname]) AS int) = 5 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -7086,7 +8131,8 @@ ELSE CAST(0 AS bit) ELSE NULL END IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } public override async Task Select_subquery_projecting_single_constant_string(bool async) @@ -7094,11 +8140,13 @@ public override async Task Select_subquery_projecting_single_constant_string(boo await base.Select_subquery_projecting_single_constant_string(async); AssertSql( - @"SELECT [s].[Name], ( +""" +SELECT [s].[Name], ( SELECT TOP(1) N'Foo' FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)) AS [Gear] -FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s]"); +FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] +"""); } public override async Task Select_length_of_string_property(bool async) @@ -7106,8 +8154,10 @@ public override async Task Select_length_of_string_property(bool async) await base.Select_length_of_string_property(async); AssertSql( - @"SELECT [w].[Name], CAST(LEN([w].[Name]) AS int) AS [Length] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +""" +SELECT [w].[Name], CAST(LEN([w].[Name]) AS int) AS [Length] +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Optional_navigation_type_compensation_works_with_conditional_expression(bool async) @@ -7115,13 +8165,15 @@ public override async Task Optional_navigation_type_compensation_works_with_cond await base.Optional_navigation_type_compensation_works_with_conditional_expression(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE CASE WHEN [g].[HasSoulPatch] = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Correlated_collections_inner_subquery_selector_references_outer_qsre(bool async) @@ -7129,7 +8181,8 @@ public override async Task Correlated_collections_inner_subquery_selector_refere await base.Correlated_collections_inner_subquery_selector_references_outer_qsre(async); AssertSql( - @"SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] +""" +SELECT [g].[FullName], [g].[Nickname], [g].[SquadId], [t].[ReportName], [t].[OfficerName], [t].[Nickname], [t].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [g0].[FullName] AS [ReportName], [g].[FullName] AS [OfficerName], [g0].[Nickname], [g0].[SquadId] @@ -7137,7 +8190,8 @@ OUTER APPLY ( WHERE [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] ) AS [t] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool async) @@ -7145,10 +8199,12 @@ public override async Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool await base.Join_on_entity_qsre_keys_outer_key_is_navigation(async); AssertSql( - @"SELECT [w].[Name] AS [Name1], [w1].[Name] AS [Name2] +""" +SELECT [w].[Name] AS [Name1], [w1].[Name] AS [Name2] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w1] ON [w0].[Id] = [w1].[Id]"); +INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w1] ON [w0].[Id] = [w1].[Id] +"""); } public override async Task Correlated_collection_with_top_level_FirstOrDefault(bool async) @@ -7156,14 +8212,16 @@ public override async Task Correlated_collection_with_top_level_FirstOrDefault(b await base.Correlated_collection_with_top_level_FirstOrDefault(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ORDER BY [g].[Nickname] ) AS [t] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[Nickname], [t].[SquadId] +"""); } public override async Task Contains_with_local_nullable_guid_list_closure(bool async) @@ -7171,9 +8229,11 @@ public override async Task Contains_with_local_nullable_guid_list_closure(bool a await base.Contains_with_local_nullable_guid_list_closure(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] -WHERE [t].[Id] IN ('d2c26679-562b-44d1-ab96-23d1775e0926', '23cbcf9b-ce14-45cf-aafa-2c2667ebfdd3', 'ab1b82d7-88db-42bd-a132-7eef9aa68af4')"); +WHERE [t].[Id] IN ('d2c26679-562b-44d1-ab96-23d1775e0926', '23cbcf9b-ce14-45cf-aafa-2c2667ebfdd3', 'ab1b82d7-88db-42bd-a132-7eef9aa68af4') +"""); } public override async Task Select_Where_Navigation_Null_Reverse(bool async) @@ -7181,10 +8241,12 @@ public override async Task Select_Where_Navigation_Null_Reverse(bool async) await base.Select_Where_Navigation_Null_Reverse(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE ([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL)"); +WHERE ([g].[Nickname] IS NULL) OR ([g].[SquadId] IS NULL) +"""); } public override async Task Join_with_order_by_without_skip_or_take_nested(bool async) @@ -7192,10 +8254,12 @@ public override async Task Join_with_order_by_without_skip_or_take_nested(bool a await base.Join_with_order_by_without_skip_or_take_nested(async); AssertSql( - @"SELECT [w].[Name], [g].[FullName] +""" +SELECT [w].[Name], [g].[FullName] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [s].[Id] = [g].[SquadId] -INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName]"); +INNER JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] +"""); } public override async Task Concat_anonymous_with_count(bool async) @@ -7203,14 +8267,16 @@ public override async Task Concat_anonymous_with_count(bool async) await base.Concat_anonymous_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g].[Nickname] AS [Name] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] UNION ALL SELECT [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank], [g0].[FullName] AS [Name] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] -) AS [t]"); +) AS [t] +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) @@ -7218,7 +8284,8 @@ public override async Task Where_subquery_distinct_singleordefault_boolean_with_ await base.Where_subquery_distinct_singleordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [t].[IsAutomatic] @@ -7227,7 +8294,8 @@ SELECT TOP(1) [t].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND ([w].[Name] LIKE N'%Lancer%') ) AS [t]) = CAST(1 AS bit) -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(bool async) @@ -7235,13 +8303,15 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name], [t].[OwnerFullName] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[Name], [t].[OwnerFullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT DISTINCT [w].[Id], [w].[Name], [w].[OwnerFullName] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task String_concat_on_various_types(bool async) @@ -7249,10 +8319,12 @@ public override async Task String_concat_on_various_types(bool async) await base.String_concat_on_various_types(async); AssertSql( - @"SELECT (N'HasSoulPatch ' + CAST([g].[HasSoulPatch] AS nvarchar(max))) + N' HasSoulPatch' AS [HasSoulPatch], (N'Rank ' + CAST([g].[Rank] AS nvarchar(max))) + N' Rank' AS [Rank], (N'SquadId ' + CAST([g].[SquadId] AS nvarchar(max))) + N' SquadId' AS [SquadId], (N'Rating ' + COALESCE(CAST([m].[Rating] AS nvarchar(max)), N'')) + N' Rating' AS [Rating], (N'Timeline ' + CAST([m].[Timeline] AS nvarchar(max))) + N' Timeline' AS [Timeline] +""" +SELECT (N'HasSoulPatch ' + CAST([g].[HasSoulPatch] AS nvarchar(max))) + N' HasSoulPatch' AS [HasSoulPatch], (N'Rank ' + CAST([g].[Rank] AS nvarchar(max))) + N' Rank' AS [Rank], (N'SquadId ' + CAST([g].[SquadId] AS nvarchar(max))) + N' SquadId' AS [SquadId], (N'Rating ' + COALESCE(CAST([m].[Rating] AS nvarchar(max)), N'')) + N' Rating' AS [Rating], (N'Timeline ' + CAST([m].[Timeline] AS nvarchar(max))) + N' Timeline' AS [Timeline] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] CROSS JOIN [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -ORDER BY [g].[Nickname], [m].[Id]"); +ORDER BY [g].[Nickname], [m].[Id] +"""); } public override async Task Correlated_collections_projection_of_collection_thru_navigation(bool async) @@ -7260,7 +8332,8 @@ public override async Task Correlated_collections_projection_of_collection_thru_ await base.Correlated_collections_projection_of_collection_thru_navigation(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId], [t].[MissionId], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId], [t].[MissionId], [t].[PeriodEnd], [t].[PeriodStart] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] LEFT JOIN ( @@ -7269,7 +8342,8 @@ LEFT JOIN ( WHERE [s0].[MissionId] <> 17 ) AS [t] ON [s].[Id] = [t].[SquadId] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId]"); +ORDER BY [g].[FullName], [g].[Nickname], [g].[SquadId], [s].[Id], [t].[SquadId] +"""); } public override async Task Where_bitwise_and_integral(bool async) @@ -7277,17 +8351,23 @@ public override async Task Where_bitwise_and_integral(bool async) await base.Where_bitwise_and_integral(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & 1) = 1", +WHERE ([g].[Rank] & 1) = 1 +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE (CAST([g].[Rank] AS bigint) & CAST(1 AS bigint)) = CAST(1 AS bigint)", +WHERE (CAST([g].[Rank] AS bigint) & CAST(1 AS bigint)) = CAST(1 AS bigint) +""", // - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE (CAST([g].[Rank] AS smallint) & CAST(1 AS smallint)) = CAST(1 AS smallint)"); +WHERE (CAST([g].[Rank] AS smallint) & CAST(1 AS smallint)) = CAST(1 AS smallint) +"""); } public override async Task Coalesce_operator_in_projection_with_other_conditions(bool async) @@ -7295,11 +8375,13 @@ public override async Task Coalesce_operator_in_projection_with_other_conditions await base.Coalesce_operator_in_projection_with_other_conditions(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[AmmunitionType] = 1 AND ([w].[AmmunitionType] IS NOT NULL) AND COALESCE([w].[IsAutomatic], CAST(0 AS bit)) = CAST(1 AS bit) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Correlated_collections_on_left_join_with_predicate(bool async) @@ -7307,12 +8389,14 @@ public override async Task Correlated_collections_on_left_join_with_predicate(bo await base.Correlated_collections_on_left_join_with_predicate(async); AssertSql( - @"SELECT [g].[Nickname], [t].[Id], [g].[SquadId], [w].[Name], [w].[Id] +""" +SELECT [g].[Nickname], [t].[Id], [g].[SquadId], [w].[Name], [w].[Id] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[HasSoulPatch] = CAST(0 AS bit) -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Select_null_propagation_negative4(bool async) @@ -7320,13 +8404,15 @@ public override async Task Select_null_propagation_negative4(bool async) await base.Select_null_propagation_negative4(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g0].[Nickname] IS NOT NULL) AND ([g0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g0].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g0].[Nickname]"); +ORDER BY [g0].[Nickname] +"""); } public override async Task Include_with_join_multi_level(bool async) @@ -7334,12 +8420,14 @@ public override async Task Include_with_join_multi_level(bool async) await base.Include_with_join_multi_level(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [c].[Name] = [g0].[AssignedCityName] -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id], [c].[Name], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id], [c].[Name], [g0].[Nickname] +"""); } public override async Task Select_nested_ternary_operations(bool async) @@ -7347,14 +8435,16 @@ public override async Task Select_nested_ternary_operations(bool async) await base.Select_nested_ternary_operations(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN CASE WHEN [w].[AmmunitionType] = 1 THEN N'ManualCartridge' ELSE N'Manual' END ELSE N'Auto' END AS [IsManualCartridge] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Correlated_collections_with_Skip(bool async) @@ -7362,7 +8452,8 @@ public override async Task Correlated_collections_with_Skip(bool async) await base.Correlated_collections_with_Skip(async); AssertSql( - @"SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank] +""" +SELECT [s].[Id], [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] @@ -7372,7 +8463,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] ) AS [t0] ON [s].[Id] = [t0].[SquadId] -ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname]"); +ORDER BY [s].[Name], [s].[Id], [t0].[SquadId], [t0].[Nickname] +"""); } public override async Task GetValueOrDefault_with_argument(bool async) @@ -7380,9 +8472,11 @@ public override async Task GetValueOrDefault_with_argument(bool async) await base.GetValueOrDefault_with_argument(async); AssertSql( - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE COALESCE([w].[SynergyWithId], [w].[Id]) = 1"); +WHERE COALESCE([w].[SynergyWithId], [w].[Id]) = 1 +"""); } public override async Task Include_after_SelectMany_throws(bool async) @@ -7390,11 +8484,13 @@ public override async Task Include_after_SelectMany_throws(bool async) await base.Include_after_SelectMany_throws(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [f].[CapitalName] = [c].[Name] INNER JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [c].[Name] = [g].[CityOfBirthName] -INNER JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id]"); +INNER JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] +"""); } public override async Task OrderBy_StartsWith_with_null_parameter_as_argument(bool async) @@ -7402,9 +8498,11 @@ public override async Task OrderBy_StartsWith_with_null_parameter_as_argument(bo await base.OrderBy_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Select_navigation_with_concat_and_count(bool async) @@ -7412,7 +8510,8 @@ public override async Task Select_navigation_with_concat_and_count(bool async) await base.Select_navigation_with_concat_and_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -7424,7 +8523,8 @@ UNION ALL WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t]) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(0 AS bit)"); +WHERE [g].[HasSoulPatch] = CAST(0 AS bit) +"""); } public override async Task Where_TimeSpan_Minutes(bool async) @@ -7432,9 +8532,11 @@ public override async Task Where_TimeSpan_Minutes(bool async) await base.Where_TimeSpan_Minutes(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE DATEPART(minute, [m].[Duration]) = 1"); +WHERE DATEPART(minute, [m].[Duration]) = 1 +"""); } public override async Task Where_conditional_equality_1(bool async) @@ -7442,10 +8544,12 @@ public override async Task Where_conditional_equality_1(bool async) await base.Where_conditional_equality_1(async); AssertSql( - @"SELECT [g].[Nickname] +""" +SELECT [g].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[LeaderNickname] IS NULL -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) @@ -7453,14 +8557,16 @@ public override async Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_nav await base.GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(async); AssertSql( - @"SELECT [s].[Name] AS [SquadName], [t].[Name] AS [WeaponName] +""" +SELECT [s].[Name] AS [SquadName], [t].[Name] AS [WeaponName] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT [w].[Name], [s0].[Id] AS [Id0] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [w].[OwnerFullName] = [g].[FullName] LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s0] ON [g].[SquadId] = [s0].[Id] -) AS [t] ON [s].[Id] = [t].[Id0]"); +) AS [t] ON [s].[Id] = [t].[Id0] +"""); } public override async Task Null_checks_in_correlated_predicate_are_correctly_translated(bool async) @@ -7468,10 +8574,12 @@ public override async Task Null_checks_in_correlated_predicate_are_correctly_tra await base.Null_checks_in_correlated_predicate_are_correctly_translated(async); AssertSql( - @"SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [t].[Id], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] AND ([t].[Note] IS NOT NULL) -ORDER BY [t].[Id], [g].[Nickname]"); +ORDER BY [t].[Id], [g].[Nickname] +"""); } public override async Task Where_enum(bool async) @@ -7479,9 +8587,11 @@ public override async Task Where_enum(bool async) await base.Where_enum(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[Rank] = 4"); +WHERE [g].[Rank] = 4 +"""); } public override async Task Order_by_entity_qsre_with_inheritance(bool async) @@ -7489,11 +8599,13 @@ public override async Task Order_by_entity_qsre_with_inheritance(bool async) await base.Order_by_entity_qsre_with_inheritance(async); AssertSql( - @"SELECT [l].[Name] +""" +SELECT [l].[Name] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] INNER JOIN [LocustHighCommands] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [l].[HighCommandId] = [l0].[Id] WHERE [l].[Discriminator] = N'LocustCommander' -ORDER BY [l0].[Id], [l].[Name]"); +ORDER BY [l0].[Id], [l].[Name] +"""); } public override async Task Where_has_flag_with_nullable_parameter(bool async) @@ -7501,11 +8613,13 @@ public override async Task Where_has_flag_with_nullable_parameter(bool async) await base.Where_has_flag_with_nullable_parameter(async); AssertSql( - @"@__parameter_0='2' (Nullable = true) +""" +@__parameter_0='2' (Nullable = true) SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0"); +WHERE ([g].[Rank] & @__parameter_0) = @__parameter_0 +"""); } public override async Task Select_subquery_boolean_empty_with_pushdown(bool async) @@ -7513,12 +8627,14 @@ public override async Task Select_subquery_boolean_empty_with_pushdown(bool asyn await base.Select_subquery_boolean_empty_with_pushdown(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [w].[IsAutomatic] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[Name] = N'BFG' ORDER BY [w].[Id]) -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Cast_subquery_to_base_type_using_typed_ToList(bool async) @@ -7526,11 +8642,13 @@ public override async Task Cast_subquery_to_base_type_using_typed_ToList(bool as await base.Cast_subquery_to_base_type_using_typed_ToList(async); AssertSql( - @"SELECT [c].[Name], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Nickname], [g].[Rank], [g].[SquadId] +""" +SELECT [c].[Name], [g].[CityOfBirthName], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[Nickname], [g].[Rank], [g].[SquadId] FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [c].[Name] = [g].[AssignedCityName] WHERE [c].[Name] = N'Ephyra' -ORDER BY [c].[Name], [g].[Nickname]"); +ORDER BY [c].[Name], [g].[Nickname] +"""); } public override async Task Select_conditional_with_anonymous_types(bool async) @@ -7538,12 +8656,14 @@ public override async Task Select_conditional_with_anonymous_types(bool async) await base.Select_conditional_with_anonymous_types(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g].[Nickname], [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Group_by_with_having_StartsWith_with_null_parameter_as_argument(bool async) @@ -7551,10 +8671,12 @@ public override async Task Group_by_with_having_StartsWith_with_null_parameter_a await base.Group_by_with_having_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] GROUP BY [g].[FullName] -HAVING 0 = 1"); +HAVING 0 = 1 +"""); } public override async Task Include_multiple_circular(bool async) @@ -7562,11 +8684,13 @@ public override async Task Include_multiple_circular(bool async) await base.Include_multiple_circular(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [c].[Name], [c].[Location], [c].[Nation], [c].[PeriodEnd], [c].[PeriodStart], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [c].[Name] = [g0].[AssignedCityName] -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name], [g0].[Nickname] +"""); } public override async Task Select_correlated_filtered_collection(bool async) @@ -7574,7 +8698,8 @@ public override async Task Select_correlated_filtered_collection(bool async) await base.Select_correlated_filtered_collection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [c].[Name], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] ON [g].[CityOfBirthName] = [c].[Name] LEFT JOIN ( @@ -7583,7 +8708,8 @@ LEFT JOIN ( WHERE [w].[Name] <> N'Lancer' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [c].[Name] IN (N'Ephyra', N'Hanover') -ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name]"); +ORDER BY [g].[Nickname], [g].[SquadId], [c].[Name] +"""); } public override async Task String_concat_nullable_expressions_are_coalesced(bool async) @@ -7591,8 +8717,10 @@ public override async Task String_concat_nullable_expressions_are_coalesced(bool await base.String_concat_nullable_expressions_are_coalesced(async); AssertSql( - @"SELECT (([g].[FullName] + N'') + COALESCE([g].[LeaderNickname], N'')) + N'' -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT (([g].[FullName] + N'') + COALESCE([g].[LeaderNickname], N'')) + N'' +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Coalesce_used_with_non_unicode_string_column_and_constant(bool async) @@ -7600,8 +8728,10 @@ public override async Task Coalesce_used_with_non_unicode_string_column_and_cons await base.Coalesce_used_with_non_unicode_string_column_and_constant(async); AssertSql( - @"SELECT COALESCE([c].[Location], 'Unknown') -FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c]"); +""" +SELECT COALESCE([c].[Location], 'Unknown') +FROM [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c] +"""); } public override async Task Select_null_propagation_optimization8(bool async) @@ -7609,8 +8739,10 @@ public override async Task Select_null_propagation_optimization8(bool async) await base.Select_null_propagation_optimization8(async); AssertSql( - @"SELECT COALESCE([g].[LeaderNickname], N'') + COALESCE([g].[LeaderNickname], N'') -FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g]"); +""" +SELECT COALESCE([g].[LeaderNickname], N'') + COALESCE([g].[LeaderNickname], N'') +FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] +"""); } public override async Task Where_subquery_join_firstordefault_boolean(bool async) @@ -7618,7 +8750,8 @@ public override async Task Where_subquery_join_firstordefault_boolean(bool async await base.Where_subquery_join_firstordefault_boolean(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND ( SELECT TOP(1) [w].[IsAutomatic] @@ -7629,7 +8762,8 @@ INNER JOIN ( WHERE [g].[FullName] = [w0].[OwnerFullName] ) AS [t] ON [w].[Id] = [t].[Id] WHERE [g].[FullName] = [w].[OwnerFullName] - ORDER BY [w].[Id]) = CAST(1 AS bit)"); + ORDER BY [w].[Id]) = CAST(1 AS bit) +"""); } public override async Task Correlated_collection_with_groupby_not_projecting_identifier_column_with_group_aggregate_in_final_projection( @@ -7638,7 +8772,8 @@ public override async Task Correlated_collection_with_groupby_not_projecting_ide await base.Correlated_collection_with_groupby_not_projecting_identifier_column_with_group_aggregate_in_final_projection(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Key], [t].[Count] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Key], [t].[Count] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [w].[IsAutomatic] AS [Key], COUNT(*) AS [Count] @@ -7646,7 +8781,8 @@ OUTER APPLY ( WHERE [g].[FullName] = [w].[OwnerFullName] GROUP BY [w].[IsAutomatic] ) AS [t] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation( @@ -7655,10 +8791,12 @@ public override async Task Null_semantics_is_correctly_applied_for_function_comp await base.Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -WHERE SUBSTRING([t].[Note], 0 + 1, [g].[SquadId]) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([g].[SquadId] IS NULL)) AND ([t].[GearNickName] IS NULL))"); +WHERE SUBSTRING([t].[Note], 0 + 1, [g].[SquadId]) = [t].[GearNickName] OR ((([t].[Note] IS NULL) OR ([g].[SquadId] IS NULL)) AND ([t].[GearNickName] IS NULL)) +"""); } public override async Task Project_collection_navigation_with_inheritance1(bool async) @@ -7666,7 +8804,8 @@ public override async Task Project_collection_navigation_with_inheritance1(bool await base.Project_collection_navigation_with_inheritance1(async); AssertSql( - @"SELECT [f].[Id], [t].[Name], [f0].[Id], [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[PeriodEnd], [l0].[PeriodStart], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] +""" +SELECT [f].[Id], [t].[Name], [f0].[Id], [l0].[Name], [l0].[Discriminator], [l0].[LocustHordeId], [l0].[PeriodEnd], [l0].[PeriodStart], [l0].[ThreatLevel], [l0].[ThreatLevelByte], [l0].[ThreatLevelNullableByte], [l0].[DefeatedByNickname], [l0].[DefeatedBySquadId], [l0].[HighCommandId] FROM [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN ( SELECT [l].[Name] @@ -7675,7 +8814,8 @@ SELECT [l].[Name] ) AS [t] ON [f].[CommanderName] = [t].[Name] LEFT JOIN [Factions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f0] ON [t].[Name] = [f0].[CommanderName] LEFT JOIN [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l0] ON [f0].[Id] = [l0].[LocustHordeId] -ORDER BY [f].[Id], [t].[Name], [f0].[Id]"); +ORDER BY [f].[Id], [t].[Name], [f0].[Id] +"""); } public override async Task Include_with_join_and_inheritance2(bool async) @@ -7683,12 +8823,14 @@ public override async Task Include_with_join_and_inheritance2(bool async) await base.Include_with_join_and_inheritance2(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [t].[Id], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] ON [g].[SquadId] = [t].[GearSquadId] AND [g].[Nickname] = [t].[GearNickName] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id]"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Id] +"""); } public override async Task Include_multiple_one_to_one_and_one_to_many(bool async) @@ -7696,11 +8838,13 @@ public override async Task Include_multiple_one_to_one_and_one_to_many(bool asyn await base.Include_multiple_one_to_one_and_one_to_many(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [g].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId]"); +ORDER BY [t].[Id], [g].[Nickname], [g].[SquadId] +"""); } public override async Task Select_null_propagation_negative5(bool async) @@ -7708,13 +8852,15 @@ public override async Task Select_null_propagation_negative5(bool async) await base.Select_null_propagation_negative5(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN ([g0].[Nickname] IS NOT NULL) AND ([g0].[SquadId] IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END, [g0].[Nickname] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g0].[Nickname]"); +ORDER BY [g0].[Nickname] +"""); } public override async Task Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) @@ -7722,11 +8868,13 @@ public override async Task Enum_flags_closure_typed_as_underlying_type_generates await base.Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='133' +""" +@__prm_0='133' SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE (@__prm_0 & [g].[Rank]) = [g].[Rank]"); +WHERE (@__prm_0 & [g].[Rank]) = [g].[Rank] +"""); } public override async Task Where_bool_column_and_Contains(bool async) @@ -7734,9 +8882,11 @@ public override async Task Where_bool_column_and_Contains(bool async) await base.Where_bool_column_and_Contains(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit))"); +WHERE [g].[HasSoulPatch] = CAST(1 AS bit) AND [g].[HasSoulPatch] IN (CAST(0 AS bit), CAST(1 AS bit)) +"""); } public override async Task Optional_navigation_type_compensation_works_with_binary_and_expression(bool async) @@ -7744,12 +8894,14 @@ public override async Task Optional_navigation_type_compensation_works_with_bina await base.Optional_navigation_type_compensation_works_with_binary_and_expression(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[HasSoulPatch] = CAST(1 AS bit) AND ([t].[Note] LIKE N'%Cole%') THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] +"""); } public override async Task Entity_equality_empty(bool async) @@ -7757,9 +8909,11 @@ public override async Task Entity_equality_empty(bool async) await base.Entity_equality_empty(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE 0 = 1"); +WHERE 0 = 1 +"""); } public override async Task Where_equals_method_on_nullable_with_object_overload(bool async) @@ -7767,9 +8921,11 @@ public override async Task Where_equals_method_on_nullable_with_object_overload( await base.Where_equals_method_on_nullable_with_object_overload(async); AssertSql( - @"SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] +""" +SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE [m].[Rating] IS NULL"); +WHERE [m].[Rating] IS NULL +"""); } public override async Task Sum_with_no_data_nullable_double(bool async) @@ -7777,9 +8933,11 @@ public override async Task Sum_with_no_data_nullable_double(bool async) await base.Sum_with_no_data_nullable_double(async); AssertSql( - @"SELECT COALESCE(SUM([m].[Rating]), 0.0E0) +""" +SELECT COALESCE(SUM([m].[Rating]), 0.0E0) FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE [m].[CodeName] = N'Operation Foobar'"); +WHERE [m].[CodeName] = N'Operation Foobar' +"""); } public override async Task Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(bool async) @@ -7787,14 +8945,16 @@ public override async Task Query_reusing_parameter_with_inner_query_expression_d await base.Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__gearId_0='1' +""" +@__gearId_0='1' SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] WHERE EXISTS ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] - WHERE [s].[Id] = [g].[SquadId] AND [g].[SquadId] = @__gearId_0 AND [g].[SquadId] = @__gearId_0)"); + WHERE [s].[Id] = [g].[SquadId] AND [g].[SquadId] = @__gearId_0 AND [g].[SquadId] = @__gearId_0) +"""); } public override async Task Join_navigation_translated_to_subquery_composite_key(bool async) @@ -7802,13 +8962,15 @@ public override async Task Join_navigation_translated_to_subquery_composite_key( await base.Join_navigation_translated_to_subquery_composite_key(async); AssertSql( - @"SELECT [g].[FullName], [t0].[Note] +""" +SELECT [g].[FullName], [t0].[Note] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] INNER JOIN ( SELECT [t].[Note], [g0].[FullName] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [t].[GearNickName] = [g0].[Nickname] AND [t].[GearSquadId] = [g0].[SquadId] -) AS [t0] ON [g].[FullName] = [t0].[FullName]"); +) AS [t0] ON [g].[FullName] = [t0].[FullName] +"""); } public override async Task Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(bool async) @@ -7816,13 +8978,15 @@ public override async Task Correlated_collections_naked_navigation_with_ToList_f await base.Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] WHERE [g].[FullName] = [w].[OwnerFullName]) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname]"); +ORDER BY [g].[Nickname] +"""); } public override async Task Select_null_propagation_negative2(bool async) @@ -7830,12 +8994,14 @@ public override async Task Select_null_propagation_negative2(bool async) await base.Select_null_propagation_negative2(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN [g0].[LeaderNickname] ELSE NULL END FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -CROSS JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0]"); +CROSS JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] +"""); } public override async Task ToString_boolean_property_non_nullable(bool async) @@ -7843,11 +9009,13 @@ public override async Task ToString_boolean_property_non_nullable(bool async) await base.ToString_boolean_property_non_nullable(async); AssertSql( - @"SELECT CASE +""" +SELECT CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) THEN N'False' ELSE N'True' END -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Correlated_collections_basic_projection_ordered(bool async) @@ -7855,7 +9023,8 @@ public override async Task Correlated_collections_basic_projection_ordered(bool await base.Correlated_collections_basic_projection_ordered(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Id], [t].[AmmunitionType], [t].[IsAutomatic], [t].[Name], [t].[OwnerFullName], [t].[PeriodEnd], [t].[PeriodStart], [t].[SynergyWithId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] @@ -7863,7 +9032,8 @@ LEFT JOIN ( WHERE [w].[IsAutomatic] = CAST(1 AS bit) OR [w].[Name] <> N'foo' OR ([w].[Name] IS NULL) ) AS [t] ON [g].[FullName] = [t].[OwnerFullName] WHERE [g].[Nickname] <> N'Marcus' -ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name] DESC"); +ORDER BY [g].[Nickname], [g].[SquadId], [t].[Name] DESC +"""); } public override async Task Include_with_join_and_inheritance_with_orderby_before_and_after_include(bool async) @@ -7871,7 +9041,8 @@ public override async Task Include_with_join_and_inheritance_with_orderby_before await base.Include_with_join_and_inheritance_with_orderby_before_and_after_include(async); AssertSql( - @"SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [t0].[Nickname], [t0].[SquadId], [t0].[AssignedCityName], [t0].[CityOfBirthName], [t0].[Discriminator], [t0].[FullName], [t0].[HasSoulPatch], [t0].[LeaderNickname], [t0].[LeaderSquadId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Rank], [t].[Id], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] INNER JOIN ( SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] @@ -7879,7 +9050,8 @@ INNER JOIN ( WHERE [g].[Discriminator] = N'Officer' ) AS [t0] ON [t].[GearSquadId] = [t0].[SquadId] AND [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [t0].[Nickname] = [g0].[LeaderNickname] AND [t0].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [t0].[HasSoulPatch], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [g0].[Nickname]"); +ORDER BY [t0].[HasSoulPatch], [t0].[Nickname] DESC, [t].[Id], [t0].[SquadId], [g0].[Nickname] +"""); } public override async Task Select_enum_has_flag(bool async) @@ -7887,7 +9059,8 @@ public override async Task Select_enum_has_flag(bool async) await base.Select_enum_has_flag(async); AssertSql( - @"SELECT TOP(1) CASE +""" +SELECT TOP(1) CASE WHEN ([g].[Rank] & 2) = 2 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END AS [hasFlagTrue], CASE @@ -7895,7 +9068,8 @@ ELSE CAST(0 AS bit) ELSE CAST(0 AS bit) END AS [hasFlagFalse] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] & 2) = 2"); +WHERE ([g].[Rank] & 2) = 2 +"""); } public override async Task Include_multiple_one_to_one_optional_and_one_to_one_required(bool async) @@ -7903,10 +9077,12 @@ public override async Task Include_multiple_one_to_one_optional_and_one_to_one_r await base.Include_multiple_one_to_one_optional_and_one_to_one_required(async); AssertSql( - @"SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [t].[Id], [t].[GearNickName], [t].[GearSquadId], [t].[IssueDate], [t].[Note], [t].[PeriodEnd], [t].[PeriodStart], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] -LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id]"); +LEFT JOIN [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [g].[SquadId] = [s].[Id] +"""); } public override async Task Projecting_property_converted_to_nullable_into_unary(bool async) @@ -7914,7 +9090,8 @@ public override async Task Projecting_property_converted_to_nullable_into_unary( await base.Projecting_property_converted_to_nullable_into_unary(async); AssertSql( - @"SELECT [t].[Note] +""" +SELECT [t].[Note] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [t].[GearNickName] = [g].[Nickname] AND [t].[GearSquadId] = [g].[SquadId] WHERE (CASE @@ -7924,7 +9101,8 @@ ELSE NULL WHEN [t].[GearNickName] IS NOT NULL THEN [g].[HasSoulPatch] ELSE NULL END = CAST(0 AS bit) -ORDER BY [t].[Note]"); +ORDER BY [t].[Note] +"""); } public override async Task Correlated_collections_left_join_with_self_reference(bool async) @@ -7932,7 +9110,8 @@ public override async Task Correlated_collections_left_join_with_self_reference( await base.Correlated_collections_left_join_with_self_reference(async); AssertSql( - @"SELECT [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[FullName], [g0].[Nickname], [g0].[SquadId] +""" +SELECT [t].[Note], [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[FullName], [g0].[Nickname], [g0].[SquadId] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] LEFT JOIN ( SELECT [g].[Nickname], [g].[SquadId] @@ -7940,7 +9119,8 @@ LEFT JOIN ( WHERE [g].[Discriminator] = N'Officer' ) AS [t0] ON [t].[GearNickName] = [t0].[Nickname] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON ([t0].[Nickname] = [g0].[LeaderNickname] OR (([t0].[Nickname] IS NULL) AND ([g0].[LeaderNickname] IS NULL))) AND [t0].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[Nickname]"); +ORDER BY [t].[Id], [t0].[Nickname], [t0].[SquadId], [g0].[Nickname] +"""); } public override async Task Where_bitwise_or_enum(bool async) @@ -7948,9 +9128,11 @@ public override async Task Where_bitwise_or_enum(bool async) await base.Where_bitwise_or_enum(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] -WHERE ([g].[Rank] | 2) > 0"); +WHERE ([g].[Rank] | 2) > 0 +"""); } public override async Task Correlated_collection_with_very_complex_order_by(bool async) @@ -7958,7 +9140,8 @@ public override async Task Correlated_collection_with_very_complex_order_by(bool await base.Correlated_collection_with_very_complex_order_by(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [t].[Nickname], [t].[SquadId], [t].[AssignedCityName], [t].[CityOfBirthName], [t].[Discriminator], [t].[FullName], [t].[HasSoulPatch], [t].[LeaderNickname], [t].[LeaderSquadId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN ( SELECT [g1].[Nickname], [g1].[SquadId], [g1].[AssignedCityName], [g1].[CityOfBirthName], [g1].[Discriminator], [g1].[FullName], [g1].[HasSoulPatch], [g1].[LeaderNickname], [g1].[LeaderSquadId], [g1].[PeriodEnd], [g1].[PeriodStart], [g1].[Rank] @@ -7972,7 +9155,8 @@ SELECT COUNT(*) WHERE [g].[FullName] = [w].[OwnerFullName] AND [w].[IsAutomatic] = COALESCE(( SELECT TOP(1) [g0].[HasSoulPatch] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] - WHERE [g0].[Nickname] = N'Marcus'), CAST(0 AS bit))), [g].[Nickname], [g].[SquadId], [t].[Nickname]"); + WHERE [g0].[Nickname] = N'Marcus'), CAST(0 AS bit))), [g].[Nickname], [g].[SquadId], [t].[Nickname] +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column_composite_key(bool async) @@ -7980,13 +9164,15 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column_composite_key(async); AssertSql( - @"SELECT [s].[Id], [t].[Nickname], [t].[SquadId], [t].[HasSoulPatch] +""" +SELECT [s].[Id], [t].[Nickname], [t].[SquadId], [t].[HasSoulPatch] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN ( SELECT DISTINCT [g].[Nickname], [g].[SquadId], [g].[HasSoulPatch] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ) AS [t] ON [s].[Id] = [t].[SquadId] -ORDER BY [s].[Id], [t].[Nickname]"); +ORDER BY [s].[Id], [t].[Nickname] +"""); } public override async Task Null_propagation_optimization3(bool async) @@ -7994,7 +9180,8 @@ public override async Task Null_propagation_optimization3(bool async) await base.Null_propagation_optimization3(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE CASE WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE @@ -8002,7 +9189,8 @@ WHEN [g].[LeaderNickname] IS NOT NULL THEN CASE ELSE CAST(0 AS bit) END ELSE NULL -END = CAST(1 AS bit)"); +END = CAST(1 AS bit) +"""); } public override async Task Byte_array_filter_by_length_parameter(bool async) @@ -8010,11 +9198,13 @@ public override async Task Byte_array_filter_by_length_parameter(bool async) await base.Byte_array_filter_by_length_parameter(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE CAST(DATALENGTH([s].[Banner]) AS int) = @__p_0"); +WHERE CAST(DATALENGTH([s].[Banner]) AS int) = @__p_0 +"""); } public override async Task Select_ternary_operation_multiple_conditions_2(bool async) @@ -8022,11 +9212,13 @@ public override async Task Select_ternary_operation_multiple_conditions_2(bool a await base.Select_ternary_operation_multiple_conditions_2(async); AssertSql( - @"SELECT [w].[Id], CASE +""" +SELECT [w].[Id], CASE WHEN [w].[IsAutomatic] = CAST(0 AS bit) AND [w].[SynergyWithId] = 1 THEN N'Yes' ELSE N'No' END AS [IsCartridge] -FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w]"); +FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] +"""); } public override async Task Double_order_by_on_nullable_bool_coming_from_optional_navigation(bool async) @@ -8034,10 +9226,12 @@ public override async Task Double_order_by_on_nullable_bool_coming_from_optional await base.Double_order_by_on_nullable_bool_coming_from_optional_navigation(async); AssertSql( - @"SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] +""" +SELECT [w0].[Id], [w0].[AmmunitionType], [w0].[IsAutomatic], [w0].[Name], [w0].[OwnerFullName], [w0].[PeriodEnd], [w0].[PeriodStart], [w0].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w0] ON [w].[SynergyWithId] = [w0].[Id] -ORDER BY [w0].[IsAutomatic], [w0].[Id]"); +ORDER BY [w0].[IsAutomatic], [w0].[Id] +"""); } public override async Task Where_bitwise_and_nullable_enum_with_nullable_parameter(bool async) @@ -8045,15 +9239,19 @@ public override async Task Where_bitwise_and_nullable_enum_with_nullable_paramet await base.Where_bitwise_and_nullable_enum_with_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0", +WHERE ([w].[AmmunitionType] & @__ammunitionType_0) > 0 +""", // - @"SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] -WHERE ([w].[AmmunitionType] & NULL) > 0"); +WHERE ([w].[AmmunitionType] & NULL) > 0 +"""); } public override async Task Project_one_value_type_converted_to_nullable_from_empty_collection(bool async) @@ -8061,12 +9259,14 @@ public override async Task Project_one_value_type_converted_to_nullable_from_emp await base.Project_one_value_type_converted_to_nullable_from_empty_collection(async); AssertSql( - @"SELECT [s].[Name], ( +""" +SELECT [s].[Name], ( SELECT TOP(1) [g].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)) AS [SquadId] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] -WHERE [s].[Name] = N'Kilo'"); +WHERE [s].[Name] = N'Kilo' +"""); } public override async Task Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(bool async) @@ -8074,10 +9274,12 @@ public override async Task Unnecessary_include_doesnt_get_added_complex_when_pro await base.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(async); AssertSql( - @"SELECT [g].[FullName] +""" +SELECT [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [g].[HasSoulPatch] = CAST(1 AS bit) -ORDER BY [g].[Rank]"); +ORDER BY [g].[Rank] +"""); } public override async Task Complex_GroupBy_after_set_operator_using_result_selector(bool async) @@ -8085,7 +9287,8 @@ public override async Task Complex_GroupBy_after_set_operator_using_result_selec await base.Complex_GroupBy_after_set_operator_using_result_selector(async); AssertSql( - @"SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] +""" +SELECT [t].[Name], [t].[Count], COALESCE(SUM([t].[Count]), 0) AS [Sum] FROM ( SELECT [c].[Name], ( SELECT COUNT(*) @@ -8101,7 +9304,8 @@ SELECT COUNT(*) FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] INNER JOIN [Cities] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [c0] ON [g0].[CityOfBirthName] = [c0].[Name] ) AS [t] -GROUP BY [t].[Name], [t].[Count]"); +GROUP BY [t].[Name], [t].[Count] +"""); } public override async Task Correlated_collection_with_top_level_Last_with_orderby_on_outer(bool async) @@ -8109,14 +9313,16 @@ public override async Task Correlated_collection_with_top_level_Last_with_orderb await base.Correlated_collection_with_top_level_Last_with_orderby_on_outer(async); AssertSql( - @"SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] +""" +SELECT [t].[Nickname], [t].[SquadId], [w].[Id], [w].[AmmunitionType], [w].[IsAutomatic], [w].[Name], [w].[OwnerFullName], [w].[PeriodEnd], [w].[PeriodStart], [w].[SynergyWithId] FROM ( SELECT TOP(1) [g].[Nickname], [g].[SquadId], [g].[FullName] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ORDER BY [g].[FullName] ) AS [t] LEFT JOIN [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] ON [t].[FullName] = [w].[OwnerFullName] -ORDER BY [t].[FullName], [t].[Nickname], [t].[SquadId]"); +ORDER BY [t].[FullName], [t].[Nickname], [t].[SquadId] +"""); } public override async Task DateTimeOffset_Date_returns_datetime(bool async) @@ -8124,11 +9330,13 @@ public override async Task DateTimeOffset_Date_returns_datetime(bool async) await base.DateTimeOffset_Date_returns_datetime(async); AssertSql( - @"@__dateTimeOffset_Date_0='0002-03-01T00:00:00.0000000' +""" +@__dateTimeOffset_Date_0='0002-03-01T00:00:00.0000000' SELECT [m].[Id], [m].[BriefingDocument], [m].[BriefingDocumentFileExtension], [m].[CodeName], [m].[Duration], [m].[PeriodEnd], [m].[PeriodStart], [m].[Rating], [m].[Timeline] FROM [Missions] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] -WHERE CONVERT(date, [m].[Timeline]) >= @__dateTimeOffset_Date_0"); +WHERE CONVERT(date, [m].[Timeline]) >= @__dateTimeOffset_Date_0 +"""); } public override async Task Select_subquery_projecting_single_constant_int(bool async) @@ -8136,11 +9344,13 @@ public override async Task Select_subquery_projecting_single_constant_int(bool a await base.Select_subquery_projecting_single_constant_int(async); AssertSql( - @"SELECT [s].[Name], COALESCE(( +""" +SELECT [s].[Name], COALESCE(( SELECT TOP(1) 42 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) AS [Gear] -FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s]"); +FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] +"""); } public override async Task FirstOrDefault_over_int_compared_to_zero(bool async) @@ -8148,12 +9358,14 @@ public override async Task FirstOrDefault_over_int_compared_to_zero(bool async) await base.FirstOrDefault_over_int_compared_to_zero(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] WHERE [s].[Name] = N'Kilo' AND COALESCE(( SELECT TOP(1) [g].[SquadId] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] - WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0"); + WHERE [s].[Id] = [g].[SquadId] AND [g].[HasSoulPatch] = CAST(1 AS bit)), 0) <> 0 +"""); } public override async Task @@ -8165,7 +9377,8 @@ await base async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [t0].[Key], [t0].[Count] +""" +SELECT [g].[Nickname], [g].[SquadId], [t0].[Key], [t0].[Count] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] OUTER APPLY ( SELECT [t].[Key], COUNT(*) AS [Count] @@ -8176,7 +9389,8 @@ SELECT CAST(LEN([w].[Name]) AS int) AS [Key] ) AS [t] GROUP BY [t].[Key] ) AS [t0] -ORDER BY [g].[Nickname], [g].[SquadId]"); +ORDER BY [g].[Nickname], [g].[SquadId] +"""); } public override async Task Correlated_collection_with_distinct_not_projecting_identifier_column_also_projecting_complex_expressions( @@ -8388,13 +9602,15 @@ public override async Task Join_with_complex_key_selector(bool async) await base.Join_with_complex_key_selector(async); AssertSql( - @"SELECT [s].[Id], [t0].[Id] AS [TagId] +""" +SELECT [s].[Id], [t0].[Id] AS [TagId] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] CROSS JOIN ( SELECT [t].[Id] FROM [Tags] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [t] WHERE [t].[Note] = N'Marcus'' Tag' -) AS [t0]"); +) AS [t0] +"""); } public override async Task Streaming_correlated_collection_issue_11403_returning_ordered_enumerable_throws(bool async) @@ -8501,12 +9717,14 @@ public override async Task Where_subquery_equality_to_null_with_composite_key(bo await base.Where_subquery_equality_to_null_with_composite_key(async); AssertSql( - @"SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] +""" +SELECT [s].[Id], [s].[Banner], [s].[Banner5], [s].[InternalNumber], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart] FROM [Squads] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] WHERE NOT (EXISTS ( SELECT 1 FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] - WHERE [s].[Id] = [g].[SquadId]))"); + WHERE [s].[Id] = [g].[SquadId])) +"""); } public override async Task Where_subquery_equality_to_null_without_composite_key(bool async) @@ -8514,12 +9732,14 @@ public override async Task Where_subquery_equality_to_null_without_composite_key await base.Where_subquery_equality_to_null_without_composite_key(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] WHERE NOT (EXISTS ( SELECT 1 FROM [Weapons] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [w] - WHERE [g].[FullName] = [w].[OwnerFullName]))"); + WHERE [g].[FullName] = [w].[OwnerFullName])) +"""); } public override async Task Include_reference_on_derived_type_using_EF_Property(bool async) @@ -8527,9 +9747,11 @@ public override async Task Include_reference_on_derived_type_using_EF_Property(b await base.Include_reference_on_derived_type_using_EF_Property(async); AssertSql( - @"SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] +""" +SELECT [l].[Name], [l].[Discriminator], [l].[LocustHordeId], [l].[PeriodEnd], [l].[PeriodStart], [l].[ThreatLevel], [l].[ThreatLevelByte], [l].[ThreatLevelNullableByte], [l].[DefeatedByNickname], [l].[DefeatedBySquadId], [l].[HighCommandId], [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank] FROM [LocustLeaders] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [l] -LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId]"); +LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] ON [l].[DefeatedByNickname] = [g].[Nickname] AND [l].[DefeatedBySquadId] = [g].[SquadId] +"""); } public override async Task Include_collection_on_derived_type_using_EF_Property(bool async) @@ -8537,10 +9759,12 @@ public override async Task Include_collection_on_derived_type_using_EF_Property( await base.Include_collection_on_derived_type_using_EF_Property(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } public override async Task EF_Property_based_Include_navigation_on_derived_type(bool async) @@ -8548,11 +9772,13 @@ public override async Task EF_Property_based_Include_navigation_on_derived_type( await base.EF_Property_based_Include_navigation_on_derived_type(async); AssertSql( - @"SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] +""" +SELECT [g].[Nickname], [g].[SquadId], [g].[AssignedCityName], [g].[CityOfBirthName], [g].[Discriminator], [g].[FullName], [g].[HasSoulPatch], [g].[LeaderNickname], [g].[LeaderSquadId], [g].[PeriodEnd], [g].[PeriodStart], [g].[Rank], [g0].[Nickname], [g0].[SquadId], [g0].[AssignedCityName], [g0].[CityOfBirthName], [g0].[Discriminator], [g0].[FullName], [g0].[HasSoulPatch], [g0].[LeaderNickname], [g0].[LeaderSquadId], [g0].[PeriodEnd], [g0].[PeriodStart], [g0].[Rank] FROM [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g] LEFT JOIN [Gears] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [g0] ON [g].[Nickname] = [g0].[LeaderNickname] AND [g].[SquadId] = [g0].[LeaderSquadId] WHERE [g].[Discriminator] = N'Officer' -ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname]"); +ORDER BY [g].[Nickname], [g].[SquadId], [g0].[Nickname] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalManyToManyQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalManyToManyQuerySqlServerTest.cs index e3fe4b5f1d0..929c30c7513 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalManyToManyQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalManyToManyQuerySqlServerTest.cs @@ -51,13 +51,15 @@ public override async Task Skip_navigation_all(bool async) await base.Skip_navigation_all(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] +""" +SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] WHERE NOT EXISTS ( SELECT 1 FROM [JoinOneToTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[TwoId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND NOT ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_without_predicate(bool async) @@ -65,13 +67,15 @@ public override async Task Skip_navigation_any_without_predicate(bool async) await base.Skip_navigation_any_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] +""" +SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFull] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [j].[OneId] AND ([e0].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_any_with_predicate(bool async) @@ -79,13 +83,15 @@ public override async Task Skip_navigation_any_with_predicate(bool async) await base.Skip_navigation_any_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] +""" +SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] WHERE EXISTS ( SELECT 1 FROM [EntityOneEntityTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] INNER JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] - WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%'))"); + WHERE [e].[Id] = [e0].[OneSkipSharedId] AND ([e1].[Name] LIKE N'%B%')) +"""); } public override async Task Skip_navigation_contains(bool async) @@ -93,13 +99,15 @@ public override async Task Skip_navigation_contains(bool async) await base.Skip_navigation_contains(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] +""" +SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] WHERE EXISTS ( SELECT 1 FROM [JoinOneToThreePayloadFullShared] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1)"); + WHERE [e].[Id] = [j].[OneId] AND [e0].[Id] = 1) +"""); } public override async Task Skip_navigation_count_without_predicate(bool async) @@ -107,13 +115,15 @@ public override async Task Skip_navigation_count_without_predicate(bool async) await base.Skip_navigation_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] +""" +SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] WHERE ( SELECT COUNT(*) FROM [JoinOneSelfPayload] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[LeftId] = [e0].[Id] - WHERE [e].[Id] = [j].[RightId]) > 0"); + WHERE [e].[Id] = [j].[RightId]) > 0 +"""); } public override async Task Skip_navigation_count_with_predicate(bool async) @@ -121,7 +131,8 @@ public override async Task Skip_navigation_count_with_predicate(bool async) await base.Skip_navigation_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] +""" +SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] ORDER BY ( SELECT COUNT(*) @@ -131,7 +142,8 @@ INNER JOIN ( FROM [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] WHERE [e0].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') ) AS [t] ON [j].[EntityBranchId] = [t].[Id] - WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id]"); + WHERE [e].[Id] = [j].[EntityOneId] AND ([t].[Name] IS NOT NULL) AND ([t].[Name] LIKE N'L%')), [e].[Id] +"""); } public override async Task Skip_navigation_long_count_without_predicate(bool async) @@ -139,13 +151,15 @@ public override async Task Skip_navigation_long_count_without_predicate(bool asy await base.Skip_navigation_long_count_without_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId] FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] WHERE ( SELECT COUNT_BIG(*) FROM [JoinTwoToThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[ThreeId] = [e0].[Id] - WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint)"); + WHERE [e].[Id] = [j].[TwoId]) > CAST(0 AS bigint) +"""); } public override async Task Skip_navigation_long_count_with_predicate(bool async) @@ -153,13 +167,15 @@ public override async Task Skip_navigation_long_count_with_predicate(bool async) await base.Skip_navigation_long_count_with_predicate(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId] FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] ORDER BY ( SELECT COUNT_BIG(*) FROM [EntityTwoEntityTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] INNER JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[SelfSkipSharedLeftId] = [e1].[Id] - WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id]"); + WHERE [e].[Id] = [e0].[SelfSkipSharedRightId] AND ([e1].[Name] IS NOT NULL) AND ([e1].[Name] LIKE N'L%')) DESC, [e].[Id] +"""); } public override async Task Skip_navigation_select_many_average(bool async) @@ -167,13 +183,15 @@ public override async Task Skip_navigation_select_many_average(bool async) await base.Skip_navigation_select_many_average(async); AssertSql( - @"SELECT AVG(CAST([t].[Key1] AS float)) +""" +SELECT AVG(CAST([t].[Key1] AS float)) FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN ( SELECT [e1].[Key1], [e0].[TwoSkipSharedId] FROM [EntityCompositeKeyEntityTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] INNER JOIN [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] -) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_max(bool async) @@ -181,13 +199,15 @@ public override async Task Skip_navigation_select_many_max(bool async) await base.Skip_navigation_select_many_max(async); AssertSql( - @"SELECT MAX([t].[Key1]) +""" +SELECT MAX([t].[Key1]) FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN ( SELECT [e0].[Key1], [j].[ThreeId] FROM [JoinThreeToCompositeKeyFull] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[CompositeId1] = [e0].[Key1] AND [j].[CompositeId2] = [e0].[Key2] AND [j].[CompositeId3] = [e0].[Key3] -) AS [t] ON [e].[Id] = [t].[ThreeId]"); +) AS [t] ON [e].[Id] = [t].[ThreeId] +"""); } public override async Task Skip_navigation_select_many_min(bool async) @@ -195,13 +215,15 @@ public override async Task Skip_navigation_select_many_min(bool async) await base.Skip_navigation_select_many_min(async); AssertSql( - @"SELECT MIN([t].[Id]) +""" +SELECT MIN([t].[Id]) FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN ( SELECT [e1].[Id], [e0].[ThreeSkipSharedId] FROM [EntityRootEntityThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] INNER JOIN [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] -) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId] +"""); } public override async Task Skip_navigation_select_many_sum(bool async) @@ -209,13 +231,15 @@ public override async Task Skip_navigation_select_many_sum(bool async) await base.Skip_navigation_select_many_sum(async); AssertSql( - @"SELECT COALESCE(SUM([t].[Key1]), 0) +""" +SELECT COALESCE(SUM([t].[Key1]), 0) FROM [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN ( SELECT [e1].[Key1], [e0].[RootSkipSharedId] FROM [EntityCompositeKeyEntityRoot] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] INNER JOIN [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[CompositeKeySkipSharedKey1] = [e1].[Key1] AND [e0].[CompositeKeySkipSharedKey2] = [e1].[Key2] AND [e0].[CompositeKeySkipSharedKey3] = [e1].[Key3] -) AS [t] ON [e].[Id] = [t].[RootSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[RootSkipSharedId] +"""); } public override async Task Skip_navigation_select_subquery_average(bool async) @@ -223,13 +247,15 @@ public override async Task Skip_navigation_select_subquery_average(bool async) await base.Skip_navigation_select_subquery_average(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([e0].[Key1] AS float)) FROM [JoinCompositeKeyToLeaf] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[CompositeId1] = [e0].[Key1] AND [j].[CompositeId2] = [e0].[Key2] AND [j].[CompositeId3] = [e0].[Key3] WHERE [e].[Id] = [j].[LeafId]) FROM [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] -WHERE [e].[Discriminator] = N'EntityLeaf'"); +WHERE [e].[Discriminator] = N'EntityLeaf' +"""); } public override async Task Skip_navigation_select_subquery_max(bool async) @@ -237,12 +263,14 @@ public override async Task Skip_navigation_select_subquery_max(bool async) await base.Skip_navigation_select_subquery_max(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MAX([e0].[Id]) FROM [JoinOneToTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[TwoId]) -FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e]"); +FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] +"""); } public override async Task Skip_navigation_select_subquery_min(bool async) @@ -250,12 +278,14 @@ public override async Task Skip_navigation_select_subquery_min(bool async) await base.Skip_navigation_select_subquery_min(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT MIN([e0].[Id]) FROM [JoinOneToThreePayloadFull] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e].[Id] = [j].[ThreeId]) -FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e]"); +FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] +"""); } public override async Task Skip_navigation_select_subquery_sum(bool async) @@ -263,12 +293,14 @@ public override async Task Skip_navigation_select_subquery_sum(bool async) await base.Skip_navigation_select_subquery_sum(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COALESCE(SUM([e1].[Id]), 0) FROM [EntityOneEntityTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[OneSkipSharedId] = [e1].[Id] WHERE [e].[Id] = [e0].[TwoSkipSharedId]) -FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e]"); +FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] +"""); } public override async Task Skip_navigation_order_by_first_or_default(bool async) @@ -276,7 +308,8 @@ public override async Task Skip_navigation_order_by_first_or_default(bool async) await base.Skip_navigation_order_by_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreeId] @@ -286,7 +319,8 @@ LEFT JOIN ( INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[OneId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_order_by_single_or_default(bool async) @@ -294,7 +328,8 @@ public override async Task Skip_navigation_order_by_single_or_default(bool async await base.Skip_navigation_order_by_single_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] OUTER APPLY ( SELECT TOP(1) [t].[Id], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart] @@ -306,7 +341,8 @@ SELECT TOP(1) [e0].[Id], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart] ORDER BY [e0].[Id] ) AS [t] ORDER BY [t].[Id] -) AS [t0]"); +) AS [t0] +"""); } public override async Task Skip_navigation_order_by_last_or_default(bool async) @@ -314,7 +350,8 @@ public override async Task Skip_navigation_order_by_last_or_default(bool async) await base.Skip_navigation_order_by_last_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t0].[Id], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[EntityBranchId] @@ -325,7 +362,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [e].[Id] = [t0].[EntityBranchId] -WHERE [e].[Discriminator] IN (N'EntityBranch', N'EntityLeaf')"); +WHERE [e].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') +"""); } public override async Task Skip_navigation_order_by_reverse_first_or_default(bool async) @@ -333,7 +371,8 @@ public override async Task Skip_navigation_order_by_reverse_first_or_default(boo await base.Skip_navigation_order_by_reverse_first_or_default(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId] FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ReferenceInverseId], [t].[ThreeId] @@ -343,7 +382,8 @@ LEFT JOIN ( INNER JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] WHERE [t].[row] <= 1 -) AS [t0] ON [e].[Id] = [t0].[ThreeId]"); +) AS [t0] ON [e].[Id] = [t0].[ThreeId] +"""); } public override async Task Skip_navigation_cast(bool async) @@ -351,7 +391,8 @@ public override async Task Skip_navigation_cast(bool async) await base.Skip_navigation_cast(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Number], [t0].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] FROM [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[Number], [t].[IsGreen], [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3] @@ -362,7 +403,8 @@ INNER JOIN ( WHERE [e0].[Discriminator] = N'EntityLeaf' ) AS [t] ON [j].[LeafId] = [t].[Id] ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3] +"""); } public override async Task Skip_navigation_of_type(bool async) @@ -370,7 +412,8 @@ public override async Task Skip_navigation_of_type(bool async) await base.Skip_navigation_of_type(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[Number], [t].[IsGreen], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[Number], [t].[IsGreen], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] FROM [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[PeriodEnd], [e1].[PeriodStart], [e1].[Number], [e1].[IsGreen], [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3] @@ -378,7 +421,8 @@ LEFT JOIN ( INNER JOIN [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] WHERE [e1].[Discriminator] = N'EntityLeaf' ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +"""); } public override async Task Join_with_skip_navigation(bool async) @@ -386,14 +430,16 @@ public override async Task Join_with_skip_navigation(bool async) await base.Join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart], [e0].[ReferenceInverseId] FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [e].[Id] = ( SELECT TOP(1) [e2].[Id] FROM [EntityTwoEntityTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] INNER JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e2] ON [e1].[SelfSkipSharedRightId] = [e2].[Id] WHERE [e0].[Id] = [e1].[SelfSkipSharedLeftId] - ORDER BY [e2].[Id])"); + ORDER BY [e2].[Id]) +"""); } public override async Task Left_join_with_skip_navigation(bool async) @@ -401,7 +447,8 @@ public override async Task Left_join_with_skip_navigation(bool async) await base.Left_join_with_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart] FROM [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON ( SELECT TOP(1) [e2].[Id] @@ -414,7 +461,8 @@ SELECT TOP(1) [e3].[Id] INNER JOIN [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e3] ON [j].[ThreeId] = [e3].[Id] WHERE [e0].[Key1] = [j].[CompositeId1] AND [e0].[Key2] = [j].[CompositeId2] AND [e0].[Key3] = [j].[CompositeId3] ORDER BY [e3].[Id]) -ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2]"); +ORDER BY [e].[Key1], [e0].[Key1], [e].[Key2], [e0].[Key2] +"""); } public override async Task Select_many_over_skip_navigation(bool async) @@ -422,13 +470,15 @@ public override async Task Select_many_over_skip_navigation(bool async) await base.Select_many_over_skip_navigation(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ReferenceInverseId] FROM [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN ( SELECT [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[PeriodEnd], [e1].[PeriodStart], [e1].[ReferenceInverseId], [e0].[RootSkipSharedId] FROM [EntityRootEntityThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] INNER JOIN [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[ThreeSkipSharedId] = [e1].[Id] -) AS [t] ON [e].[Id] = [t].[RootSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[RootSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_where(bool async) @@ -436,13 +486,15 @@ public override async Task Select_many_over_skip_navigation_where(bool async) await base.Select_many_over_skip_navigation_where(async); AssertSql( - @"SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ReferenceInverseId] +""" +SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ReferenceInverseId] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart], [e0].[ReferenceInverseId], [j].[OneId] FROM [JoinOneToTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[TwoId] = [e0].[Id] -) AS [t] ON [e].[Id] = [t].[OneId]"); +) AS [t] ON [e].[Id] = [t].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip(bool async) @@ -450,7 +502,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip(bool a await base.Select_many_over_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ReferenceInverseId], [t].[OneId] @@ -460,7 +513,8 @@ INNER JOIN ( INNER JOIN [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_take(bool async) @@ -468,7 +522,8 @@ public override async Task Select_many_over_skip_navigation_order_by_take(bool a await base.Select_many_over_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ReferenceInverseId], [t].[OneSkipSharedId] @@ -478,7 +533,8 @@ INNER JOIN ( INNER JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[TwoSkipSharedId] = [e1].[Id] ) AS [t] WHERE [t].[row] <= 2 -) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId]"); +) AS [t0] ON [e].[Id] = [t0].[OneSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_order_by_skip_take(bool async) @@ -486,7 +542,8 @@ public override async Task Select_many_over_skip_navigation_order_by_skip_take(b await base.Select_many_over_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId] +""" +SELECT [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN ( SELECT [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ReferenceInverseId], [t].[OneId] @@ -496,7 +553,8 @@ INNER JOIN ( INNER JOIN [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[ThreeId] = [e0].[Id] ) AS [t] WHERE 2 < [t].[row] AND [t].[row] <= 5 -) AS [t0] ON [e].[Id] = [t0].[OneId]"); +) AS [t0] ON [e].[Id] = [t0].[OneId] +"""); } public override async Task Select_many_over_skip_navigation_of_type(bool async) @@ -504,14 +562,16 @@ public override async Task Select_many_over_skip_navigation_of_type(bool async) await base.Select_many_over_skip_navigation_of_type(async); AssertSql( - @"SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[Number], [t].[IsGreen] +""" +SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[Number], [t].[IsGreen] FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN ( SELECT [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[PeriodEnd], [e1].[PeriodStart], [e1].[Number], [e1].[IsGreen], [e0].[ThreeSkipSharedId] FROM [EntityRootEntityThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] INNER JOIN [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] WHERE [e1].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') -) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId]"); +) AS [t] ON [e].[Id] = [t].[ThreeSkipSharedId] +"""); } public override async Task Select_many_over_skip_navigation_cast(bool async) @@ -519,7 +579,8 @@ public override async Task Select_many_over_skip_navigation_cast(bool async) await base.Select_many_over_skip_navigation_cast(async); AssertSql( - @"SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Number], [t0].[IsGreen] +""" +SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Number], [t0].[IsGreen] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] INNER JOIN ( SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[Number], [t].[IsGreen], [j].[EntityOneId] @@ -529,7 +590,8 @@ INNER JOIN ( FROM [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] WHERE [e0].[Discriminator] IN (N'EntityBranch', N'EntityLeaf') ) AS [t] ON [j].[EntityBranchId] = [t].[Id] -) AS [t0] ON [e].[Id] = [t0].[EntityOneId]"); +) AS [t0] ON [e].[Id] = [t0].[EntityOneId] +"""); } public override async Task Select_skip_navigation(bool async) @@ -537,14 +599,16 @@ public override async Task Select_skip_navigation(bool async) await base.Select_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[LeftId], [t].[RightId] +""" +SELECT [e].[Id], [t].[Id], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[LeftId], [t].[RightId] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart], [j].[LeftId], [j].[RightId] FROM [JoinOneSelfPayload] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[LeftId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[RightId] -ORDER BY [e].[Id], [t].[LeftId], [t].[RightId]"); +ORDER BY [e].[Id], [t].[LeftId], [t].[RightId] +"""); } public override async Task Select_skip_navigation_multiple(bool async) @@ -552,7 +616,8 @@ public override async Task Select_skip_navigation_multiple(bool async) await base.Select_skip_navigation_multiple(async); AssertSql( - @"SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] +""" +SELECT [e].[Id], [t].[Id], [t].[CollectionInverseId], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3] FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart], [e0].[ReferenceInverseId], [j].[ThreeId], [j].[TwoId] @@ -569,7 +634,8 @@ LEFT JOIN ( FROM [EntityCompositeKeyEntityTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e3] INNER JOIN [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e4] ON [e3].[CompositeKeySkipSharedKey1] = [e4].[Key1] AND [e3].[CompositeKeySkipSharedKey2] = [e4].[Key2] AND [e3].[CompositeKeySkipSharedKey3] = [e4].[Key3] ) AS [t1] ON [e].[Id] = [t1].[TwoSkipSharedId] -ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2]"); +ORDER BY [e].[Id], [t].[ThreeId], [t].[TwoId], [t].[Id], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[Id], [t1].[TwoSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2] +"""); } public override async Task Select_skip_navigation_first_or_default(bool async) @@ -577,7 +643,8 @@ public override async Task Select_skip_navigation_first_or_default(bool async) await base.Select_skip_navigation_first_or_default(async); AssertSql( - @"SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] +""" +SELECT [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart] FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [t].[Key1], [t].[Key2], [t].[Key3], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreeId] @@ -588,7 +655,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 1 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id]"); +ORDER BY [e].[Id] +"""); } public override async Task Include_skip_navigation(bool async) @@ -596,14 +664,16 @@ public override async Task Include_skip_navigation(bool async) await base.Include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Number], [t].[Slumber], [t].[IsGreen], [t].[IsBrown] FROM [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [e0].[PeriodEnd], [e0].[PeriodStart], [e1].[Id], [e1].[Discriminator], [e1].[Name], [e1].[PeriodEnd] AS [PeriodEnd0], [e1].[PeriodStart] AS [PeriodStart0], [e1].[Number], [e1].[Slumber], [e1].[IsGreen], [e1].[IsBrown] FROM [EntityCompositeKeyEntityRoot] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] INNER JOIN [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[RootSkipSharedId] = [e1].[Id] ) AS [t] ON [e].[Key1] = [t].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t].[RootSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3] +"""); } public override async Task Include_skip_navigation_then_reference(bool async) @@ -611,7 +681,8 @@ public override async Task Include_skip_navigation_then_reference(bool async) await base.Include_skip_navigation_then_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[PeriodEnd1], [t].[PeriodStart1], [t].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[PeriodEnd1], [t].[PeriodStart1], [t].[ReferenceInverseId] FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [j].[PeriodEnd], [j].[PeriodStart], [e0].[Id], [e0].[Name], [e0].[PeriodEnd] AS [PeriodEnd0], [e0].[PeriodStart] AS [PeriodStart0], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[PeriodEnd] AS [PeriodEnd1], [e1].[PeriodStart] AS [PeriodStart1], [e1].[ReferenceInverseId] @@ -619,7 +690,8 @@ LEFT JOIN ( INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[OneId] = [e0].[Id] LEFT JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [e0].[Id] = [e1].[ReferenceInverseId] ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id] +"""); } public override async Task Include_skip_navigation_then_include_skip_navigation(bool async) @@ -627,7 +699,8 @@ public override async Task Include_skip_navigation_then_include_skip_navigation( await base.Include_skip_navigation_then_include_skip_navigation(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id], [t1].[Discriminator], [t1].[Name], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Number], [t1].[IsGreen], [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[PeriodEnd1], [t1].[PeriodStart1], [t1].[Id0], [t1].[Name0], [t1].[PeriodEnd00], [t1].[PeriodStart00] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id], [t1].[Discriminator], [t1].[Name], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Number], [t1].[IsGreen], [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[PeriodEnd1], [t1].[PeriodStart1], [t1].[Id0], [t1].[Name0], [t1].[PeriodEnd00], [t1].[PeriodStart00] FROM [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [j].[PeriodEnd], [j].[PeriodStart], [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0], [t].[Number], [t].[IsGreen], [t0].[EntityBranchId], [t0].[EntityOneId], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1], [t0].[Id] AS [Id0], [t0].[Name] AS [Name0], [t0].[PeriodEnd0] AS [PeriodEnd00], [t0].[PeriodStart0] AS [PeriodStart00] @@ -643,7 +716,8 @@ LEFT JOIN ( INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [j0].[EntityOneId] = [e1].[Id] ) AS [t0] ON [t].[Id] = [t0].[EntityBranchId] ) AS [t1] ON [e].[Key1] = [t1].[CompositeId1] AND [e].[Key2] = [t1].[CompositeId2] AND [e].[Key3] = [t1].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[EntityBranchId], [t1].[EntityOneId]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t1].[LeafId], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id], [t1].[EntityBranchId], [t1].[EntityOneId] +"""); } public override async Task Include_skip_navigation_then_include_reference_and_skip_navigation(bool async) @@ -651,7 +725,8 @@ public override async Task Include_skip_navigation_then_include_reference_and_sk await base.Include_skip_navigation_then_include_reference_and_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[PeriodEnd1], [t0].[PeriodStart1], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[PeriodEnd2], [t0].[PeriodStart2], [t0].[Id1], [t0].[Name1], [t0].[PeriodEnd00], [t0].[PeriodStart00] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[PeriodEnd1], [t0].[PeriodStart1], [t0].[ReferenceInverseId], [t0].[LeftId], [t0].[RightId], [t0].[Payload0], [t0].[PeriodEnd2], [t0].[PeriodStart2], [t0].[Id1], [t0].[Name1], [t0].[PeriodEnd00], [t0].[PeriodStart00] FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [j].[PeriodEnd], [j].[PeriodStart], [e0].[Id], [e0].[Name], [e0].[PeriodEnd] AS [PeriodEnd0], [e0].[PeriodStart] AS [PeriodStart0], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[PeriodEnd] AS [PeriodEnd1], [e1].[PeriodStart] AS [PeriodStart1], [e1].[ReferenceInverseId], [t].[LeftId], [t].[RightId], [t].[Payload] AS [Payload0], [t].[PeriodEnd] AS [PeriodEnd2], [t].[PeriodStart] AS [PeriodStart2], [t].[Id] AS [Id1], [t].[Name] AS [Name1], [t].[PeriodEnd0] AS [PeriodEnd00], [t].[PeriodStart0] AS [PeriodStart00] @@ -664,7 +739,8 @@ LEFT JOIN ( INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e2] ON [j0].[RightId] = [e2].[Id] ) AS [t] ON [e0].[Id] = [t].[LeftId] ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[Id0], [t0].[LeftId], [t0].[RightId] +"""); } public override async Task Include_skip_navigation_and_reference(bool async) @@ -672,7 +748,8 @@ public override async Task Include_skip_navigation_and_reference(bool async) await base.Include_skip_navigation_and_reference(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [e0].[CollectionInverseId], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart], [e0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [e0].[CollectionInverseId], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart], [e0].[ReferenceInverseId] FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [e].[Id] = [e0].[ReferenceInverseId] LEFT JOIN ( @@ -680,7 +757,8 @@ LEFT JOIN ( FROM [EntityOneEntityTwo] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e2] ON [e1].[OneSkipSharedId] = [e2].[Id] ) AS [t] ON [e].[Id] = [t].[TwoSkipSharedId] -ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId]"); +ORDER BY [e].[Id], [e0].[Id], [t].[OneSkipSharedId], [t].[TwoSkipSharedId] +"""); } public override async Task Include_skip_navigation_then_include_inverse_works_for_tracking_query(bool async) @@ -688,7 +766,8 @@ public override async Task Include_skip_navigation_then_include_inverse_works_fo await base.Include_skip_navigation_then_include_inverse_works_for_tracking_query(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[PeriodEnd1], [t0].[PeriodStart1], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[PeriodEnd00], [t0].[PeriodStart00], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[OneId0], [t0].[ThreeId0], [t0].[Payload0], [t0].[PeriodEnd1], [t0].[PeriodStart1], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name0], [t0].[PeriodEnd00], [t0].[PeriodStart00], [t0].[ReferenceInverseId] FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [j].[PeriodEnd], [j].[PeriodStart], [e0].[Id], [e0].[Name], [e0].[PeriodEnd] AS [PeriodEnd0], [e0].[PeriodStart] AS [PeriodStart0], [t].[OneId] AS [OneId0], [t].[ThreeId] AS [ThreeId0], [t].[Payload] AS [Payload0], [t].[PeriodEnd] AS [PeriodEnd1], [t].[PeriodStart] AS [PeriodStart1], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[Name] AS [Name0], [t].[PeriodEnd0] AS [PeriodEnd00], [t].[PeriodStart0] AS [PeriodStart00], [t].[ReferenceInverseId] @@ -700,7 +779,8 @@ LEFT JOIN ( INNER JOIN [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e1] ON [j0].[ThreeId] = [e1].[Id] ) AS [t] ON [e0].[Id] = [t].[OneId] ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id], [t0].[OneId0], [t0].[ThreeId0] +"""); } public override async Task Filtered_include_skip_navigation_where(bool async) @@ -708,7 +788,8 @@ public override async Task Filtered_include_skip_navigation_where(bool async) await base.Filtered_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [j].[PeriodEnd], [j].[PeriodStart], [e0].[Id], [e0].[Name], [e0].[PeriodEnd] AS [PeriodEnd0], [e0].[PeriodStart] AS [PeriodStart0] @@ -716,7 +797,8 @@ LEFT JOIN ( INNER JOIN [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[OneId] = [e0].[Id] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[OneId], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by(bool async) @@ -724,14 +806,16 @@ public override async Task Filtered_include_skip_navigation_order_by(bool async) await base.Filtered_include_skip_navigation_order_by(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[ReferenceInverseId] FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[ThreeId], [j].[TwoId], [j].[PeriodEnd], [j].[PeriodStart], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[PeriodEnd] AS [PeriodEnd0], [e0].[PeriodStart] AS [PeriodStart0], [e0].[ReferenceInverseId] FROM [JoinTwoToThree] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [j] INNER JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e0] ON [j].[TwoId] = [e0].[Id] ) AS [t] ON [e].[Id] = [t].[ThreeId] -ORDER BY [e].[Id], [t].[Id], [t].[ThreeId]"); +ORDER BY [e].[Id], [t].[Id], [t].[ThreeId] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip(bool async) @@ -739,7 +823,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip(bool a await base.Filtered_include_skip_navigation_order_by_skip(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t0].[SelfSkipSharedLeftId], [t0].[SelfSkipSharedRightId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[ReferenceInverseId] FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [t].[SelfSkipSharedLeftId], [t].[SelfSkipSharedRightId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[ReferenceInverseId] @@ -750,7 +835,8 @@ LEFT JOIN ( ) AS [t] WHERE 2 < [t].[row] ) AS [t0] ON [e].[Id] = [t0].[SelfSkipSharedLeftId] -ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[SelfSkipSharedLeftId], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_take(bool async) @@ -758,7 +844,8 @@ public override async Task Filtered_include_skip_navigation_order_by_take(bool a await base.Filtered_include_skip_navigation_order_by_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[ReferenceInverseId] FROM [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[ReferenceInverseId] @@ -769,7 +856,8 @@ LEFT JOIN ( ) AS [t] WHERE [t].[row] <= 2 ) AS [t0] ON [e].[Key1] = [t0].[CompositeKeySkipSharedKey1] AND [e].[Key2] = [t0].[CompositeKeySkipSharedKey2] AND [e].[Key3] = [t0].[CompositeKeySkipSharedKey3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[Id] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take(bool async) @@ -777,7 +865,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take(b await base.Filtered_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[ReferenceInverseId] +""" +SELECT [e].[Key1], [e].[Key2], [e].[Key3], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[ReferenceInverseId] FROM [EntityCompositeKeys] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [t].[Id], [t].[CompositeId1], [t].[CompositeId2], [t].[CompositeId3], [t].[PeriodEnd], [t].[PeriodStart], [t].[ThreeId], [t].[Id0], [t].[CollectionInverseId], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[ReferenceInverseId] @@ -788,7 +877,8 @@ LEFT JOIN ( ) AS [t] WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e].[Key1] = [t0].[CompositeId1] AND [e].[Key2] = [t0].[CompositeId2] AND [e].[Key3] = [t0].[CompositeId3] -ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0]"); +ORDER BY [e].[Key1], [e].[Key2], [e].[Key3], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Id0] +"""); } public override async Task Filtered_then_include_skip_navigation_where(bool async) @@ -796,7 +886,8 @@ public override async Task Filtered_then_include_skip_navigation_where(bool asyn await base.Filtered_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[PeriodEnd1], [t0].[PeriodStart1], [t0].[Id0], [t0].[Name0], [t0].[PeriodEnd00], [t0].[PeriodStart00] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[CollectionInverseId], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[PeriodEnd1], [t0].[PeriodStart1], [t0].[Id0], [t0].[Name0], [t0].[PeriodEnd00], [t0].[PeriodStart00] FROM [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[ThreeSkipSharedId], [e0].[PeriodEnd], [e0].[PeriodStart], [e1].[Id], [e1].[CollectionInverseId], [e1].[Name], [e1].[PeriodEnd] AS [PeriodEnd0], [e1].[PeriodStart] AS [PeriodStart0], [e1].[ReferenceInverseId], [t].[OneId], [t].[ThreeId], [t].[Payload], [t].[PeriodEnd] AS [PeriodEnd1], [t].[PeriodStart] AS [PeriodStart1], [t].[Id] AS [Id0], [t].[Name] AS [Name0], [t].[PeriodEnd0] AS [PeriodEnd00], [t].[PeriodStart0] AS [PeriodStart00] @@ -809,7 +900,8 @@ LEFT JOIN ( WHERE [e2].[Id] < 10 ) AS [t] ON [e1].[Id] = [t].[ThreeId] ) AS [t0] ON [e].[Id] = [t0].[RootSkipSharedId] -ORDER BY [e].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId]"); +ORDER BY [e].[Id], [t0].[RootSkipSharedId], [t0].[ThreeSkipSharedId], [t0].[Id], [t0].[OneId], [t0].[ThreeId] +"""); } public override async Task Filtered_then_include_skip_navigation_order_by_skip_take(bool async) @@ -817,7 +909,8 @@ public override async Task Filtered_then_include_skip_navigation_order_by_skip_t await base.Filtered_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[PeriodEnd1], [t1].[PeriodStart1], [t1].[ThreeId], [t1].[Id0], [t1].[CollectionInverseId], [t1].[Name0], [t1].[PeriodEnd00], [t1].[PeriodStart00], [t1].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[Number], [e].[Slumber], [e].[IsGreen], [e].[IsBrown], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[Name], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[Id], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[PeriodEnd1], [t1].[PeriodStart1], [t1].[ThreeId], [t1].[Id0], [t1].[CollectionInverseId], [t1].[Name0], [t1].[PeriodEnd00], [t1].[PeriodStart00], [t1].[ReferenceInverseId] FROM [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [e0].[RootSkipSharedId], [e0].[CompositeKeySkipSharedKey1], [e0].[CompositeKeySkipSharedKey2], [e0].[CompositeKeySkipSharedKey3], [e0].[PeriodEnd], [e0].[PeriodStart], [e1].[Key1], [e1].[Key2], [e1].[Key3], [e1].[Name], [e1].[PeriodEnd] AS [PeriodEnd0], [e1].[PeriodStart] AS [PeriodStart0], [t0].[Id], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1], [t0].[ThreeId], [t0].[Id0], [t0].[CollectionInverseId], [t0].[Name] AS [Name0], [t0].[PeriodEnd0] AS [PeriodEnd00], [t0].[PeriodStart0] AS [PeriodStart00], [t0].[ReferenceInverseId] @@ -833,7 +926,8 @@ LEFT JOIN ( WHERE 1 < [t].[row] AND [t].[row] <= 3 ) AS [t0] ON [e1].[Key1] = [t0].[CompositeId1] AND [e1].[Key2] = [t0].[CompositeId2] AND [e1].[Key3] = [t0].[CompositeId3] ) AS [t1] ON [e].[Id] = [t1].[RootSkipSharedId] -ORDER BY [e].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0]"); +ORDER BY [e].[Id], [t1].[RootSkipSharedId], [t1].[CompositeKeySkipSharedKey1], [t1].[CompositeKeySkipSharedKey2], [t1].[CompositeKeySkipSharedKey3], [t1].[Key1], [t1].[Key2], [t1].[Key3], [t1].[CompositeId1], [t1].[CompositeId2], [t1].[CompositeId3], [t1].[Id0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation(bool async) @@ -841,7 +935,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[Number], [e].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[PeriodEnd1], [t0].[PeriodStart1], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[PeriodEnd00], [t0].[PeriodStart00], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[Discriminator], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[Number], [e].[IsGreen], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3], [t0].[PeriodEnd1], [t0].[PeriodStart1], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[PeriodEnd00], [t0].[PeriodStart00], [t0].[ReferenceInverseId] FROM [EntityRoots] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[LeafId], [j].[CompositeId1], [j].[CompositeId2], [j].[CompositeId3], [j].[PeriodEnd], [j].[PeriodStart], [e0].[Key1], [e0].[Key2], [e0].[Key3], [e0].[Name], [e0].[PeriodEnd] AS [PeriodEnd0], [e0].[PeriodStart] AS [PeriodStart0], [t].[TwoSkipSharedId], [t].[CompositeKeySkipSharedKey1], [t].[CompositeKeySkipSharedKey2], [t].[CompositeKeySkipSharedKey3], [t].[PeriodEnd] AS [PeriodEnd1], [t].[PeriodStart] AS [PeriodStart1], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[PeriodEnd0] AS [PeriodEnd00], [t].[PeriodStart0] AS [PeriodStart00], [t].[ReferenceInverseId] @@ -855,7 +950,8 @@ LEFT JOIN ( WHERE [e0].[Key1] < 5 ) AS [t0] ON [e].[Id] = [t0].[LeafId] WHERE [e].[Discriminator] = N'EntityLeaf' -ORDER BY [e].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3]"); +ORDER BY [e].[Id], [t0].[LeafId], [t0].[CompositeId1], [t0].[CompositeId2], [t0].[CompositeId3], [t0].[Key1], [t0].[Key2], [t0].[Key3], [t0].[TwoSkipSharedId], [t0].[CompositeKeySkipSharedKey1], [t0].[CompositeKeySkipSharedKey2], [t0].[CompositeKeySkipSharedKey3] +"""); } public override async Task Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(bool async) @@ -863,7 +959,8 @@ public override async Task Filtered_include_skip_navigation_order_by_skip_take_t await base.Filtered_include_skip_navigation_order_by_skip_take_then_include_skip_navigation_where(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[PeriodEnd1], [t1].[PeriodStart1], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[PeriodEnd00], [t1].[PeriodStart00], [t1].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[PeriodEnd1], [t1].[PeriodStart1], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[PeriodEnd00], [t1].[PeriodStart00], [t1].[ReferenceInverseId0] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] OUTER APPLY ( SELECT [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[PeriodEnd0] AS [PeriodEnd00], [t0].[PeriodStart0] AS [PeriodStart00], [t0].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -882,7 +979,8 @@ LEFT JOIN ( WHERE [e1].[Id] < 10 ) AS [t0] ON [t].[Id] = [t0].[TwoId] ) AS [t1] -ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0]"); +ORDER BY [e].[Id], [t1].[Id], [t1].[OneId], [t1].[TwoId], [t1].[ThreeId], [t1].[TwoId0] +"""); } public override async Task Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(bool async) @@ -890,7 +988,8 @@ public override async Task Filtered_include_skip_navigation_where_then_include_s await base.Filtered_include_skip_navigation_where_then_include_skip_navigation_order_by_skip_take(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[PeriodEnd1], [t1].[PeriodStart1], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[PeriodEnd00], [t1].[PeriodStart00], [t1].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t1].[OneId], [t1].[TwoId], [t1].[JoinOneToTwoExtraId], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[Id], [t1].[CollectionInverseId], [t1].[ExtraId], [t1].[Name], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t1].[ReferenceInverseId], [t1].[ThreeId], [t1].[TwoId0], [t1].[PeriodEnd1], [t1].[PeriodStart1], [t1].[Id0], [t1].[CollectionInverseId0], [t1].[Name0], [t1].[PeriodEnd00], [t1].[PeriodStart00], [t1].[ReferenceInverseId0] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [j].[PeriodEnd], [j].[PeriodStart], [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[PeriodEnd] AS [PeriodEnd0], [e0].[PeriodStart] AS [PeriodStart0], [e0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId] AS [TwoId0], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1], [t0].[Id] AS [Id0], [t0].[CollectionInverseId] AS [CollectionInverseId0], [t0].[Name] AS [Name0], [t0].[PeriodEnd0] AS [PeriodEnd00], [t0].[PeriodStart0] AS [PeriodStart00], [t0].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -907,7 +1006,8 @@ LEFT JOIN ( ) AS [t0] ON [e0].[Id] = [t0].[TwoId] WHERE [e0].[Id] < 10 ) AS [t1] ON [e].[Id] = [t1].[OneId] -ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0]"); +ORDER BY [e].[Id], [t1].[OneId], [t1].[TwoId], [t1].[Id], [t1].[TwoId0], [t1].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined(bool async) @@ -915,7 +1015,8 @@ public override async Task Filter_include_on_skip_navigation_combined(bool async await base.Filter_include_on_skip_navigation_combined(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[PeriodEnd1], [t].[PeriodStart1], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[PeriodEnd2], [t].[PeriodStart2], [t].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[ExtraId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t].[OneId], [t].[TwoId], [t].[JoinOneToTwoExtraId], [t].[PeriodEnd], [t].[PeriodStart], [t].[Id], [t].[Name], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name0], [t].[PeriodEnd1], [t].[PeriodStart1], [t].[ReferenceInverseId], [t].[Id1], [t].[CollectionInverseId0], [t].[ExtraId0], [t].[Name1], [t].[PeriodEnd2], [t].[PeriodStart2], [t].[ReferenceInverseId0] FROM [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[TwoId], [j].[JoinOneToTwoExtraId], [j].[PeriodEnd], [j].[PeriodStart], [e0].[Id], [e0].[Name], [e0].[PeriodEnd] AS [PeriodEnd0], [e0].[PeriodStart] AS [PeriodStart0], [e1].[Id] AS [Id0], [e1].[CollectionInverseId], [e1].[ExtraId], [e1].[Name] AS [Name0], [e1].[PeriodEnd] AS [PeriodEnd1], [e1].[PeriodStart] AS [PeriodStart1], [e1].[ReferenceInverseId], [e2].[Id] AS [Id1], [e2].[CollectionInverseId] AS [CollectionInverseId0], [e2].[ExtraId] AS [ExtraId0], [e2].[Name] AS [Name1], [e2].[PeriodEnd] AS [PeriodEnd2], [e2].[PeriodStart] AS [PeriodStart2], [e2].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -925,7 +1026,8 @@ LEFT JOIN ( LEFT JOIN [EntityTwos] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e2] ON [e0].[Id] = [e2].[CollectionInverseId] WHERE [e0].[Id] < 10 ) AS [t] ON [e].[Id] = [t].[TwoId] -ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0]"); +ORDER BY [e].[Id], [t].[OneId], [t].[TwoId], [t].[Id], [t].[Id0] +"""); } public override async Task Filter_include_on_skip_navigation_combined_with_filtered_then_includes(bool async) @@ -933,7 +1035,8 @@ public override async Task Filter_include_on_skip_navigation_combined_with_filte await base.Filter_include_on_skip_navigation_combined_with_filtered_then_includes(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t3].[OneId], [t3].[ThreeId], [t3].[Payload], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id], [t3].[Name], [t3].[PeriodEnd0], [t3].[PeriodStart0], [t3].[OneId0], [t3].[TwoId], [t3].[JoinOneToTwoExtraId], [t3].[PeriodEnd1], [t3].[PeriodStart1], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[PeriodEnd00], [t3].[PeriodStart00], [t3].[ReferenceInverseId], [t3].[EntityBranchId], [t3].[EntityOneId], [t3].[PeriodEnd2], [t3].[PeriodStart2], [t3].[Id1], [t3].[Discriminator], [t3].[Name1], [t3].[PeriodEnd01], [t3].[PeriodStart01], [t3].[Number], [t3].[IsGreen] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t3].[OneId], [t3].[ThreeId], [t3].[Payload], [t3].[PeriodEnd], [t3].[PeriodStart], [t3].[Id], [t3].[Name], [t3].[PeriodEnd0], [t3].[PeriodStart0], [t3].[OneId0], [t3].[TwoId], [t3].[JoinOneToTwoExtraId], [t3].[PeriodEnd1], [t3].[PeriodStart1], [t3].[Id0], [t3].[CollectionInverseId], [t3].[ExtraId], [t3].[Name0], [t3].[PeriodEnd00], [t3].[PeriodStart00], [t3].[ReferenceInverseId], [t3].[EntityBranchId], [t3].[EntityOneId], [t3].[PeriodEnd2], [t3].[PeriodStart2], [t3].[Id1], [t3].[Discriminator], [t3].[Name1], [t3].[PeriodEnd01], [t3].[PeriodStart01], [t3].[Number], [t3].[IsGreen] FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [j].[PeriodEnd], [j].[PeriodStart], [e0].[Id], [e0].[Name], [e0].[PeriodEnd] AS [PeriodEnd0], [e0].[PeriodStart] AS [PeriodStart0], [t0].[OneId] AS [OneId0], [t0].[TwoId], [t0].[JoinOneToTwoExtraId], [t0].[PeriodEnd] AS [PeriodEnd1], [t0].[PeriodStart] AS [PeriodStart1], [t0].[Id] AS [Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name] AS [Name0], [t0].[PeriodEnd0] AS [PeriodEnd00], [t0].[PeriodStart0] AS [PeriodStart00], [t0].[ReferenceInverseId], [t1].[EntityBranchId], [t1].[EntityOneId], [t1].[PeriodEnd] AS [PeriodEnd2], [t1].[PeriodStart] AS [PeriodStart2], [t1].[Id] AS [Id1], [t1].[Discriminator], [t1].[Name] AS [Name1], [t1].[PeriodEnd0] AS [PeriodEnd01], [t1].[PeriodStart0] AS [PeriodStart01], [t1].[Number], [t1].[IsGreen] @@ -960,7 +1063,8 @@ WHERE [t2].[Id] < 20 ) AS [t1] ON [e0].[Id] = [t1].[EntityOneId] WHERE [e0].[Id] < 10 ) AS [t3] ON [e].[Id] = [t3].[ThreeId] -ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId]"); +ORDER BY [e].[Id], [t3].[OneId], [t3].[ThreeId], [t3].[Id], [t3].[OneId0], [t3].[Id0], [t3].[TwoId], [t3].[EntityBranchId], [t3].[EntityOneId] +"""); } public override async Task Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(bool async) @@ -968,7 +1072,8 @@ public override async Task Filtered_include_on_skip_navigation_then_filtered_inc await base.Filtered_include_on_skip_navigation_then_filtered_include_on_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[PeriodEnd1], [t0].[PeriodStart1], [t0].[ReferenceInverseId] +""" +SELECT [e].[Id], [e].[CollectionInverseId], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[ReferenceInverseId], [t0].[OneId], [t0].[ThreeId], [t0].[Payload], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[Id], [t0].[Name], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Id0], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name0], [t0].[PeriodEnd1], [t0].[PeriodStart1], [t0].[ReferenceInverseId] FROM [EntityThrees] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [j].[OneId], [j].[ThreeId], [j].[Payload], [j].[PeriodEnd], [j].[PeriodStart], [e0].[Id], [e0].[Name], [e0].[PeriodEnd] AS [PeriodEnd0], [e0].[PeriodStart] AS [PeriodStart0], [t].[Id] AS [Id0], [t].[CollectionInverseId], [t].[ExtraId], [t].[Name] AS [Name0], [t].[PeriodEnd] AS [PeriodEnd1], [t].[PeriodStart] AS [PeriodStart1], [t].[ReferenceInverseId] @@ -981,7 +1086,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[CollectionInverseId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[ThreeId] -ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id]"); +ORDER BY [e].[Id], [t0].[OneId], [t0].[ThreeId], [t0].[Id] +"""); } public override async Task Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(bool async) @@ -989,7 +1095,8 @@ public override async Task Filtered_include_on_navigation_then_filtered_include_ await base.Filtered_include_on_navigation_then_filtered_include_on_skip_navigation(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[PeriodEnd00], [t0].[PeriodStart00], [t0].[ReferenceInverseId0] +""" +SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [t0].[Id], [t0].[CollectionInverseId], [t0].[ExtraId], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[ReferenceInverseId], [t0].[ThreeId], [t0].[TwoId], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[Id0], [t0].[CollectionInverseId0], [t0].[Name0], [t0].[PeriodEnd00], [t0].[PeriodStart00], [t0].[ReferenceInverseId0] FROM [EntityOnes] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] LEFT JOIN ( SELECT [e0].[Id], [e0].[CollectionInverseId], [e0].[ExtraId], [e0].[Name], [e0].[PeriodEnd], [e0].[PeriodStart], [e0].[ReferenceInverseId], [t].[ThreeId], [t].[TwoId], [t].[PeriodEnd] AS [PeriodEnd0], [t].[PeriodStart] AS [PeriodStart0], [t].[Id] AS [Id0], [t].[CollectionInverseId] AS [CollectionInverseId0], [t].[Name] AS [Name0], [t].[PeriodEnd0] AS [PeriodEnd00], [t].[PeriodStart0] AS [PeriodStart00], [t].[ReferenceInverseId] AS [ReferenceInverseId0] @@ -1002,7 +1109,8 @@ WHERE [e1].[Id] < 5 ) AS [t] ON [e0].[Id] = [t].[TwoId] WHERE [e0].[Id] > 15 ) AS [t0] ON [e].[Id] = [t0].[CollectionInverseId] -ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId]"); +ORDER BY [e].[Id], [t0].[Id], [t0].[ThreeId], [t0].[TwoId] +"""); } public override async Task Includes_accessed_via_different_path_are_merged(bool async) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalOwnedQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalOwnedQuerySqlServerTest.cs index 360b3470203..9b322cc1b7d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalOwnedQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalOwnedQuerySqlServerTest.cs @@ -40,7 +40,8 @@ public override async Task Query_with_owned_entity_equality_operator(bool async) await base.Query_with_owned_entity_equality_operator(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] CROSS JOIN ( SELECT [o0].[Id] @@ -53,7 +54,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o2] ON [o1].[ClientId] = [o2].[OrderClientId] AND [o1].[Id] = [o2].[OrderId] ) AS [t0] ON [o].[Id] = [t0].[ClientId] WHERE 0 = 1 -ORDER BY [o].[Id], [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [o].[Id], [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Query_for_base_type_loads_all_owned_navs(bool async) @@ -61,14 +63,16 @@ public override async Task Query_for_base_type_loads_all_owned_navs(bool async) await base.Query_for_base_type_loads_all_owned_navs(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task No_ignored_include_warning_when_implicit_load(bool async) @@ -76,8 +80,10 @@ public override async Task No_ignored_include_warning_when_implicit_load(bool as await base.No_ignored_include_warning_when_implicit_load(async); AssertSql( - @"SELECT COUNT(*) -FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o]"); +""" +SELECT COUNT(*) +FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] +"""); } public override async Task Query_for_branch_type_loads_all_owned_navs(bool async) @@ -85,7 +91,8 @@ public override async Task Query_for_branch_type_loads_all_owned_navs(bool async await base.Query_for_branch_type_loads_all_owned_navs(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] @@ -93,7 +100,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Discriminator] IN (N'Branch', N'LeafA') -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Query_for_branch_type_loads_all_owned_navs_tracking(bool async) @@ -101,7 +109,8 @@ public override async Task Query_for_branch_type_loads_all_owned_navs_tracking(b await base.Query_for_branch_type_loads_all_owned_navs_tracking(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] @@ -109,7 +118,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Discriminator] IN (N'Branch', N'LeafA') -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Query_for_leaf_type_loads_all_owned_navs(bool async) @@ -117,7 +127,8 @@ public override async Task Query_for_leaf_type_loads_all_owned_navs(bool async) await base.Query_for_leaf_type_loads_all_owned_navs(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] @@ -125,7 +136,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Discriminator] = N'LeafA' -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Query_when_subquery(bool async) @@ -133,7 +145,8 @@ public override async Task Query_when_subquery(bool async) await base.Query_when_subquery(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT [t0].[Id], [t0].[Discriminator], [t0].[Name], [t0].[PeriodEnd], [t0].[PeriodStart], [t1].[ClientId], [t1].[Id], [t1].[OrderDate], [t1].[PeriodEnd], [t1].[PeriodStart], [t1].[OrderClientId], [t1].[OrderId], [t1].[Id0], [t1].[Detail], [t1].[PeriodEnd0], [t1].[PeriodStart0], [t0].[PersonAddress_AddressLine], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t0].[PersonAddress_PlaceType], [t0].[PersonAddress_ZipCode], [t0].[PersonAddress_Country_Name], [t0].[PersonAddress_Country_PlanetId], [t0].[BranchAddress_BranchName], [t0].[BranchAddress_PlaceType], [t0].[BranchAddress_Country_Name], [t0].[BranchAddress_Country_PlanetId], [t0].[LeafBAddress_LeafBType], [t0].[LeafBAddress_PlaceType], [t0].[LeafBAddress_Country_Name], [t0].[LeafBAddress_Country_PlanetId], [t0].[LeafAAddress_LeafType], [t0].[LeafAAddress_PlaceType], [t0].[LeafAAddress_Country_Name], [t0].[LeafAAddress_Country_PlanetId] FROM ( @@ -149,7 +162,8 @@ LEFT JOIN ( FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t1] ON [t0].[Id] = [t1].[ClientId] -ORDER BY [t0].[Id], [t1].[ClientId], [t1].[Id], [t1].[OrderClientId], [t1].[OrderId]"); +ORDER BY [t0].[Id], [t1].[ClientId], [t1].[Id], [t1].[OrderClientId], [t1].[OrderId] +"""); } public override async Task Navigation_rewrite_on_owned_reference_projecting_scalar(bool async) @@ -157,9 +171,11 @@ public override async Task Navigation_rewrite_on_owned_reference_projecting_scal await base.Navigation_rewrite_on_owned_reference_projecting_scalar(async); AssertSql( - @"SELECT [o].[PersonAddress_Country_Name] +""" +SELECT [o].[PersonAddress_Country_Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -WHERE [o].[PersonAddress_Country_Name] = N'USA'"); +WHERE [o].[PersonAddress_Country_Name] = N'USA' +"""); } public override async Task Navigation_rewrite_on_owned_reference_projecting_entity(bool async) @@ -167,7 +183,8 @@ public override async Task Navigation_rewrite_on_owned_reference_projecting_enti await base.Navigation_rewrite_on_owned_reference_projecting_entity(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] @@ -175,7 +192,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[PersonAddress_Country_Name] = N'USA' -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Navigation_rewrite_on_owned_collection(bool async) @@ -183,7 +201,8 @@ public override async Task Navigation_rewrite_on_owned_collection(bool async) await base.Navigation_rewrite_on_owned_collection(async); AssertSql( - @"SELECT [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o1].[ClientId], [o1].[Id], [o1].[OrderDate], [o1].[PeriodEnd], [o1].[PeriodStart], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id] AS [Id0], [o2].[Detail], [o2].[PeriodEnd] AS [PeriodEnd0], [o2].[PeriodStart] AS [PeriodStart0] @@ -194,7 +213,8 @@ LEFT JOIN ( SELECT COUNT(*) FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] WHERE [o].[Id] = [o0].[ClientId]) > 0 -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Navigation_rewrite_on_owned_collection_with_composition(bool async) @@ -202,7 +222,8 @@ public override async Task Navigation_rewrite_on_owned_collection_with_compositi await base.Navigation_rewrite_on_owned_collection_with_composition(async); AssertSql( - @"SELECT COALESCE(( +""" +SELECT COALESCE(( SELECT TOP(1) CASE WHEN [o0].[Id] <> 42 THEN CAST(1 AS bit) ELSE CAST(0 AS bit) @@ -211,7 +232,8 @@ ELSE CAST(0 AS bit) WHERE [o].[Id] = [o0].[ClientId] ORDER BY [o0].[Id]), CAST(0 AS bit)) FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -ORDER BY [o].[Id]"); +ORDER BY [o].[Id] +"""); } public override async Task Navigation_rewrite_on_owned_collection_with_composition_complex(bool async) @@ -219,13 +241,15 @@ public override async Task Navigation_rewrite_on_owned_collection_with_compositi await base.Navigation_rewrite_on_owned_collection_with_composition_complex(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT TOP(1) [o1].[PersonAddress_Country_Name] FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[Id] WHERE [o].[Id] = [o0].[ClientId] ORDER BY [o0].[Id]) -FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o]"); +FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] +"""); } public override async Task SelectMany_on_owned_collection(bool async) @@ -233,11 +257,13 @@ public override async Task SelectMany_on_owned_collection(bool async) await base.SelectMany_on_owned_collection(async); AssertSql( - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart] +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o1].[OrderClientId], [o1].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o1].[OrderClientId], [o1].[OrderId] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity(bool async) @@ -245,9 +271,11 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity(async); AssertSql( - @"SELECT [p].[Id], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId] +""" +SELECT [p].[Id], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id]"); +LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] +"""); } public override async Task Filter_owned_entity_chained_with_regular_entity_followed_by_projecting_owned_collection(bool async) @@ -255,7 +283,8 @@ public override async Task Filter_owned_entity_chained_with_regular_entity_follo await base.Filter_owned_entity_chained_with_regular_entity_followed_by_projecting_owned_collection(async); AssertSql( - @"SELECT [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0] +""" +SELECT [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN ( @@ -264,7 +293,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [p].[Id] <> 42 OR ([p].[Id] IS NULL) -ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Project_multiple_owned_navigations(bool async) @@ -272,7 +302,8 @@ public override async Task Project_multiple_owned_navigations(bool async) await base.Project_multiple_owned_navigations(async); AssertSql( - @"SELECT [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId] +""" +SELECT [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN ( @@ -280,7 +311,8 @@ LEFT JOIN ( FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] -ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Project_multiple_owned_navigations_with_expansion_on_owned_collections(bool async) @@ -288,7 +320,8 @@ public override async Task Project_multiple_owned_navigations_with_expansion_on_ await base.Project_multiple_owned_navigations_with_expansion_on_owned_collections(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[Id] @@ -297,7 +330,8 @@ SELECT COUNT(*) WHERE [o].[Id] = [o0].[ClientId] AND ([s].[Id] <> 42 OR ([s].[Id] IS NULL))) AS [Count], [p].[Id], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] -ORDER BY [o].[Id]"); +ORDER BY [o].[Id] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_filter(bool async) @@ -305,7 +339,8 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_filter(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN ( @@ -314,7 +349,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [p].[Id] <> 7 OR ([p].[Id] IS NULL) -ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [p].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_property(bool async) @@ -322,9 +358,11 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_property(async); AssertSql( - @"SELECT [p].[Id] +""" +SELECT [p].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id]"); +LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection(bool async) @@ -332,11 +370,13 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection(async); AssertSql( - @"SELECT [o].[Id], [p].[Id], [m].[Id], [m].[Diameter], [m].[PeriodEnd], [m].[PeriodStart], [m].[PlanetId] +""" +SELECT [o].[Id], [p].[Id], [m].[Id], [m].[Diameter], [m].[PeriodEnd], [m].[PeriodStart], [m].[PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN [Moon] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] ON [p].[Id] = [m].[PlanetId] -ORDER BY [o].[Id], [p].[Id]"); +ORDER BY [o].[Id], [p].[Id] +"""); } public override async Task SelectMany_on_owned_reference_followed_by_regular_entity_and_collection(bool async) @@ -344,10 +384,12 @@ public override async Task SelectMany_on_owned_reference_followed_by_regular_ent await base.SelectMany_on_owned_reference_followed_by_regular_entity_and_collection(async); AssertSql( - @"SELECT [m].[Id], [m].[Diameter], [m].[PeriodEnd], [m].[PeriodStart], [m].[PlanetId] +""" +SELECT [m].[Id], [m].[Diameter], [m].[PeriodEnd], [m].[PeriodStart], [m].[PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] -INNER JOIN [Moon] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] ON [p].[Id] = [m].[PlanetId]"); +INNER JOIN [Moon] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] ON [p].[Id] = [m].[PlanetId] +"""); } public override async Task SelectMany_on_owned_reference_with_entity_in_between_ending_in_owned_collection(bool async) @@ -355,11 +397,13 @@ public override async Task SelectMany_on_owned_reference_with_entity_in_between_ await base.SelectMany_on_owned_reference_with_entity_in_between_ending_in_owned_collection(async); AssertSql( - @"SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[StarId] +""" +SELECT [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[StarId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN [Star] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [p].[StarId] = [s].[Id] -INNER JOIN [Element] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] ON [s].[Id] = [e].[StarId]"); +INNER JOIN [Element] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] ON [s].[Id] = [e].[StarId] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference(bool async) @@ -367,12 +411,14 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference(async); AssertSql( - @"SELECT [s].[Id], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [o].[Id], [p].[Id], [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[StarId] +""" +SELECT [s].[Id], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [o].[Id], [p].[Id], [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[StarId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN [Star] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [p].[StarId] = [s].[Id] LEFT JOIN [Element] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] ON [s].[Id] = [e].[StarId] -ORDER BY [o].[Id], [p].[Id], [s].[Id]"); +ORDER BY [o].[Id], [p].[Id], [s].[Id] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference_and_scalar( @@ -381,10 +427,12 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_another_reference_and_scalar(async); AssertSql( - @"SELECT [s].[Name] +""" +SELECT [s].[Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] -LEFT JOIN [Star] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [p].[StarId] = [s].[Id]"); +LEFT JOIN [Star] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [p].[StarId] = [s].[Id] +"""); } public override async Task @@ -394,13 +442,15 @@ await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_ async); AssertSql( - @"SELECT [s].[Id], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [o].[Id], [p].[Id], [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[StarId] +""" +SELECT [s].[Id], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [o].[Id], [p].[Id], [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[StarId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] LEFT JOIN [Star] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] ON [p].[StarId] = [s].[Id] LEFT JOIN [Element] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] ON [s].[Id] = [e].[StarId] WHERE [s].[Name] = N'Sol' -ORDER BY [o].[Id], [p].[Id], [s].[Id]"); +ORDER BY [o].[Id], [p].[Id], [s].[Id] +"""); } public override async Task Query_with_OfType_eagerly_loads_correct_owned_navigations(bool async) @@ -408,7 +458,8 @@ public override async Task Query_with_OfType_eagerly_loads_correct_owned_navigat await base.Query_with_OfType_eagerly_loads_correct_owned_navigations(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] @@ -416,7 +467,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Discriminator] = N'LeafA' -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Unmapped_property_projection_loads_owned_navigations(bool async) @@ -424,7 +476,8 @@ public override async Task Unmapped_property_projection_loads_owned_navigations( await base.Unmapped_property_projection_loads_owned_navigations(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] @@ -432,7 +485,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Id] = 1 -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Client_method_skip_loads_owned_navigations(bool async) @@ -440,7 +494,8 @@ public override async Task Client_method_skip_loads_owned_navigations(bool async await base.Client_method_skip_loads_owned_navigations(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t].[PersonAddress_AddressLine], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM ( @@ -454,7 +509,8 @@ LEFT JOIN ( FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Client_method_take_loads_owned_navigations(bool async) @@ -462,7 +518,8 @@ public override async Task Client_method_take_loads_owned_navigations(bool async await base.Client_method_take_loads_owned_navigations(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t].[PersonAddress_AddressLine], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM ( @@ -475,7 +532,8 @@ LEFT JOIN ( FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Client_method_skip_take_loads_owned_navigations(bool async) @@ -483,7 +541,8 @@ public override async Task Client_method_skip_take_loads_owned_navigations(bool await base.Client_method_skip_take_loads_owned_navigations(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='2' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t].[PersonAddress_AddressLine], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] @@ -498,7 +557,8 @@ LEFT JOIN ( FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Client_method_skip_loads_owned_navigations_variation_2(bool async) @@ -506,7 +566,8 @@ public override async Task Client_method_skip_loads_owned_navigations_variation_ await base.Client_method_skip_loads_owned_navigations_variation_2(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t].[PersonAddress_AddressLine], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM ( @@ -520,7 +581,8 @@ LEFT JOIN ( FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Client_method_take_loads_owned_navigations_variation_2(bool async) @@ -528,7 +590,8 @@ public override async Task Client_method_take_loads_owned_navigations_variation_ await base.Client_method_take_loads_owned_navigations_variation_2(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t].[PersonAddress_AddressLine], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM ( @@ -541,7 +604,8 @@ LEFT JOIN ( FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Client_method_skip_take_loads_owned_navigations_variation_2(bool async) @@ -549,7 +613,8 @@ public override async Task Client_method_skip_take_loads_owned_navigations_varia await base.Client_method_skip_take_loads_owned_navigations_variation_2(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' @__p_1='2' SELECT [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t].[PersonAddress_AddressLine], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] @@ -564,7 +629,8 @@ LEFT JOIN ( FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id] = [t0].[ClientId] -ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [t].[Id], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Where_owned_collection_navigation_ToList_Count(bool async) @@ -572,7 +638,8 @@ public override async Task Where_owned_collection_navigation_ToList_Count(bool a await base.Where_owned_collection_navigation_ToList_Count(async); AssertSql( - @"SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail], [o2].[PeriodEnd], [o2].[PeriodStart] +""" +SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail], [o2].[PeriodEnd], [o2].[PeriodStart] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o2] ON [o0].[ClientId] = [o2].[OrderClientId] AND [o0].[Id] = [o2].[OrderId] @@ -580,7 +647,8 @@ public override async Task Where_owned_collection_navigation_ToList_Count(bool a SELECT COUNT(*) FROM [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] WHERE [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId]) = 0 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId] +"""); } public override async Task Where_collection_navigation_ToArray_Count(bool async) @@ -588,7 +656,8 @@ public override async Task Where_collection_navigation_ToArray_Count(bool async) await base.Where_collection_navigation_ToArray_Count(async); AssertSql( - @"SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail], [o2].[PeriodEnd], [o2].[PeriodStart] +""" +SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail], [o2].[PeriodEnd], [o2].[PeriodStart] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o2] ON [o0].[ClientId] = [o2].[OrderClientId] AND [o0].[Id] = [o2].[OrderId] @@ -596,7 +665,8 @@ public override async Task Where_collection_navigation_ToArray_Count(bool async) SELECT COUNT(*) FROM [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] WHERE [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId]) = 0 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId] +"""); } public override async Task Where_collection_navigation_AsEnumerable_Count(bool async) @@ -604,7 +674,8 @@ public override async Task Where_collection_navigation_AsEnumerable_Count(bool a await base.Where_collection_navigation_AsEnumerable_Count(async); AssertSql( - @"SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail], [o2].[PeriodEnd], [o2].[PeriodStart] +""" +SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail], [o2].[PeriodEnd], [o2].[PeriodStart] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o2] ON [o0].[ClientId] = [o2].[OrderClientId] AND [o0].[Id] = [o2].[OrderId] @@ -612,7 +683,8 @@ public override async Task Where_collection_navigation_AsEnumerable_Count(bool a SELECT COUNT(*) FROM [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] WHERE [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId]) = 0 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId] +"""); } public override async Task Where_collection_navigation_ToList_Count_member(bool async) @@ -620,7 +692,8 @@ public override async Task Where_collection_navigation_ToList_Count_member(bool await base.Where_collection_navigation_ToList_Count_member(async); AssertSql( - @"SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail], [o2].[PeriodEnd], [o2].[PeriodStart] +""" +SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail], [o2].[PeriodEnd], [o2].[PeriodStart] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o2] ON [o0].[ClientId] = [o2].[OrderClientId] AND [o0].[Id] = [o2].[OrderId] @@ -628,7 +701,8 @@ public override async Task Where_collection_navigation_ToList_Count_member(bool SELECT COUNT(*) FROM [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] WHERE [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId]) = 0 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId] +"""); } public override async Task Where_collection_navigation_ToArray_Length_member(bool async) @@ -636,7 +710,8 @@ public override async Task Where_collection_navigation_ToArray_Length_member(boo await base.Where_collection_navigation_ToArray_Length_member(async); AssertSql( - @"SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail], [o2].[PeriodEnd], [o2].[PeriodStart] +""" +SELECT [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId], [o2].[Id], [o2].[Detail], [o2].[PeriodEnd], [o2].[PeriodStart] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o2] ON [o0].[ClientId] = [o2].[OrderClientId] AND [o0].[Id] = [o2].[OrderId] @@ -644,7 +719,8 @@ public override async Task Where_collection_navigation_ToArray_Length_member(boo SELECT COUNT(*) FROM [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] WHERE [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId]) = 0 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id], [o2].[OrderClientId], [o2].[OrderId] +"""); } public override async Task Can_query_on_indexer_properties(bool async) @@ -652,7 +728,8 @@ public override async Task Can_query_on_indexer_properties(bool async) await base.Can_query_on_indexer_properties(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] @@ -660,7 +737,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[Name] = N'Mona Cy' -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Can_query_on_owned_indexer_properties(bool async) @@ -668,9 +746,11 @@ public override async Task Can_query_on_owned_indexer_properties(bool async) await base.Can_query_on_owned_indexer_properties(async); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -WHERE [o].[PersonAddress_ZipCode] = 38654"); +WHERE [o].[PersonAddress_ZipCode] = 38654 +"""); } public override async Task Can_query_on_indexer_property_when_property_name_from_closure(bool async) @@ -678,9 +758,11 @@ public override async Task Can_query_on_indexer_property_when_property_name_from await base.Can_query_on_indexer_property_when_property_name_from_closure(async); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -WHERE [o].[Name] = N'Mona Cy'"); +WHERE [o].[Name] = N'Mona Cy' +"""); } public override async Task Can_project_indexer_properties(bool async) @@ -688,8 +770,10 @@ public override async Task Can_project_indexer_properties(bool async) await base.Can_project_indexer_properties(async); AssertSql( - @"SELECT [o].[Name] -FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o]"); +""" +SELECT [o].[Name] +FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] +"""); } public override async Task Can_project_owned_indexer_properties(bool async) @@ -697,8 +781,10 @@ public override async Task Can_project_owned_indexer_properties(bool async) await base.Can_project_owned_indexer_properties(async); AssertSql( - @"SELECT [o].[PersonAddress_AddressLine] -FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o]"); +""" +SELECT [o].[PersonAddress_AddressLine] +FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] +"""); } public override async Task Can_project_indexer_properties_converted(bool async) @@ -706,8 +792,10 @@ public override async Task Can_project_indexer_properties_converted(bool async) await base.Can_project_indexer_properties_converted(async); AssertSql( - @"SELECT [o].[Name] -FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o]"); +""" +SELECT [o].[Name] +FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] +"""); } public override async Task Can_project_owned_indexer_properties_converted(bool async) @@ -715,8 +803,10 @@ public override async Task Can_project_owned_indexer_properties_converted(bool a await base.Can_project_owned_indexer_properties_converted(async); AssertSql( - @"SELECT [o].[PersonAddress_AddressLine] -FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o]"); +""" +SELECT [o].[PersonAddress_AddressLine] +FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] +"""); } public override async Task Can_OrderBy_indexer_properties(bool async) @@ -724,14 +814,16 @@ public override async Task Can_OrderBy_indexer_properties(bool async) await base.Can_OrderBy_indexer_properties(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] -ORDER BY [o].[Name], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Name], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Can_OrderBy_indexer_properties_converted(bool async) @@ -739,9 +831,11 @@ public override async Task Can_OrderBy_indexer_properties_converted(bool async) await base.Can_OrderBy_indexer_properties_converted(async); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -ORDER BY [o].[Name], [o].[Id]"); +ORDER BY [o].[Name], [o].[Id] +"""); } public override async Task Can_OrderBy_owned_indexer_properties(bool async) @@ -749,9 +843,11 @@ public override async Task Can_OrderBy_owned_indexer_properties(bool async) await base.Can_OrderBy_owned_indexer_properties(async); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -ORDER BY [o].[PersonAddress_ZipCode], [o].[Id]"); +ORDER BY [o].[PersonAddress_ZipCode], [o].[Id] +"""); } public override async Task Can_OrderBy_owened_indexer_properties_converted(bool async) @@ -759,9 +855,11 @@ public override async Task Can_OrderBy_owened_indexer_properties_converted(bool await base.Can_OrderBy_owened_indexer_properties_converted(async); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -ORDER BY [o].[PersonAddress_ZipCode], [o].[Id]"); +ORDER BY [o].[PersonAddress_ZipCode], [o].[Id] +"""); } public override async Task Can_group_by_indexer_property(bool isAsync) @@ -769,9 +867,11 @@ public override async Task Can_group_by_indexer_property(bool isAsync) await base.Can_group_by_indexer_property(isAsync); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -GROUP BY [o].[Name]"); +GROUP BY [o].[Name] +"""); } public override async Task Can_group_by_converted_indexer_property(bool isAsync) @@ -779,9 +879,11 @@ public override async Task Can_group_by_converted_indexer_property(bool isAsync) await base.Can_group_by_converted_indexer_property(isAsync); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -GROUP BY [o].[Name]"); +GROUP BY [o].[Name] +"""); } public override async Task Can_group_by_owned_indexer_property(bool isAsync) @@ -789,9 +891,11 @@ public override async Task Can_group_by_owned_indexer_property(bool isAsync) await base.Can_group_by_owned_indexer_property(isAsync); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -GROUP BY [o].[PersonAddress_ZipCode]"); +GROUP BY [o].[PersonAddress_ZipCode] +"""); } public override async Task Can_group_by_converted_owned_indexer_property(bool isAsync) @@ -799,9 +903,11 @@ public override async Task Can_group_by_converted_owned_indexer_property(bool is await base.Can_group_by_converted_owned_indexer_property(isAsync); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -GROUP BY [o].[PersonAddress_ZipCode]"); +GROUP BY [o].[PersonAddress_ZipCode] +"""); } public override async Task Can_join_on_indexer_property_on_query(bool isAsync) @@ -809,9 +915,11 @@ public override async Task Can_join_on_indexer_property_on_query(bool isAsync) await base.Can_join_on_indexer_property_on_query(isAsync); AssertSql( - @"SELECT [o].[Id], [o0].[PersonAddress_Country_Name] AS [Name] +""" +SELECT [o].[Id], [o0].[PersonAddress_Country_Name] AS [Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -INNER JOIN [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[PersonAddress_ZipCode] = [o0].[PersonAddress_ZipCode]"); +INNER JOIN [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[PersonAddress_ZipCode] = [o0].[PersonAddress_ZipCode] +"""); } public override async Task Projecting_indexer_property_ignores_include(bool isAsync) @@ -819,8 +927,10 @@ public override async Task Projecting_indexer_property_ignores_include(bool isAs await base.Projecting_indexer_property_ignores_include(isAsync); AssertSql( - @"SELECT [o].[PersonAddress_ZipCode] AS [Nation] -FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o]"); +""" +SELECT [o].[PersonAddress_ZipCode] AS [Nation] +FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] +"""); } public override async Task Projecting_indexer_property_ignores_include_converted(bool isAsync) @@ -828,8 +938,10 @@ public override async Task Projecting_indexer_property_ignores_include_converted await base.Projecting_indexer_property_ignores_include_converted(isAsync); AssertSql( - @"SELECT [o].[PersonAddress_ZipCode] AS [Nation] -FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o]"); +""" +SELECT [o].[PersonAddress_ZipCode] AS [Nation] +FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] +"""); } public override async Task Indexer_property_is_pushdown_into_subquery(bool isAsync) @@ -837,12 +949,14 @@ public override async Task Indexer_property_is_pushdown_into_subquery(bool isAsy await base.Indexer_property_is_pushdown_into_subquery(isAsync); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] WHERE ( SELECT TOP(1) [o0].[Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] - WHERE [o0].[Id] = [o].[Id]) = N'Mona Cy'"); + WHERE [o0].[Id] = [o].[Id]) = N'Mona Cy' +"""); } public override async Task Can_query_indexer_property_on_owned_collection(bool isAsync) @@ -850,12 +964,14 @@ public override async Task Can_query_indexer_property_on_owned_collection(bool i await base.Can_query_indexer_property_on_owned_collection(isAsync); AssertSql( - @"SELECT [o].[Name] +""" +SELECT [o].[Name] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] WHERE ( SELECT COUNT(*) FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] - WHERE [o].[Id] = [o0].[ClientId] AND DATEPART(year, [o0].[OrderDate]) = 2018) = 1"); + WHERE [o].[Id] = [o0].[ClientId] AND DATEPART(year, [o0].[OrderDate]) = 2018) = 1 +"""); } public override async Task Query_for_base_type_loads_all_owned_navs_split(bool async) @@ -863,20 +979,26 @@ public override async Task Query_for_base_type_loads_all_owned_navs_split(bool a await base.Query_for_base_type_loads_all_owned_navs_split(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -ORDER BY [o].[Id]", - // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id] +ORDER BY [o].[Id] +""", + // +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]", - // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [o0].[ClientId], [o0].[Id] +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +""", + // +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Query_for_branch_type_loads_all_owned_navs_split(bool async) @@ -884,23 +1006,29 @@ public override async Task Query_for_branch_type_loads_all_owned_navs_split(bool await base.Query_for_branch_type_loads_all_owned_navs_split(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] WHERE [o].[Discriminator] IN (N'Branch', N'LeafA') -ORDER BY [o].[Id]", - // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id] +ORDER BY [o].[Id] +""", + // +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] WHERE [o].[Discriminator] IN (N'Branch', N'LeafA') -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]", - // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [o0].[ClientId], [o0].[Id] +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +""", + // +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] WHERE [o].[Discriminator] IN (N'Branch', N'LeafA') -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Query_when_subquery_split(bool async) @@ -908,16 +1036,19 @@ public override async Task Query_when_subquery_split(bool async) await base.Query_when_subquery_split(async); AssertSql( - @"@__p_0='5' +""" +@__p_0='5' SELECT TOP(@__p_0) [t].[Id], [t].[Discriminator], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[PersonAddress_AddressLine], [t].[PeriodEnd0], [t].[PeriodStart0], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM ( SELECT DISTINCT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd] AS [PeriodEnd0], [o].[PeriodStart] AS [PeriodStart0], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] ) AS [t] -ORDER BY [t].[Id]", - // - @"@__p_0='5' +ORDER BY [t].[Id] +""", + // +""" +@__p_0='5' SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [t0].[Id] FROM ( @@ -929,9 +1060,11 @@ SELECT TOP(@__p_0) [t].[Id] ORDER BY [t].[Id] ) AS [t0] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [t0].[Id] = [o0].[ClientId] -ORDER BY [t0].[Id], [o0].[ClientId], [o0].[Id]", - // - @"@__p_0='5' +ORDER BY [t0].[Id], [o0].[ClientId], [o0].[Id] +""", + // +""" +@__p_0='5' SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [t0].[Id], [o0].[ClientId], [o0].[Id] FROM ( @@ -944,7 +1077,8 @@ ORDER BY [t].[Id] ) AS [t0] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [t0].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] -ORDER BY [t0].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [t0].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Project_multiple_owned_navigations_split(bool async) @@ -952,23 +1086,29 @@ public override async Task Project_multiple_owned_navigations_split(bool async) await base.Project_multiple_owned_navigations_split(async); AssertSql( - @"SELECT [o].[Id], [p].[Id], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId] +""" +SELECT [o].[Id], [p].[Id], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] -ORDER BY [o].[Id], [p].[Id]", +ORDER BY [o].[Id], [p].[Id] +""", // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id], [p].[Id] +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id], [p].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] -ORDER BY [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id]", +ORDER BY [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id] +""", // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id] +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] -ORDER BY [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [p].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection_split(bool async) @@ -976,16 +1116,20 @@ public override async Task Navigation_rewrite_on_owned_reference_followed_by_reg await base.Navigation_rewrite_on_owned_reference_followed_by_regular_entity_and_collection_split(async); AssertSql( - @"SELECT [o].[Id], [p].[Id] +""" +SELECT [o].[Id], [p].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] -ORDER BY [o].[Id], [p].[Id]", +ORDER BY [o].[Id], [p].[Id] +""", // - @"SELECT [m].[Id], [m].[Diameter], [m].[PeriodEnd], [m].[PeriodStart], [m].[PlanetId], [o].[Id], [p].[Id] +""" +SELECT [m].[Id], [m].[Diameter], [m].[PeriodEnd], [m].[PeriodStart], [m].[PlanetId], [o].[Id], [p].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [o].[PersonAddress_Country_PlanetId] = [p].[Id] INNER JOIN [Moon] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [m] ON [p].[Id] = [m].[PlanetId] -ORDER BY [o].[Id], [p].[Id]"); +ORDER BY [o].[Id], [p].[Id] +"""); } public override async Task Query_with_OfType_eagerly_loads_correct_owned_navigations_split(bool async) @@ -993,23 +1137,29 @@ public override async Task Query_with_OfType_eagerly_loads_correct_owned_navigat await base.Query_with_OfType_eagerly_loads_correct_owned_navigations_split(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] WHERE [o].[Discriminator] = N'LeafA' -ORDER BY [o].[Id]", - // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id] +ORDER BY [o].[Id] +""", + // +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] WHERE [o].[Discriminator] = N'LeafA' -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]", - // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [o0].[ClientId], [o0].[Id] +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +""", + // +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] WHERE [o].[Discriminator] = N'LeafA' -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Unmapped_property_projection_loads_owned_navigations_split(bool async) @@ -1017,23 +1167,29 @@ public override async Task Unmapped_property_projection_loads_owned_navigations_ await base.Unmapped_property_projection_loads_owned_navigations_split(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] WHERE [o].[Id] = 1 -ORDER BY [o].[Id]", - // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id] +ORDER BY [o].[Id] +""", + // +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] WHERE [o].[Id] = 1 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]", - // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [o0].[ClientId], [o0].[Id] +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +""", + // +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] WHERE [o].[Id] = 1 -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task Can_query_on_indexer_properties_split(bool async) @@ -1041,23 +1197,29 @@ public override async Task Can_query_on_indexer_properties_split(bool async) await base.Can_query_on_indexer_properties_split(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] WHERE [o].[Name] = N'Mona Cy' -ORDER BY [o].[Id]", - // - @"SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id] +ORDER BY [o].[Id] +""", + // +""" +SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] WHERE [o].[Name] = N'Mona Cy' -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]", - // - @"SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [o0].[ClientId], [o0].[Id] +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +""", + // +""" +SELECT [o1].[OrderClientId], [o1].[OrderId], [o1].[Id], [o1].[Detail], [o1].[PeriodEnd], [o1].[PeriodStart], [o].[Id], [o0].[ClientId], [o0].[Id] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] INNER JOIN [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] ON [o].[Id] = [o0].[ClientId] INNER JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] WHERE [o].[Name] = N'Mona Cy' -ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id]"); +ORDER BY [o].[Id], [o0].[ClientId], [o0].[Id] +"""); } public override async Task GroupBy_with_multiple_aggregates_on_owned_navigation_properties(bool async) @@ -1065,7 +1227,8 @@ public override async Task GroupBy_with_multiple_aggregates_on_owned_navigation_ await base.GroupBy_with_multiple_aggregates_on_owned_navigation_properties(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT AVG(CAST([s].[Id] AS float)) FROM ( SELECT [o0].[Id], [o0].[Discriminator], [o0].[Name], [o0].[PeriodEnd], [o0].[PeriodStart], 1 AS [Key], [o0].[PersonAddress_AddressLine], [o0].[PeriodEnd] AS [PeriodEnd0], [o0].[PeriodStart] AS [PeriodStart0], [o0].[PersonAddress_PlaceType], [o0].[PersonAddress_ZipCode], [o0].[PersonAddress_Country_Name], [o0].[PersonAddress_Country_PlanetId] @@ -1094,7 +1257,8 @@ SELECT MAX(CAST(LEN([s1].[Name]) AS int)) SELECT 1 AS [Key] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] ) AS [t] -GROUP BY [t].[Key]"); +GROUP BY [t].[Key] +"""); } public override async Task Ordering_by_identifying_projection(bool async) @@ -1102,14 +1266,16 @@ public override async Task Ordering_by_identifying_projection(bool async) await base.Ordering_by_identifying_projection(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] -ORDER BY [o].[PersonAddress_PlaceType], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[PersonAddress_PlaceType], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Using_from_sql_on_owner_generates_join_with_table_for_owned_shared_dependents(bool async) @@ -1117,9 +1283,10 @@ public override async Task Using_from_sql_on_owner_generates_join_with_table_for await base.Using_from_sql_on_owner_generates_join_with_table_for_owned_shared_dependents(async); AssertSql( - @"SELECT [m].[Id], [m].[Discriminator], [m].[Name], [m].[PeriodEnd], [m].[PeriodStart], [o].[Id], [o0].[Id], [o1].[Id], [o2].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o0].[BranchAddress_BranchName], [o0].[PeriodEnd], [o0].[PeriodStart], [o0].[BranchAddress_PlaceType], [o0].[BranchAddress_Country_Name], [o0].[BranchAddress_Country_PlanetId], [o1].[LeafBAddress_LeafBType], [o1].[PeriodEnd], [o1].[PeriodStart], [o1].[LeafBAddress_PlaceType], [o1].[LeafBAddress_Country_Name], [o1].[LeafBAddress_Country_PlanetId], [o2].[LeafAAddress_LeafType], [o2].[PeriodEnd], [o2].[PeriodStart], [o2].[LeafAAddress_PlaceType], [o2].[LeafAAddress_Country_Name], [o2].[LeafAAddress_Country_PlanetId] +""" +SELECT [m].[Id], [m].[Discriminator], [m].[Name], [m].[PeriodEnd], [m].[PeriodStart], [o].[Id], [o0].[Id], [o1].[Id], [o2].[Id], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o0].[BranchAddress_BranchName], [o0].[PeriodEnd], [o0].[PeriodStart], [o0].[BranchAddress_PlaceType], [o0].[BranchAddress_Country_Name], [o0].[BranchAddress_Country_PlanetId], [o1].[LeafBAddress_LeafBType], [o1].[PeriodEnd], [o1].[PeriodStart], [o1].[LeafBAddress_PlaceType], [o1].[LeafBAddress_Country_Name], [o1].[LeafBAddress_Country_PlanetId], [o2].[LeafAAddress_LeafType], [o2].[PeriodEnd], [o2].[PeriodStart], [o2].[LeafAAddress_PlaceType], [o2].[LeafAAddress_Country_Name], [o2].[LeafAAddress_Country_PlanetId] FROM ( - SELECT * FROM ""OwnedPerson"" + SELECT * FROM "OwnedPerson" ) AS [m] LEFT JOIN [OwnedPerson] AS [o] ON [m].[Id] = [o].[Id] LEFT JOIN [OwnedPerson] AS [o0] ON [m].[Id] = [o0].[Id] @@ -1130,7 +1297,8 @@ LEFT JOIN ( FROM [Order] AS [o3] LEFT JOIN [OrderDetail] AS [o4] ON [o3].[ClientId] = [o4].[OrderClientId] AND [o3].[Id] = [o4].[OrderId] ) AS [t] ON [m].[Id] = [t].[ClientId] -ORDER BY [m].[Id], [o].[Id], [o0].[Id], [o1].[Id], [o2].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [m].[Id], [o].[Id], [o0].[Id], [o1].[Id], [o2].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Projecting_collection_correlated_with_keyless_entity_after_navigation_works_using_parent_identifiers( @@ -1139,11 +1307,13 @@ public override async Task Projecting_collection_correlated_with_keyless_entity_ await base.Projecting_collection_correlated_with_keyless_entity_after_navigation_works_using_parent_identifiers(async); AssertSql( - @"SELECT [b].[Throned_Value], [f].[Id], [b].[Id], [p].[Id], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId] +""" +SELECT [b].[Throned_Value], [f].[Id], [b].[Id], [p].[Id], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId] FROM [Fink] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] LEFT JOIN [Barton] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [b] ON [f].[BartonId] = [b].[Id] LEFT JOIN [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] ON [b].[Throned_Value] <> [p].[Id] OR ([b].[Throned_Value] IS NULL) -ORDER BY [f].[Id], [b].[Id]"); +ORDER BY [f].[Id], [b].[Id] +"""); } public override async Task Filter_on_indexer_using_closure(bool async) @@ -1151,7 +1321,8 @@ public override async Task Filter_on_indexer_using_closure(bool async) await base.Filter_on_indexer_using_closure(async); AssertSql( - @"SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] +""" +SELECT [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PeriodEnd], [o].[PeriodStart], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] LEFT JOIN ( SELECT [o0].[ClientId], [o0].[Id], [o0].[OrderDate], [o0].[PeriodEnd], [o0].[PeriodStart], [o1].[OrderClientId], [o1].[OrderId], [o1].[Id] AS [Id0], [o1].[Detail], [o1].[PeriodEnd] AS [PeriodEnd0], [o1].[PeriodStart] AS [PeriodStart0] @@ -1159,7 +1330,8 @@ LEFT JOIN ( LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t] ON [o].[Id] = [t].[ClientId] WHERE [o].[PersonAddress_ZipCode] = 38654 -ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId]"); +ORDER BY [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId] +"""); } public override async Task Query_loads_reference_nav_automatically_in_projection(bool async) @@ -1167,9 +1339,11 @@ public override async Task Query_loads_reference_nav_automatically_in_projection await base.Query_loads_reference_nav_automatically_in_projection(async); AssertSql( - @"SELECT TOP(2) [b].[Id], [b].[PeriodEnd], [b].[PeriodStart], [b].[Simple], [b].[Throned_Property], [b].[Throned_Value] +""" +SELECT TOP(2) [b].[Id], [b].[PeriodEnd], [b].[PeriodStart], [b].[Simple], [b].[Throned_Property], [b].[Throned_Value] FROM [Fink] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [f] -LEFT JOIN [Barton] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [b] ON [f].[BartonId] = [b].[Id]"); +LEFT JOIN [Barton] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [b] ON [f].[BartonId] = [b].[Id] +"""); } public override async Task Simple_query_entity_with_owned_collection(bool async) @@ -1177,10 +1351,12 @@ public override async Task Simple_query_entity_with_owned_collection(bool async) await base.Simple_query_entity_with_owned_collection(async); AssertSql( - @"SELECT [s].[Id], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[StarId] +""" +SELECT [s].[Id], [s].[Name], [s].[PeriodEnd], [s].[PeriodStart], [e].[Id], [e].[Name], [e].[PeriodEnd], [e].[PeriodStart], [e].[StarId] FROM [Star] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [s] LEFT JOIN [Element] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [e] ON [s].[Id] = [e].[StarId] -ORDER BY [s].[Id]"); +ORDER BY [s].[Id] +"""); } public override async Task Left_join_on_entity_with_owned_navigations(bool async) @@ -1188,7 +1364,8 @@ public override async Task Left_join_on_entity_with_owned_navigations(bool async await base.Left_join_on_entity_with_owned_navigations(async); AssertSql( - @"SELECT [p].[Id], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId], [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0] +""" +SELECT [p].[Id], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId], [o].[Id], [o].[Discriminator], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart], [t].[ClientId], [t].[Id], [t].[OrderDate], [t].[PeriodEnd], [t].[PeriodStart], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t].[Detail], [t].[PeriodEnd0], [t].[PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0] FROM [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] LEFT JOIN [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] ON [p].[Id] = [o].[Id] LEFT JOIN ( @@ -1201,7 +1378,8 @@ LEFT JOIN ( FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o2] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o3] ON [o2].[ClientId] = [o3].[OrderClientId] AND [o2].[Id] = [o3].[OrderId] ) AS [t0] ON [o].[Id] = [t0].[ClientId] -ORDER BY [p].[Id], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [p].[Id], [o].[Id], [t].[ClientId], [t].[Id], [t].[OrderClientId], [t].[OrderId], [t].[Id0], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task Left_join_on_entity_with_owned_navigations_complex(bool async) @@ -1209,7 +1387,8 @@ public override async Task Left_join_on_entity_with_owned_navigations_complex(bo await base.Left_join_on_entity_with_owned_navigations_complex(async); AssertSql( - @"SELECT [p].[Id], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId], [t].[Id], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[StarId], [t].[Id0], [t].[Discriminator], [t].[Name0], [t].[PeriodEnd0], [t].[PeriodStart0], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] +""" +SELECT [p].[Id], [p].[Name], [p].[PeriodEnd], [p].[PeriodStart], [p].[StarId], [t].[Id], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [t].[StarId], [t].[Id0], [t].[Discriminator], [t].[Name0], [t].[PeriodEnd0], [t].[PeriodStart0], [t0].[ClientId], [t0].[Id], [t0].[OrderDate], [t0].[PeriodEnd], [t0].[PeriodStart], [t0].[OrderClientId], [t0].[OrderId], [t0].[Id0], [t0].[Detail], [t0].[PeriodEnd0], [t0].[PeriodStart0], [t].[PersonAddress_AddressLine], [t].[PersonAddress_PlaceType], [t].[PersonAddress_ZipCode], [t].[PersonAddress_Country_Name], [t].[PersonAddress_Country_PlanetId], [t].[BranchAddress_BranchName], [t].[BranchAddress_PlaceType], [t].[BranchAddress_Country_Name], [t].[BranchAddress_Country_PlanetId], [t].[LeafBAddress_LeafBType], [t].[LeafBAddress_PlaceType], [t].[LeafBAddress_Country_Name], [t].[LeafBAddress_Country_PlanetId], [t].[LeafAAddress_LeafType], [t].[LeafAAddress_PlaceType], [t].[LeafAAddress_Country_Name], [t].[LeafAAddress_Country_PlanetId] FROM [Planet] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [p] LEFT JOIN ( SELECT DISTINCT [p0].[Id], [p0].[Name], [p0].[PeriodEnd], [p0].[PeriodStart], [p0].[StarId], [o].[Id] AS [Id0], [o].[Discriminator], [o].[Name] AS [Name0], [o].[PeriodEnd] AS [PeriodEnd0], [o].[PeriodStart] AS [PeriodStart0], [o].[PersonAddress_AddressLine], [o].[PersonAddress_PlaceType], [o].[PersonAddress_ZipCode], [o].[PersonAddress_Country_Name], [o].[PersonAddress_Country_PlanetId], [o].[BranchAddress_BranchName], [o].[BranchAddress_PlaceType], [o].[BranchAddress_Country_Name], [o].[BranchAddress_Country_PlanetId], [o].[LeafBAddress_LeafBType], [o].[LeafBAddress_PlaceType], [o].[LeafBAddress_Country_Name], [o].[LeafBAddress_Country_PlanetId], [o].[LeafAAddress_LeafType], [o].[LeafAAddress_PlaceType], [o].[LeafAAddress_Country_Name], [o].[LeafAAddress_Country_PlanetId] @@ -1221,7 +1400,8 @@ LEFT JOIN ( FROM [Order] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] LEFT JOIN [OrderDetail] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o1] ON [o0].[ClientId] = [o1].[OrderClientId] AND [o0].[Id] = [o1].[OrderId] ) AS [t0] ON [t].[Id0] = [t0].[ClientId] -ORDER BY [p].[Id], [t].[Id], [t].[Id0], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId]"); +ORDER BY [p].[Id], [t].[Id], [t].[Id0], [t0].[ClientId], [t0].[Id], [t0].[OrderClientId], [t0].[OrderId] +"""); } public override async Task GroupBy_aggregate_on_owned_navigation_in_aggregate_selector(bool async) @@ -1229,12 +1409,14 @@ public override async Task GroupBy_aggregate_on_owned_navigation_in_aggregate_se await base.GroupBy_aggregate_on_owned_navigation_in_aggregate_selector(async); AssertSql( - @"SELECT [o].[Id] AS [Key], ( +""" +SELECT [o].[Id] AS [Key], ( SELECT COALESCE(SUM([o0].[PersonAddress_Country_PlanetId]), 0) FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o0] WHERE [o].[Id] = [o0].[Id]) AS [Sum] FROM [OwnedPerson] FOR SYSTEM_TIME AS OF '2010-01-01T00:00:00.0000000' AS [o] -GROUP BY [o].[Id]"); +GROUP BY [o].[Id] +"""); } // not AssertQuery so original (non-temporal) query gets executed, but data is modified diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalTableSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalTableSqlServerTest.cs index 3c2a12b5542..27f7b769e18 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/TemporalTableSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/TemporalTableSqlServerTest.cs @@ -35,9 +35,11 @@ public virtual async Task Temporal_owned_basic(bool async) } AssertSql( - @"SELECT [m].[Id], [m].[Description], [m].[EndTime], [m].[StartTime], [o].[MainEntityDifferentTableId], [o].[Description], [o].[EndTime], [o].[StartTime] +""" +SELECT [m].[Id], [m].[Description], [m].[EndTime], [m].[StartTime], [o].[MainEntityDifferentTableId], [o].[Description], [o].[EndTime], [o].[StartTime] FROM [MainEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m] -LEFT JOIN [OwnedEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [o] ON [m].[Id] = [o].[MainEntityDifferentTableId]"); +LEFT JOIN [OwnedEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [o] ON [m].[Id] = [o].[MainEntityDifferentTableId] +"""); } [ConditionalTheory] @@ -57,11 +59,13 @@ public virtual async Task Temporal_owned_join(bool async) } AssertSql( - @"SELECT [m].[Id], [m].[Description], [m].[EndTime], [m].[StartTime], [o].[MainEntityDifferentTableId], [o].[Description], [o].[EndTime], [o].[StartTime], [m0].[Id], [m0].[Description], [m0].[EndTime], [m0].[StartTime], [o0].[MainEntityDifferentTableId], [o0].[Description], [o0].[EndTime], [o0].[StartTime] +""" +SELECT [m].[Id], [m].[Description], [m].[EndTime], [m].[StartTime], [o].[MainEntityDifferentTableId], [o].[Description], [o].[EndTime], [o].[StartTime], [m0].[Id], [m0].[Description], [m0].[EndTime], [m0].[StartTime], [o0].[MainEntityDifferentTableId], [o0].[Description], [o0].[EndTime], [o0].[StartTime] FROM [MainEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m] INNER JOIN [MainEntityDifferentTable] AS [m0] ON [m].[Id] = [m0].[Id] LEFT JOIN [OwnedEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [o] ON [m].[Id] = [o].[MainEntityDifferentTableId] -LEFT JOIN [OwnedEntityDifferentTable] AS [o0] ON [m0].[Id] = [o0].[MainEntityDifferentTableId]"); +LEFT JOIN [OwnedEntityDifferentTable] AS [o0] ON [m0].[Id] = [o0].[MainEntityDifferentTableId] +"""); } [ConditionalTheory] @@ -81,7 +85,8 @@ public virtual async Task Temporal_owned_set_operation(bool async) } AssertSql( - @"SELECT [t].[Id], [t].[Description], [t].[EndTime], [t].[StartTime], [o].[MainEntityDifferentTableId], [o].[Description], [o].[EndTime], [o].[StartTime] +""" +SELECT [t].[Id], [t].[Description], [t].[EndTime], [t].[StartTime], [o].[MainEntityDifferentTableId], [o].[Description], [o].[EndTime], [o].[StartTime] FROM ( SELECT [m].[Id], [m].[Description], [m].[EndTime], [m].[StartTime] FROM [MainEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m] @@ -89,7 +94,8 @@ public virtual async Task Temporal_owned_set_operation(bool async) SELECT [m0].[Id], [m0].[Description], [m0].[EndTime], [m0].[StartTime] FROM [MainEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m0] ) AS [t] -LEFT JOIN [OwnedEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [o] ON [t].[Id] = [o].[MainEntityDifferentTableId]"); +LEFT JOIN [OwnedEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [o] ON [t].[Id] = [o].[MainEntityDifferentTableId] +"""); } [ConditionalTheory] @@ -102,8 +108,10 @@ public virtual async Task Temporal_owned_FromSql(bool async) var date = new DateTime(2000, 1, 1); var query = context.MainEntitiesDifferentTable.FromSqlRaw( - @"SELECT [m].[Id], [m].[Description], [m].[EndTime], [m].[StartTime] -FROM [MainEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT [m].[Id], [m].[Description], [m].[EndTime], [m].[StartTime] +FROM [MainEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m] +"""); var _ = async ? await query.ToListAsync() : query.ToList(); } @@ -111,12 +119,14 @@ public virtual async Task Temporal_owned_FromSql(bool async) // just making sure we don't do anything weird here - there is no way to extract temporal information // from the FromSql so owned entity will always be treated as a regular query AssertSql( - @"SELECT [m].[Id], [m].[Description], [m].[EndTime], [m].[StartTime], [o].[MainEntityDifferentTableId], [o].[Description], [o].[EndTime], [o].[StartTime] +""" +SELECT [m].[Id], [m].[Description], [m].[EndTime], [m].[StartTime], [o].[MainEntityDifferentTableId], [o].[Description], [o].[EndTime], [o].[StartTime] FROM ( SELECT [m].[Id], [m].[Description], [m].[EndTime], [m].[StartTime] FROM [MainEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m] ) AS [m] -LEFT JOIN [OwnedEntityDifferentTable] AS [o] ON [m].[Id] = [o].[MainEntityDifferentTableId]"); +LEFT JOIN [OwnedEntityDifferentTable] AS [o] ON [m].[Id] = [o].[MainEntityDifferentTableId] +"""); } [ConditionalTheory] @@ -138,7 +148,8 @@ public virtual async Task Temporal_owned_subquery(bool async) } AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT TOP(@__p_0) [t].[Id], [t].[Description], [t].[EndTime], [t].[StartTime], [t].[MainEntityDifferentTableId], [t].[Description0], [t].[EndTime0], [t].[StartTime0] FROM ( @@ -146,7 +157,8 @@ SELECT TOP(@__p_0) [t].[Id], [t].[Description], [t].[EndTime], [t].[StartTime], FROM [MainEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m] LEFT JOIN [OwnedEntityDifferentTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [o] ON [m].[Id] = [o].[MainEntityDifferentTableId] ) AS [t] -ORDER BY [t].[Id] DESC"); +ORDER BY [t].[Id] DESC +"""); } [ConditionalTheory] @@ -167,7 +179,8 @@ public virtual async Task Temporal_owned_complex(bool async) } AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t0].[Id], [t0].[Description], [t0].[EndTime], [t0].[StartTime], [t0].[MainEntityDifferentTableId], [t0].[Description1], [t0].[EndTime1], [t0].[StartTime1], [t0].[Id0], [t0].[Description0], [t0].[EndTime0], [t0].[StartTime0], [t0].[MainEntityDifferentTableId0], [t0].[Description2], [t0].[EndTime2], [t0].[StartTime2], [m1].[Id], [m1].[Description], [m1].[EndTime], [m1].[StartTime], [o1].[MainEntityDifferentTableId], [o1].[Description], [o1].[EndTime], [o1].[StartTime] FROM ( @@ -183,7 +196,8 @@ ORDER BY [t].[Id] DESC ) AS [t0] INNER JOIN [MainEntityDifferentTable] AS [m1] ON [t0].[Id] = [m1].[Id] LEFT JOIN [OwnedEntityDifferentTable] AS [o1] ON [m1].[Id] = [o1].[MainEntityDifferentTableId] -ORDER BY [t0].[Id] DESC"); +ORDER BY [t0].[Id] DESC +"""); } [ConditionalTheory] @@ -204,7 +218,8 @@ public virtual async Task Temporal_owned_complex_with_nontrivial_alias(bool asyn } AssertSql( - @"@__p_0='3' +""" +@__p_0='3' SELECT [t0].[Id], [t0].[Description], [t0].[EndTime], [t0].[StartTime], [t0].[MainEntityDifferentTableId], [t0].[Description1], [t0].[EndTime1], [t0].[StartTime1], [t0].[Id0], [t0].[Description0], [t0].[EndTime0], [t0].[StartTime0], [t0].[MainEntityDifferentTableId0], [t0].[Description2], [t0].[EndTime2], [t0].[StartTime2], [m1].[Id], [m1].[Description], [m1].[EndTime], [m1].[StartTime], [o1].[MainEntityDifferentTableId], [o1].[Description], [o1].[EndTime], [o1].[StartTime] FROM ( @@ -220,7 +235,8 @@ ORDER BY [t].[Id] DESC ) AS [t0] INNER JOIN [MainEntityDifferentTable] AS [m1] ON [t0].[Id] = [m1].[Id] LEFT JOIN [OwnedEntityDifferentTable] AS [o1] ON [m1].[Id] = [o1].[MainEntityDifferentTableId] -ORDER BY [t0].[Id] DESC"); +ORDER BY [t0].[Id] DESC +"""); } [ConditionalTheory] @@ -255,8 +271,10 @@ public virtual async Task Temporal_owned_mapped_to_same_table(bool async) } AssertSql( - @"SELECT [m].[Id], [m].[EndTime], [m].[Name], [m].[StartTime], [m].[EndTime], [m].[OwnedEntity_Name], [m].[OwnedEntity_Number], [m].[StartTime], [m].[OwnedEntity_Nested_Name], [m].[OwnedEntity_Nested_Number] -FROM [MainEntitiesSameTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m]"); +""" +SELECT [m].[Id], [m].[EndTime], [m].[Name], [m].[StartTime], [m].[EndTime], [m].[OwnedEntity_Name], [m].[OwnedEntity_Number], [m].[StartTime], [m].[OwnedEntity_Nested_Name], [m].[OwnedEntity_Nested_Number] +FROM [MainEntitiesSameTable] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m] +"""); } [ConditionalTheory] @@ -273,10 +291,12 @@ public virtual async Task Temporal_owned_many(bool async) } AssertSql( - @"SELECT [m].[Id], [m].[Name], [m].[PeriodEnd], [m].[PeriodStart], [o].[MainEntityManyId], [o].[Id], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart] +""" +SELECT [m].[Id], [m].[Name], [m].[PeriodEnd], [m].[PeriodStart], [o].[MainEntityManyId], [o].[Id], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart] FROM [MainEntitiesMany] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m] LEFT JOIN [OwnedEntityMany] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [o] ON [m].[Id] = [o].[MainEntityManyId] -ORDER BY [m].[Id], [o].[MainEntityManyId]"); +ORDER BY [m].[Id], [o].[MainEntityManyId] +"""); } [ConditionalTheory] @@ -294,7 +314,8 @@ public virtual async Task Temporal_owned_with_union(bool async) } AssertSql( - @"SELECT [t].[Id], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [o].[MainEntityManyId], [o].[Id], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart] +""" +SELECT [t].[Id], [t].[Name], [t].[PeriodEnd], [t].[PeriodStart], [o].[MainEntityManyId], [o].[Id], [o].[Name], [o].[PeriodEnd], [o].[PeriodStart] FROM ( SELECT [m].[Id], [m].[Name], [m].[PeriodEnd], [m].[PeriodStart] FROM [MainEntitiesMany] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [m] @@ -304,7 +325,8 @@ public virtual async Task Temporal_owned_with_union(bool async) WHERE [m0].[Id] < 30 ) AS [t] LEFT JOIN [OwnedEntityMany] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [o] ON [t].[Id] = [o].[MainEntityManyId] -ORDER BY [t].[Id], [o].[MainEntityManyId]"); +ORDER BY [t].[Id], [o].[MainEntityManyId] +"""); } public class MainEntityDifferentTable @@ -446,9 +468,11 @@ public virtual async Task Temporal_can_query_shared_derived_hierarchy(bool async var _ = async ? await query.ToListAsync() : query.ToList(); AssertSql( - @"SELECT [v].[Name], [v].[Capacity], [v].[FuelTank_Discriminator], [v].[End], [v].[FuelType], [v].[Start], [v].[GrainGeometry] +""" +SELECT [v].[Name], [v].[Capacity], [v].[FuelTank_Discriminator], [v].[End], [v].[FuelType], [v].[Start], [v].[GrainGeometry] FROM [Vehicles] FOR SYSTEM_TIME AS OF '2000-01-01T00:00:00.0000000' AS [v] -WHERE ([v].[Capacity] IS NOT NULL) AND ([v].[FuelTank_Discriminator] IS NOT NULL)"); +WHERE ([v].[Capacity] IS NOT NULL) AND ([v].[FuelTank_Discriminator] IS NOT NULL) +"""); } protected Task> InitializeAsync( diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/ToSqlQuerySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Query/ToSqlQuerySqlServerTest.cs index 73362d151c3..4f33fb069e9 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/ToSqlQuerySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/ToSqlQuerySqlServerTest.cs @@ -17,11 +17,13 @@ public override async Task Entity_type_with_navigation_mapped_to_SqlQuery(bool a await base.Entity_type_with_navigation_mapped_to_SqlQuery(async); AssertSql( - @"SELECT [a].[Id], [a].[Name], [a].[PostStatAuthorId], [m].[Count] AS [PostCount] +""" +SELECT [a].[Id], [a].[Name], [a].[PostStatAuthorId], [m].[Count] AS [PostCount] FROM [Authors] AS [a] LEFT JOIN ( SELECT * FROM PostStats -) AS [m] ON [a].[PostStatAuthorId] = [m].[AuthorId]"); +) AS [m] ON [a].[PostStatAuthorId] = [m].[AuthorId] +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.SqlServer.FunctionalTests/Query/UdfDbFunctionSqlServerTests.cs b/test/EFCore.SqlServer.FunctionalTests/Query/UdfDbFunctionSqlServerTests.cs index 8551bc8d607..7ca3199af4f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Query/UdfDbFunctionSqlServerTests.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Query/UdfDbFunctionSqlServerTests.cs @@ -23,9 +23,11 @@ public override void Scalar_Function_Extension_Method_Static() base.Scalar_Function_Extension_Method_Static(); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE IsDate([c].[FirstName]) = CAST(0 AS bit)"); +WHERE IsDate([c].[FirstName]) = CAST(0 AS bit) +"""); } public override void Scalar_Function_With_Translator_Translates_Static() @@ -33,11 +35,13 @@ public override void Scalar_Function_With_Translator_Translates_Static() base.Scalar_Function_With_Translator_Translates_Static(); AssertSql( - @"@__customerId_0='3' +""" +@__customerId_0='3' SELECT TOP(2) len([c].[LastName]) FROM [Customers] AS [c] -WHERE [c].[Id] = @__customerId_0"); +WHERE [c].[Id] = @__customerId_0 +"""); } public override void Scalar_Function_Constant_Parameter_Static() @@ -45,10 +49,12 @@ public override void Scalar_Function_Constant_Parameter_Static() base.Scalar_Function_Constant_Parameter_Static(); AssertSql( - @"@__customerId_0='1' +""" +@__customerId_0='1' SELECT [dbo].[CustomerOrderCount](@__customerId_0) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override void Scalar_Function_Anonymous_Type_Select_Correlated_Static() @@ -56,9 +62,11 @@ public override void Scalar_Function_Anonymous_Type_Select_Correlated_Static() base.Scalar_Function_Anonymous_Type_Select_Correlated_Static(); AssertSql( - @"SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount]([c].[Id]) AS [OrderCount] +""" +SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount]([c].[Id]) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = 1"); +WHERE [c].[Id] = 1 +"""); } public override void Scalar_Function_Anonymous_Type_Select_Not_Correlated_Static() @@ -66,9 +74,11 @@ public override void Scalar_Function_Anonymous_Type_Select_Not_Correlated_Static base.Scalar_Function_Anonymous_Type_Select_Not_Correlated_Static(); AssertSql( - @"SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](1) AS [OrderCount] +""" +SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](1) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = 1"); +WHERE [c].[Id] = 1 +"""); } public override void Scalar_Function_Anonymous_Type_Select_Parameter_Static() @@ -76,11 +86,13 @@ public override void Scalar_Function_Anonymous_Type_Select_Parameter_Static() base.Scalar_Function_Anonymous_Type_Select_Parameter_Static(); AssertSql( - @"@__customerId_0='1' +""" +@__customerId_0='1' SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](@__customerId_0) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = @__customerId_0"); +WHERE [c].[Id] = @__customerId_0 +"""); } public override void Scalar_Function_Anonymous_Type_Select_Nested_Static() @@ -88,12 +100,14 @@ public override void Scalar_Function_Anonymous_Type_Select_Nested_Static() base.Scalar_Function_Anonymous_Type_Select_Nested_Static(); AssertSql( - @"@__starCount_1='3' +""" +@__starCount_1='3' @__customerId_0='3' SELECT TOP(2) [c].[LastName], [dbo].[StarValue](@__starCount_1, [dbo].[CustomerOrderCount](@__customerId_0)) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = @__customerId_0"); +WHERE [c].[Id] = @__customerId_0 +"""); } public override void Scalar_Function_Where_Correlated_Static() @@ -101,9 +115,11 @@ public override void Scalar_Function_Where_Correlated_Static() base.Scalar_Function_Where_Correlated_Static(); AssertSql( - @"SELECT LOWER(CONVERT(varchar(11), [c].[Id])) +""" +SELECT LOWER(CONVERT(varchar(11), [c].[Id])) FROM [Customers] AS [c] -WHERE [dbo].[IsTopCustomer]([c].[Id]) = CAST(1 AS bit)"); +WHERE [dbo].[IsTopCustomer]([c].[Id]) = CAST(1 AS bit) +"""); } public override void Scalar_Function_Where_Not_Correlated_Static() @@ -111,11 +127,13 @@ public override void Scalar_Function_Where_Not_Correlated_Static() base.Scalar_Function_Where_Not_Correlated_Static(); AssertSql( - @"@__startDate_0='2000-04-01T00:00:00.0000000' (Nullable = true) +""" +@__startDate_0='2000-04-01T00:00:00.0000000' (Nullable = true) SELECT TOP(2) [c].[Id] FROM [Customers] AS [c] -WHERE [dbo].[GetCustomerWithMostOrdersAfterDate](@__startDate_0) = [c].[Id]"); +WHERE [dbo].[GetCustomerWithMostOrdersAfterDate](@__startDate_0) = [c].[Id] +"""); } public override void Scalar_Function_Where_Parameter_Static() @@ -123,11 +141,13 @@ public override void Scalar_Function_Where_Parameter_Static() base.Scalar_Function_Where_Parameter_Static(); AssertSql( - @"@__period_0='0' +""" +@__period_0='0' SELECT TOP(2) [c].[Id] FROM [Customers] AS [c] -WHERE [c].[Id] = [dbo].[GetCustomerWithMostOrdersAfterDate]([dbo].[GetReportingPeriodStartDate](@__period_0))"); +WHERE [c].[Id] = [dbo].[GetCustomerWithMostOrdersAfterDate]([dbo].[GetReportingPeriodStartDate](@__period_0)) +"""); } public override void Scalar_Function_Where_Nested_Static() @@ -135,9 +155,11 @@ public override void Scalar_Function_Where_Nested_Static() base.Scalar_Function_Where_Nested_Static(); AssertSql( - @"SELECT TOP(2) [c].[Id] +""" +SELECT TOP(2) [c].[Id] FROM [Customers] AS [c] -WHERE [c].[Id] = [dbo].[GetCustomerWithMostOrdersAfterDate]([dbo].[GetReportingPeriodStartDate](0))"); +WHERE [c].[Id] = [dbo].[GetCustomerWithMostOrdersAfterDate]([dbo].[GetReportingPeriodStartDate](0)) +"""); } public override void Scalar_Function_Let_Correlated_Static() @@ -145,9 +167,11 @@ public override void Scalar_Function_Let_Correlated_Static() base.Scalar_Function_Let_Correlated_Static(); AssertSql( - @"SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount]([c].[Id]) AS [OrderCount] +""" +SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount]([c].[Id]) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = 2"); +WHERE [c].[Id] = 2 +"""); } public override void Scalar_Function_Let_Not_Correlated_Static() @@ -155,9 +179,11 @@ public override void Scalar_Function_Let_Not_Correlated_Static() base.Scalar_Function_Let_Not_Correlated_Static(); AssertSql( - @"SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](2) AS [OrderCount] +""" +SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](2) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = 2"); +WHERE [c].[Id] = 2 +"""); } public override void Scalar_Function_Let_Not_Parameter_Static() @@ -165,11 +191,13 @@ public override void Scalar_Function_Let_Not_Parameter_Static() base.Scalar_Function_Let_Not_Parameter_Static(); AssertSql( - @"@__customerId_0='2' +""" +@__customerId_0='2' SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](@__customerId_0) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = @__customerId_0"); +WHERE [c].[Id] = @__customerId_0 +"""); } public override void Scalar_Function_Let_Nested_Static() @@ -177,12 +205,14 @@ public override void Scalar_Function_Let_Nested_Static() base.Scalar_Function_Let_Nested_Static(); AssertSql( - @"@__starCount_0='3' +""" +@__starCount_0='3' @__customerId_1='1' SELECT TOP(2) [c].[LastName], [dbo].[StarValue](@__starCount_0, [dbo].[CustomerOrderCount](@__customerId_1)) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = @__customerId_1"); +WHERE [c].[Id] = @__customerId_1 +"""); } public override void Scalar_Nested_Function_Unwind_Client_Eval_Select_Static() @@ -190,9 +220,11 @@ public override void Scalar_Nested_Function_Unwind_Client_Eval_Select_Static() base.Scalar_Nested_Function_Unwind_Client_Eval_Select_Static(); AssertSql( - @"SELECT [c].[Id] +""" +SELECT [c].[Id] FROM [Customers] AS [c] -ORDER BY [c].[Id]"); +ORDER BY [c].[Id] +"""); } public override void Scalar_Nested_Function_UDF_BCL_Static() @@ -200,9 +232,11 @@ public override void Scalar_Nested_Function_UDF_BCL_Static() base.Scalar_Nested_Function_UDF_BCL_Static(); AssertSql( - @"SELECT TOP(2) [c].[Id] +""" +SELECT TOP(2) [c].[Id] FROM [Customers] AS [c] -WHERE 3 = [dbo].[CustomerOrderCount](ABS([c].[Id]))"); +WHERE 3 = [dbo].[CustomerOrderCount](ABS([c].[Id])) +"""); } public override void Nullable_navigation_property_access_preserves_schema_for_sql_function() @@ -210,10 +244,12 @@ public override void Nullable_navigation_property_access_preserves_schema_for_sq base.Nullable_navigation_property_access_preserves_schema_for_sql_function(); AssertSql( - @"SELECT TOP(1) [dbo].[IdentityString]([c].[FirstName]) +""" +SELECT TOP(1) [dbo].[IdentityString]([c].[FirstName]) FROM [Orders] AS [o] INNER JOIN [Customers] AS [c] ON [o].[CustomerId] = [c].[Id] -ORDER BY [o].[Id]"); +ORDER BY [o].[Id] +"""); } public override void Compare_function_without_null_propagation_to_null() @@ -221,10 +257,12 @@ public override void Compare_function_without_null_propagation_to_null() base.Compare_function_without_null_propagation_to_null(); AssertSql( - @"SELECT [c].[Id], [c].[FirstName], [c].[LastName] +""" +SELECT [c].[Id], [c].[FirstName], [c].[LastName] FROM [Customers] AS [c] WHERE [dbo].[IdentityString]([c].[FirstName]) IS NOT NULL -ORDER BY [c].[Id]"); +ORDER BY [c].[Id] +"""); } public override void Compare_function_with_null_propagation_to_null() @@ -232,10 +270,12 @@ public override void Compare_function_with_null_propagation_to_null() base.Compare_function_with_null_propagation_to_null(); AssertSql( - @"SELECT [c].[Id], [c].[FirstName], [c].[LastName] +""" +SELECT [c].[Id], [c].[FirstName], [c].[LastName] FROM [Customers] AS [c] WHERE [c].[FirstName] IS NOT NULL -ORDER BY [c].[Id]"); +ORDER BY [c].[Id] +"""); } public override void Compare_non_nullable_function_to_null_gets_optimized() @@ -243,9 +283,11 @@ public override void Compare_non_nullable_function_to_null_gets_optimized() base.Compare_non_nullable_function_to_null_gets_optimized(); AssertSql( - @"SELECT [c].[Id], [c].[FirstName], [c].[LastName] +""" +SELECT [c].[Id], [c].[FirstName], [c].[LastName] FROM [Customers] AS [c] -ORDER BY [c].[Id]"); +ORDER BY [c].[Id] +"""); } public override void Compare_functions_returning_int_that_take_nullable_param_which_propagates_null() @@ -253,10 +295,12 @@ public override void Compare_functions_returning_int_that_take_nullable_param_wh base.Compare_functions_returning_int_that_take_nullable_param_which_propagates_null(); AssertSql( - @"SELECT [c].[Id], [c].[FirstName], [c].[LastName] +""" +SELECT [c].[Id], [c].[FirstName], [c].[LastName] FROM [Customers] AS [c] WHERE ([dbo].[StringLength]([c].[FirstName]) <> [dbo].[StringLength]([c].[LastName]) OR ([c].[FirstName] IS NULL) OR ([c].[LastName] IS NULL)) AND (([c].[FirstName] IS NOT NULL) OR ([c].[LastName] IS NOT NULL)) -ORDER BY [c].[Id]"); +ORDER BY [c].[Id] +"""); } public override void Scalar_Function_SqlFragment_Static() @@ -264,9 +308,11 @@ public override void Scalar_Function_SqlFragment_Static() base.Scalar_Function_SqlFragment_Static(); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE [c].[LastName] = 'Two'"); +WHERE [c].[LastName] = 'Two' +"""); } public override void Scalar_Function_with_InExpression_translation() @@ -274,9 +320,11 @@ public override void Scalar_Function_with_InExpression_translation() base.Scalar_Function_with_InExpression_translation(); AssertSql( - @"SELECT [c].[Id], [c].[FirstName], [c].[LastName] +""" +SELECT [c].[Id], [c].[FirstName], [c].[LastName] FROM [Customers] AS [c] -WHERE SUBSTRING([c].[FirstName], 0 + 1, 1) IN (N'A', N'B', N'C')"); +WHERE SUBSTRING([c].[FirstName], 0 + 1, 1) IN (N'A', N'B', N'C') +"""); } public override void Scalar_Function_with_nested_InExpression_translation() @@ -284,12 +332,14 @@ public override void Scalar_Function_with_nested_InExpression_translation() base.Scalar_Function_with_nested_InExpression_translation(); AssertSql( - @"SELECT [c].[Id], [c].[FirstName], [c].[LastName] +""" +SELECT [c].[Id], [c].[FirstName], [c].[LastName] FROM [Customers] AS [c] WHERE CASE WHEN SUBSTRING([c].[FirstName], 0 + 1, 1) IN (N'A', N'B', N'C') AND (SUBSTRING([c].[FirstName], 0 + 1, 1) IS NOT NULL) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END IN (CAST(1 AS bit), CAST(0 AS bit))"); +END IN (CAST(1 AS bit), CAST(0 AS bit)) +"""); } #endregion @@ -301,9 +351,11 @@ public override void Scalar_Function_Non_Static() base.Scalar_Function_Non_Static(); AssertSql( - @"SELECT TOP(2) [dbo].[StarValue](4, [c].[Id]) AS [Id], [dbo].[DollarValue](2, [c].[LastName]) AS [LastName] +""" +SELECT TOP(2) [dbo].[StarValue](4, [c].[Id]) AS [Id], [dbo].[DollarValue](2, [c].[LastName]) AS [LastName] FROM [Customers] AS [c] -WHERE [c].[Id] = 1"); +WHERE [c].[Id] = 1 +"""); } public override void Scalar_Function_Extension_Method_Instance() @@ -311,9 +363,11 @@ public override void Scalar_Function_Extension_Method_Instance() base.Scalar_Function_Extension_Method_Instance(); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM [Customers] AS [c] -WHERE IsDate([c].[FirstName]) = CAST(0 AS bit)"); +WHERE IsDate([c].[FirstName]) = CAST(0 AS bit) +"""); } public override void Scalar_Function_With_Translator_Translates_Instance() @@ -321,11 +375,13 @@ public override void Scalar_Function_With_Translator_Translates_Instance() base.Scalar_Function_With_Translator_Translates_Instance(); AssertSql( - @"@__customerId_0='3' +""" +@__customerId_0='3' SELECT TOP(2) len([c].[LastName]) FROM [Customers] AS [c] -WHERE [c].[Id] = @__customerId_0"); +WHERE [c].[Id] = @__customerId_0 +"""); } public override void Scalar_Function_Constant_Parameter_Instance() @@ -333,10 +389,12 @@ public override void Scalar_Function_Constant_Parameter_Instance() base.Scalar_Function_Constant_Parameter_Instance(); AssertSql( - @"@__customerId_1='1' +""" +@__customerId_1='1' SELECT [dbo].[CustomerOrderCount](@__customerId_1) -FROM [Customers] AS [c]"); +FROM [Customers] AS [c] +"""); } public override void Scalar_Function_Anonymous_Type_Select_Correlated_Instance() @@ -344,9 +402,11 @@ public override void Scalar_Function_Anonymous_Type_Select_Correlated_Instance() base.Scalar_Function_Anonymous_Type_Select_Correlated_Instance(); AssertSql( - @"SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount]([c].[Id]) AS [OrderCount] +""" +SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount]([c].[Id]) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = 1"); +WHERE [c].[Id] = 1 +"""); } public override void Scalar_Function_Anonymous_Type_Select_Not_Correlated_Instance() @@ -354,9 +414,11 @@ public override void Scalar_Function_Anonymous_Type_Select_Not_Correlated_Instan base.Scalar_Function_Anonymous_Type_Select_Not_Correlated_Instance(); AssertSql( - @"SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](1) AS [OrderCount] +""" +SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](1) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = 1"); +WHERE [c].[Id] = 1 +"""); } public override void Scalar_Function_Anonymous_Type_Select_Parameter_Instance() @@ -364,11 +426,13 @@ public override void Scalar_Function_Anonymous_Type_Select_Parameter_Instance() base.Scalar_Function_Anonymous_Type_Select_Parameter_Instance(); AssertSql( - @"@__customerId_0='1' +""" +@__customerId_0='1' SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](@__customerId_0) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = @__customerId_0"); +WHERE [c].[Id] = @__customerId_0 +"""); } public override void Scalar_Function_Anonymous_Type_Select_Nested_Instance() @@ -376,12 +440,14 @@ public override void Scalar_Function_Anonymous_Type_Select_Nested_Instance() base.Scalar_Function_Anonymous_Type_Select_Nested_Instance(); AssertSql( - @"@__starCount_2='3' +""" +@__starCount_2='3' @__customerId_0='3' SELECT TOP(2) [c].[LastName], [dbo].[StarValue](@__starCount_2, [dbo].[CustomerOrderCount](@__customerId_0)) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = @__customerId_0"); +WHERE [c].[Id] = @__customerId_0 +"""); } public override void Scalar_Function_Where_Correlated_Instance() @@ -389,9 +455,11 @@ public override void Scalar_Function_Where_Correlated_Instance() base.Scalar_Function_Where_Correlated_Instance(); AssertSql( - @"SELECT LOWER(CONVERT(varchar(11), [c].[Id])) +""" +SELECT LOWER(CONVERT(varchar(11), [c].[Id])) FROM [Customers] AS [c] -WHERE [dbo].[IsTopCustomer]([c].[Id]) = CAST(1 AS bit)"); +WHERE [dbo].[IsTopCustomer]([c].[Id]) = CAST(1 AS bit) +"""); } public override void Scalar_Function_Where_Not_Correlated_Instance() @@ -399,11 +467,13 @@ public override void Scalar_Function_Where_Not_Correlated_Instance() base.Scalar_Function_Where_Not_Correlated_Instance(); AssertSql( - @"@__startDate_1='2000-04-01T00:00:00.0000000' (Nullable = true) +""" +@__startDate_1='2000-04-01T00:00:00.0000000' (Nullable = true) SELECT TOP(2) [c].[Id] FROM [Customers] AS [c] -WHERE [dbo].[GetCustomerWithMostOrdersAfterDate](@__startDate_1) = [c].[Id]"); +WHERE [dbo].[GetCustomerWithMostOrdersAfterDate](@__startDate_1) = [c].[Id] +"""); } public override void Scalar_Function_Where_Parameter_Instance() @@ -411,11 +481,13 @@ public override void Scalar_Function_Where_Parameter_Instance() base.Scalar_Function_Where_Parameter_Instance(); AssertSql( - @"@__period_1='0' +""" +@__period_1='0' SELECT TOP(2) [c].[Id] FROM [Customers] AS [c] -WHERE [c].[Id] = [dbo].[GetCustomerWithMostOrdersAfterDate]([dbo].[GetReportingPeriodStartDate](@__period_1))"); +WHERE [c].[Id] = [dbo].[GetCustomerWithMostOrdersAfterDate]([dbo].[GetReportingPeriodStartDate](@__period_1)) +"""); } public override void Scalar_Function_Where_Nested_Instance() @@ -423,9 +495,11 @@ public override void Scalar_Function_Where_Nested_Instance() base.Scalar_Function_Where_Nested_Instance(); AssertSql( - @"SELECT TOP(2) [c].[Id] +""" +SELECT TOP(2) [c].[Id] FROM [Customers] AS [c] -WHERE [c].[Id] = [dbo].[GetCustomerWithMostOrdersAfterDate]([dbo].[GetReportingPeriodStartDate](0))"); +WHERE [c].[Id] = [dbo].[GetCustomerWithMostOrdersAfterDate]([dbo].[GetReportingPeriodStartDate](0)) +"""); } public override void Scalar_Function_Let_Correlated_Instance() @@ -433,9 +507,11 @@ public override void Scalar_Function_Let_Correlated_Instance() base.Scalar_Function_Let_Correlated_Instance(); AssertSql( - @"SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount]([c].[Id]) AS [OrderCount] +""" +SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount]([c].[Id]) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = 2"); +WHERE [c].[Id] = 2 +"""); } public override void Scalar_Function_Let_Not_Correlated_Instance() @@ -443,9 +519,11 @@ public override void Scalar_Function_Let_Not_Correlated_Instance() base.Scalar_Function_Let_Not_Correlated_Instance(); AssertSql( - @"SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](2) AS [OrderCount] +""" +SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](2) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = 2"); +WHERE [c].[Id] = 2 +"""); } public override void Scalar_Function_Let_Not_Parameter_Instance() @@ -453,11 +531,13 @@ public override void Scalar_Function_Let_Not_Parameter_Instance() base.Scalar_Function_Let_Not_Parameter_Instance(); AssertSql( - @"@__customerId_1='2' +""" +@__customerId_1='2' SELECT TOP(2) [c].[LastName], [dbo].[CustomerOrderCount](@__customerId_1) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = @__customerId_1"); +WHERE [c].[Id] = @__customerId_1 +"""); } public override void Scalar_Function_Let_Nested_Instance() @@ -465,12 +545,14 @@ public override void Scalar_Function_Let_Nested_Instance() base.Scalar_Function_Let_Nested_Instance(); AssertSql( - @"@__starCount_1='3' +""" +@__starCount_1='3' @__customerId_2='1' SELECT TOP(2) [c].[LastName], [dbo].[StarValue](@__starCount_1, [dbo].[CustomerOrderCount](@__customerId_2)) AS [OrderCount] FROM [Customers] AS [c] -WHERE [c].[Id] = @__customerId_2"); +WHERE [c].[Id] = @__customerId_2 +"""); } public override void Scalar_Nested_Function_Unwind_Client_Eval_Select_Instance() @@ -478,9 +560,11 @@ public override void Scalar_Nested_Function_Unwind_Client_Eval_Select_Instance() base.Scalar_Nested_Function_Unwind_Client_Eval_Select_Instance(); AssertSql( - @"SELECT [c].[Id] +""" +SELECT [c].[Id] FROM [Customers] AS [c] -ORDER BY [c].[Id]"); +ORDER BY [c].[Id] +"""); } public override void Scalar_Nested_Function_BCL_UDF_Instance() @@ -488,9 +572,11 @@ public override void Scalar_Nested_Function_BCL_UDF_Instance() base.Scalar_Nested_Function_BCL_UDF_Instance(); AssertSql( - @"SELECT TOP(2) [c].[Id] +""" +SELECT TOP(2) [c].[Id] FROM [Customers] AS [c] -WHERE 3 = ABS([dbo].[CustomerOrderCount]([c].[Id]))"); +WHERE 3 = ABS([dbo].[CustomerOrderCount]([c].[Id])) +"""); } public override void Scalar_Nested_Function_UDF_BCL_Instance() @@ -498,9 +584,11 @@ public override void Scalar_Nested_Function_UDF_BCL_Instance() base.Scalar_Nested_Function_UDF_BCL_Instance(); AssertSql( - @"SELECT TOP(2) [c].[Id] +""" +SELECT TOP(2) [c].[Id] FROM [Customers] AS [c] -WHERE 3 = [dbo].[CustomerOrderCount](ABS([c].[Id]))"); +WHERE 3 = [dbo].[CustomerOrderCount](ABS([c].[Id])) +"""); } #endregion @@ -514,9 +602,11 @@ public override void QF_Stand_Alone() base.QF_Stand_Alone(); AssertSql( - @"SELECT [g].[AmountSold], [g].[ProductId] +""" +SELECT [g].[AmountSold], [g].[ProductId] FROM [dbo].[GetTopTwoSellingProducts]() AS [g] -ORDER BY [g].[ProductId]"); +ORDER BY [g].[ProductId] +"""); } public override void QF_Stand_Alone_Parameter() @@ -524,11 +614,13 @@ public override void QF_Stand_Alone_Parameter() base.QF_Stand_Alone_Parameter(); AssertSql( - @"@__customerId_1='1' +""" +@__customerId_1='1' SELECT [g].[Count], [g].[CustomerId], [g].[Year] FROM [dbo].[GetCustomerOrderCountByYear](@__customerId_1) AS [g] -ORDER BY [g].[Count] DESC"); +ORDER BY [g].[Count] DESC +"""); } public override void QF_CrossApply_Correlated_Select_Anonymous() @@ -536,10 +628,12 @@ public override void QF_CrossApply_Correlated_Select_Anonymous() base.QF_CrossApply_Correlated_Select_Anonymous(); AssertSql( - @"SELECT [c].[Id], [c].[LastName], [g].[Year], [g].[Count] +""" +SELECT [c].[Id], [c].[LastName], [g].[Year], [g].[Count] FROM [Customers] AS [c] CROSS APPLY [dbo].[GetCustomerOrderCountByYear]([c].[Id]) AS [g] -ORDER BY [c].[Id], [g].[Year]"); +ORDER BY [c].[Id], [g].[Year] +"""); } public override void QF_CrossApply_Correlated_Select_QF_Type() @@ -547,10 +641,12 @@ public override void QF_CrossApply_Correlated_Select_QF_Type() base.QF_CrossApply_Correlated_Select_QF_Type(); AssertSql( - @"SELECT [g].[Count], [g].[CustomerId], [g].[Year] +""" +SELECT [g].[Count], [g].[CustomerId], [g].[Year] FROM [Customers] AS [c] CROSS APPLY [dbo].[GetCustomerOrderCountByYear]([c].[Id]) AS [g] -ORDER BY [g].[Year]"); +ORDER BY [g].[Year] +"""); } public override void QF_Select_Direct_In_Anonymous_distinct() @@ -566,11 +662,13 @@ public override void QF_Select_Correlated_Direct_With_Function_Query_Parameter_C base.QF_Select_Correlated_Direct_With_Function_Query_Parameter_Correlated_In_Anonymous(); AssertSql( - @"SELECT [c].[Id], [g].[OrderId], [g].[CustomerId], [g].[OrderDate] +""" +SELECT [c].[Id], [g].[OrderId], [g].[CustomerId], [g].[OrderDate] FROM [Customers] AS [c] OUTER APPLY [dbo].[GetOrdersWithMultipleProducts]([dbo].[AddValues]([c].[Id], 1)) AS [g] WHERE [c].[Id] = 1 -ORDER BY [c].[Id]"); +ORDER BY [c].[Id] +"""); } public override void QF_Select_Correlated_Subquery_In_Anonymous() @@ -578,14 +676,16 @@ public override void QF_Select_Correlated_Subquery_In_Anonymous() base.QF_Select_Correlated_Subquery_In_Anonymous(); AssertSql( - @"SELECT [c].[Id], [t].[OrderId], [t].[CustomerId], [t].[OrderDate] +""" +SELECT [c].[Id], [t].[OrderId], [t].[CustomerId], [t].[OrderDate] FROM [Customers] AS [c] OUTER APPLY ( SELECT [g].[OrderId], [g].[CustomerId], [g].[OrderDate] FROM [dbo].[GetOrdersWithMultipleProducts]([c].[Id]) AS [g] WHERE DATEPART(day, [g].[OrderDate]) = 21 ) AS [t] -ORDER BY [c].[Id]"); +ORDER BY [c].[Id] +"""); } public override void QF_Select_Correlated_Subquery_In_Anonymous_Nested_With_QF() @@ -593,13 +693,15 @@ public override void QF_Select_Correlated_Subquery_In_Anonymous_Nested_With_QF() base.QF_Select_Correlated_Subquery_In_Anonymous_Nested_With_QF(); AssertSql( - @"SELECT [o].[CustomerId], [o].[OrderDate] +""" +SELECT [o].[CustomerId], [o].[OrderDate] FROM [Orders] AS [o] INNER JOIN ( SELECT [c].[Id], [c].[FirstName], [c].[LastName], [g].[OrderId], [g].[CustomerId], [g].[OrderDate] FROM [Customers] AS [c] CROSS APPLY [dbo].[GetOrdersWithMultipleProducts]([c].[Id]) AS [g] -) AS [t] ON [o].[Id] = [t].[OrderId]"); +) AS [t] ON [o].[Id] = [t].[OrderId] +"""); } public override void QF_Correlated_Select_In_Anonymous() @@ -607,10 +709,12 @@ public override void QF_Correlated_Select_In_Anonymous() base.QF_Correlated_Select_In_Anonymous(); AssertSql( - @"SELECT [c].[Id], [c].[LastName], [g].[OrderId], [g].[CustomerId], [g].[OrderDate] +""" +SELECT [c].[Id], [c].[LastName], [g].[OrderId], [g].[CustomerId], [g].[OrderDate] FROM [Customers] AS [c] OUTER APPLY [dbo].[GetOrdersWithMultipleProducts]([c].[Id]) AS [g] -ORDER BY [c].[Id]"); +ORDER BY [c].[Id] +"""); } public override void QF_CrossApply_Correlated_Select_Result() @@ -618,10 +722,12 @@ public override void QF_CrossApply_Correlated_Select_Result() base.QF_CrossApply_Correlated_Select_Result(); AssertSql( - @"SELECT [g].[Count], [g].[CustomerId], [g].[Year] +""" +SELECT [g].[Count], [g].[CustomerId], [g].[Year] FROM [Customers] AS [c] CROSS APPLY [dbo].[GetCustomerOrderCountByYear]([c].[Id]) AS [g] -ORDER BY [g].[Count] DESC, [g].[Year] DESC"); +ORDER BY [g].[Count] DESC, [g].[Year] DESC +"""); } public override void QF_CrossJoin_Not_Correlated() @@ -629,11 +735,13 @@ public override void QF_CrossJoin_Not_Correlated() base.QF_CrossJoin_Not_Correlated(); AssertSql( - @"SELECT [c].[Id], [c].[LastName], [g].[Year], [g].[Count] +""" +SELECT [c].[Id], [c].[LastName], [g].[Year], [g].[Count] FROM [Customers] AS [c] CROSS JOIN [dbo].[GetCustomerOrderCountByYear](2) AS [g] WHERE [c].[Id] = 2 -ORDER BY [g].[Count]"); +ORDER BY [g].[Count] +"""); } public override void QF_CrossJoin_Parameter() @@ -641,13 +749,15 @@ public override void QF_CrossJoin_Parameter() base.QF_CrossJoin_Parameter(); AssertSql( - @"@__custId_1='2' +""" +@__custId_1='2' SELECT [c].[Id], [c].[LastName], [g].[Year], [g].[Count] FROM [Customers] AS [c] CROSS JOIN [dbo].[GetCustomerOrderCountByYear](@__custId_1) AS [g] WHERE [c].[Id] = @__custId_1 -ORDER BY [g].[Count]"); +ORDER BY [g].[Count] +"""); } public override void QF_Join() @@ -655,10 +765,12 @@ public override void QF_Join() base.QF_Join(); AssertSql( - @"SELECT [p].[Id], [p].[Name], [g].[AmountSold] +""" +SELECT [p].[Id], [p].[Name], [g].[AmountSold] FROM [Products] AS [p] INNER JOIN [dbo].[GetTopTwoSellingProducts]() AS [g] ON [p].[Id] = [g].[ProductId] -ORDER BY [p].[Id]"); +ORDER BY [p].[Id] +"""); } public override void QF_LeftJoin_Select_Anonymous() @@ -666,10 +778,12 @@ public override void QF_LeftJoin_Select_Anonymous() base.QF_LeftJoin_Select_Anonymous(); AssertSql( - @"SELECT [p].[Id], [p].[Name], [g].[AmountSold] +""" +SELECT [p].[Id], [p].[Name], [g].[AmountSold] FROM [Products] AS [p] LEFT JOIN [dbo].[GetTopTwoSellingProducts]() AS [g] ON [p].[Id] = [g].[ProductId] -ORDER BY [p].[Id] DESC"); +ORDER BY [p].[Id] DESC +"""); } public override void QF_LeftJoin_Select_Result() @@ -677,10 +791,12 @@ public override void QF_LeftJoin_Select_Result() base.QF_LeftJoin_Select_Result(); AssertSql( - @"SELECT [g].[AmountSold], [g].[ProductId] +""" +SELECT [g].[AmountSold], [g].[ProductId] FROM [Products] AS [p] LEFT JOIN [dbo].[GetTopTwoSellingProducts]() AS [g] ON [p].[Id] = [g].[ProductId] -ORDER BY [p].[Id] DESC"); +ORDER BY [p].[Id] DESC +"""); } public override void QF_OuterApply_Correlated_Select_QF() @@ -688,10 +804,12 @@ public override void QF_OuterApply_Correlated_Select_QF() base.QF_OuterApply_Correlated_Select_QF(); AssertSql( - @"SELECT [g].[Count], [g].[CustomerId], [g].[Year] +""" +SELECT [g].[Count], [g].[CustomerId], [g].[Year] FROM [Customers] AS [c] OUTER APPLY [dbo].[GetCustomerOrderCountByYear]([c].[Id]) AS [g] -ORDER BY [c].[Id], [g].[Year]"); +ORDER BY [c].[Id], [g].[Year] +"""); } public override void QF_OuterApply_Correlated_Select_Entity() @@ -699,11 +817,13 @@ public override void QF_OuterApply_Correlated_Select_Entity() base.QF_OuterApply_Correlated_Select_Entity(); AssertSql( - @"SELECT [c].[Id], [c].[FirstName], [c].[LastName] +""" +SELECT [c].[Id], [c].[FirstName], [c].[LastName] FROM [Customers] AS [c] OUTER APPLY [dbo].[GetCustomerOrderCountByYear]([c].[Id]) AS [g] WHERE [g].[Year] = 2000 -ORDER BY [c].[Id], [g].[Year]"); +ORDER BY [c].[Id], [g].[Year] +"""); } public override void QF_OuterApply_Correlated_Select_Anonymous() @@ -711,10 +831,12 @@ public override void QF_OuterApply_Correlated_Select_Anonymous() base.QF_OuterApply_Correlated_Select_Anonymous(); AssertSql( - @"SELECT [c].[Id], [c].[LastName], [g].[Year], [g].[Count] +""" +SELECT [c].[Id], [c].[LastName], [g].[Year], [g].[Count] FROM [Customers] AS [c] OUTER APPLY [dbo].[GetCustomerOrderCountByYear]([c].[Id]) AS [g] -ORDER BY [c].[Id], [g].[Year]"); +ORDER BY [c].[Id], [g].[Year] +"""); } public override void QF_Nested() @@ -722,13 +844,15 @@ public override void QF_Nested() base.QF_Nested(); AssertSql( - @"@__custId_1='2' +""" +@__custId_1='2' SELECT [c].[Id], [c].[LastName], [g].[Year], [g].[Count] FROM [Customers] AS [c] CROSS JOIN [dbo].[GetCustomerOrderCountByYear]([dbo].[AddValues](1, 1)) AS [g] WHERE [c].[Id] = @__custId_1 -ORDER BY [g].[Year]"); +ORDER BY [g].[Year] +"""); } public override void QF_Correlated_Nested_Func_Call() @@ -736,12 +860,14 @@ public override void QF_Correlated_Nested_Func_Call() base.QF_Correlated_Nested_Func_Call(); AssertSql( - @"@__custId_1='2' +""" +@__custId_1='2' SELECT [c].[Id], [g].[Count], [g].[Year] FROM [Customers] AS [c] CROSS APPLY [dbo].[GetCustomerOrderCountByYear]([dbo].[AddValues]([c].[Id], 1)) AS [g] -WHERE [c].[Id] = @__custId_1"); +WHERE [c].[Id] = @__custId_1 +"""); } public override void QF_Correlated_Func_Call_With_Navigation() @@ -749,14 +875,16 @@ public override void QF_Correlated_Func_Call_With_Navigation() base.QF_Correlated_Func_Call_With_Navigation(); AssertSql( - @"SELECT [c].[Id], [t].[CustomerName], [t].[OrderId], [t].[Id] +""" +SELECT [c].[Id], [t].[CustomerName], [t].[OrderId], [t].[Id] FROM [Customers] AS [c] OUTER APPLY ( SELECT [c0].[LastName] AS [CustomerName], [g].[OrderId], [c0].[Id] FROM [dbo].[GetOrdersWithMultipleProducts]([c].[Id]) AS [g] INNER JOIN [Customers] AS [c0] ON [g].[CustomerId] = [c0].[Id] ) AS [t] -ORDER BY [c].[Id], [t].[OrderId]"); +ORDER BY [c].[Id], [t].[OrderId] +"""); } public override void DbSet_mapped_to_function() @@ -764,9 +892,11 @@ public override void DbSet_mapped_to_function() base.DbSet_mapped_to_function(); AssertSql( - @"SELECT [g].[AmountSold], [g].[ProductId] +""" +SELECT [g].[AmountSold], [g].[ProductId] FROM [dbo].[GetTopTwoSellingProducts]() AS [g] -ORDER BY [g].[ProductId]"); +ORDER BY [g].[ProductId] +"""); } public override void TVF_backing_entity_type_mapped_to_view() @@ -774,9 +904,11 @@ public override void TVF_backing_entity_type_mapped_to_view() base.TVF_backing_entity_type_mapped_to_view(); AssertSql( - @"SELECT [c].[Id], [c].[FirstName], [c].[LastName] +""" +SELECT [c].[Id], [c].[FirstName], [c].[LastName] FROM [Customers] AS [c] -ORDER BY [c].[FirstName]"); +ORDER BY [c].[FirstName] +"""); } public override void Udf_with_argument_being_comparison_to_null_parameter() @@ -784,13 +916,15 @@ public override void Udf_with_argument_being_comparison_to_null_parameter() base.Udf_with_argument_being_comparison_to_null_parameter(); AssertSql( - @"SELECT [g].[Count], [g].[CustomerId], [g].[Year] +""" +SELECT [g].[Count], [g].[CustomerId], [g].[Year] FROM [Customers] AS [c] CROSS APPLY [dbo].[GetCustomerOrderCountByYearOnlyFrom2000]([c].[Id], CASE WHEN [c].[LastName] IS NOT NULL THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END) AS [g] -ORDER BY [g].[Year]"); +ORDER BY [g].[Year] +"""); } public override void Udf_with_argument_being_comparison_of_nullable_columns() @@ -798,13 +932,15 @@ public override void Udf_with_argument_being_comparison_of_nullable_columns() base.Udf_with_argument_being_comparison_of_nullable_columns(); AssertSql( - @"SELECT [g].[Count], [g].[CustomerId], [g].[Year] +""" +SELECT [g].[Count], [g].[CustomerId], [g].[Year] FROM [Addresses] AS [a] CROSS APPLY [dbo].[GetCustomerOrderCountByYearOnlyFrom2000](1, CASE WHEN ([a].[City] = [a].[State] AND ([a].[City] IS NOT NULL) AND ([a].[State] IS NOT NULL)) OR (([a].[City] IS NULL) AND ([a].[State] IS NULL)) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) END) AS [g] -ORDER BY [a].[Id], [g].[Year]"); +ORDER BY [a].[Id], [g].[Year] +"""); } #endregion diff --git a/test/EFCore.SqlServer.FunctionalTests/TPTTableSplittingSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/TPTTableSplittingSqlServerTest.cs index d5bf73cc561..d7c4a73f97f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/TPTTableSplittingSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/TPTTableSplittingSqlServerTest.cs @@ -18,7 +18,8 @@ public override async Task Can_use_with_redundant_relationships() await base.Can_use_with_redundant_relationships(); AssertSql( - @"SELECT [v].[Name], [v].[SeatingCapacity], [c].[AttachedVehicleName], CASE +""" +SELECT [v].[Name], [v].[SeatingCapacity], [c].[AttachedVehicleName], CASE WHEN [c].[Name] IS NOT NULL THEN N'CompositeVehicle' WHEN [p].[Name] IS NOT NULL THEN N'PoweredVehicle' END AS [Discriminator], [t].[Name], [t].[Operator_Name], [t].[LicenseType], [t].[Discriminator], [t0].[Name], [t0].[Active], [t0].[Type], [t1].[Name], [t1].[Computed], [t1].[Description], [t1].[Discriminator], [t2].[VehicleName], [t2].[Capacity], [t2].[FuelType], [t2].[GrainGeometry], [t2].[Discriminator] @@ -63,7 +64,8 @@ WHERE [c2].[Capacity] IS NOT NULL ) AS [t2] ON [t1].[Name] = CASE WHEN [t2].[Capacity] IS NOT NULL THEN [t2].[VehicleName] END -ORDER BY [v].[Name]"); +ORDER BY [v].[Name] +"""); } public override async Task Can_query_shared() @@ -71,11 +73,13 @@ public override async Task Can_query_shared() await base.Can_query_shared(); AssertSql( - @"SELECT [v].[Name], [v].[Operator_Name], [l].[LicenseType], CASE +""" +SELECT [v].[Name], [v].[Operator_Name], [l].[LicenseType], CASE WHEN [l].[VehicleName] IS NOT NULL THEN N'LicensedOperator' END AS [Discriminator] FROM [Vehicles] AS [v] -LEFT JOIN [LicensedOperators] AS [l] ON [v].[Name] = [l].[VehicleName]"); +LEFT JOIN [LicensedOperators] AS [l] ON [v].[Name] = [l].[VehicleName] +"""); } public override async Task Can_query_shared_nonhierarchy() @@ -83,8 +87,10 @@ public override async Task Can_query_shared_nonhierarchy() await base.Can_query_shared_nonhierarchy(); AssertSql( - @"SELECT [v].[Name], [v].[Operator_Name] -FROM [Vehicles] AS [v]"); +""" +SELECT [v].[Name], [v].[Operator_Name] +FROM [Vehicles] AS [v] +"""); } public override async Task Can_query_shared_nonhierarchy_with_nonshared_dependent() @@ -92,8 +98,10 @@ public override async Task Can_query_shared_nonhierarchy_with_nonshared_dependen await base.Can_query_shared_nonhierarchy_with_nonshared_dependent(); AssertSql( - @"SELECT [v].[Name], [v].[Operator_Name] -FROM [Vehicles] AS [v]"); +""" +SELECT [v].[Name], [v].[Operator_Name] +FROM [Vehicles] AS [v] +"""); } public override async Task Can_query_shared_derived_hierarchy() @@ -101,12 +109,14 @@ public override async Task Can_query_shared_derived_hierarchy() await base.Can_query_shared_derived_hierarchy(); AssertSql( - @"SELECT [c].[VehicleName], [c].[Capacity], [c].[FuelType], [s].[GrainGeometry], CASE +""" +SELECT [c].[VehicleName], [c].[Capacity], [c].[FuelType], [s].[GrainGeometry], CASE WHEN [s].[VehicleName] IS NOT NULL THEN N'SolidFuelTank' END AS [Discriminator] FROM [CombustionEngines] AS [c] LEFT JOIN [SolidFuelTanks] AS [s] ON [c].[VehicleName] = [s].[VehicleName] -WHERE [c].[Capacity] IS NOT NULL"); +WHERE [c].[Capacity] IS NOT NULL +"""); } public override async Task Can_query_shared_derived_nonhierarchy() @@ -114,9 +124,11 @@ public override async Task Can_query_shared_derived_nonhierarchy() await base.Can_query_shared_derived_nonhierarchy(); AssertSql( - @"SELECT [c].[VehicleName], [c].[Capacity], [c].[FuelType] +""" +SELECT [c].[VehicleName], [c].[Capacity], [c].[FuelType] FROM [CombustionEngines] AS [c] -WHERE [c].[Capacity] IS NOT NULL"); +WHERE [c].[Capacity] IS NOT NULL +"""); } public override async Task Can_query_shared_derived_nonhierarchy_all_required() @@ -124,16 +136,19 @@ public override async Task Can_query_shared_derived_nonhierarchy_all_required() await base.Can_query_shared_derived_nonhierarchy_all_required(); AssertSql( - @"SELECT [c].[VehicleName], [c].[Capacity], [c].[FuelType] +""" +SELECT [c].[VehicleName], [c].[Capacity], [c].[FuelType] FROM [CombustionEngines] AS [c] -WHERE ([c].[Capacity] IS NOT NULL) AND ([c].[FuelType] IS NOT NULL)"); +WHERE ([c].[Capacity] IS NOT NULL) AND ([c].[FuelType] IS NOT NULL) +"""); } public override async Task Can_change_dependent_instance_non_derived() { await base.Can_change_dependent_instance_non_derived(); AssertSql( - @"@p0='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450) +""" +@p0='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450) @p1='Repair' (Size = 4000) @p3='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450) @p2='repairman' (Size = 4000) @@ -143,9 +158,11 @@ INSERT INTO [LicensedOperators] ([VehicleName], [LicenseType]) VALUES (@p0, @p1); UPDATE [Vehicles] SET [Operator_Name] = @p2 OUTPUT 1 -WHERE [Name] = @p3;", +WHERE [Name] = @p3; +""", // - @"SELECT TOP(2) [v].[Name], [v].[SeatingCapacity], [c].[AttachedVehicleName], CASE +""" +SELECT TOP(2) [v].[Name], [v].[SeatingCapacity], [c].[AttachedVehicleName], CASE WHEN [c].[Name] IS NOT NULL THEN N'CompositeVehicle' WHEN [p].[Name] IS NOT NULL THEN N'PoweredVehicle' END AS [Discriminator], [t].[Name], [t].[Operator_Name], [t].[LicenseType], [t].[Discriminator] @@ -159,7 +176,8 @@ END AS [Discriminator] FROM [Vehicles] AS [v0] LEFT JOIN [LicensedOperators] AS [l] ON [v0].[Name] = [l].[VehicleName] ) AS [t] ON [v].[Name] = [t].[Name] -WHERE [v].[Name] = N'Trek Pro Fit Madone 6 Series'"); +WHERE [v].[Name] = N'Trek Pro Fit Madone 6 Series' +"""); } public override async Task Can_change_principal_instance_non_derived() @@ -167,16 +185,19 @@ public override async Task Can_change_principal_instance_non_derived() await base.Can_change_principal_instance_non_derived(); AssertSql( - @"@p1='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450) +""" +@p1='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450) @p0='2' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [Vehicles] SET [SeatingCapacity] = @p0 OUTPUT 1 -WHERE [Name] = @p1;", +WHERE [Name] = @p1; +""", // - @"SELECT TOP(2) [v].[Name], [v].[SeatingCapacity], [c].[AttachedVehicleName], CASE +""" +SELECT TOP(2) [v].[Name], [v].[SeatingCapacity], [c].[AttachedVehicleName], CASE WHEN [c].[Name] IS NOT NULL THEN N'CompositeVehicle' WHEN [p].[Name] IS NOT NULL THEN N'PoweredVehicle' END AS [Discriminator], [t].[Name], [t].[Operator_Name], [t].[LicenseType], [t].[Discriminator] @@ -190,7 +211,8 @@ END AS [Discriminator] FROM [Vehicles] AS [v0] LEFT JOIN [LicensedOperators] AS [l] ON [v0].[Name] = [l].[VehicleName] ) AS [t] ON [v].[Name] = [t].[Name] -WHERE [v].[Name] = N'Trek Pro Fit Madone 6 Series'"); +WHERE [v].[Name] = N'Trek Pro Fit Madone 6 Series' +"""); } public override async Task Optional_dependent_materialized_when_no_properties() @@ -198,7 +220,8 @@ public override async Task Optional_dependent_materialized_when_no_properties() await base.Optional_dependent_materialized_when_no_properties(); AssertSql( - @"SELECT TOP(1) [v].[Name], [v].[SeatingCapacity], [c].[AttachedVehicleName], CASE +""" +SELECT TOP(1) [v].[Name], [v].[SeatingCapacity], [c].[AttachedVehicleName], CASE WHEN [c].[Name] IS NOT NULL THEN N'CompositeVehicle' WHEN [p].[Name] IS NOT NULL THEN N'PoweredVehicle' END AS [Discriminator], [t].[Name], [t].[Operator_Name], [t].[LicenseType], [t].[Discriminator], [t0].[Name], [t0].[Active], [t0].[Type] @@ -220,6 +243,7 @@ WHERE [v1].[Active] IS NOT NULL WHEN [t0].[Active] IS NOT NULL THEN [t0].[Name] END WHERE [v].[Name] = N'AIM-9M Sidewinder' -ORDER BY [v].[Name]"); +ORDER BY [v].[Name] +"""); } } diff --git a/test/EFCore.SqlServer.FunctionalTests/TableSplittingSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/TableSplittingSqlServerTest.cs index d0daaac00d0..8da48de77cb 100644 --- a/test/EFCore.SqlServer.FunctionalTests/TableSplittingSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/TableSplittingSqlServerTest.cs @@ -21,7 +21,8 @@ public override async Task Can_use_with_redundant_relationships() // TODO: [Name] shouldn't be selected multiple times and no joins are needed AssertSql( - @"SELECT [v].[Name], [v].[Discriminator], [v].[SeatingCapacity], [v].[AttachedVehicleName], [v0].[Name], [v0].[Operator_Discriminator], [v0].[Operator_Name], [v0].[LicenseType], [t].[Name], [t].[Active], [t].[Type], [t0].[Name], [t0].[Computed], [t0].[Description], [t0].[Engine_Discriminator], [t1].[Name], [t1].[Capacity], [t1].[FuelTank_Discriminator], [t1].[FuelType], [t1].[GrainGeometry] +""" +SELECT [v].[Name], [v].[Discriminator], [v].[SeatingCapacity], [v].[AttachedVehicleName], [v0].[Name], [v0].[Operator_Discriminator], [v0].[Operator_Name], [v0].[LicenseType], [t].[Name], [t].[Active], [t].[Type], [t0].[Name], [t0].[Computed], [t0].[Description], [t0].[Engine_Discriminator], [t1].[Name], [t1].[Capacity], [t1].[FuelTank_Discriminator], [t1].[FuelType], [t1].[GrainGeometry] FROM [Vehicles] AS [v] LEFT JOIN [Vehicles] AS [v0] ON [v].[Name] = [v0].[Name] LEFT JOIN ( @@ -41,7 +42,8 @@ LEFT JOIN ( FROM [Vehicles] AS [v3] WHERE ([v3].[Capacity] IS NOT NULL) AND ([v3].[FuelTank_Discriminator] IS NOT NULL) ) AS [t1] ON [t0].[Name] = [t1].[Name] -ORDER BY [v].[Name]"); +ORDER BY [v].[Name] +"""); } public override async Task Can_query_shared() @@ -49,8 +51,10 @@ public override async Task Can_query_shared() await base.Can_query_shared(); AssertSql( - @"SELECT [v].[Name], [v].[Operator_Discriminator], [v].[Operator_Name], [v].[LicenseType] -FROM [Vehicles] AS [v]"); +""" +SELECT [v].[Name], [v].[Operator_Discriminator], [v].[Operator_Name], [v].[LicenseType] +FROM [Vehicles] AS [v] +"""); } public override async Task Can_query_shared_nonhierarchy() @@ -58,8 +62,10 @@ public override async Task Can_query_shared_nonhierarchy() await base.Can_query_shared_nonhierarchy(); AssertSql( - @"SELECT [v].[Name], [v].[Operator_Name] -FROM [Vehicles] AS [v]"); +""" +SELECT [v].[Name], [v].[Operator_Name] +FROM [Vehicles] AS [v] +"""); } public override async Task Can_query_shared_nonhierarchy_with_nonshared_dependent() @@ -67,8 +73,10 @@ public override async Task Can_query_shared_nonhierarchy_with_nonshared_dependen await base.Can_query_shared_nonhierarchy_with_nonshared_dependent(); AssertSql( - @"SELECT [v].[Name], [v].[Operator_Name] -FROM [Vehicles] AS [v]"); +""" +SELECT [v].[Name], [v].[Operator_Name] +FROM [Vehicles] AS [v] +"""); } public override async Task Can_query_shared_derived_hierarchy() @@ -76,9 +84,11 @@ public override async Task Can_query_shared_derived_hierarchy() await base.Can_query_shared_derived_hierarchy(); AssertSql( - @"SELECT [v].[Name], [v].[Capacity], [v].[FuelTank_Discriminator], [v].[FuelType], [v].[GrainGeometry] +""" +SELECT [v].[Name], [v].[Capacity], [v].[FuelTank_Discriminator], [v].[FuelType], [v].[GrainGeometry] FROM [Vehicles] AS [v] -WHERE ([v].[Capacity] IS NOT NULL) AND ([v].[FuelTank_Discriminator] IS NOT NULL)"); +WHERE ([v].[Capacity] IS NOT NULL) AND ([v].[FuelTank_Discriminator] IS NOT NULL) +"""); } public override async Task Can_query_shared_derived_nonhierarchy() @@ -86,9 +96,11 @@ public override async Task Can_query_shared_derived_nonhierarchy() await base.Can_query_shared_derived_nonhierarchy(); AssertSql( - @"SELECT [v].[Name], [v].[Capacity], [v].[FuelType] +""" +SELECT [v].[Name], [v].[Capacity], [v].[FuelType] FROM [Vehicles] AS [v] -WHERE [v].[Capacity] IS NOT NULL"); +WHERE [v].[Capacity] IS NOT NULL +"""); } public override async Task Can_query_shared_derived_nonhierarchy_all_required() @@ -96,9 +108,11 @@ public override async Task Can_query_shared_derived_nonhierarchy_all_required() await base.Can_query_shared_derived_nonhierarchy_all_required(); AssertSql( - @"SELECT [v].[Name], [v].[Capacity], [v].[FuelType] +""" +SELECT [v].[Name], [v].[Capacity], [v].[FuelType] FROM [Vehicles] AS [v] -WHERE ([v].[Capacity] IS NOT NULL) AND ([v].[FuelType] IS NOT NULL)"); +WHERE ([v].[Capacity] IS NOT NULL) AND ([v].[FuelType] IS NOT NULL) +"""); } public override async Task Can_change_dependent_instance_non_derived() @@ -106,7 +120,8 @@ public override async Task Can_change_dependent_instance_non_derived() await base.Can_change_dependent_instance_non_derived(); AssertSql( - @"@p3='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450) +""" +@p3='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450) @p0='LicensedOperator' (Nullable = false) (Size = 4000) @p1='Repair' (Size = 4000) @p2='repairman' (Size = 4000) @@ -115,12 +130,15 @@ public override async Task Can_change_dependent_instance_non_derived() SET NOCOUNT ON; UPDATE [Vehicles] SET [Operator_Discriminator] = @p0, [LicenseType] = @p1, [Operator_Name] = @p2 OUTPUT 1 -WHERE [Name] = @p3;", +WHERE [Name] = @p3; +""", // - @"SELECT TOP(2) [v].[Name], [v].[Discriminator], [v].[SeatingCapacity], [v].[AttachedVehicleName], [v0].[Name], [v0].[Operator_Discriminator], [v0].[Operator_Name], [v0].[LicenseType] +""" +SELECT TOP(2) [v].[Name], [v].[Discriminator], [v].[SeatingCapacity], [v].[AttachedVehicleName], [v0].[Name], [v0].[Operator_Discriminator], [v0].[Operator_Name], [v0].[LicenseType] FROM [Vehicles] AS [v] LEFT JOIN [Vehicles] AS [v0] ON [v].[Name] = [v0].[Name] -WHERE [v].[Name] = N'Trek Pro Fit Madone 6 Series'"); +WHERE [v].[Name] = N'Trek Pro Fit Madone 6 Series' +"""); } public override async Task Can_change_principal_instance_non_derived() @@ -128,19 +146,23 @@ public override async Task Can_change_principal_instance_non_derived() await base.Can_change_principal_instance_non_derived(); AssertSql( - @"@p1='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450) +""" +@p1='Trek Pro Fit Madone 6 Series' (Nullable = false) (Size = 450) @p0='2' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [Vehicles] SET [SeatingCapacity] = @p0 OUTPUT 1 -WHERE [Name] = @p1;", +WHERE [Name] = @p1; +""", // - @"SELECT TOP(2) [v].[Name], [v].[Discriminator], [v].[SeatingCapacity], [v].[AttachedVehicleName], [v0].[Name], [v0].[Operator_Discriminator], [v0].[Operator_Name], [v0].[LicenseType] +""" +SELECT TOP(2) [v].[Name], [v].[Discriminator], [v].[SeatingCapacity], [v].[AttachedVehicleName], [v0].[Name], [v0].[Operator_Discriminator], [v0].[Operator_Name], [v0].[LicenseType] FROM [Vehicles] AS [v] LEFT JOIN [Vehicles] AS [v0] ON [v].[Name] = [v0].[Name] -WHERE [v].[Name] = N'Trek Pro Fit Madone 6 Series'"); +WHERE [v].[Name] = N'Trek Pro Fit Madone 6 Series' +"""); } public override async Task Optional_dependent_materialized_when_no_properties() @@ -148,7 +170,8 @@ public override async Task Optional_dependent_materialized_when_no_properties() await base.Optional_dependent_materialized_when_no_properties(); AssertSql( - @"SELECT TOP(1) [v].[Name], [v].[Discriminator], [v].[SeatingCapacity], [v].[AttachedVehicleName], [v0].[Name], [v0].[Operator_Discriminator], [v0].[Operator_Name], [v0].[LicenseType], [t].[Name], [t].[Active], [t].[Type] +""" +SELECT TOP(1) [v].[Name], [v].[Discriminator], [v].[SeatingCapacity], [v].[AttachedVehicleName], [v0].[Name], [v0].[Operator_Discriminator], [v0].[Operator_Name], [v0].[LicenseType], [t].[Name], [t].[Active], [t].[Type] FROM [Vehicles] AS [v] LEFT JOIN [Vehicles] AS [v0] ON [v].[Name] = [v0].[Name] LEFT JOIN ( @@ -159,7 +182,8 @@ WHERE [v1].[Active] IS NOT NULL WHEN [t].[Active] IS NOT NULL THEN [t].[Name] END WHERE [v].[Name] = N'AIM-9M Sidewinder' -ORDER BY [v].[Name]"); +ORDER BY [v].[Name] +"""); } public override async Task ExecuteUpdate_works_for_table_sharing(bool async) @@ -167,17 +191,21 @@ public override async Task ExecuteUpdate_works_for_table_sharing(bool async) await base.ExecuteUpdate_works_for_table_sharing(async); AssertSql( - @"UPDATE [v] +""" +UPDATE [v] SET [v].[SeatingCapacity] = 1 -FROM [Vehicles] AS [v]", +FROM [Vehicles] AS [v] +""", // - @"SELECT CASE +""" +SELECT CASE WHEN NOT EXISTS ( SELECT 1 FROM [Vehicles] AS [v] WHERE [v].[SeatingCapacity] <> 1) THEN CAST(1 AS bit) ELSE CAST(0 AS bit) -END"); +END +"""); } protected override void OnModelCreating(ModelBuilder modelBuilder) diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs index f07d85653a9..c332f9629ac 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/JsonUpdateSqlServerTest.cs @@ -16,17 +16,21 @@ public override async Task Add_element_to_json_collection_branch() await base.Add_element_to_json_collection_branch(); AssertSql( - @"@p0='[{""Date"":""2101-01-01T00:00:00"",""Enum"":""Two"",""Fraction"":10.1,""NullableEnum"":""One"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_r_c1_c1""},{""SomethingSomething"":""e1_r_c1_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_r_c1_r""}},{""Date"":""2102-01-01T00:00:00"",""Enum"":""Three"",""Fraction"":10.2,""NullableEnum"":""Two"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_r_c2_c1""},{""SomethingSomething"":""e1_r_c2_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_r_c2_r""}},{""Date"":""2010-10-10T00:00:00"",""Enum"":""Three"",""Fraction"":42.42,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""ss1""},{""SomethingSomething"":""ss2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""ss3""}}]' (Nullable = false) (Size = 684) +""" +@p0='[{"Date":"2101-01-01T00:00:00","Enum":"Two","Fraction":10.1,"NullableEnum":"One","OwnedCollectionLeaf":[{"SomethingSomething":"e1_r_c1_c1"},{"SomethingSomething":"e1_r_c1_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_r_c1_r"}},{"Date":"2102-01-01T00:00:00","Enum":"Three","Fraction":10.2,"NullableEnum":"Two","OwnedCollectionLeaf":[{"SomethingSomething":"e1_r_c2_c1"},{"SomethingSomething":"e1_r_c2_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_r_c2_r"}},{"Date":"2010-10-10T00:00:00","Enum":"Three","Fraction":42.42,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"ss1"},{"SomethingSomething":"ss2"}],"OwnedReferenceLeaf":{"SomethingSomething":"ss3"}}]' (Nullable = false) (Size = 684) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedCollectionBranch', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Add_element_to_json_collection_leaf() @@ -34,17 +38,21 @@ public override async Task Add_element_to_json_collection_leaf() await base.Add_element_to_json_collection_leaf(); AssertSql( - @"@p0='[{""SomethingSomething"":""e1_r_r_c1""},{""SomethingSomething"":""e1_r_r_c2""},{""SomethingSomething"":""ss1""}]' (Nullable = false) (Size = 100) +""" +@p0='[{"SomethingSomething":"e1_r_r_c1"},{"SomethingSomething":"e1_r_r_c2"},{"SomethingSomething":"ss1"}]' (Nullable = false) (Size = 100) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedReferenceBranch.OwnedCollectionLeaf', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Add_element_to_json_collection_on_derived() @@ -52,18 +60,22 @@ public override async Task Add_element_to_json_collection_on_derived() await base.Add_element_to_json_collection_on_derived(); AssertSql( - @"@p0='[{""Date"":""2221-01-01T00:00:00"",""Enum"":""Two"",""Fraction"":221.1,""NullableEnum"":""One"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""d2_r_c1""},{""SomethingSomething"":""d2_r_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""d2_r_r""}},{""Date"":""2222-01-01T00:00:00"",""Enum"":""Three"",""Fraction"":222.1,""NullableEnum"":""Two"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""d2_r_c1""},{""SomethingSomething"":""d2_r_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""d2_r_r""}},{""Date"":""2010-10-10T00:00:00"",""Enum"":""Three"",""Fraction"":42.42,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""ss1""},{""SomethingSomething"":""ss2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""ss3""}}]' (Nullable = false) (Size = 668) +""" +@p0='[{"Date":"2221-01-01T00:00:00","Enum":"Two","Fraction":221.1,"NullableEnum":"One","OwnedCollectionLeaf":[{"SomethingSomething":"d2_r_c1"},{"SomethingSomething":"d2_r_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"d2_r_r"}},{"Date":"2222-01-01T00:00:00","Enum":"Three","Fraction":222.1,"NullableEnum":"Two","OwnedCollectionLeaf":[{"SomethingSomething":"d2_r_c1"},{"SomethingSomething":"d2_r_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"d2_r_r"}},{"Date":"2010-10-10T00:00:00","Enum":"Three","Fraction":42.42,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"ss1"},{"SomethingSomething":"ss2"}],"OwnedReferenceLeaf":{"SomethingSomething":"ss3"}}]' (Nullable = false) (Size = 668) @p1='2' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesInheritance] SET [CollectionOnDerived] = @p0 OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], [j].[Discriminator], [j].[Name], [j].[Fraction], JSON_QUERY([j].[CollectionOnBase],'$'), JSON_QUERY([j].[ReferenceOnBase],'$'), JSON_QUERY([j].[CollectionOnDerived],'$'), JSON_QUERY([j].[ReferenceOnDerived],'$') +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[Discriminator], [j].[Name], [j].[Fraction], JSON_QUERY([j].[CollectionOnBase],'$'), JSON_QUERY([j].[ReferenceOnBase],'$'), JSON_QUERY([j].[CollectionOnDerived],'$'), JSON_QUERY([j].[ReferenceOnDerived],'$') FROM [JsonEntitiesInheritance] AS [j] -WHERE [j].[Discriminator] = N'JsonEntityInheritanceDerived'"); +WHERE [j].[Discriminator] = N'JsonEntityInheritanceDerived' +"""); } public override async Task Add_element_to_json_collection_root() @@ -71,17 +83,21 @@ public override async Task Add_element_to_json_collection_root() await base.Add_element_to_json_collection_root(); AssertSql( - @"@p0='[{""Name"":""e1_c1"",""Number"":11,""OwnedCollectionBranch"":[{""Date"":""2111-01-01T00:00:00"",""Enum"":""Two"",""Fraction"":11.1,""NullableEnum"":""One"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c1_c1_c1""},{""SomethingSomething"":""e1_c1_c1_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c1_c1_r""}},{""Date"":""2112-01-01T00:00:00"",""Enum"":""Three"",""Fraction"":11.2,""NullableEnum"":""Two"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c1_c2_c1""},{""SomethingSomething"":""e1_c1_c2_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c1_c2_r""}}],""OwnedReferenceBranch"":{""Date"":""2110-01-01T00:00:00"",""Enum"":""One"",""Fraction"":11.0,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c1_r_c1""},{""SomethingSomething"":""e1_c1_r_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c1_r_r""}}},{""Name"":""e1_c2"",""Number"":12,""OwnedCollectionBranch"":[{""Date"":""2121-01-01T00:00:00"",""Enum"":""Two"",""Fraction"":12.1,""NullableEnum"":""One"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c2_c1_c1""},{""SomethingSomething"":""e1_c2_c1_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c2_c1_r""}},{""Date"":""2122-01-01T00:00:00"",""Enum"":""One"",""Fraction"":12.2,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c2_c2_c1""},{""SomethingSomething"":""e1_c2_c2_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c2_c2_r""}}],""OwnedReferenceBranch"":{""Date"":""2120-01-01T00:00:00"",""Enum"":""Three"",""Fraction"":12.0,""NullableEnum"":""Two"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c2_r_c1""},{""SomethingSomething"":""e1_c2_r_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c2_r_r""}}},{""Name"":""new Name"",""Number"":142,""OwnedCollectionBranch"":[],""OwnedReferenceBranch"":{""Date"":""2010-10-10T00:00:00"",""Enum"":""Three"",""Fraction"":42.42,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""ss1""},{""SomethingSomething"":""ss2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""ss3""}}}]' (Nullable = false) (Size = 1867) +""" +@p0='[{"Name":"e1_c1","Number":11,"OwnedCollectionBranch":[{"Date":"2111-01-01T00:00:00","Enum":"Two","Fraction":11.1,"NullableEnum":"One","OwnedCollectionLeaf":[{"SomethingSomething":"e1_c1_c1_c1"},{"SomethingSomething":"e1_c1_c1_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c1_c1_r"}},{"Date":"2112-01-01T00:00:00","Enum":"Three","Fraction":11.2,"NullableEnum":"Two","OwnedCollectionLeaf":[{"SomethingSomething":"e1_c1_c2_c1"},{"SomethingSomething":"e1_c1_c2_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c1_c2_r"}}],"OwnedReferenceBranch":{"Date":"2110-01-01T00:00:00","Enum":"One","Fraction":11.0,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"e1_c1_r_c1"},{"SomethingSomething":"e1_c1_r_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c1_r_r"}}},{"Name":"e1_c2","Number":12,"OwnedCollectionBranch":[{"Date":"2121-01-01T00:00:00","Enum":"Two","Fraction":12.1,"NullableEnum":"One","OwnedCollectionLeaf":[{"SomethingSomething":"e1_c2_c1_c1"},{"SomethingSomething":"e1_c2_c1_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c2_c1_r"}},{"Date":"2122-01-01T00:00:00","Enum":"One","Fraction":12.2,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"e1_c2_c2_c1"},{"SomethingSomething":"e1_c2_c2_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c2_c2_r"}}],"OwnedReferenceBranch":{"Date":"2120-01-01T00:00:00","Enum":"Three","Fraction":12.0,"NullableEnum":"Two","OwnedCollectionLeaf":[{"SomethingSomething":"e1_c2_r_c1"},{"SomethingSomething":"e1_c2_r_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c2_r_r"}}},{"Name":"new Name","Number":142,"OwnedCollectionBranch":[],"OwnedReferenceBranch":{"Date":"2010-10-10T00:00:00","Enum":"Three","Fraction":42.42,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"ss1"},{"SomethingSomething":"ss2"}],"OwnedReferenceLeaf":{"SomethingSomething":"ss3"}}}]' (Nullable = false) (Size = 1867) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedCollectionRoot] = @p0 OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Add_entity_with_json() @@ -89,7 +105,8 @@ public override async Task Add_entity_with_json() await base.Add_entity_with_json(); AssertSql( - @"@p0='{""Name"":""RootName"",""Number"":42,""OwnedCollectionBranch"":[],""OwnedReferenceBranch"":{""Date"":""2010-10-10T00:00:00"",""Enum"":""Three"",""Fraction"":42.42,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""ss1""},{""SomethingSomething"":""ss2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""ss3""}}}' (Nullable = false) (Size = 296) +""" +@p0='{"Name":"RootName","Number":42,"OwnedCollectionBranch":[],"OwnedReferenceBranch":{"Date":"2010-10-10T00:00:00","Enum":"Three","Fraction":42.42,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"ss1"},{"SomethingSomething":"ss2"}],"OwnedReferenceLeaf":{"SomethingSomething":"ss3"}}}' (Nullable = false) (Size = 296) @p1='2' @p2=NULL (DbType = Int32) @p3='NewEntity' (Size = 4000) @@ -97,10 +114,13 @@ public override async Task Add_entity_with_json() SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [JsonEntitiesBasic] ([OwnedReferenceRoot], [Id], [EntityBasicId], [Name]) -VALUES (@p0, @p1, @p2, @p3);", - // - @"SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +VALUES (@p0, @p1, @p2, @p3); +""", + // +""" +SELECT [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Add_json_reference_leaf() @@ -108,17 +128,21 @@ public override async Task Add_json_reference_leaf() await base.Add_json_reference_leaf(); AssertSql( - @"@p0='{""SomethingSomething"":""ss3""}' (Nullable = false) (Size = 28) +""" +@p0='{"SomethingSomething":"ss3"}' (Nullable = false) (Size = 28) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedCollectionBranch[0].OwnedReferenceLeaf', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Add_json_reference_root() @@ -126,17 +150,21 @@ public override async Task Add_json_reference_root() await base.Add_json_reference_root(); AssertSql( - @"@p0='{""Name"":""RootName"",""Number"":42,""OwnedCollectionBranch"":[],""OwnedReferenceBranch"":{""Date"":""2010-10-10T00:00:00"",""Enum"":""Three"",""Fraction"":42.42,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""ss1""},{""SomethingSomething"":""ss2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""ss3""}}}' (Nullable = false) (Size = 296) +""" +@p0='{"Name":"RootName","Number":42,"OwnedCollectionBranch":[],"OwnedReferenceBranch":{"Date":"2010-10-10T00:00:00","Enum":"Three","Fraction":42.42,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"ss1"},{"SomethingSomething":"ss2"}],"OwnedReferenceLeaf":{"SomethingSomething":"ss3"}}}' (Nullable = false) (Size = 296) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = @p0 OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Delete_entity_with_json() @@ -144,16 +172,20 @@ public override async Task Delete_entity_with_json() await base.Delete_entity_with_json(); AssertSql( - @"@p0='1' +""" +@p0='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; DELETE FROM [JsonEntitiesBasic] OUTPUT 1 -WHERE [Id] = @p0;", +WHERE [Id] = @p0; +""", // - @"SELECT COUNT(*) -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT COUNT(*) +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Delete_json_collection_branch() @@ -161,17 +193,21 @@ public override async Task Delete_json_collection_branch() await base.Delete_json_collection_branch(); AssertSql( - @"@p0='[]' (Nullable = false) (Size = 2) +""" +@p0='[]' (Nullable = false) (Size = 2) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedCollectionBranch', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Delete_json_collection_root() @@ -179,17 +215,21 @@ public override async Task Delete_json_collection_root() await base.Delete_json_collection_root(); AssertSql( - @"@p0='[]' (Nullable = false) (Size = 2) +""" +@p0='[]' (Nullable = false) (Size = 2) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedCollectionRoot] = @p0 OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Delete_json_reference_leaf() @@ -197,17 +237,21 @@ public override async Task Delete_json_reference_leaf() await base.Delete_json_reference_leaf(); AssertSql( - @"@p0=NULL (Nullable = false) +""" +@p0=NULL (Nullable = false) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedReferenceBranch.OwnedReferenceLeaf', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Delete_json_reference_root() @@ -215,17 +259,21 @@ public override async Task Delete_json_reference_root() await base.Delete_json_reference_root(); AssertSql( - @"@p0=NULL (Nullable = false) +""" +@p0=NULL (Nullable = false) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = @p0 OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_element_in_json_collection_branch() @@ -233,17 +281,21 @@ public override async Task Edit_element_in_json_collection_branch() await base.Edit_element_in_json_collection_branch(); AssertSql( - @"@p0='[""2111-11-11T00:00:00""]' (Nullable = false) (Size = 23) +""" +@p0='["2111-11-11T00:00:00"]' (Nullable = false) (Size = 23) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedCollectionRoot] = JSON_MODIFY([OwnedCollectionRoot], 'strict $[0].OwnedCollectionBranch[0].Date', JSON_VALUE(@p0, '$[0]')) OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_element_in_json_collection_root1() @@ -251,17 +303,21 @@ public override async Task Edit_element_in_json_collection_root1() await base.Edit_element_in_json_collection_root1(); AssertSql( - @"@p0='[""Modified""]' (Nullable = false) (Size = 12) +""" +@p0='["Modified"]' (Nullable = false) (Size = 12) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedCollectionRoot] = JSON_MODIFY([OwnedCollectionRoot], 'strict $[0].Name', JSON_VALUE(@p0, '$[0]')) OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_element_in_json_collection_root2() @@ -269,17 +325,21 @@ public override async Task Edit_element_in_json_collection_root2() await base.Edit_element_in_json_collection_root2(); AssertSql( - @"@p0='[""Modified""]' (Nullable = false) (Size = 12) +""" +@p0='["Modified"]' (Nullable = false) (Size = 12) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedCollectionRoot] = JSON_MODIFY([OwnedCollectionRoot], 'strict $[1].Name', JSON_VALUE(@p0, '$[0]')) OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_element_in_json_multiple_levels_partial_update() @@ -287,18 +347,22 @@ public override async Task Edit_element_in_json_multiple_levels_partial_update() await base.Edit_element_in_json_multiple_levels_partial_update(); AssertSql( - @"@p0='[{""Date"":""2111-01-01T00:00:00"",""Enum"":""Two"",""Fraction"":11.1,""NullableEnum"":""One"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""...and another""},{""SomethingSomething"":""e1_c1_c1_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c1_c1_r""}},{""Date"":""2112-01-01T00:00:00"",""Enum"":""Three"",""Fraction"":11.2,""NullableEnum"":""Two"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""yet another change""},{""SomethingSomething"":""and another""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c1_c2_r""}}]' (Nullable = false) (Size = 485) -@p1='{""Name"":""edit"",""Number"":10,""OwnedCollectionBranch"":[{""Date"":""2101-01-01T00:00:00"",""Enum"":""Two"",""Fraction"":10.1,""NullableEnum"":""One"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_r_c1_c1""},{""SomethingSomething"":""e1_r_c1_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_r_c1_r""}},{""Date"":""2102-01-01T00:00:00"",""Enum"":""Three"",""Fraction"":10.2,""NullableEnum"":""Two"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_r_c2_c1""},{""SomethingSomething"":""e1_r_c2_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_r_c2_r""}}],""OwnedReferenceBranch"":{""Date"":""2111-11-11T00:00:00"",""Enum"":""One"",""Fraction"":10.0,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_r_r_c1""},{""SomethingSomething"":""e1_r_r_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_r_r_r""}}}' (Nullable = false) (Size = 773) +""" +@p0='[{"Date":"2111-01-01T00:00:00","Enum":"Two","Fraction":11.1,"NullableEnum":"One","OwnedCollectionLeaf":[{"SomethingSomething":"...and another"},{"SomethingSomething":"e1_c1_c1_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c1_c1_r"}},{"Date":"2112-01-01T00:00:00","Enum":"Three","Fraction":11.2,"NullableEnum":"Two","OwnedCollectionLeaf":[{"SomethingSomething":"yet another change"},{"SomethingSomething":"and another"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c1_c2_r"}}]' (Nullable = false) (Size = 485) +@p1='{"Name":"edit","Number":10,"OwnedCollectionBranch":[{"Date":"2101-01-01T00:00:00","Enum":"Two","Fraction":10.1,"NullableEnum":"One","OwnedCollectionLeaf":[{"SomethingSomething":"e1_r_c1_c1"},{"SomethingSomething":"e1_r_c1_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_r_c1_r"}},{"Date":"2102-01-01T00:00:00","Enum":"Three","Fraction":10.2,"NullableEnum":"Two","OwnedCollectionLeaf":[{"SomethingSomething":"e1_r_c2_c1"},{"SomethingSomething":"e1_r_c2_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_r_c2_r"}}],"OwnedReferenceBranch":{"Date":"2111-11-11T00:00:00","Enum":"One","Fraction":10.0,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"e1_r_r_c1"},{"SomethingSomething":"e1_r_r_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_r_r_r"}}}' (Nullable = false) (Size = 773) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedCollectionRoot] = JSON_MODIFY([OwnedCollectionRoot], 'strict $[0].OwnedCollectionBranch', JSON_QUERY(@p0)), [OwnedReferenceRoot] = @p1 OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_element_in_json_branch_collection_and_add_element_to_the_same_collection() @@ -306,17 +370,21 @@ public override async Task Edit_element_in_json_branch_collection_and_add_elemen await base.Edit_element_in_json_branch_collection_and_add_element_to_the_same_collection(); AssertSql( - @"@p0='[{""Date"":""2101-01-01T00:00:00"",""Enum"":""Two"",""Fraction"":4321.3,""NullableEnum"":""One"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_r_c1_c1""},{""SomethingSomething"":""e1_r_c1_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_r_c1_r""}},{""Date"":""2102-01-01T00:00:00"",""Enum"":""Three"",""Fraction"":10.2,""NullableEnum"":""Two"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_r_c2_c1""},{""SomethingSomething"":""e1_r_c2_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_r_c2_r""}},{""Date"":""2222-11-11T00:00:00"",""Enum"":""Three"",""Fraction"":45.32,""NullableEnum"":null,""OwnedCollectionLeaf"":[],""OwnedReferenceLeaf"":{""SomethingSomething"":""cc""}}]' (Nullable = false) (Size = 628) +""" +@p0='[{"Date":"2101-01-01T00:00:00","Enum":"Two","Fraction":4321.3,"NullableEnum":"One","OwnedCollectionLeaf":[{"SomethingSomething":"e1_r_c1_c1"},{"SomethingSomething":"e1_r_c1_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_r_c1_r"}},{"Date":"2102-01-01T00:00:00","Enum":"Three","Fraction":10.2,"NullableEnum":"Two","OwnedCollectionLeaf":[{"SomethingSomething":"e1_r_c2_c1"},{"SomethingSomething":"e1_r_c2_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_r_c2_r"}},{"Date":"2222-11-11T00:00:00","Enum":"Three","Fraction":45.32,"NullableEnum":null,"OwnedCollectionLeaf":[],"OwnedReferenceLeaf":{"SomethingSomething":"cc"}}]' (Nullable = false) (Size = 628) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedCollectionBranch', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_two_elements_in_the_same_json_collection() @@ -324,17 +392,21 @@ public override async Task Edit_two_elements_in_the_same_json_collection() await base.Edit_two_elements_in_the_same_json_collection(); AssertSql( - @"@p0='[{""SomethingSomething"":""edit1""},{""SomethingSomething"":""edit2""}]' (Nullable = false) (Size = 63) +""" +@p0='[{"SomethingSomething":"edit1"},{"SomethingSomething":"edit2"}]' (Nullable = false) (Size = 63) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedCollectionBranch[0].OwnedCollectionLeaf', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_two_elements_in_the_same_json_collection_at_the_root() @@ -342,17 +414,21 @@ public override async Task Edit_two_elements_in_the_same_json_collection_at_the_ await base.Edit_two_elements_in_the_same_json_collection_at_the_root(); AssertSql( - @"@p0='[{""Name"":""edit1"",""Number"":11,""OwnedCollectionBranch"":[{""Date"":""2111-01-01T00:00:00"",""Enum"":""Two"",""Fraction"":11.1,""NullableEnum"":""One"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c1_c1_c1""},{""SomethingSomething"":""e1_c1_c1_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c1_c1_r""}},{""Date"":""2112-01-01T00:00:00"",""Enum"":""Three"",""Fraction"":11.2,""NullableEnum"":""Two"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c1_c2_c1""},{""SomethingSomething"":""e1_c1_c2_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c1_c2_r""}}],""OwnedReferenceBranch"":{""Date"":""2110-01-01T00:00:00"",""Enum"":""One"",""Fraction"":11.0,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c1_r_c1""},{""SomethingSomething"":""e1_c1_r_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c1_r_r""}}},{""Name"":""edit2"",""Number"":12,""OwnedCollectionBranch"":[{""Date"":""2121-01-01T00:00:00"",""Enum"":""Two"",""Fraction"":12.1,""NullableEnum"":""One"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c2_c1_c1""},{""SomethingSomething"":""e1_c2_c1_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c2_c1_r""}},{""Date"":""2122-01-01T00:00:00"",""Enum"":""One"",""Fraction"":12.2,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c2_c2_c1""},{""SomethingSomething"":""e1_c2_c2_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c2_c2_r""}}],""OwnedReferenceBranch"":{""Date"":""2120-01-01T00:00:00"",""Enum"":""Three"",""Fraction"":12.0,""NullableEnum"":""Two"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_c2_r_c1""},{""SomethingSomething"":""e1_c2_r_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_c2_r_r""}}}]' (Nullable = false) (Size = 1569) +""" +@p0='[{"Name":"edit1","Number":11,"OwnedCollectionBranch":[{"Date":"2111-01-01T00:00:00","Enum":"Two","Fraction":11.1,"NullableEnum":"One","OwnedCollectionLeaf":[{"SomethingSomething":"e1_c1_c1_c1"},{"SomethingSomething":"e1_c1_c1_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c1_c1_r"}},{"Date":"2112-01-01T00:00:00","Enum":"Three","Fraction":11.2,"NullableEnum":"Two","OwnedCollectionLeaf":[{"SomethingSomething":"e1_c1_c2_c1"},{"SomethingSomething":"e1_c1_c2_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c1_c2_r"}}],"OwnedReferenceBranch":{"Date":"2110-01-01T00:00:00","Enum":"One","Fraction":11.0,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"e1_c1_r_c1"},{"SomethingSomething":"e1_c1_r_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c1_r_r"}}},{"Name":"edit2","Number":12,"OwnedCollectionBranch":[{"Date":"2121-01-01T00:00:00","Enum":"Two","Fraction":12.1,"NullableEnum":"One","OwnedCollectionLeaf":[{"SomethingSomething":"e1_c2_c1_c1"},{"SomethingSomething":"e1_c2_c1_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c2_c1_r"}},{"Date":"2122-01-01T00:00:00","Enum":"One","Fraction":12.2,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"e1_c2_c2_c1"},{"SomethingSomething":"e1_c2_c2_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c2_c2_r"}}],"OwnedReferenceBranch":{"Date":"2120-01-01T00:00:00","Enum":"Three","Fraction":12.0,"NullableEnum":"Two","OwnedCollectionLeaf":[{"SomethingSomething":"e1_c2_r_c1"},{"SomethingSomething":"e1_c2_r_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_c2_r_r"}}}]' (Nullable = false) (Size = 1569) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedCollectionRoot] = @p0 OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_collection_element_and_reference_at_once() @@ -360,17 +436,21 @@ public override async Task Edit_collection_element_and_reference_at_once() await base.Edit_collection_element_and_reference_at_once(); AssertSql( - @"@p0='{""Date"":""2102-01-01T00:00:00"",""Enum"":""Three"",""Fraction"":10.2,""NullableEnum"":""Two"",""OwnedCollectionLeaf"":[{""SomethingSomething"":""edit1""},{""SomethingSomething"":""e1_r_c2_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""edit2""}}' (Nullable = false) (Size = 225) +""" +@p0='{"Date":"2102-01-01T00:00:00","Enum":"Three","Fraction":10.2,"NullableEnum":"Two","OwnedCollectionLeaf":[{"SomethingSomething":"edit1"},{"SomethingSomething":"e1_r_c2_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"edit2"}}' (Nullable = false) (Size = 225) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedCollectionBranch[1]', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_single_enum_property() @@ -378,18 +458,22 @@ public override async Task Edit_single_enum_property() await base.Edit_single_enum_property(); AssertSql( - @"@p0='[""Two""]' (Nullable = false) (Size = 7) -@p1='[""Two""]' (Nullable = false) (Size = 7) +""" +@p0='["Two"]' (Nullable = false) (Size = 7) +@p1='["Two"]' (Nullable = false) (Size = 7) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedCollectionRoot] = JSON_MODIFY([OwnedCollectionRoot], 'strict $[1].OwnedCollectionBranch[1].Enum', JSON_VALUE(@p0, '$[0]')), [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedReferenceBranch.Enum', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", +WHERE [Id] = @p2; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_single_numeric_property() @@ -397,7 +481,8 @@ public override async Task Edit_single_numeric_property() await base.Edit_single_numeric_property(); AssertSql( - @"@p0='[1024]' (Nullable = false) (Size = 6) +""" +@p0='[1024]' (Nullable = false) (Size = 6) @p1='[999]' (Nullable = false) (Size = 5) @p2='1' @@ -405,10 +490,13 @@ public override async Task Edit_single_numeric_property() SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedCollectionRoot] = JSON_MODIFY([OwnedCollectionRoot], 'strict $[1].Number', CAST(JSON_VALUE(@p0, '$[0]') AS int)), [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.Number', CAST(JSON_VALUE(@p1, '$[0]') AS int)) OUTPUT 1 -WHERE [Id] = @p2;", +WHERE [Id] = @p2; +""", // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_single_property_bool() @@ -416,7 +504,8 @@ public override async Task Edit_single_property_bool() await base.Edit_single_property_bool(); AssertSql( - @"@p0='[true]' (Nullable = false) (Size = 6) +""" +@p0='[true]' (Nullable = false) (Size = 6) @p1='[false]' (Nullable = false) (Size = 7) @p2='1' @@ -424,11 +513,14 @@ public override async Task Edit_single_property_bool() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestBoolean', CAST(JSON_VALUE(@p0, '$[0]') AS bit)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestBoolean', CAST(JSON_VALUE(@p1, '$[0]') AS bit)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_byte() @@ -436,7 +528,8 @@ public override async Task Edit_single_property_byte() await base.Edit_single_property_byte(); AssertSql( - @"@p0='[14]' (Nullable = false) (Size = 4) +""" +@p0='[14]' (Nullable = false) (Size = 4) @p1='[25]' (Nullable = false) (Size = 4) @p2='1' @@ -444,11 +537,14 @@ public override async Task Edit_single_property_byte() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestByte', CAST(JSON_VALUE(@p0, '$[0]') AS tinyint)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestByte', CAST(JSON_VALUE(@p1, '$[0]') AS tinyint)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_char() @@ -456,18 +552,22 @@ public override async Task Edit_single_property_char() await base.Edit_single_property_char(); AssertSql( - @"@p0='[""t""]' (Nullable = false) (Size = 5) +""" +@p0='["t"]' (Nullable = false) (Size = 5) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Reference] = JSON_MODIFY([Reference], 'strict $.TestCharacter', CAST(JSON_VALUE(@p0, '$[0]') AS nvarchar(1))) OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_datetime() @@ -475,19 +575,23 @@ public override async Task Edit_single_property_datetime() await base.Edit_single_property_datetime(); AssertSql( - @"@p0='[""3000-01-01T12:34:56""]' (Nullable = false) (Size = 23) -@p1='[""3000-01-01T12:34:56""]' (Nullable = false) (Size = 23) +""" +@p0='["3000-01-01T12:34:56"]' (Nullable = false) (Size = 23) +@p1='["3000-01-01T12:34:56"]' (Nullable = false) (Size = 23) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestDateTime', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestDateTime', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_datetimeoffset() @@ -495,19 +599,23 @@ public override async Task Edit_single_property_datetimeoffset() await base.Edit_single_property_datetimeoffset(); AssertSql( - @"@p0='[""3000-01-01T12:34:56-04:00""]' (Nullable = false) (Size = 29) -@p1='[""3000-01-01T12:34:56-04:00""]' (Nullable = false) (Size = 29) +""" +@p0='["3000-01-01T12:34:56-04:00"]' (Nullable = false) (Size = 29) +@p1='["3000-01-01T12:34:56-04:00"]' (Nullable = false) (Size = 29) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestDateTimeOffset', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestDateTimeOffset', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_decimal() @@ -515,7 +623,8 @@ public override async Task Edit_single_property_decimal() await base.Edit_single_property_decimal(); AssertSql( - @"@p0='[-13579.01]' (Nullable = false) (Size = 11) +""" +@p0='[-13579.01]' (Nullable = false) (Size = 11) @p1='[-13579.01]' (Nullable = false) (Size = 11) @p2='1' @@ -523,11 +632,14 @@ public override async Task Edit_single_property_decimal() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestDecimal', CAST(JSON_VALUE(@p0, '$[0]') AS decimal(18,3))), [Reference] = JSON_MODIFY([Reference], 'strict $.TestDecimal', CAST(JSON_VALUE(@p1, '$[0]') AS decimal(18,3))) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_double() @@ -535,7 +647,8 @@ public override async Task Edit_single_property_double() await base.Edit_single_property_double(); AssertSql( - @"@p0='[-1.23579]' (Nullable = false) (Size = 10) +""" +@p0='[-1.23579]' (Nullable = false) (Size = 10) @p1='[-1.23579]' (Nullable = false) (Size = 10) @p2='1' @@ -543,11 +656,14 @@ public override async Task Edit_single_property_double() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestDouble', CAST(JSON_VALUE(@p0, '$[0]') AS float)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestDouble', CAST(JSON_VALUE(@p1, '$[0]') AS float)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_guid() @@ -555,19 +671,23 @@ public override async Task Edit_single_property_guid() await base.Edit_single_property_guid(); AssertSql( - @"@p0='[""12345678-1234-4321-5555-987654321000""]' (Nullable = false) (Size = 40) -@p1='[""12345678-1234-4321-5555-987654321000""]' (Nullable = false) (Size = 40) +""" +@p0='["12345678-1234-4321-5555-987654321000"]' (Nullable = false) (Size = 40) +@p1='["12345678-1234-4321-5555-987654321000"]' (Nullable = false) (Size = 40) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestGuid', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestGuid', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_int16() @@ -575,7 +695,8 @@ public override async Task Edit_single_property_int16() await base.Edit_single_property_int16(); AssertSql( - @"@p0='[-3234]' (Nullable = false) (Size = 7) +""" +@p0='[-3234]' (Nullable = false) (Size = 7) @p1='[-3234]' (Nullable = false) (Size = 7) @p2='1' @@ -583,11 +704,14 @@ public override async Task Edit_single_property_int16() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestInt16', CAST(JSON_VALUE(@p0, '$[0]') AS smallint)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestInt16', CAST(JSON_VALUE(@p1, '$[0]') AS smallint)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_int32() @@ -595,7 +719,8 @@ public override async Task Edit_single_property_int32() await base.Edit_single_property_int32(); AssertSql( - @"@p0='[-3234]' (Nullable = false) (Size = 7) +""" +@p0='[-3234]' (Nullable = false) (Size = 7) @p1='[-3234]' (Nullable = false) (Size = 7) @p2='1' @@ -603,11 +728,14 @@ public override async Task Edit_single_property_int32() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestInt32', CAST(JSON_VALUE(@p0, '$[0]') AS int)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestInt32', CAST(JSON_VALUE(@p1, '$[0]') AS int)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_int64() @@ -615,7 +743,8 @@ public override async Task Edit_single_property_int64() await base.Edit_single_property_int64(); AssertSql( - @"@p0='[-3234]' (Nullable = false) (Size = 7) +""" +@p0='[-3234]' (Nullable = false) (Size = 7) @p1='[-3234]' (Nullable = false) (Size = 7) @p2='1' @@ -623,11 +752,14 @@ public override async Task Edit_single_property_int64() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestInt64', CAST(JSON_VALUE(@p0, '$[0]') AS bigint)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestInt64', CAST(JSON_VALUE(@p1, '$[0]') AS bigint)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_signed_byte() @@ -635,7 +767,8 @@ public override async Task Edit_single_property_signed_byte() await base.Edit_single_property_signed_byte(); AssertSql( - @"@p0='[-108]' (Nullable = false) (Size = 6) +""" +@p0='[-108]' (Nullable = false) (Size = 6) @p1='[-108]' (Nullable = false) (Size = 6) @p2='1' @@ -643,11 +776,14 @@ public override async Task Edit_single_property_signed_byte() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestSignedByte', CAST(JSON_VALUE(@p0, '$[0]') AS smallint)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestSignedByte', CAST(JSON_VALUE(@p1, '$[0]') AS smallint)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_single() @@ -655,7 +791,8 @@ public override async Task Edit_single_property_single() await base.Edit_single_property_single(); AssertSql( - @"@p0='[-7.234]' (Nullable = false) (Size = 8) +""" +@p0='[-7.234]' (Nullable = false) (Size = 8) @p1='[-7.234]' (Nullable = false) (Size = 8) @p2='1' @@ -663,11 +800,14 @@ public override async Task Edit_single_property_single() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestSingle', CAST(JSON_VALUE(@p0, '$[0]') AS real)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestSingle', CAST(JSON_VALUE(@p1, '$[0]') AS real)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_timespan() @@ -675,19 +815,23 @@ public override async Task Edit_single_property_timespan() await base.Edit_single_property_timespan(); AssertSql( - @"@p0='[""10:01:01.0070000""]' (Nullable = false) (Size = 20) -@p1='[""10:01:01.0070000""]' (Nullable = false) (Size = 20) +""" +@p0='["10:01:01.0070000"]' (Nullable = false) (Size = 20) +@p1='["10:01:01.0070000"]' (Nullable = false) (Size = 20) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestTimeSpan', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestTimeSpan', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_uint16() @@ -695,7 +839,8 @@ public override async Task Edit_single_property_uint16() await base.Edit_single_property_uint16(); AssertSql( - @"@p0='[1534]' (Nullable = false) (Size = 6) +""" +@p0='[1534]' (Nullable = false) (Size = 6) @p1='[1534]' (Nullable = false) (Size = 6) @p2='1' @@ -703,11 +848,14 @@ public override async Task Edit_single_property_uint16() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestUnsignedInt16', CAST(JSON_VALUE(@p0, '$[0]') AS int)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestUnsignedInt16', CAST(JSON_VALUE(@p1, '$[0]') AS int)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_uint32() @@ -715,7 +863,8 @@ public override async Task Edit_single_property_uint32() await base.Edit_single_property_uint32(); AssertSql( - @"@p0='[1237775789]' (Nullable = false) (Size = 12) +""" +@p0='[1237775789]' (Nullable = false) (Size = 12) @p1='[1237775789]' (Nullable = false) (Size = 12) @p2='1' @@ -723,11 +872,14 @@ public override async Task Edit_single_property_uint32() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestUnsignedInt32', CAST(JSON_VALUE(@p0, '$[0]') AS bigint)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestUnsignedInt32', CAST(JSON_VALUE(@p1, '$[0]') AS bigint)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_uint64() @@ -735,7 +887,8 @@ public override async Task Edit_single_property_uint64() await base.Edit_single_property_uint64(); AssertSql( - @"@p0='[1234555555123456789]' (Nullable = false) (Size = 21) +""" +@p0='[1234555555123456789]' (Nullable = false) (Size = 21) @p1='[1234555555123456789]' (Nullable = false) (Size = 21) @p2='1' @@ -743,11 +896,14 @@ public override async Task Edit_single_property_uint64() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestUnsignedInt64', CAST(JSON_VALUE(@p0, '$[0]') AS decimal(20,0))), [Reference] = JSON_MODIFY([Reference], 'strict $.TestUnsignedInt64', CAST(JSON_VALUE(@p1, '$[0]') AS decimal(20,0))) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_nullable_int32() @@ -755,7 +911,8 @@ public override async Task Edit_single_property_nullable_int32() await base.Edit_single_property_nullable_int32(); AssertSql( - @"@p0='[122354]' (Nullable = false) (Size = 8) +""" +@p0='[122354]' (Nullable = false) (Size = 8) @p1='[64528]' (Nullable = false) (Size = 7) @p2='1' @@ -763,11 +920,14 @@ public override async Task Edit_single_property_nullable_int32() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestNullableInt32', CAST(JSON_VALUE(@p0, '$[0]') AS int)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestNullableInt32', CAST(JSON_VALUE(@p1, '$[0]') AS int)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_nullable_int32_set_to_null() @@ -775,7 +935,8 @@ public override async Task Edit_single_property_nullable_int32_set_to_null() await base.Edit_single_property_nullable_int32_set_to_null(); AssertSql( - @"@p0='[null]' (Nullable = false) (Size = 6) +""" +@p0='[null]' (Nullable = false) (Size = 6) @p1='[null]' (Nullable = false) (Size = 6) @p2='1' @@ -783,11 +944,14 @@ public override async Task Edit_single_property_nullable_int32_set_to_null() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestNullableInt32', CAST(JSON_VALUE(@p0, '$[0]') AS int)), [Reference] = JSON_MODIFY([Reference], 'strict $.TestNullableInt32', CAST(JSON_VALUE(@p1, '$[0]') AS int)) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_enum() @@ -795,19 +959,23 @@ public override async Task Edit_single_property_enum() await base.Edit_single_property_enum(); AssertSql( - @"@p0='[""Three""]' (Nullable = false) (Size = 9) -@p1='[""Three""]' (Nullable = false) (Size = 9) +""" +@p0='["Three"]' (Nullable = false) (Size = 9) +@p1='["Three"]' (Nullable = false) (Size = 9) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestEnum', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestEnum', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_enum_with_int_converter() @@ -815,19 +983,23 @@ public override async Task Edit_single_property_enum_with_int_converter() await base.Edit_single_property_enum_with_int_converter(); AssertSql( - @"@p0='[""Three""]' (Nullable = false) (Size = 9) -@p1='[""Three""]' (Nullable = false) (Size = 9) +""" +@p0='["Three"]' (Nullable = false) (Size = 9) +@p1='["Three"]' (Nullable = false) (Size = 9) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestEnumWithIntConverter', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestEnumWithIntConverter', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_nullable_enum() @@ -835,19 +1007,23 @@ public override async Task Edit_single_property_nullable_enum() await base.Edit_single_property_nullable_enum(); AssertSql( - @"@p0='[""Three""]' (Nullable = false) (Size = 9) -@p1='[""Three""]' (Nullable = false) (Size = 9) +""" +@p0='["Three"]' (Nullable = false) (Size = 9) +@p1='["Three"]' (Nullable = false) (Size = 9) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestEnum', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestEnum', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_nullable_enum_set_to_null() @@ -855,7 +1031,8 @@ public override async Task Edit_single_property_nullable_enum_set_to_null() await base.Edit_single_property_nullable_enum_set_to_null(); AssertSql( - @"@p0='[null]' (Nullable = false) (Size = 6) +""" +@p0='[null]' (Nullable = false) (Size = 6) @p1='[null]' (Nullable = false) (Size = 6) @p2='1' @@ -863,11 +1040,14 @@ public override async Task Edit_single_property_nullable_enum_set_to_null() SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestNullableEnum', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestNullableEnum', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_nullable_enum_with_int_converter() @@ -875,19 +1055,23 @@ public override async Task Edit_single_property_nullable_enum_with_int_converter await base.Edit_single_property_nullable_enum_with_int_converter(); AssertSql( - @"@p0='[""One""]' (Nullable = false) (Size = 7) -@p1='[""Three""]' (Nullable = false) (Size = 9) +""" +@p0='["One"]' (Nullable = false) (Size = 7) +@p1='["Three"]' (Nullable = false) (Size = 9) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestNullableEnumWithIntConverter', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestNullableEnumWithIntConverter', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_nullable_enum_with_int_converter_set_to_null() @@ -895,7 +1079,8 @@ public override async Task Edit_single_property_nullable_enum_with_int_converter await base.Edit_single_property_nullable_enum_with_int_converter_set_to_null(); AssertSql( - @"@p0='[null]' (Nullable = false) (Size = 6) +""" +@p0='[null]' (Nullable = false) (Size = 6) @p1='[null]' (Nullable = false) (Size = 6) @p2='1' @@ -903,11 +1088,14 @@ public override async Task Edit_single_property_nullable_enum_with_int_converter SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestNullableEnumWithIntConverter', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestNullableEnumWithIntConverter', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_nullable_enum_with_converter_that_handles_nulls() @@ -915,19 +1103,23 @@ public override async Task Edit_single_property_nullable_enum_with_converter_tha await base.Edit_single_property_nullable_enum_with_converter_that_handles_nulls(); AssertSql( - @"@p0='[""Three""]' (Nullable = false) (Size = 9) -@p1='[""One""]' (Nullable = false) (Size = 7) +""" +@p0='["Three"]' (Nullable = false) (Size = 9) +@p1='["One"]' (Nullable = false) (Size = 7) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestNullableEnumWithConverterThatHandlesNulls', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestNullableEnumWithConverterThatHandlesNulls', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_single_property_nullable_enum_with_converter_that_handles_nulls_set_to_null() @@ -935,7 +1127,8 @@ public override async Task Edit_single_property_nullable_enum_with_converter_tha await base.Edit_single_property_nullable_enum_with_converter_that_handles_nulls_set_to_null(); AssertSql( - @"@p0='[null]' (Nullable = false) (Size = 6) +""" +@p0='[null]' (Nullable = false) (Size = 6) @p1='[null]' (Nullable = false) (Size = 6) @p2='1' @@ -943,11 +1136,14 @@ public override async Task Edit_single_property_nullable_enum_with_converter_tha SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0].TestNullableEnumWithConverterThatHandlesNulls', JSON_VALUE(@p0, '$[0]')), [Reference] = JSON_MODIFY([Reference], 'strict $.TestNullableEnumWithConverterThatHandlesNulls', JSON_VALUE(@p1, '$[0]')) OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_two_properties_on_same_entity_updates_the_entire_entity() @@ -955,19 +1151,23 @@ public override async Task Edit_two_properties_on_same_entity_updates_the_entire await base.Edit_two_properties_on_same_entity_updates_the_entire_entity(); AssertSql( - @"@p0='{""TestBoolean"":false,""TestByte"":25,""TestCharacter"":""h"",""TestDateTime"":""2100-11-11T12:34:56"",""TestDateTimeOffset"":""2200-11-11T12:34:56-05:00"",""TestDecimal"":-123450.01,""TestDouble"":-1.2345,""TestEnum"":""One"",""TestEnumWithIntConverter"":""Two"",""TestGuid"":""00000000-0000-0000-0000-000000000000"",""TestInt16"":-12,""TestInt32"":32,""TestInt64"":64,""TestNullableEnum"":""One"",""TestNullableEnumWithConverterThatHandlesNulls"":""Two"",""TestNullableEnumWithIntConverter"":""Three"",""TestNullableInt32"":90,""TestSignedByte"":-18,""TestSingle"":-1.4,""TestTimeSpan"":""06:05:04.0030000"",""TestUnsignedInt16"":12,""TestUnsignedInt32"":12345,""TestUnsignedInt64"":1234567867}' (Nullable = false) (Size = 631) -@p1='{""TestBoolean"":true,""TestByte"":255,""TestCharacter"":""a"",""TestDateTime"":""2000-01-01T12:34:56"",""TestDateTimeOffset"":""2000-01-01T12:34:56-08:00"",""TestDecimal"":-1234567890.01,""TestDouble"":-1.23456789,""TestEnum"":""One"",""TestEnumWithIntConverter"":""Two"",""TestGuid"":""12345678-1234-4321-7777-987654321000"",""TestInt16"":-1234,""TestInt32"":32,""TestInt64"":64,""TestNullableEnum"":""One"",""TestNullableEnumWithConverterThatHandlesNulls"":""Three"",""TestNullableEnumWithIntConverter"":""Two"",""TestNullableInt32"":78,""TestSignedByte"":-128,""TestSingle"":-1.234,""TestTimeSpan"":""10:09:08.0070000"",""TestUnsignedInt16"":1234,""TestUnsignedInt32"":1234565789,""TestUnsignedInt64"":1234567890123456789}' (Nullable = false) (Size = 660) +""" +@p0='{"TestBoolean":false,"TestByte":25,"TestCharacter":"h","TestDateTime":"2100-11-11T12:34:56","TestDateTimeOffset":"2200-11-11T12:34:56-05:00","TestDecimal":-123450.01,"TestDouble":-1.2345,"TestEnum":"One","TestEnumWithIntConverter":"Two","TestGuid":"00000000-0000-0000-0000-000000000000","TestInt16":-12,"TestInt32":32,"TestInt64":64,"TestNullableEnum":"One","TestNullableEnumWithConverterThatHandlesNulls":"Two","TestNullableEnumWithIntConverter":"Three","TestNullableInt32":90,"TestSignedByte":-18,"TestSingle":-1.4,"TestTimeSpan":"06:05:04.0030000","TestUnsignedInt16":12,"TestUnsignedInt32":12345,"TestUnsignedInt64":1234567867}' (Nullable = false) (Size = 631) +@p1='{"TestBoolean":true,"TestByte":255,"TestCharacter":"a","TestDateTime":"2000-01-01T12:34:56","TestDateTimeOffset":"2000-01-01T12:34:56-08:00","TestDecimal":-1234567890.01,"TestDouble":-1.23456789,"TestEnum":"One","TestEnumWithIntConverter":"Two","TestGuid":"12345678-1234-4321-7777-987654321000","TestInt16":-1234,"TestInt32":32,"TestInt64":64,"TestNullableEnum":"One","TestNullableEnumWithConverterThatHandlesNulls":"Three","TestNullableEnumWithIntConverter":"Two","TestNullableInt32":78,"TestSignedByte":-128,"TestSingle":-1.234,"TestTimeSpan":"10:09:08.0070000","TestUnsignedInt16":1234,"TestUnsignedInt32":1234565789,"TestUnsignedInt64":1234567890123456789}' (Nullable = false) (Size = 660) @p2='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesAllTypes] SET [Collection] = JSON_MODIFY([Collection], 'strict $[0]', JSON_QUERY(@p0)), [Reference] = @p1 OUTPUT 1 -WHERE [Id] = @p2;", - // - @"SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') +WHERE [Id] = @p2; +""", + // +""" +SELECT TOP(2) [j].[Id], JSON_QUERY([j].[Collection],'$'), JSON_QUERY([j].[Reference],'$') FROM [JsonEntitiesAllTypes] AS [j] -WHERE [j].[Id] = 1"); +WHERE [j].[Id] = 1 +"""); } public override async Task Edit_a_scalar_property_and_reference_navigation_on_the_same_entity() @@ -975,17 +1175,21 @@ public override async Task Edit_a_scalar_property_and_reference_navigation_on_th await base.Edit_a_scalar_property_and_reference_navigation_on_the_same_entity(); AssertSql( - @"@p0='{""Date"":""2100-01-01T00:00:00"",""Enum"":""One"",""Fraction"":523.532,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_r_r_c1""},{""SomethingSomething"":""e1_r_r_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""edit""}}' (Nullable = false) (Size = 227) +""" +@p0='{"Date":"2100-01-01T00:00:00","Enum":"One","Fraction":523.532,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"e1_r_r_c1"},{"SomethingSomething":"e1_r_r_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"edit"}}' (Nullable = false) (Size = 227) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedReferenceBranch', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_a_scalar_property_and_collection_navigation_on_the_same_entity() @@ -993,17 +1197,21 @@ public override async Task Edit_a_scalar_property_and_collection_navigation_on_t await base.Edit_a_scalar_property_and_collection_navigation_on_the_same_entity(); AssertSql( - @"@p0='{""Date"":""2100-01-01T00:00:00"",""Enum"":""One"",""Fraction"":523.532,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""edit""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""e1_r_r_r""}}' (Nullable = false) (Size = 191) +""" +@p0='{"Date":"2100-01-01T00:00:00","Enum":"One","Fraction":523.532,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"edit"}],"OwnedReferenceLeaf":{"SomethingSomething":"e1_r_r_r"}}' (Nullable = false) (Size = 191) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedReferenceBranch', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } public override async Task Edit_a_scalar_property_and_another_property_behind_reference_navigation_on_the_same_entity() @@ -1011,17 +1219,21 @@ public override async Task Edit_a_scalar_property_and_another_property_behind_re await base.Edit_a_scalar_property_and_another_property_behind_reference_navigation_on_the_same_entity(); AssertSql( - @"@p0='{""Date"":""2100-01-01T00:00:00"",""Enum"":""One"",""Fraction"":523.532,""NullableEnum"":null,""OwnedCollectionLeaf"":[{""SomethingSomething"":""e1_r_r_c1""},{""SomethingSomething"":""e1_r_r_c2""}],""OwnedReferenceLeaf"":{""SomethingSomething"":""edit""}}' (Nullable = false) (Size = 227) +""" +@p0='{"Date":"2100-01-01T00:00:00","Enum":"One","Fraction":523.532,"NullableEnum":null,"OwnedCollectionLeaf":[{"SomethingSomething":"e1_r_r_c1"},{"SomethingSomething":"e1_r_r_c2"}],"OwnedReferenceLeaf":{"SomethingSomething":"edit"}}' (Nullable = false) (Size = 227) @p1='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [JsonEntitiesBasic] SET [OwnedReferenceRoot] = JSON_MODIFY([OwnedReferenceRoot], 'strict $.OwnedReferenceBranch', JSON_QUERY(@p0)) OUTPUT 1 -WHERE [Id] = @p1;", - // - @"SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') -FROM [JsonEntitiesBasic] AS [j]"); +WHERE [Id] = @p1; +""", + // +""" +SELECT TOP(2) [j].[Id], [j].[EntityBasicId], [j].[Name], JSON_QUERY([j].[OwnedCollectionRoot],'$'), JSON_QUERY([j].[OwnedReferenceRoot],'$') +FROM [JsonEntitiesBasic] AS [j] +"""); } protected override void ClearLog() diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/SqlServerUpdateSqlGeneratorTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/SqlServerUpdateSqlGeneratorTest.cs index b591c7147d8..df55f71991d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/SqlServerUpdateSqlGeneratorTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/SqlServerUpdateSqlGeneratorTest.cs @@ -34,43 +34,48 @@ public void AppendBatchHeader_should_append_SET_NOCOUNT_ON() protected override void AppendInsertOperation_for_store_generated_columns_but_no_identity_verification( StringBuilder stringBuilder) => AssertBaseline( - @"INSERT INTO [dbo].[Ducks] ([Id], [Name], [Quacks], [ConcurrencyToken]) +""" +INSERT INTO [dbo].[Ducks] ([Id], [Name], [Quacks], [ConcurrencyToken]) OUTPUT INSERTED.[Computed] VALUES (@p0, @p1, @p2, @p3); -", +""", stringBuilder.ToString()); protected override void AppendInsertOperation_insert_if_store_generated_columns_exist_verification(StringBuilder stringBuilder) => AssertBaseline( - @"INSERT INTO [dbo].[Ducks] ([Name], [Quacks], [ConcurrencyToken]) +""" +INSERT INTO [dbo].[Ducks] ([Name], [Quacks], [ConcurrencyToken]) OUTPUT INSERTED.[Id], INSERTED.[Computed] VALUES (@p0, @p1, @p2); -", +""", stringBuilder.ToString()); protected override void AppendInsertOperation_for_only_single_identity_columns_verification( StringBuilder stringBuilder) => AssertBaseline( - @"INSERT INTO [dbo].[Ducks] +""" +INSERT INTO [dbo].[Ducks] OUTPUT INSERTED.[Id] DEFAULT VALUES; -", +""", stringBuilder.ToString()); protected override void AppendInsertOperation_for_only_identity_verification(StringBuilder stringBuilder) => AssertBaseline( - @"INSERT INTO [dbo].[Ducks] ([Name], [Quacks], [ConcurrencyToken]) +""" +INSERT INTO [dbo].[Ducks] ([Name], [Quacks], [ConcurrencyToken]) OUTPUT INSERTED.[Id] VALUES (@p0, @p1, @p2); -", +""", stringBuilder.ToString()); protected override void AppendInsertOperation_for_all_store_generated_columns_verification(StringBuilder stringBuilder) => AssertBaseline( - @"INSERT INTO [dbo].[Ducks] +""" +INSERT INTO [dbo].[Ducks] OUTPUT INSERTED.[Id], INSERTED.[Computed] DEFAULT VALUES; -", +""", stringBuilder.ToString()); [ConditionalFact] @@ -83,14 +88,15 @@ public void AppendBulkInsertOperation_appends_merge_if_store_generated_columns_e var grouping = sqlGenerator.AppendBulkInsertOperation(stringBuilder, new[] { command, command }, 0); AssertBaseline( - @"MERGE [dbo].[Ducks] USING ( +""" +MERGE [dbo].[Ducks] USING ( VALUES (@p0, @p1, @p2, 0), (@p0, @p1, @p2, 1)) AS i ([Name], [Quacks], [ConcurrencyToken], _Position) ON 1=0 WHEN NOT MATCHED THEN INSERT ([Name], [Quacks], [ConcurrencyToken]) VALUES (i.[Name], i.[Quacks], i.[ConcurrencyToken]) OUTPUT INSERTED.[Id], INSERTED.[Computed], i._Position; -", +""", stringBuilder.ToString()); Assert.Equal(ResultSetMapping.NotLastInResultSet | ResultSetMapping.IsPositionalResultMappingEnabled, grouping); } @@ -105,10 +111,11 @@ public void AppendBulkInsertOperation_appends_insert_if_no_store_generated_colum var grouping = sqlGenerator.AppendBulkInsertOperation(stringBuilder, new[] { command, command }, 0); AssertBaseline( - @"INSERT INTO [dbo].[Ducks] ([Id], [Name], [Quacks], [ConcurrencyToken]) +""" +INSERT INTO [dbo].[Ducks] ([Id], [Name], [Quacks], [ConcurrencyToken]) VALUES (@p0, @p1, @p2, @p3), (@p0, @p1, @p2, @p3); -", +""", stringBuilder.ToString()); Assert.Equal(ResultSetMapping.NoResults, grouping); } @@ -123,7 +130,8 @@ public void AppendBulkInsertOperation_appends_insert_if_store_generated_columns_ var grouping = sqlGenerator.AppendBulkInsertOperation(stringBuilder, new[] { command, command }, 0); AssertBaseline( - @"DECLARE @inserted0 TABLE ([Id] int); +""" +DECLARE @inserted0 TABLE ([Id] int); INSERT INTO [dbo].[Ducks] ([Id]) OUTPUT INSERTED.[Id] INTO @inserted0 @@ -131,8 +139,7 @@ INTO @inserted0 (DEFAULT); SELECT [t].[Id], [t].[Computed] FROM [dbo].[Ducks] t INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]); - -", +""", stringBuilder.ToString()); Assert.Equal(ResultSetMapping.NotLastInResultSet, grouping); } @@ -146,63 +153,71 @@ public void AppendBulkInsertOperation_appends_insert_if_no_store_generated_colum var sqlGenerator = (ISqlServerUpdateSqlGenerator)CreateSqlGenerator(); var grouping = sqlGenerator.AppendBulkInsertOperation(stringBuilder, new[] { command, command }, 0); - var expectedText = @"INSERT INTO [dbo].[Ducks] ([Computed]) + var expectedText = +""" +INSERT INTO [dbo].[Ducks] ([Computed]) VALUES (DEFAULT), (DEFAULT); -"; +"""; AssertBaseline(expectedText, stringBuilder.ToString()); Assert.Equal(ResultSetMapping.NoResults, grouping); } protected override void AppendUpdateOperation_for_computed_property_verification(StringBuilder stringBuilder) => AssertBaseline( - @"UPDATE [dbo].[Ducks] SET [Name] = @p0, [Quacks] = @p1, [ConcurrencyToken] = @p2 +""" +UPDATE [dbo].[Ducks] SET [Name] = @p0, [Quacks] = @p1, [ConcurrencyToken] = @p2 OUTPUT INSERTED.[Computed] WHERE [Id] = @p3; -", +""", stringBuilder.ToString()); protected override void AppendUpdateOperation_if_store_generated_columns_exist_verification( StringBuilder stringBuilder) => AssertBaseline( - @"UPDATE [dbo].[Ducks] SET [Name] = @p0, [Quacks] = @p1, [ConcurrencyToken] = @p2 +""" +UPDATE [dbo].[Ducks] SET [Name] = @p0, [Quacks] = @p1, [ConcurrencyToken] = @p2 OUTPUT INSERTED.[Computed] WHERE [Id] = @p3 AND [ConcurrencyToken] IS NULL; -", +""", stringBuilder.ToString()); protected override void AppendUpdateOperation_if_store_generated_columns_dont_exist_verification( StringBuilder stringBuilder) => AssertBaseline( - @"UPDATE [dbo].[Ducks] SET [Name] = @p0, [Quacks] = @p1, [ConcurrencyToken] = @p2 +""" +UPDATE [dbo].[Ducks] SET [Name] = @p0, [Quacks] = @p1, [ConcurrencyToken] = @p2 OUTPUT 1 WHERE [Id] = @p3; -", +""", stringBuilder.ToString()); protected override void AppendUpdateOperation_appends_where_for_concurrency_token_verification(StringBuilder stringBuilder) => AssertBaseline( - @"UPDATE [dbo].[Ducks] SET [Name] = @p0, [Quacks] = @p1, [ConcurrencyToken] = @p2 +""" +UPDATE [dbo].[Ducks] SET [Name] = @p0, [Quacks] = @p1, [ConcurrencyToken] = @p2 OUTPUT 1 WHERE [Id] = @p3 AND [ConcurrencyToken] IS NULL; -", +""", stringBuilder.ToString()); protected override void AppendDeleteOperation_creates_full_delete_command_text_verification(StringBuilder stringBuilder) => AssertBaseline( - @"DELETE FROM [dbo].[Ducks] +""" +DELETE FROM [dbo].[Ducks] OUTPUT 1 WHERE [Id] = @p0; -", +""", stringBuilder.ToString()); protected override void AppendDeleteOperation_creates_full_delete_command_text_with_concurrency_check_verification( StringBuilder stringBuilder) => AssertBaseline( - @"DELETE FROM [dbo].[Ducks] +""" +DELETE FROM [dbo].[Ducks] OUTPUT 1 WHERE [Id] = @p0 AND [ConcurrencyToken] IS NULL; -", +""", stringBuilder.ToString()); protected override string RowsAffected @@ -218,5 +233,5 @@ protected override string CloseDelimiter => "]"; private void AssertBaseline(string expected, string actual) - => Assert.Equal(expected, actual, ignoreLineEndingDifferences: true); + => Assert.Equal(expected, actual.TrimEnd(), ignoreLineEndingDifferences: true); } diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentitySqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentitySqlServerTest.cs index 6bd39b07f4f..9d65a5daf13 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentitySqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentitySqlServerTest.cs @@ -44,13 +44,15 @@ public override async Task Add_with_generated_values(bool async) await base.Add_with_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [WithSomeDatabaseGenerated] ([Data2]) OUTPUT INSERTED.[Id], INSERTED.[Data1] -VALUES (@p0);"); +VALUES (@p0); +"""); } public override async Task Add_with_no_generated_values(bool async) @@ -58,14 +60,16 @@ public override async Task Add_with_no_generated_values(bool async) await base.Add_with_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) -VALUES (@p0, @p1, @p2);"); +VALUES (@p0, @p1, @p2); +"""); } public override async Task Add_with_all_generated_values(bool async) @@ -73,11 +77,13 @@ public override async Task Add_with_all_generated_values(bool async) await base.Add_with_all_generated_values(async); AssertSql( - @"SET IMPLICIT_TRANSACTIONS OFF; +""" +SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [WithAllDatabaseGenerated] OUTPUT INSERTED.[Id], INSERTED.[Data1], INSERTED.[Data2] -DEFAULT VALUES;"); +DEFAULT VALUES; +"""); } public override async Task Modify_with_generated_values(bool async) @@ -85,14 +91,16 @@ public override async Task Modify_with_generated_values(bool async) await base.Modify_with_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [WithSomeDatabaseGenerated] SET [Data2] = @p0 OUTPUT INSERTED.[Data1] -WHERE [Id] = @p1;"); +WHERE [Id] = @p1; +"""); } public override async Task Modify_with_no_generated_values(bool async) @@ -100,7 +108,8 @@ public override async Task Modify_with_no_generated_values(bool async) await base.Modify_with_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @@ -108,7 +117,8 @@ public override async Task Modify_with_no_generated_values(bool async) SET NOCOUNT ON; UPDATE [WithNoDatabaseGenerated] SET [Data1] = @p0, [Data2] = @p1 OUTPUT 1 -WHERE [Id] = @p2;"); +WHERE [Id] = @p2; +"""); } public override async Task Delete(bool async) @@ -116,13 +126,15 @@ public override async Task Delete(bool async) await base.Delete(async); AssertSql( - @"@p0='1' +""" +@p0='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; DELETE FROM [WithSomeDatabaseGenerated] OUTPUT 1 -WHERE [Id] = @p0;"); +WHERE [Id] = @p0; +"""); } #endregion Single operation @@ -134,7 +146,8 @@ public override async Task Add_Add_with_same_entity_type_and_generated_values(bo await base.Add_Add_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' @p1='1001' SET IMPLICIT_TRANSACTIONS OFF; @@ -145,7 +158,8 @@ MERGE [WithSomeDatabaseGenerated] USING ( WHEN NOT MATCHED THEN INSERT ([Data2]) VALUES (i.[Data2]) -OUTPUT INSERTED.[Id], INSERTED.[Data1], i._Position;"); +OUTPUT INSERTED.[Id], INSERTED.[Data1], i._Position; +"""); } public override async Task Add_Add_with_same_entity_type_and_no_generated_values(bool async) @@ -153,7 +167,8 @@ public override async Task Add_Add_with_same_entity_type_and_no_generated_values await base.Add_Add_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' @p3='101' @@ -164,7 +179,8 @@ public override async Task Add_Add_with_same_entity_type_and_no_generated_values SET NOCOUNT ON; INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) VALUES (@p0, @p1, @p2), -(@p3, @p4, @p5);"); +(@p3, @p4, @p5); +"""); } public override async Task Add_Add_with_same_entity_type_and_all_generated_values(bool async) @@ -172,13 +188,15 @@ public override async Task Add_Add_with_same_entity_type_and_all_generated_value await base.Add_Add_with_same_entity_type_and_all_generated_values(async); AssertSql( - @"SET NOCOUNT ON; +""" +SET NOCOUNT ON; INSERT INTO [WithAllDatabaseGenerated] OUTPUT INSERTED.[Id], INSERTED.[Data1], INSERTED.[Data2] DEFAULT VALUES; INSERT INTO [WithAllDatabaseGenerated] OUTPUT INSERTED.[Id], INSERTED.[Data1], INSERTED.[Data2] -DEFAULT VALUES;"); +DEFAULT VALUES; +"""); } public override async Task Modify_Modify_with_same_entity_type_and_generated_values(bool async) @@ -186,7 +204,8 @@ public override async Task Modify_Modify_with_same_entity_type_and_generated_val await base.Modify_Modify_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' @p3='2' @p2='1001' @@ -197,7 +216,8 @@ OUTPUT INSERTED.[Data1] WHERE [Id] = @p1; UPDATE [WithSomeDatabaseGenerated] SET [Data2] = @p2 OUTPUT INSERTED.[Data1] -WHERE [Id] = @p3;"); +WHERE [Id] = @p3; +"""); } public override async Task Modify_Modify_with_same_entity_type_and_no_generated_values(bool async) @@ -205,7 +225,8 @@ public override async Task Modify_Modify_with_same_entity_type_and_no_generated_ await base.Modify_Modify_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @p5='2' @@ -218,7 +239,8 @@ OUTPUT 1 WHERE [Id] = @p2; UPDATE [WithNoDatabaseGenerated] SET [Data1] = @p3, [Data2] = @p4 OUTPUT 1 -WHERE [Id] = @p5;"); +WHERE [Id] = @p5; +"""); } public override async Task Delete_Delete_with_same_entity_type(bool async) @@ -226,7 +248,8 @@ public override async Task Delete_Delete_with_same_entity_type(bool async) await base.Delete_Delete_with_same_entity_type(async); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='2' SET NOCOUNT ON; @@ -235,7 +258,8 @@ OUTPUT 1 WHERE [Id] = @p0; DELETE FROM [WithSomeDatabaseGenerated] OUTPUT 1 -WHERE [Id] = @p1;"); +WHERE [Id] = @p1; +"""); } #endregion Same two operations with same entity type @@ -247,7 +271,8 @@ public override async Task Add_Add_with_different_entity_types_and_generated_val await base.Add_Add_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' @p1='1001' SET NOCOUNT ON; @@ -256,7 +281,8 @@ INSERT INTO [WithSomeDatabaseGenerated] ([Data2]) VALUES (@p0); INSERT INTO [WithSomeDatabaseGenerated2] ([Data2]) OUTPUT INSERTED.[Id], INSERTED.[Data1] -VALUES (@p1);"); +VALUES (@p1); +"""); } public override async Task Add_Add_with_different_entity_types_and_no_generated_values(bool async) @@ -264,7 +290,8 @@ public override async Task Add_Add_with_different_entity_types_and_no_generated_ await base.Add_Add_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' @p3='101' @@ -275,7 +302,8 @@ public override async Task Add_Add_with_different_entity_types_and_no_generated_ INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) VALUES (@p0, @p1, @p2); INSERT INTO [WithNoDatabaseGenerated2] ([Id], [Data1], [Data2]) -VALUES (@p3, @p4, @p5);"); +VALUES (@p3, @p4, @p5); +"""); } public override async Task Add_Add_with_different_entity_types_and_all_generated_values(bool async) @@ -283,13 +311,15 @@ public override async Task Add_Add_with_different_entity_types_and_all_generated await base.Add_Add_with_different_entity_types_and_all_generated_values(async); AssertSql( - @"SET NOCOUNT ON; +""" +SET NOCOUNT ON; INSERT INTO [WithAllDatabaseGenerated] OUTPUT INSERTED.[Id], INSERTED.[Data1], INSERTED.[Data2] DEFAULT VALUES; INSERT INTO [WithAllDatabaseGenerated2] OUTPUT INSERTED.[Id], INSERTED.[Data1], INSERTED.[Data2] -DEFAULT VALUES;"); +DEFAULT VALUES; +"""); } public override async Task Modify_Modify_with_different_entity_types_and_generated_values(bool async) @@ -297,7 +327,8 @@ public override async Task Modify_Modify_with_different_entity_types_and_generat await base.Modify_Modify_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' @p3='2' @p2='1001' @@ -308,7 +339,8 @@ OUTPUT INSERTED.[Data1] WHERE [Id] = @p1; UPDATE [WithSomeDatabaseGenerated2] SET [Data2] = @p2 OUTPUT INSERTED.[Data1] -WHERE [Id] = @p3;"); +WHERE [Id] = @p3; +"""); } public override async Task Modify_Modify_with_different_entity_types_and_no_generated_values(bool async) @@ -316,7 +348,8 @@ public override async Task Modify_Modify_with_different_entity_types_and_no_gene await base.Modify_Modify_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @p5='2' @@ -329,7 +362,8 @@ OUTPUT 1 WHERE [Id] = @p2; UPDATE [WithNoDatabaseGenerated2] SET [Data1] = @p3, [Data2] = @p4 OUTPUT 1 -WHERE [Id] = @p5;"); +WHERE [Id] = @p5; +"""); } public override async Task Delete_Delete_with_different_entity_types(bool async) @@ -337,7 +371,8 @@ public override async Task Delete_Delete_with_different_entity_types(bool async) await base.Delete_Delete_with_different_entity_types(async); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='2' SET NOCOUNT ON; @@ -346,7 +381,8 @@ OUTPUT 1 WHERE [Id] = @p0; DELETE FROM [WithSomeDatabaseGenerated2] OUTPUT 1 -WHERE [Id] = @p1;"); +WHERE [Id] = @p1; +"""); } #endregion Same two operations with different entity types @@ -360,7 +396,8 @@ public override async Task Delete_Add_with_same_entity_types(bool async) await Test(EntityState.Deleted, EntityState.Added, GeneratedValues.Some, async, withSameEntityType: true); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='1001' SET NOCOUNT ON; @@ -369,7 +406,8 @@ OUTPUT 1 WHERE [Id] = @p0; INSERT INTO [WithSomeDatabaseGenerated] ([Data2]) OUTPUT INSERTED.[Id], INSERTED.[Data1] -VALUES (@p1);"); +VALUES (@p1); +"""); } #endregion Different two operations diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentityTriggerSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentityTriggerSqlServerTest.cs index 2120605ee77..a3d1fb5723f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentityTriggerSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationIdentityTriggerSqlServerTest.cs @@ -47,14 +47,16 @@ public override async Task Add_with_generated_values(bool async) await base.Add_with_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' SET NOCOUNT ON; INSERT INTO [WithSomeDatabaseGenerated] ([Data2]) VALUES (@p0); SELECT [Id], [Data1] FROM [WithSomeDatabaseGenerated] -WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity();"); +WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity(); +"""); } public override async Task Add_with_no_generated_values(bool async) @@ -62,14 +64,16 @@ public override async Task Add_with_no_generated_values(bool async) await base.Add_with_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) -VALUES (@p0, @p1, @p2);"); +VALUES (@p0, @p1, @p2); +"""); } public override async Task Add_with_all_generated_values(bool async) @@ -77,12 +81,14 @@ public override async Task Add_with_all_generated_values(bool async) await base.Add_with_all_generated_values(async); AssertSql( - @"SET NOCOUNT ON; +""" +SET NOCOUNT ON; INSERT INTO [WithAllDatabaseGenerated] DEFAULT VALUES; SELECT [Id], [Data1], [Data2] FROM [WithAllDatabaseGenerated] -WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity();"); +WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity(); +"""); } public override async Task Modify_with_generated_values(bool async) @@ -90,7 +96,8 @@ public override async Task Modify_with_generated_values(bool async) await base.Modify_with_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' SET NOCOUNT ON; @@ -98,7 +105,8 @@ public override async Task Modify_with_generated_values(bool async) WHERE [Id] = @p1; SELECT [Data1] FROM [WithSomeDatabaseGenerated] -WHERE @@ROWCOUNT = 1 AND [Id] = @p1;"); +WHERE @@ROWCOUNT = 1 AND [Id] = @p1; +"""); } public override async Task Modify_with_no_generated_values(bool async) @@ -106,7 +114,8 @@ public override async Task Modify_with_no_generated_values(bool async) await base.Modify_with_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @@ -114,7 +123,8 @@ public override async Task Modify_with_no_generated_values(bool async) SET NOCOUNT ON; UPDATE [WithNoDatabaseGenerated] SET [Data1] = @p0, [Data2] = @p1 WHERE [Id] = @p2; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } public override async Task Delete(bool async) @@ -122,13 +132,15 @@ public override async Task Delete(bool async) await base.Delete(async); AssertSql( - @"@p0='1' +""" +@p0='1' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; DELETE FROM [WithSomeDatabaseGenerated] WHERE [Id] = @p0; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } #endregion Single operation @@ -140,7 +152,8 @@ public override async Task Add_Add_with_same_entity_type_and_generated_values(bo await base.Add_Add_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' @p1='1001' SET NOCOUNT ON; @@ -154,7 +167,8 @@ INSERT INTO [WithSomeDatabaseGenerated] ([Data2]) VALUES (@p1); SELECT [Id], [Data1] FROM [WithSomeDatabaseGenerated] -WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity();"); +WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity(); +"""); } public override async Task Add_Add_with_same_entity_type_and_no_generated_values(bool async) @@ -162,7 +176,8 @@ public override async Task Add_Add_with_same_entity_type_and_no_generated_values await base.Add_Add_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' @p3='101' @@ -173,7 +188,8 @@ public override async Task Add_Add_with_same_entity_type_and_no_generated_values SET NOCOUNT ON; INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) VALUES (@p0, @p1, @p2), -(@p3, @p4, @p5);"); +(@p3, @p4, @p5); +"""); } public override async Task Add_Add_with_same_entity_type_and_all_generated_values(bool async) @@ -181,7 +197,8 @@ public override async Task Add_Add_with_same_entity_type_and_all_generated_value await base.Add_Add_with_same_entity_type_and_all_generated_values(async); AssertSql( - @"SET NOCOUNT ON; +""" +SET NOCOUNT ON; INSERT INTO [WithAllDatabaseGenerated] DEFAULT VALUES; SELECT [Id], [Data1], [Data2] @@ -192,7 +209,8 @@ INSERT INTO [WithAllDatabaseGenerated] DEFAULT VALUES; SELECT [Id], [Data1], [Data2] FROM [WithAllDatabaseGenerated] -WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity();"); +WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity(); +"""); } public override async Task Modify_Modify_with_same_entity_type_and_generated_values(bool async) @@ -200,7 +218,8 @@ public override async Task Modify_Modify_with_same_entity_type_and_generated_val await base.Modify_Modify_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' @p3='2' @p2='1001' @@ -216,7 +235,8 @@ FROM [WithSomeDatabaseGenerated] WHERE [Id] = @p3; SELECT [Data1] FROM [WithSomeDatabaseGenerated] -WHERE @@ROWCOUNT = 1 AND [Id] = @p3;"); +WHERE @@ROWCOUNT = 1 AND [Id] = @p3; +"""); } public override async Task Modify_Modify_with_same_entity_type_and_no_generated_values(bool async) @@ -224,7 +244,8 @@ public override async Task Modify_Modify_with_same_entity_type_and_no_generated_ await base.Modify_Modify_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @p5='2' @@ -238,7 +259,8 @@ public override async Task Modify_Modify_with_same_entity_type_and_no_generated_ UPDATE [WithNoDatabaseGenerated] SET [Data1] = @p3, [Data2] = @p4 WHERE [Id] = @p5; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } public override async Task Delete_Delete_with_same_entity_type(bool async) @@ -246,7 +268,8 @@ public override async Task Delete_Delete_with_same_entity_type(bool async) await base.Delete_Delete_with_same_entity_type(async); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='2' SET NOCOUNT ON; @@ -256,7 +279,8 @@ DELETE FROM [WithSomeDatabaseGenerated] DELETE FROM [WithSomeDatabaseGenerated] WHERE [Id] = @p1; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } #endregion Same two operations with same entity type @@ -268,7 +292,8 @@ public override async Task Add_Add_with_different_entity_types_and_generated_val await base.Add_Add_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' @p1='1001' SET NOCOUNT ON; @@ -282,7 +307,8 @@ INSERT INTO [WithSomeDatabaseGenerated2] ([Data2]) VALUES (@p1); SELECT [Id], [Data1] FROM [WithSomeDatabaseGenerated2] -WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity();"); +WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity(); +"""); } public override async Task Add_Add_with_different_entity_types_and_no_generated_values(bool async) @@ -290,7 +316,8 @@ public override async Task Add_Add_with_different_entity_types_and_no_generated_ await base.Add_Add_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' @p3='101' @@ -301,7 +328,8 @@ public override async Task Add_Add_with_different_entity_types_and_no_generated_ INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) VALUES (@p0, @p1, @p2); INSERT INTO [WithNoDatabaseGenerated2] ([Id], [Data1], [Data2]) -VALUES (@p3, @p4, @p5);"); +VALUES (@p3, @p4, @p5); +"""); } public override async Task Add_Add_with_different_entity_types_and_all_generated_values(bool async) @@ -309,7 +337,8 @@ public override async Task Add_Add_with_different_entity_types_and_all_generated await base.Add_Add_with_different_entity_types_and_all_generated_values(async); AssertSql( - @"SET NOCOUNT ON; +""" +SET NOCOUNT ON; INSERT INTO [WithAllDatabaseGenerated] DEFAULT VALUES; SELECT [Id], [Data1], [Data2] @@ -320,7 +349,8 @@ INSERT INTO [WithAllDatabaseGenerated2] DEFAULT VALUES; SELECT [Id], [Data1], [Data2] FROM [WithAllDatabaseGenerated2] -WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity();"); +WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity(); +"""); } public override async Task Modify_Modify_with_different_entity_types_and_generated_values(bool async) @@ -328,7 +358,8 @@ public override async Task Modify_Modify_with_different_entity_types_and_generat await base.Modify_Modify_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' @p3='2' @p2='1001' @@ -344,7 +375,8 @@ FROM [WithSomeDatabaseGenerated] WHERE [Id] = @p3; SELECT [Data1] FROM [WithSomeDatabaseGenerated2] -WHERE @@ROWCOUNT = 1 AND [Id] = @p3;"); +WHERE @@ROWCOUNT = 1 AND [Id] = @p3; +"""); } public override async Task Modify_Modify_with_different_entity_types_and_no_generated_values(bool async) @@ -352,7 +384,8 @@ public override async Task Modify_Modify_with_different_entity_types_and_no_gene await base.Modify_Modify_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @p5='2' @@ -366,7 +399,8 @@ public override async Task Modify_Modify_with_different_entity_types_and_no_gene UPDATE [WithNoDatabaseGenerated2] SET [Data1] = @p3, [Data2] = @p4 WHERE [Id] = @p5; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } public override async Task Delete_Delete_with_different_entity_types(bool async) @@ -374,7 +408,8 @@ public override async Task Delete_Delete_with_different_entity_types(bool async) await base.Delete_Delete_with_different_entity_types(async); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='2' SET NOCOUNT ON; @@ -384,7 +419,8 @@ DELETE FROM [WithSomeDatabaseGenerated] DELETE FROM [WithSomeDatabaseGenerated2] WHERE [Id] = @p1; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } #endregion Same two operations with different entity types @@ -394,7 +430,8 @@ public override async Task Three_Add_use_batched_inserts(bool async) await base.Three_Add_use_batched_inserts(async); AssertSql( - @"@p0='0' +""" +@p0='0' @p1='0' @p2='0' @@ -415,7 +452,8 @@ INSERT INTO [WithSomeDatabaseGenerated] ([Data2]) VALUES (@p2); SELECT [Id], [Data1] FROM [WithSomeDatabaseGenerated] -WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity();"); +WHERE @@ROWCOUNT = 1 AND [Id] = scope_identity(); +"""); } protected override async Task Test( diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSequenceSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSequenceSqlServerTest.cs index cd55de03c4b..0118c224810 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSequenceSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSequenceSqlServerTest.cs @@ -46,13 +46,15 @@ public override async Task Add_with_generated_values(bool async) await base.Add_with_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [WithSomeDatabaseGenerated] ([Data2]) OUTPUT INSERTED.[Id], INSERTED.[Data1] -VALUES (@p0);"); +VALUES (@p0); +"""); } public override async Task Add_with_no_generated_values(bool async) @@ -60,14 +62,16 @@ public override async Task Add_with_no_generated_values(bool async) await base.Add_with_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) -VALUES (@p0, @p1, @p2);"); +VALUES (@p0, @p1, @p2); +"""); } public override async Task Add_with_all_generated_values(bool async) @@ -75,11 +79,13 @@ public override async Task Add_with_all_generated_values(bool async) await base.Add_with_all_generated_values(async); AssertSql( - @"SET IMPLICIT_TRANSACTIONS OFF; +""" +SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [WithAllDatabaseGenerated] OUTPUT INSERTED.[Id], INSERTED.[Data1], INSERTED.[Data2] -DEFAULT VALUES;"); +DEFAULT VALUES; +"""); } public override async Task Modify_with_generated_values(bool async) @@ -87,14 +93,16 @@ public override async Task Modify_with_generated_values(bool async) await base.Modify_with_generated_values(async); AssertSql( - @"@p1='5' +""" +@p1='5' @p0='1000' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [WithSomeDatabaseGenerated] SET [Data2] = @p0 OUTPUT INSERTED.[Data1] -WHERE [Id] = @p1;"); +WHERE [Id] = @p1; +"""); } public override async Task Modify_with_no_generated_values(bool async) @@ -102,7 +110,8 @@ public override async Task Modify_with_no_generated_values(bool async) await base.Modify_with_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @@ -110,7 +119,8 @@ public override async Task Modify_with_no_generated_values(bool async) SET NOCOUNT ON; UPDATE [WithNoDatabaseGenerated] SET [Data1] = @p0, [Data2] = @p1 OUTPUT 1 -WHERE [Id] = @p2;"); +WHERE [Id] = @p2; +"""); } public override async Task Delete(bool async) @@ -118,13 +128,15 @@ public override async Task Delete(bool async) await base.Delete(async); AssertSql( - @"@p0='5' +""" +@p0='5' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; DELETE FROM [WithSomeDatabaseGenerated] OUTPUT 1 -WHERE [Id] = @p0;"); +WHERE [Id] = @p0; +"""); } #endregion Single operation @@ -136,7 +148,8 @@ public override async Task Add_Add_with_same_entity_type_and_generated_values(bo await base.Add_Add_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' @p1='1001' SET IMPLICIT_TRANSACTIONS OFF; @@ -147,7 +160,8 @@ MERGE [WithSomeDatabaseGenerated] USING ( WHEN NOT MATCHED THEN INSERT ([Data2]) VALUES (i.[Data2]) -OUTPUT INSERTED.[Id], INSERTED.[Data1], i._Position;"); +OUTPUT INSERTED.[Id], INSERTED.[Data1], i._Position; +"""); } public override async Task Add_Add_with_same_entity_type_and_no_generated_values(bool async) @@ -155,7 +169,8 @@ public override async Task Add_Add_with_same_entity_type_and_no_generated_values await base.Add_Add_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' @p3='101' @@ -166,7 +181,8 @@ public override async Task Add_Add_with_same_entity_type_and_no_generated_values SET NOCOUNT ON; INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) VALUES (@p0, @p1, @p2), -(@p3, @p4, @p5);"); +(@p3, @p4, @p5); +"""); } public override async Task Add_Add_with_same_entity_type_and_all_generated_values(bool async) @@ -174,7 +190,8 @@ public override async Task Add_Add_with_same_entity_type_and_all_generated_value await base.Add_Add_with_same_entity_type_and_all_generated_values(async); AssertSql( - @"SET NOCOUNT ON; +""" +SET NOCOUNT ON; DECLARE @inserted0 TABLE ([Id] int); INSERT INTO [WithAllDatabaseGenerated] ([Id]) OUTPUT INSERTED.[Id] @@ -182,7 +199,8 @@ INTO @inserted0 VALUES (DEFAULT), (DEFAULT); SELECT [t].[Id], [t].[Data1], [t].[Data2] FROM [WithAllDatabaseGenerated] t -INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]);"); +INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]); +"""); } public override async Task Modify_Modify_with_same_entity_type_and_generated_values(bool async) @@ -190,7 +208,8 @@ public override async Task Modify_Modify_with_same_entity_type_and_generated_val await base.Modify_Modify_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p1='5' +""" +@p1='5' @p0='1000' @p3='6' @p2='1001' @@ -201,7 +220,8 @@ OUTPUT INSERTED.[Data1] WHERE [Id] = @p1; UPDATE [WithSomeDatabaseGenerated] SET [Data2] = @p2 OUTPUT INSERTED.[Data1] -WHERE [Id] = @p3;"); +WHERE [Id] = @p3; +"""); } public override async Task Modify_Modify_with_same_entity_type_and_no_generated_values(bool async) @@ -209,7 +229,8 @@ public override async Task Modify_Modify_with_same_entity_type_and_no_generated_ await base.Modify_Modify_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @p5='2' @@ -222,7 +243,8 @@ OUTPUT 1 WHERE [Id] = @p2; UPDATE [WithNoDatabaseGenerated] SET [Data1] = @p3, [Data2] = @p4 OUTPUT 1 -WHERE [Id] = @p5;"); +WHERE [Id] = @p5; +"""); } public override async Task Delete_Delete_with_same_entity_type(bool async) @@ -230,7 +252,8 @@ public override async Task Delete_Delete_with_same_entity_type(bool async) await base.Delete_Delete_with_same_entity_type(async); AssertSql( - @"@p0='5' +""" +@p0='5' @p1='6' SET NOCOUNT ON; @@ -239,7 +262,8 @@ OUTPUT 1 WHERE [Id] = @p0; DELETE FROM [WithSomeDatabaseGenerated] OUTPUT 1 -WHERE [Id] = @p1;"); +WHERE [Id] = @p1; +"""); } #endregion Same two operations with same entity type @@ -251,7 +275,8 @@ public override async Task Add_Add_with_different_entity_types_and_generated_val await base.Add_Add_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' @p1='1001' SET NOCOUNT ON; @@ -260,7 +285,8 @@ INSERT INTO [WithSomeDatabaseGenerated] ([Data2]) VALUES (@p0); INSERT INTO [WithSomeDatabaseGenerated2] ([Data2]) OUTPUT INSERTED.[Id], INSERTED.[Data1] -VALUES (@p1);"); +VALUES (@p1); +"""); } public override async Task Add_Add_with_different_entity_types_and_no_generated_values(bool async) @@ -268,7 +294,8 @@ public override async Task Add_Add_with_different_entity_types_and_no_generated_ await base.Add_Add_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' @p3='101' @@ -279,7 +306,8 @@ public override async Task Add_Add_with_different_entity_types_and_no_generated_ INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) VALUES (@p0, @p1, @p2); INSERT INTO [WithNoDatabaseGenerated2] ([Id], [Data1], [Data2]) -VALUES (@p3, @p4, @p5);"); +VALUES (@p3, @p4, @p5); +"""); } public override async Task Add_Add_with_different_entity_types_and_all_generated_values(bool async) @@ -287,13 +315,15 @@ public override async Task Add_Add_with_different_entity_types_and_all_generated await base.Add_Add_with_different_entity_types_and_all_generated_values(async); AssertSql( - @"SET NOCOUNT ON; +""" +SET NOCOUNT ON; INSERT INTO [WithAllDatabaseGenerated] OUTPUT INSERTED.[Id], INSERTED.[Data1], INSERTED.[Data2] DEFAULT VALUES; INSERT INTO [WithAllDatabaseGenerated2] OUTPUT INSERTED.[Id], INSERTED.[Data1], INSERTED.[Data2] -DEFAULT VALUES;"); +DEFAULT VALUES; +"""); } public override async Task Modify_Modify_with_different_entity_types_and_generated_values(bool async) @@ -301,7 +331,8 @@ public override async Task Modify_Modify_with_different_entity_types_and_generat await base.Modify_Modify_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p1='5' +""" +@p1='5' @p0='1000' @p3='8' @p2='1001' @@ -312,14 +343,16 @@ OUTPUT INSERTED.[Data1] WHERE [Id] = @p1; UPDATE [WithSomeDatabaseGenerated2] SET [Data2] = @p2 OUTPUT INSERTED.[Data1] -WHERE [Id] = @p3;"); +WHERE [Id] = @p3; +"""); } public override async Task Modify_Modify_with_different_entity_types_and_no_generated_values(bool async) { await base.Modify_Modify_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @p5='2' @@ -332,7 +365,8 @@ OUTPUT 1 WHERE [Id] = @p2; UPDATE [WithNoDatabaseGenerated2] SET [Data1] = @p3, [Data2] = @p4 OUTPUT 1 -WHERE [Id] = @p5;"); +WHERE [Id] = @p5; +"""); } public override async Task Delete_Delete_with_different_entity_types(bool async) @@ -340,7 +374,8 @@ public override async Task Delete_Delete_with_different_entity_types(bool async) await base.Delete_Delete_with_different_entity_types(async); AssertSql( - @"@p0='5' +""" +@p0='5' @p1='8' SET NOCOUNT ON; @@ -349,7 +384,8 @@ OUTPUT 1 WHERE [Id] = @p0; DELETE FROM [WithSomeDatabaseGenerated2] OUTPUT 1 -WHERE [Id] = @p1;"); +WHERE [Id] = @p1; +"""); } #endregion Same two operations with different entity types diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSequenceTriggerSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSequenceTriggerSqlServerTest.cs index a6b740a1571..e4eca41006f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSequenceTriggerSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationSequenceTriggerSqlServerTest.cs @@ -49,7 +49,8 @@ public override async Task Add_with_generated_values(bool async) await base.Add_with_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' SET NOCOUNT ON; DECLARE @inserted0 TABLE ([Id] int); @@ -58,7 +59,8 @@ OUTPUT INSERTED.[Id] INTO @inserted0 VALUES (@p0); SELECT [t].[Id], [t].[Data1] FROM [WithSomeDatabaseGenerated] t -INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]);"); +INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]); +"""); } public override async Task Add_with_no_generated_values(bool async) @@ -66,14 +68,16 @@ public override async Task Add_with_no_generated_values(bool async) await base.Add_with_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) -VALUES (@p0, @p1, @p2);"); +VALUES (@p0, @p1, @p2); +"""); } public override async Task Add_with_all_generated_values(bool async) @@ -81,14 +85,16 @@ public override async Task Add_with_all_generated_values(bool async) await base.Add_with_all_generated_values(async); AssertSql( - @"SET NOCOUNT ON; +""" +SET NOCOUNT ON; DECLARE @inserted0 TABLE ([Id] int); INSERT INTO [WithAllDatabaseGenerated] OUTPUT INSERTED.[Id] INTO @inserted0 DEFAULT VALUES; SELECT [t].[Id], [t].[Data1], [t].[Data2] FROM [WithAllDatabaseGenerated] t -INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]);"); +INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]); +"""); } public override async Task Modify_with_generated_values(bool async) @@ -96,7 +102,8 @@ public override async Task Modify_with_generated_values(bool async) await base.Modify_with_generated_values(async); AssertSql( - @"@p1='5' +""" +@p1='5' @p0='1000' SET NOCOUNT ON; @@ -104,7 +111,8 @@ public override async Task Modify_with_generated_values(bool async) WHERE [Id] = @p1; SELECT [Data1] FROM [WithSomeDatabaseGenerated] -WHERE @@ROWCOUNT = 1 AND [Id] = @p1;"); +WHERE @@ROWCOUNT = 1 AND [Id] = @p1; +"""); } public override async Task Modify_with_no_generated_values(bool async) @@ -112,7 +120,8 @@ public override async Task Modify_with_no_generated_values(bool async) await base.Modify_with_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @@ -120,7 +129,8 @@ public override async Task Modify_with_no_generated_values(bool async) SET NOCOUNT ON; UPDATE [WithNoDatabaseGenerated] SET [Data1] = @p0, [Data2] = @p1 WHERE [Id] = @p2; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } public override async Task Delete(bool async) @@ -128,13 +138,15 @@ public override async Task Delete(bool async) await base.Delete(async); AssertSql( - @"@p0='5' +""" +@p0='5' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; DELETE FROM [WithSomeDatabaseGenerated] WHERE [Id] = @p0; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } #endregion Single operation @@ -146,7 +158,8 @@ public override async Task Add_Add_with_same_entity_type_and_generated_values(bo await base.Add_Add_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' @p1='1001' SET NOCOUNT ON; @@ -162,7 +175,8 @@ WHEN NOT MATCHED THEN SELECT [t].[Id], [t].[Data1] FROM [WithSomeDatabaseGenerated] t INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]) -ORDER BY [i].[_Position];"); +ORDER BY [i].[_Position]; +"""); } public override async Task Add_Add_with_same_entity_type_and_no_generated_values(bool async) @@ -170,7 +184,8 @@ public override async Task Add_Add_with_same_entity_type_and_no_generated_values await base.Add_Add_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' @p3='101' @@ -181,7 +196,8 @@ public override async Task Add_Add_with_same_entity_type_and_no_generated_values SET NOCOUNT ON; INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) VALUES (@p0, @p1, @p2), -(@p3, @p4, @p5);"); +(@p3, @p4, @p5); +"""); } public override async Task Add_Add_with_same_entity_type_and_all_generated_values(bool async) @@ -189,7 +205,8 @@ public override async Task Add_Add_with_same_entity_type_and_all_generated_value await base.Add_Add_with_same_entity_type_and_all_generated_values(async); AssertSql( - @"SET NOCOUNT ON; +""" +SET NOCOUNT ON; DECLARE @inserted0 TABLE ([Id] int); INSERT INTO [WithAllDatabaseGenerated] ([Id]) OUTPUT INSERTED.[Id] @@ -197,7 +214,8 @@ INTO @inserted0 VALUES (DEFAULT), (DEFAULT); SELECT [t].[Id], [t].[Data1], [t].[Data2] FROM [WithAllDatabaseGenerated] t -INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]);"); +INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]); +"""); } public override async Task Modify_Modify_with_same_entity_type_and_generated_values(bool async) @@ -205,7 +223,8 @@ public override async Task Modify_Modify_with_same_entity_type_and_generated_val await base.Modify_Modify_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p1='5' +""" +@p1='5' @p0='1000' @p3='6' @p2='1001' @@ -221,7 +240,8 @@ FROM [WithSomeDatabaseGenerated] WHERE [Id] = @p3; SELECT [Data1] FROM [WithSomeDatabaseGenerated] -WHERE @@ROWCOUNT = 1 AND [Id] = @p3;"); +WHERE @@ROWCOUNT = 1 AND [Id] = @p3; +"""); } public override async Task Modify_Modify_with_same_entity_type_and_no_generated_values(bool async) @@ -229,7 +249,8 @@ public override async Task Modify_Modify_with_same_entity_type_and_no_generated_ await base.Modify_Modify_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @p5='2' @@ -243,7 +264,8 @@ public override async Task Modify_Modify_with_same_entity_type_and_no_generated_ UPDATE [WithNoDatabaseGenerated] SET [Data1] = @p3, [Data2] = @p4 WHERE [Id] = @p5; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } public override async Task Delete_Delete_with_same_entity_type(bool async) @@ -251,7 +273,8 @@ public override async Task Delete_Delete_with_same_entity_type(bool async) await base.Delete_Delete_with_same_entity_type(async); AssertSql( - @"@p0='5' +""" +@p0='5' @p1='6' SET NOCOUNT ON; @@ -261,7 +284,8 @@ DELETE FROM [WithSomeDatabaseGenerated] DELETE FROM [WithSomeDatabaseGenerated] WHERE [Id] = @p1; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } #endregion Same two operations with same entity type @@ -273,7 +297,8 @@ public override async Task Add_Add_with_different_entity_types_and_generated_val await base.Add_Add_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' @p1='1001' SET NOCOUNT ON; @@ -291,7 +316,8 @@ OUTPUT INSERTED.[Id] INTO @inserted1 VALUES (@p1); SELECT [t].[Id], [t].[Data1] FROM [WithSomeDatabaseGenerated2] t -INNER JOIN @inserted1 i ON ([t].[Id] = [i].[Id]);"); +INNER JOIN @inserted1 i ON ([t].[Id] = [i].[Id]); +"""); } public override async Task Add_Add_with_different_entity_types_and_no_generated_values(bool async) @@ -299,7 +325,8 @@ public override async Task Add_Add_with_different_entity_types_and_no_generated_ await base.Add_Add_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' @p3='101' @@ -310,7 +337,8 @@ public override async Task Add_Add_with_different_entity_types_and_no_generated_ INSERT INTO [WithNoDatabaseGenerated] ([Id], [Data1], [Data2]) VALUES (@p0, @p1, @p2); INSERT INTO [WithNoDatabaseGenerated2] ([Id], [Data1], [Data2]) -VALUES (@p3, @p4, @p5);"); +VALUES (@p3, @p4, @p5); +"""); } public override async Task Add_Add_with_different_entity_types_and_all_generated_values(bool async) @@ -318,7 +346,8 @@ public override async Task Add_Add_with_different_entity_types_and_all_generated await base.Add_Add_with_different_entity_types_and_all_generated_values(async); AssertSql( - @"SET NOCOUNT ON; +""" +SET NOCOUNT ON; DECLARE @inserted0 TABLE ([Id] int); INSERT INTO [WithAllDatabaseGenerated] OUTPUT INSERTED.[Id] @@ -333,7 +362,8 @@ OUTPUT INSERTED.[Id] INTO @inserted1 DEFAULT VALUES; SELECT [t].[Id], [t].[Data1], [t].[Data2] FROM [WithAllDatabaseGenerated2] t -INNER JOIN @inserted1 i ON ([t].[Id] = [i].[Id]);"); +INNER JOIN @inserted1 i ON ([t].[Id] = [i].[Id]); +"""); } public override async Task Modify_Modify_with_different_entity_types_and_generated_values(bool async) @@ -341,7 +371,8 @@ public override async Task Modify_Modify_with_different_entity_types_and_generat await base.Modify_Modify_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p1='5' +""" +@p1='5' @p0='1000' @p3='8' @p2='1001' @@ -357,7 +388,8 @@ FROM [WithSomeDatabaseGenerated] WHERE [Id] = @p3; SELECT [Data1] FROM [WithSomeDatabaseGenerated2] -WHERE @@ROWCOUNT = 1 AND [Id] = @p3;"); +WHERE @@ROWCOUNT = 1 AND [Id] = @p3; +"""); } public override async Task Modify_Modify_with_different_entity_types_and_no_generated_values(bool async) @@ -365,7 +397,8 @@ public override async Task Modify_Modify_with_different_entity_types_and_no_gene await base.Modify_Modify_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' @p5='2' @@ -379,7 +412,8 @@ public override async Task Modify_Modify_with_different_entity_types_and_no_gene UPDATE [WithNoDatabaseGenerated2] SET [Data1] = @p3, [Data2] = @p4 WHERE [Id] = @p5; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } public override async Task Delete_Delete_with_different_entity_types(bool async) @@ -387,7 +421,8 @@ public override async Task Delete_Delete_with_different_entity_types(bool async) await base.Delete_Delete_with_different_entity_types(async); AssertSql( - @"@p0='5' +""" +@p0='5' @p1='8' SET NOCOUNT ON; @@ -397,7 +432,8 @@ DELETE FROM [WithSomeDatabaseGenerated] DELETE FROM [WithSomeDatabaseGenerated2] WHERE [Id] = @p1; -SELECT @@ROWCOUNT;"); +SELECT @@ROWCOUNT; +"""); } #endregion Same two operations with different entity types @@ -407,7 +443,8 @@ public override async Task Three_Add_use_batched_inserts(bool async) await base.Three_Add_use_batched_inserts(async); AssertSql( - @"@p0='0' +""" +@p0='0' @p1='0' @p2='0' @@ -425,7 +462,8 @@ WHEN NOT MATCHED THEN SELECT [t].[Id], [t].[Data1] FROM [WithSomeDatabaseGenerated] t INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]) -ORDER BY [i].[_Position];"); +ORDER BY [i].[_Position]; +"""); } protected override async Task Test( diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationTriggerSqlServerTestBase.cs b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationTriggerSqlServerTestBase.cs index 76c888ed1da..0286705b6b9 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationTriggerSqlServerTestBase.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/StoreValueGenerationTriggerSqlServerTestBase.cs @@ -85,7 +85,8 @@ public virtual async Task Four_Add_use_merge_output_into(bool async) } AssertSql( - @"@p0='0' +""" +@p0='0' @p1='0' @p2='0' @p3='0' @@ -105,6 +106,7 @@ WHEN NOT MATCHED THEN SELECT [t].[Id], [t].[Data1] FROM [WithSomeDatabaseGenerated] t INNER JOIN @inserted0 i ON ([t].[Id] = [i].[Id]) -ORDER BY [i].[_Position];"); +ORDER BY [i].[_Position]; +"""); } } diff --git a/test/EFCore.SqlServer.FunctionalTests/Update/StoredProcedureUpdateSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/Update/StoredProcedureUpdateSqlServerTest.cs index 20f6ff61c8a..c8a944a8ea9 100644 --- a/test/EFCore.SqlServer.FunctionalTests/Update/StoredProcedureUpdateSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/Update/StoredProcedureUpdateSqlServerTest.cs @@ -8,176 +8,217 @@ public class StoredProcedureUpdateSqlServerTest : StoredProcedureUpdateTestBase public override async Task Insert_with_output_parameter(bool async) { await base.Insert_with_output_parameter( - async, @" + async, +""" CREATE PROCEDURE Entity_Insert(@Name varchar(max), @Id int OUT) AS BEGIN INSERT INTO [Entity] ([Name]) VALUES (@Name); SET @Id = SCOPE_IDENTITY(); -END"); +END +"""); AssertSql( - @"@p0='New' (Size = 4000) +""" +@p0='New' (Size = 4000) @p1='1' (Direction = Output) SET NOCOUNT ON; -EXEC [Entity_Insert] @p0, @p1 OUTPUT;"); +EXEC [Entity_Insert] @p0, @p1 OUTPUT; +"""); } public override async Task Insert_twice_with_output_parameter(bool async) { await base.Insert_twice_with_output_parameter( - async, @" + async, +""" CREATE PROCEDURE Entity_Insert(@Name varchar(max), @Id int OUT) AS BEGIN INSERT INTO [Entity] ([Name]) VALUES (@Name); SET @Id = SCOPE_IDENTITY(); -END"); +END +"""); AssertSql( - @"@p0='New1' (Size = 4000) +""" +@p0='New1' (Size = 4000) @p1='1' (Direction = Output) @p2='New2' (Size = 4000) @p3='2' (Direction = Output) SET NOCOUNT ON; EXEC [Entity_Insert] @p0, @p1 OUTPUT; -EXEC [Entity_Insert] @p2, @p3 OUTPUT;"); +EXEC [Entity_Insert] @p2, @p3 OUTPUT; +"""); } public override async Task Insert_with_result_column(bool async) { await base.Insert_with_result_column( - async, @" + async, +""" CREATE PROCEDURE Entity_Insert(@Name varchar(max)) -AS INSERT INTO [Entity] ([Name]) OUTPUT [Inserted].[Id] VALUES (@Name)"); +AS INSERT INTO [Entity] ([Name]) OUTPUT [Inserted].[Id] VALUES (@Name) +"""); AssertSql( - @"@p0='Foo' (Size = 4000) +""" +@p0='Foo' (Size = 4000) SET NOCOUNT ON; -EXEC [Entity_Insert] @p0;"); +EXEC [Entity_Insert] @p0; +"""); } public override async Task Insert_with_two_result_columns(bool async) { await base.Insert_with_two_result_columns( - async, @" + async, +""" CREATE PROCEDURE EntityWithAdditionalProperty_Insert(@Name varchar(max)) -AS INSERT INTO [EntityWithAdditionalProperty] ([Name]) OUTPUT [Inserted].[AdditionalProperty], [Inserted].[Id] VALUES (@Name)"); +AS INSERT INTO [EntityWithAdditionalProperty] ([Name]) OUTPUT [Inserted].[AdditionalProperty], [Inserted].[Id] VALUES (@Name) +"""); AssertSql( - @"@p0='Foo' (Size = 4000) +""" +@p0='Foo' (Size = 4000) SET NOCOUNT ON; -EXEC [EntityWithAdditionalProperty_Insert] @p0;"); +EXEC [EntityWithAdditionalProperty_Insert] @p0; +"""); } public override async Task Insert_with_output_parameter_and_result_column(bool async) { await base.Insert_with_output_parameter_and_result_column( - async, @" + async, +""" CREATE PROCEDURE EntityWithAdditionalProperty_Insert(@Id int OUT, @Name varchar(max)) AS BEGIN INSERT INTO [EntityWithAdditionalProperty] ([Name]) VALUES (@Name); SET @Id = SCOPE_IDENTITY(); SELECT [AdditionalProperty] FROM [EntityWithAdditionalProperty] WHERE [Id] = @Id -END"); +END +"""); AssertSql( - @"@p0=NULL (Nullable = false) (Direction = Output) (DbType = Int32) +""" +@p0=NULL (Nullable = false) (Direction = Output) (DbType = Int32) @p1='Foo' (Size = 4000) SET NOCOUNT ON; -EXEC [EntityWithAdditionalProperty_Insert] @p0 OUTPUT, @p1;"); +EXEC [EntityWithAdditionalProperty_Insert] @p0 OUTPUT, @p1; +"""); } public override async Task Update(bool async) { await base.Update( - async, @" + async, +""" CREATE PROCEDURE Entity_Update(@Id int, @Name varchar(max)) -AS UPDATE [Entity] SET [Name] = @Name WHERE [Id] = @id"); +AS UPDATE [Entity] SET [Name] = @Name WHERE [Id] = @id +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='Updated' (Size = 4000) SET NOCOUNT ON; -EXEC [Entity_Update] @p0, @p1;"); +EXEC [Entity_Update] @p0, @p1; +"""); } public override async Task Update_partial(bool async) { await base.Update_partial( - async, @" + async, +""" CREATE PROCEDURE EntityWithAdditionalProperty_Update(@Id int, @Name varchar(max), @AdditionalProperty int) -AS UPDATE [EntityWithAdditionalProperty] SET [Name] = @Name, [AdditionalProperty] = @AdditionalProperty WHERE [Id] = @id"); +AS UPDATE [EntityWithAdditionalProperty] SET [Name] = @Name, [AdditionalProperty] = @AdditionalProperty WHERE [Id] = @id +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='Updated' (Size = 4000) @p2='8' SET NOCOUNT ON; -EXEC [EntityWithAdditionalProperty_Update] @p0, @p1, @p2;"); +EXEC [EntityWithAdditionalProperty_Update] @p0, @p1, @p2; +"""); } public override async Task Update_with_output_parameter_and_rows_affected_result_column(bool async) { await base.Update_with_output_parameter_and_rows_affected_result_column( - async, @" + async, +""" CREATE PROCEDURE EntityWithAdditionalProperty_Update(@Id int, @Name varchar(max), @AdditionalProperty int OUT) AS BEGIN UPDATE [EntityWithAdditionalProperty] SET [Name] = @Name, @AdditionalProperty = [AdditionalProperty] WHERE [Id] = @Id; SELECT @@ROWCOUNT; -END"); +END +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='Updated' (Size = 4000) @p2=NULL (Nullable = false) (Direction = Output) (DbType = Int32) SET NOCOUNT ON; -EXEC [EntityWithAdditionalProperty_Update] @p0, @p1, @p2 OUTPUT;"); +EXEC [EntityWithAdditionalProperty_Update] @p0, @p1, @p2 OUTPUT; +"""); } public override async Task Update_with_output_parameter_and_rows_affected_result_column_concurrency_failure(bool async) { await base.Update_with_output_parameter_and_rows_affected_result_column_concurrency_failure( - async, @" + async, +""" CREATE PROCEDURE EntityWithAdditionalProperty_Update(@Id int, @Name varchar(max), @AdditionalProperty int OUT) AS BEGIN UPDATE [EntityWithAdditionalProperty] SET [Name] = @Name, @AdditionalProperty = [AdditionalProperty] WHERE [Id] = @Id; SELECT @@ROWCOUNT; -END"); +END +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='Updated' (Size = 4000) @p2=NULL (Nullable = false) (Direction = Output) (DbType = Int32) SET NOCOUNT ON; -EXEC [EntityWithAdditionalProperty_Update] @p0, @p1, @p2 OUTPUT;"); +EXEC [EntityWithAdditionalProperty_Update] @p0, @p1, @p2 OUTPUT; +"""); } public override async Task Delete(bool async) { await base.Delete( - async, @" + async, +""" CREATE PROCEDURE Entity_Delete(@Id int) -AS DELETE FROM [Entity] WHERE [Id] = @Id"); +AS DELETE FROM [Entity] WHERE [Id] = @Id +"""); AssertSql( - @"@p0='1' +""" +@p0='1' SET NOCOUNT ON; -EXEC [Entity_Delete] @p0;"); +EXEC [Entity_Delete] @p0; +"""); } public override async Task Delete_and_insert(bool async) { await base.Delete_and_insert( - async, @" + async, +""" CREATE PROCEDURE Entity_Insert(@Name varchar(max), @Id int OUT) AS BEGIN INSERT INTO [Entity] ([Name]) VALUES (@Name); @@ -187,139 +228,168 @@ AS BEGIN GO; CREATE PROCEDURE Entity_Delete(@Id int) -AS DELETE FROM [Entity] WHERE [Id] = @Id;"); +AS DELETE FROM [Entity] WHERE [Id] = @Id; +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='Entity2' (Size = 4000) @p2='2' (Direction = Output) SET NOCOUNT ON; EXEC [Entity_Delete] @p0; -EXEC [Entity_Insert] @p1, @p2 OUTPUT;"); +EXEC [Entity_Insert] @p1, @p2 OUTPUT; +"""); } public override async Task Rows_affected_parameter(bool async) { await base.Rows_affected_parameter( - async, @" + async, +""" CREATE PROCEDURE Entity_Update(@Id int, @Name varchar(max), @RowsAffected int OUT) AS BEGIN UPDATE [Entity] SET [Name] = @Name WHERE [Id] = @Id; SET @RowsAffected = @@ROWCOUNT; -END"); +END +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='Updated' (Size = 4000) @p2='1' (Direction = Output) SET NOCOUNT ON; -EXEC [Entity_Update] @p0, @p1, @p2 OUTPUT;"); +EXEC [Entity_Update] @p0, @p1, @p2 OUTPUT; +"""); } public override async Task Rows_affected_parameter_and_concurrency_failure(bool async) { await base.Rows_affected_parameter_and_concurrency_failure( - async, @" + async, +""" CREATE PROCEDURE Entity_Update(@Id int, @Name varchar(max), @RowsAffected int OUT) AS BEGIN UPDATE [Entity] SET [Name] = @Name WHERE [Id] = @Id; SET @RowsAffected = @@ROWCOUNT; -END"); +END +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='Updated' (Size = 4000) @p2='0' (Direction = Output) SET NOCOUNT ON; -EXEC [Entity_Update] @p0, @p1, @p2 OUTPUT;"); +EXEC [Entity_Update] @p0, @p1, @p2 OUTPUT; +"""); } public override async Task Rows_affected_result_column(bool async) { await base.Rows_affected_result_column( - async, @" + async, +""" CREATE PROCEDURE Entity_Update(@Id int, @Name varchar(max)) AS BEGIN UPDATE [Entity] SET [Name] = @Name WHERE [Id] = @Id; SELECT @@ROWCOUNT; -END"); +END +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='Updated' (Size = 4000) SET NOCOUNT ON; -EXEC [Entity_Update] @p0, @p1;"); +EXEC [Entity_Update] @p0, @p1; +"""); } public override async Task Rows_affected_result_column_and_concurrency_failure(bool async) { await base.Rows_affected_result_column_and_concurrency_failure( - async, @" + async, +""" CREATE PROCEDURE Entity_Update(@Id int, @Name varchar(max)) AS BEGIN UPDATE [Entity] SET [Name] = @Name WHERE [Id] = @Id; SELECT @@ROWCOUNT; -END"); +END +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='Updated' (Size = 4000) SET NOCOUNT ON; -EXEC [Entity_Update] @p0, @p1;"); +EXEC [Entity_Update] @p0, @p1; +"""); } public override async Task Rows_affected_return_value(bool async) { await base.Rows_affected_return_value( - async, @" + async, +""" CREATE PROCEDURE Entity_Update(@Id int, @Name varchar(max)) AS BEGIN UPDATE [Entity] SET [Name] = @Name WHERE [Id] = @Id; RETURN @@ROWCOUNT; -END"); +END +"""); AssertSql( - @"@p0='1' (Direction = Output) +""" +@p0='1' (Direction = Output) @p1='1' @p2='Updated' (Size = 4000) SET NOCOUNT ON; -EXEC @p0 = [Entity_Update] @p1, @p2;"); +EXEC @p0 = [Entity_Update] @p1, @p2; +"""); } public override async Task Rows_affected_return_value_and_concurrency_failure(bool async) { await base.Rows_affected_return_value_and_concurrency_failure( - async, @" + async, +""" CREATE PROCEDURE Entity_Update(@Id int, @Name varchar(max)) AS BEGIN UPDATE [Entity] SET [Name] = @Name WHERE [Id] = @Id; RETURN @@ROWCOUNT; -END"); +END +"""); AssertSql( - @"@p0='0' (Direction = Output) +""" +@p0='0' (Direction = Output) @p1='1' @p2='Updated' (Size = 4000) SET NOCOUNT ON; -EXEC @p0 = [Entity_Update] @p1, @p2;"); +EXEC @p0 = [Entity_Update] @p1, @p2; +"""); } public override async Task Store_generated_concurrency_token_as_in_out_parameter(bool async) { await base.Store_generated_concurrency_token_as_in_out_parameter( - async, @" + async, +""" CREATE PROCEDURE Entity_Update(@Id int, @ConcurrencyToken rowversion OUT, @Name varchar(max), @RowsAffected int OUT) AS BEGIN UPDATE [Entity] SET [Name] = @Name WHERE [Id] = @Id AND [ConcurrencyToken] = @ConcurrencyToken; SET @RowsAffected = @@ROWCOUNT; -END"); +END +"""); // Can't assert SQL baseline as usual because the concurrency token changes Assert.Contains("(Size = 8) (Direction = InputOutput)", TestSqlLoggerFactory.Sql); @@ -337,12 +407,14 @@ AS BEGIN public override async Task Store_generated_concurrency_token_as_two_parameters(bool async) { await base.Store_generated_concurrency_token_as_two_parameters( - async, @" + async, +""" CREATE PROCEDURE Entity_Update(@Id int, @ConcurrencyTokenIn rowversion, @Name varchar(max), @ConcurrencyTokenOut rowversion OUT, @RowsAffected int OUT) AS BEGIN UPDATE [Entity] SET [Name] = @Name, @ConcurrencyTokenOut = [ConcurrencyToken] WHERE [Id] = @Id AND [ConcurrencyToken] = @ConcurrencyTokenIn; SET @RowsAffected = @@ROWCOUNT; -END"); +END +"""); // Can't assert SQL baseline as usual because the concurrency token changes Assert.Equal( @@ -359,49 +431,58 @@ AS BEGIN public override async Task User_managed_concurrency_token(bool async) { await base.User_managed_concurrency_token( - async, @" + async, +""" CREATE PROCEDURE EntityWithAdditionalProperty_Update(@Id int, @ConcurrencyTokenOriginal int, @Name varchar(max), @ConcurrencyTokenCurrent int, @RowsAffected int OUT) AS BEGIN UPDATE [EntityWithAdditionalProperty] SET [Name] = @Name, [AdditionalProperty] = @ConcurrencyTokenCurrent WHERE [Id] = @Id AND [AdditionalProperty] = @ConcurrencyTokenOriginal; SET @RowsAffected = @@ROWCOUNT; -END"); +END +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='8' @p2='Updated' (Size = 4000) @p3='9' @p4='0' (Direction = Output) SET NOCOUNT ON; -EXEC [EntityWithAdditionalProperty_Update] @p0, @p1, @p2, @p3, @p4 OUTPUT;"); +EXEC [EntityWithAdditionalProperty_Update] @p0, @p1, @p2, @p3, @p4 OUTPUT; +"""); } public override async Task Original_and_current_value_on_non_concurrency_token(bool async) { await base.Original_and_current_value_on_non_concurrency_token( - async, @" + async, +""" CREATE PROCEDURE Entity_Update(@Id int, @NameCurrent varchar(max), @NameOriginal varchar(max)) AS BEGIN IF @NameCurrent <> @NameOriginal BEGIN UPDATE [Entity] SET [Name] = @NameCurrent WHERE [Id] = @Id; END -END"); +END +"""); AssertSql( - @"@p0='1' +""" +@p0='1' @p1='Updated' (Size = 4000) @p2='Initial' (Size = 4000) SET NOCOUNT ON; -EXEC [Entity_Update] @p0, @p1, @p2;"); +EXEC [Entity_Update] @p0, @p1, @p2; +"""); } public override async Task Input_or_output_parameter_with_input(bool async) { await base.Input_or_output_parameter_with_input( - async, @" + async, +""" CREATE PROCEDURE Entity_Insert(@Id int OUT, @Name varchar(max) OUT) AS BEGIN IF @Name IS NULL @@ -416,20 +497,24 @@ IF @Name IS NULL END SET @Id = SCOPE_IDENTITY(); -END"); +END +"""); AssertSql( - @"@p0='1' (Direction = Output) +""" +@p0='1' (Direction = Output) @p1=NULL (Nullable = false) (Size = 4000) (Direction = InputOutput) SET NOCOUNT ON; -EXEC [Entity_Insert] @p0 OUTPUT, @p1 OUTPUT;"); +EXEC [Entity_Insert] @p0 OUTPUT, @p1 OUTPUT; +"""); } public override async Task Input_or_output_parameter_with_output(bool async) { await base.Input_or_output_parameter_with_output( - async, @" + async, +""" CREATE PROCEDURE Entity_Insert(@Id int OUT, @Name varchar(max) OUT) AS BEGIN IF @Name IS NULL @@ -444,20 +529,24 @@ IF @Name IS NULL END SET @Id = SCOPE_IDENTITY(); -END"); +END +"""); AssertSql( - @"@p0='1' (Direction = Output) +""" +@p0='1' (Direction = Output) @p1='Some default value' (Nullable = false) (Size = 4000) (Direction = InputOutput) SET NOCOUNT ON; -EXEC [Entity_Insert] @p0 OUTPUT, @p1 OUTPUT;"); +EXEC [Entity_Insert] @p0 OUTPUT, @p1 OUTPUT; +"""); } public override async Task Tph(bool async) { await base.Tph( - async, @" + async, +""" CREATE PROCEDURE Tph_Insert(@Id int OUT, @Discriminator varchar(max), @Name varchar(max), @Child2InputProperty int, @Child2OutputParameterProperty int OUT, @Child1Property int) AS BEGIN DECLARE @Table table ([Child2OutputParameterProperty] int); @@ -465,10 +554,12 @@ AS BEGIN SET @Id = SCOPE_IDENTITY(); SELECT @Child2OutputParameterProperty = [Child2OutputParameterProperty] FROM @Table; SELECT [Child2ResultColumnProperty] FROM [Tph] WHERE [Id] = @Id -END"); +END +"""); AssertSql( - @"@p0=NULL (Nullable = false) (Direction = Output) (DbType = Int32) +""" +@p0=NULL (Nullable = false) (Direction = Output) (DbType = Int32) @p1='Child1' (Nullable = false) (Size = 4000) @p2='Child' (Size = 4000) @p3=NULL (DbType = Int32) @@ -476,13 +567,15 @@ AS BEGIN @p5='8' (Nullable = true) SET NOCOUNT ON; -EXEC [Tph_Insert] @p0 OUTPUT, @p1, @p2, @p3, @p4 OUTPUT, @p5;"); +EXEC [Tph_Insert] @p0 OUTPUT, @p1, @p2, @p3, @p4 OUTPUT, @p5; +"""); } public override async Task Tpt(bool async) { await base.Tpt( - async, @" + async, +""" CREATE PROCEDURE Parent_Insert(@Id int OUT, @Name varchar(max)) AS BEGIN INSERT INTO [Parent] ([Name]) VALUES (@Name); @@ -495,66 +588,81 @@ CREATE PROCEDURE Child1_Insert(@Id int, @Child1Property int) AS BEGIN INSERT INTO [Child1] ([Id], [Child1Property]) VALUES (@Id, @Child1Property); SET @Id = SCOPE_IDENTITY(); -END;"); +END; +"""); AssertSql( - @"@p0='1' (Direction = Output) +""" +@p0='1' (Direction = Output) @p1='Child' (Size = 4000) SET NOCOUNT ON; -EXEC [Parent_Insert] @p0 OUTPUT, @p1;", +EXEC [Parent_Insert] @p0 OUTPUT, @p1; +""", // - @"@p2='1' +""" +@p2='1' @p3='8' SET NOCOUNT ON; -EXEC [Child1_Insert] @p2, @p3;"); +EXEC [Child1_Insert] @p2, @p3; +"""); } public override async Task Tpt_mixed_sproc_and_non_sproc(bool async) { await base.Tpt_mixed_sproc_and_non_sproc( - async, @" + async, +""" CREATE PROCEDURE Parent_Insert(@Id int OUT, @Name varchar(max)) AS BEGIN INSERT INTO [Parent] ([Name]) VALUES (@Name); SET @Id = SCOPE_IDENTITY(); -END"); +END +"""); AssertSql( - @"@p0='1' (Direction = Output) +""" +@p0='1' (Direction = Output) @p1='Child' (Size = 4000) SET NOCOUNT ON; -EXEC [Parent_Insert] @p0 OUTPUT, @p1;", +EXEC [Parent_Insert] @p0 OUTPUT, @p1; +""", // - @"@p2='1' +""" +@p2='1' @p3='8' SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; INSERT INTO [Child1] ([Id], [Child1Property]) -VALUES (@p2, @p3);"); +VALUES (@p2, @p3); +"""); } public override async Task Tpc(bool async) { await base.Tpc( - async, @" + async, +""" CREATE PROCEDURE Child1_Insert(@Id int OUT, @Name varchar(max), @Child1Property int) AS BEGIN DECLARE @Table table ([Id] int); INSERT INTO [Child1] ([Name], [Child1Property]) OUTPUT [Inserted].[Id] INTO @Table VALUES (@Name, @Child1Property); SELECT @Id = [Id] FROM @Table; -END"); +END +"""); AssertSql( - @"@p0='1' (Direction = Output) +""" +@p0='1' (Direction = Output) @p1='Child' (Size = 4000) @p2='8' SET NOCOUNT ON; -EXEC [Child1_Insert] @p0 OUTPUT, @p1, @p2;"); +EXEC [Child1_Insert] @p0 OUTPUT, @p1, @p2; +"""); } protected override void ConfigureStoreGeneratedConcurrencyToken(EntityTypeBuilder entityTypeBuilder, string propertyName) diff --git a/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTPCTest.cs b/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTPCTest.cs index 74443bbafca..423609c9e4f 100644 --- a/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTPCTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTPCTest.cs @@ -44,44 +44,54 @@ public override void Save_replaced_principal() base.Save_replaced_principal(); AssertSql( - @"SELECT TOP(2) [t].[Id], [t].[Name], [t].[PrincipalId], [t].[Discriminator] +""" +SELECT TOP(2) [t].[Id], [t].[Name], [t].[PrincipalId], [t].[Discriminator] FROM ( SELECT [c].[Id], [c].[Name], [c].[PrincipalId], N'Category' AS [Discriminator] FROM [Categories] AS [c] UNION ALL SELECT [s].[Id], [s].[Name], [s].[PrincipalId], N'SpecialCategory' AS [Discriminator] FROM [SpecialCategory] AS [s] -) AS [t]", +) AS [t] +""", // - @"@__category_PrincipalId_0='778' (Nullable = true) +""" +@__category_PrincipalId_0='778' (Nullable = true) SELECT [p].[Id], [p].[Discriminator], [p].[DependentId], [p].[Name], [p].[Price] FROM [ProductBase] AS [p] -WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0", +WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0 +""", // - @"@p1='1' +""" +@p1='1' @p0='New Category' (Size = 4000) SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [Categories] SET [Name] = @p0 OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [t].[Id], [t].[Name], [t].[PrincipalId], [t].[Discriminator] +""" +SELECT TOP(2) [t].[Id], [t].[Name], [t].[PrincipalId], [t].[Discriminator] FROM ( SELECT [c].[Id], [c].[Name], [c].[PrincipalId], N'Category' AS [Discriminator] FROM [Categories] AS [c] UNION ALL SELECT [s].[Id], [s].[Name], [s].[PrincipalId], N'SpecialCategory' AS [Discriminator] FROM [SpecialCategory] AS [s] -) AS [t]", +) AS [t] +""", // - @"@__category_PrincipalId_0='778' (Nullable = true) +""" +@__category_PrincipalId_0='778' (Nullable = true) SELECT [p].[Id], [p].[Discriminator], [p].[DependentId], [p].[Name], [p].[Price] FROM [ProductBase] AS [p] -WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0"); +WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0 +"""); } public class UpdatesSqlServerTPCFixture : UpdatesSqlServerFixtureBase diff --git a/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTPTTest.cs b/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTPTTest.cs index cd9c1ac5b86..bbc49a487a7 100644 --- a/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTPTTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTPTTest.cs @@ -44,38 +44,48 @@ public override void Save_replaced_principal() base.Save_replaced_principal(); AssertSql( - @"SELECT TOP(2) [c].[Id], [c].[Name], [c].[PrincipalId], CASE +""" +SELECT TOP(2) [c].[Id], [c].[Name], [c].[PrincipalId], CASE WHEN [s].[Id] IS NOT NULL THEN N'SpecialCategory' END AS [Discriminator] FROM [Categories] AS [c] -LEFT JOIN [SpecialCategory] AS [s] ON [c].[Id] = [s].[Id]", +LEFT JOIN [SpecialCategory] AS [s] ON [c].[Id] = [s].[Id] +""", // - @"@__category_PrincipalId_0='778' (Nullable = true) +""" +@__category_PrincipalId_0='778' (Nullable = true) SELECT [p].[Id], [p].[Discriminator], [p].[DependentId], [p].[Name], [p].[Price] FROM [ProductBase] AS [p] -WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0", +WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0 +""", // - @"@p1='1' +""" +@p1='1' @p0='New Category' (Size = 4000) SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [Categories] SET [Name] = @p0 OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [c].[Id], [c].[Name], [c].[PrincipalId], CASE +""" +SELECT TOP(2) [c].[Id], [c].[Name], [c].[PrincipalId], CASE WHEN [s].[Id] IS NOT NULL THEN N'SpecialCategory' END AS [Discriminator] FROM [Categories] AS [c] -LEFT JOIN [SpecialCategory] AS [s] ON [c].[Id] = [s].[Id]", +LEFT JOIN [SpecialCategory] AS [s] ON [c].[Id] = [s].[Id] +""", // - @"@__category_PrincipalId_0='778' (Nullable = true) +""" +@__category_PrincipalId_0='778' (Nullable = true) SELECT [p].[Id], [p].[Discriminator], [p].[DependentId], [p].[Name], [p].[Price] FROM [ProductBase] AS [p] -WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0"); +WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0 +"""); } public class UpdatesSqlServerTPTFixture : UpdatesSqlServerFixtureBase diff --git a/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTest.cs index 026f204f317..4e46cf82d1d 100644 --- a/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTest.cs @@ -43,32 +43,42 @@ public override void Save_replaced_principal() base.Save_replaced_principal(); AssertSql( - @"SELECT TOP(2) [c].[Id], [c].[Discriminator], [c].[Name], [c].[PrincipalId] -FROM [Categories] AS [c]", +""" +SELECT TOP(2) [c].[Id], [c].[Discriminator], [c].[Name], [c].[PrincipalId] +FROM [Categories] AS [c] +""", // - @"@__category_PrincipalId_0='778' (Nullable = true) +""" +@__category_PrincipalId_0='778' (Nullable = true) SELECT [p].[Id], [p].[Discriminator], [p].[DependentId], [p].[Name], [p].[Price] FROM [ProductBase] AS [p] -WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0", +WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0 +""", // - @"@p1='1' +""" +@p1='1' @p0='New Category' (Size = 4000) SET IMPLICIT_TRANSACTIONS OFF; SET NOCOUNT ON; UPDATE [Categories] SET [Name] = @p0 OUTPUT 1 -WHERE [Id] = @p1;", +WHERE [Id] = @p1; +""", // - @"SELECT TOP(2) [c].[Id], [c].[Discriminator], [c].[Name], [c].[PrincipalId] -FROM [Categories] AS [c]", +""" +SELECT TOP(2) [c].[Id], [c].[Discriminator], [c].[Name], [c].[PrincipalId] +FROM [Categories] AS [c] +""", // - @"@__category_PrincipalId_0='778' (Nullable = true) +""" +@__category_PrincipalId_0='778' (Nullable = true) SELECT [p].[Id], [p].[Discriminator], [p].[DependentId], [p].[Name], [p].[Price] FROM [ProductBase] AS [p] -WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0"); +WHERE [p].[Discriminator] = N'Product' AND [p].[DependentId] = @__category_PrincipalId_0 +"""); } public class UpdatesSqlServerFixture : UpdatesSqlServerFixtureBase diff --git a/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTestBase.cs b/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTestBase.cs index c60b59077dc..2145d977486 100644 --- a/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTestBase.cs +++ b/test/EFCore.SqlServer.FunctionalTests/UpdatesSqlServerTestBase.cs @@ -25,7 +25,8 @@ public override void Can_add_and_remove_self_refs() base.Can_add_and_remove_self_refs(); AssertSql( - @"@p0=NULL (Size = 4000) +""" +@p0=NULL (Size = 4000) @p1='1' (Nullable = false) (Size = 4000) @p2=NULL (DbType = Int32) @@ -33,9 +34,11 @@ public override void Can_add_and_remove_self_refs() SET NOCOUNT ON; INSERT INTO [Person] ([Country], [Name], [ParentId]) OUTPUT INSERTED.[PersonId] -VALUES (@p0, @p1, @p2);", - // - @"@p3=NULL (Size = 4000) +VALUES (@p0, @p1, @p2); +""", + // +""" +@p3=NULL (Size = 4000) @p4='2' (Nullable = false) (Size = 4000) @p5='1' (Nullable = true) @p6=NULL (Size = 4000) @@ -50,9 +53,11 @@ MERGE [Person] USING ( WHEN NOT MATCHED THEN INSERT ([Country], [Name], [ParentId]) VALUES (i.[Country], i.[Name], i.[ParentId]) -OUTPUT INSERTED.[PersonId], i._Position;", - // - @"@p9=NULL (Size = 4000) +OUTPUT INSERTED.[PersonId], i._Position; +""", + // +""" +@p9=NULL (Size = 4000) @p10='4' (Nullable = false) (Size = 4000) @p11='2' (Nullable = true) @p12=NULL (Size = 4000) @@ -75,9 +80,11 @@ MERGE [Person] USING ( WHEN NOT MATCHED THEN INSERT ([Country], [Name], [ParentId]) VALUES (i.[Country], i.[Name], i.[ParentId]) -OUTPUT INSERTED.[PersonId], i._Position;", - // - @"@p0='4' +OUTPUT INSERTED.[PersonId], i._Position; +""", + // +""" +@p0='4' @p1='5' @p2='6' @p3='2' @@ -108,9 +115,11 @@ OUTPUT 1 WHERE [PersonId] = @p5; INSERT INTO [Person] ([Country], [Name], [ParentId]) OUTPUT INSERTED.[PersonId] -VALUES (@p6, @p7, @p8);", - // - @"@p9='1' +VALUES (@p6, @p7, @p8); +""", + // +""" +@p9='1' @p10=NULL (Size = 4000) @p11='2' (Nullable = false) (Size = 4000) @p12='8' (Nullable = true) @@ -128,9 +137,11 @@ MERGE [Person] USING ( WHEN NOT MATCHED THEN INSERT ([Country], [Name], [ParentId]) VALUES (i.[Country], i.[Name], i.[ParentId]) -OUTPUT INSERTED.[PersonId], i._Position;", - // - @"@p16=NULL (Size = 4000) +OUTPUT INSERTED.[PersonId], i._Position; +""", + // +""" +@p16=NULL (Size = 4000) @p17='4' (Nullable = false) (Size = 4000) @p18='9' (Nullable = true) @p19=NULL (Size = 4000) @@ -153,13 +164,16 @@ MERGE [Person] USING ( WHEN NOT MATCHED THEN INSERT ([Country], [Name], [ParentId]) VALUES (i.[Country], i.[Name], i.[ParentId]) -OUTPUT INSERTED.[PersonId], i._Position;", - // - @"SELECT [p].[PersonId], [p].[Country], [p].[Name], [p].[ParentId], [p].[Address_City], [p].[Country], [p0].[PersonId], [p0].[Country], [p0].[Name], [p0].[ParentId], [p0].[Address_City], [p0].[Country], [p1].[PersonId], [p1].[Country], [p1].[Name], [p1].[ParentId], [p1].[Address_City], [p1].[Country], [p2].[PersonId], [p2].[Country], [p2].[Name], [p2].[ParentId], [p2].[Address_City], [p2].[Country] +OUTPUT INSERTED.[PersonId], i._Position; +""", + // +""" +SELECT [p].[PersonId], [p].[Country], [p].[Name], [p].[ParentId], [p].[Address_City], [p].[Country], [p0].[PersonId], [p0].[Country], [p0].[Name], [p0].[ParentId], [p0].[Address_City], [p0].[Country], [p1].[PersonId], [p1].[Country], [p1].[Name], [p1].[ParentId], [p1].[Address_City], [p1].[Country], [p2].[PersonId], [p2].[Country], [p2].[Name], [p2].[ParentId], [p2].[Address_City], [p2].[Country] FROM [Person] AS [p] LEFT JOIN [Person] AS [p0] ON [p].[ParentId] = [p0].[PersonId] LEFT JOIN [Person] AS [p1] ON [p0].[ParentId] = [p1].[PersonId] -LEFT JOIN [Person] AS [p2] ON [p1].[ParentId] = [p2].[PersonId]"); +LEFT JOIN [Person] AS [p2] ON [p1].[ParentId] = [p2].[PersonId] +"""); } public override void Identifiers_are_generated_correctly() diff --git a/test/EFCore.SqlServer.FunctionalTests/ValueConvertersEndToEndSqlServerTest.cs b/test/EFCore.SqlServer.FunctionalTests/ValueConvertersEndToEndSqlServerTest.cs index d5557e96815..c2cfce41467 100644 --- a/test/EFCore.SqlServer.FunctionalTests/ValueConvertersEndToEndSqlServerTest.cs +++ b/test/EFCore.SqlServer.FunctionalTests/ValueConvertersEndToEndSqlServerTest.cs @@ -172,9 +172,11 @@ public virtual void Can_use_custom_converters_without_property() } Assert.Equal( - @"SELECT [c].[Id], [c].[BoolAsChar], [c].[BoolAsInt], [c].[BoolAsNullableChar], [c].[BoolAsNullableInt], [c].[BoolAsNullableString], [c].[BoolAsString], [c].[BytesAsNullableString], [c].[BytesAsString], [c].[CharAsNullableString], [c].[CharAsString], [c].[DateTimeOffsetToBinary], [c].[DateTimeOffsetToNullableBinary], [c].[DateTimeOffsetToNullableString], [c].[DateTimeOffsetToString], [c].[DateTimeToBinary], [c].[DateTimeToNullableBinary], [c].[DateTimeToNullableString], [c].[DateTimeToString], [c].[EnumToNullableNumber], [c].[EnumToNullableString], [c].[EnumToNumber], [c].[EnumToString], [c].[EnumerableOfInt], [c].[GuidToBytes], [c].[GuidToNullableBytes], [c].[GuidToNullableString], [c].[GuidToString], [c].[IPAddressToBytes], [c].[IPAddressToNullableBytes], [c].[IPAddressToNullableString], [c].[IPAddressToString], [c].[IntAsLong], [c].[IntAsNullableLong], [c].[ListOfInt], [c].[NonNullIntToNonNullString], [c].[NonNullIntToNullString], [c].[NonNullStringToNullString], [c].[NullIntToNonNullString], [c].[NullIntToNullString], [c].[NullStringToNonNullString], [c].[NullableBoolAsChar], [c].[NullableBoolAsInt], [c].[NullableBoolAsNullableChar], [c].[NullableBoolAsNullableInt], [c].[NullableBoolAsNullableString], [c].[NullableBoolAsString], [c].[NullableBytesAsNullableString], [c].[NullableBytesAsString], [c].[NullableCharAsNullableString], [c].[NullableCharAsString], [c].[NullableDateTimeOffsetToBinary], [c].[NullableDateTimeOffsetToNullableBinary], [c].[NullableDateTimeOffsetToNullableString], [c].[NullableDateTimeOffsetToString], [c].[NullableDateTimeToBinary], [c].[NullableDateTimeToNullableBinary], [c].[NullableDateTimeToNullableString], [c].[NullableDateTimeToString], [c].[NullableEnumToNullableNumber], [c].[NullableEnumToNullableString], [c].[NullableEnumToNumber], [c].[NullableEnumToString], [c].[NullableEnumerableOfInt], [c].[NullableGuidToBytes], [c].[NullableGuidToNullableBytes], [c].[NullableGuidToNullableString], [c].[NullableGuidToString], [c].[NullableIPAddressToBytes], [c].[NullableIPAddressToNullableBytes], [c].[NullableIPAddressToNullableString], [c].[NullableIPAddressToString], [c].[NullableIntAsLong], [c].[NullableIntAsNullableLong], [c].[NullableListOfInt], [c].[NullableNumberToBytes], [c].[NullableNumberToNullableBytes], [c].[NullableNumberToNullableString], [c].[NullableNumberToString], [c].[NullablePhysicalAddressToBytes], [c].[NullablePhysicalAddressToNullableBytes], [c].[NullablePhysicalAddressToNullableString], [c].[NullablePhysicalAddressToString], [c].[NullableStringToBool], [c].[NullableStringToBytes], [c].[NullableStringToChar], [c].[NullableStringToDateTime], [c].[NullableStringToDateTimeOffset], [c].[NullableStringToEnum], [c].[NullableStringToGuid], [c].[NullableStringToNullableBool], [c].[NullableStringToNullableBytes], [c].[NullableStringToNullableChar], [c].[NullableStringToNullableDateTime], [c].[NullableStringToNullableDateTimeOffset], [c].[NullableStringToNullableEnum], [c].[NullableStringToNullableGuid], [c].[NullableStringToNullableNumber], [c].[NullableStringToNullableTimeSpan], [c].[NullableStringToNumber], [c].[NullableStringToTimeSpan], [c].[NullableTimeSpanToNullableString], [c].[NullableTimeSpanToNullableTicks], [c].[NullableTimeSpanToString], [c].[NullableTimeSpanToTicks], [c].[NullableUriToNullableString], [c].[NullableUriToString], [c].[NumberToBytes], [c].[NumberToNullableBytes], [c].[NumberToNullableString], [c].[NumberToString], [c].[PhysicalAddressToBytes], [c].[PhysicalAddressToNullableBytes], [c].[PhysicalAddressToNullableString], [c].[PhysicalAddressToString], [c].[StringToBool], [c].[StringToBytes], [c].[StringToChar], [c].[StringToDateTime], [c].[StringToDateTimeOffset], [c].[StringToEnum], [c].[StringToGuid], [c].[StringToNullableBool], [c].[StringToNullableBytes], [c].[StringToNullableChar], [c].[StringToNullableDateTime], [c].[StringToNullableDateTimeOffset], [c].[StringToNullableEnum], [c].[StringToNullableGuid], [c].[StringToNullableNumber], [c].[StringToNullableTimeSpan], [c].[StringToNumber], [c].[StringToTimeSpan], [c].[TimeSpanToNullableString], [c].[TimeSpanToNullableTicks], [c].[TimeSpanToString], [c].[TimeSpanToTicks], [c].[UriToNullableString], [c].[UriToString] +""" +SELECT [c].[Id], [c].[BoolAsChar], [c].[BoolAsInt], [c].[BoolAsNullableChar], [c].[BoolAsNullableInt], [c].[BoolAsNullableString], [c].[BoolAsString], [c].[BytesAsNullableString], [c].[BytesAsString], [c].[CharAsNullableString], [c].[CharAsString], [c].[DateTimeOffsetToBinary], [c].[DateTimeOffsetToNullableBinary], [c].[DateTimeOffsetToNullableString], [c].[DateTimeOffsetToString], [c].[DateTimeToBinary], [c].[DateTimeToNullableBinary], [c].[DateTimeToNullableString], [c].[DateTimeToString], [c].[EnumToNullableNumber], [c].[EnumToNullableString], [c].[EnumToNumber], [c].[EnumToString], [c].[EnumerableOfInt], [c].[GuidToBytes], [c].[GuidToNullableBytes], [c].[GuidToNullableString], [c].[GuidToString], [c].[IPAddressToBytes], [c].[IPAddressToNullableBytes], [c].[IPAddressToNullableString], [c].[IPAddressToString], [c].[IntAsLong], [c].[IntAsNullableLong], [c].[ListOfInt], [c].[NonNullIntToNonNullString], [c].[NonNullIntToNullString], [c].[NonNullStringToNullString], [c].[NullIntToNonNullString], [c].[NullIntToNullString], [c].[NullStringToNonNullString], [c].[NullableBoolAsChar], [c].[NullableBoolAsInt], [c].[NullableBoolAsNullableChar], [c].[NullableBoolAsNullableInt], [c].[NullableBoolAsNullableString], [c].[NullableBoolAsString], [c].[NullableBytesAsNullableString], [c].[NullableBytesAsString], [c].[NullableCharAsNullableString], [c].[NullableCharAsString], [c].[NullableDateTimeOffsetToBinary], [c].[NullableDateTimeOffsetToNullableBinary], [c].[NullableDateTimeOffsetToNullableString], [c].[NullableDateTimeOffsetToString], [c].[NullableDateTimeToBinary], [c].[NullableDateTimeToNullableBinary], [c].[NullableDateTimeToNullableString], [c].[NullableDateTimeToString], [c].[NullableEnumToNullableNumber], [c].[NullableEnumToNullableString], [c].[NullableEnumToNumber], [c].[NullableEnumToString], [c].[NullableEnumerableOfInt], [c].[NullableGuidToBytes], [c].[NullableGuidToNullableBytes], [c].[NullableGuidToNullableString], [c].[NullableGuidToString], [c].[NullableIPAddressToBytes], [c].[NullableIPAddressToNullableBytes], [c].[NullableIPAddressToNullableString], [c].[NullableIPAddressToString], [c].[NullableIntAsLong], [c].[NullableIntAsNullableLong], [c].[NullableListOfInt], [c].[NullableNumberToBytes], [c].[NullableNumberToNullableBytes], [c].[NullableNumberToNullableString], [c].[NullableNumberToString], [c].[NullablePhysicalAddressToBytes], [c].[NullablePhysicalAddressToNullableBytes], [c].[NullablePhysicalAddressToNullableString], [c].[NullablePhysicalAddressToString], [c].[NullableStringToBool], [c].[NullableStringToBytes], [c].[NullableStringToChar], [c].[NullableStringToDateTime], [c].[NullableStringToDateTimeOffset], [c].[NullableStringToEnum], [c].[NullableStringToGuid], [c].[NullableStringToNullableBool], [c].[NullableStringToNullableBytes], [c].[NullableStringToNullableChar], [c].[NullableStringToNullableDateTime], [c].[NullableStringToNullableDateTimeOffset], [c].[NullableStringToNullableEnum], [c].[NullableStringToNullableGuid], [c].[NullableStringToNullableNumber], [c].[NullableStringToNullableTimeSpan], [c].[NullableStringToNumber], [c].[NullableStringToTimeSpan], [c].[NullableTimeSpanToNullableString], [c].[NullableTimeSpanToNullableTicks], [c].[NullableTimeSpanToString], [c].[NullableTimeSpanToTicks], [c].[NullableUriToNullableString], [c].[NullableUriToString], [c].[NumberToBytes], [c].[NumberToNullableBytes], [c].[NumberToNullableString], [c].[NumberToString], [c].[PhysicalAddressToBytes], [c].[PhysicalAddressToNullableBytes], [c].[PhysicalAddressToNullableString], [c].[PhysicalAddressToString], [c].[StringToBool], [c].[StringToBytes], [c].[StringToChar], [c].[StringToDateTime], [c].[StringToDateTimeOffset], [c].[StringToEnum], [c].[StringToGuid], [c].[StringToNullableBool], [c].[StringToNullableBytes], [c].[StringToNullableChar], [c].[StringToNullableDateTime], [c].[StringToNullableDateTimeOffset], [c].[StringToNullableEnum], [c].[StringToNullableGuid], [c].[StringToNullableNumber], [c].[StringToNullableTimeSpan], [c].[StringToNumber], [c].[StringToTimeSpan], [c].[TimeSpanToNullableString], [c].[TimeSpanToNullableTicks], [c].[TimeSpanToString], [c].[TimeSpanToTicks], [c].[UriToNullableString], [c].[UriToString] FROM [ConvertingEntity] AS [c] -WHERE CAST(DATALENGTH(CAST(N'' AS nvarchar(max))) AS int) = 1", +WHERE CAST(DATALENGTH(CAST(N'' AS nvarchar(max))) AS int) = 1 +""", Fixture.TestSqlLoggerFactory.SqlStatements[0], ignoreLineEndingDifferences: true); } diff --git a/test/EFCore.Sqlite.FunctionalTests/BuiltInDataTypesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BuiltInDataTypesSqliteTest.cs index 45416ae8439..a38d160303c 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BuiltInDataTypesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BuiltInDataTypesSqliteTest.cs @@ -1495,8 +1495,10 @@ public virtual void Can_query_using_char_ToLower() .Select(e => char.ToLower(e.Character)).ToList(); AssertSql( - @"SELECT lower(""o"".""Character"") -FROM ""ObjectBackedDataTypes"" AS ""o"""); +""" +SELECT lower("o"."Character") +FROM "ObjectBackedDataTypes" AS "o" +"""); var expectedResults = context.Set().AsEnumerable() .Select(e => char.ToLower(e.Character)).ToList(); @@ -1513,8 +1515,10 @@ public virtual void Can_query_using_char_ToUpper() .Select(e => char.ToUpper(e.Character)).ToList(); AssertSql( - @"SELECT upper(""o"".""Character"") -FROM ""ObjectBackedDataTypes"" AS ""o"""); +""" +SELECT upper("o"."Character") +FROM "ObjectBackedDataTypes" AS "o" +"""); var expectedResults = context.Set().AsEnumerable() .Select(e => char.ToUpper(e.Character)).ToList(); @@ -1531,8 +1535,10 @@ public virtual void Can_query_using_hex_function() .Select(e => EF.Functions.Hex(e.Bytes)).ToList(); AssertSql( - @"SELECT hex(""o"".""Bytes"") -FROM ""ObjectBackedDataTypes"" AS ""o"""); +""" +SELECT hex("o"."Bytes") +FROM "ObjectBackedDataTypes" AS "o" +"""); var expectedResults = context.Set().AsEnumerable() .Select(e => string.Concat(e.Bytes.Select(b => b.ToString("X2")))).ToList(); @@ -1549,8 +1555,10 @@ public virtual void Can_query_using_substr_function() .Select(e => EF.Functions.Substr(e.Bytes, 2)).ToList(); AssertSql( - @"SELECT substr(""o"".""Bytes"", 2) -FROM ""ObjectBackedDataTypes"" AS ""o"""); +""" +SELECT substr("o"."Bytes", 2) +FROM "ObjectBackedDataTypes" AS "o" +"""); var expectedResults = context.Set().AsEnumerable() .Select(e => e.Bytes.Skip(1).ToArray()).ToList(); @@ -1567,8 +1575,10 @@ public virtual void Can_query_using_substr_function_with_length() .Select(e => EF.Functions.Substr(e.Bytes, 1, 1)).ToList(); AssertSql( - @"SELECT substr(""o"".""Bytes"", 1, 1) -FROM ""ObjectBackedDataTypes"" AS ""o"""); +""" +SELECT substr("o"."Bytes", 1, 1) +FROM "ObjectBackedDataTypes" AS "o" +"""); var expectedResults = context.Set().AsEnumerable() .Select(e => e.Bytes.Take(1).ToArray()).ToList(); @@ -1581,9 +1591,11 @@ public override void Object_to_string_conversion() base.Object_to_string_conversion(); AssertSql( - @"SELECT CAST(""b"".""TestSignedByte"" AS TEXT), CAST(""b"".""TestByte"" AS TEXT), CAST(""b"".""TestInt16"" AS TEXT), CAST(""b"".""TestUnsignedInt16"" AS TEXT), CAST(""b"".""TestInt32"" AS TEXT), CAST(""b"".""TestUnsignedInt32"" AS TEXT), CAST(""b"".""TestInt64"" AS TEXT), ""b"".""TestUnsignedInt64"", CAST(""b"".""TestSingle"" AS TEXT), CAST(""b"".""TestDouble"" AS TEXT), CAST(""b"".""TestDecimal"" AS TEXT), CAST(""b"".""TestCharacter"" AS TEXT), CAST(""b"".""TestDateTime"" AS TEXT), CAST(""b"".""TestDateTimeOffset"" AS TEXT), CAST(""b"".""TestTimeSpan"" AS TEXT) -FROM ""BuiltInDataTypes"" AS ""b"" -WHERE ""b"".""Id"" = 13"); +""" +SELECT CAST("b"."TestSignedByte" AS TEXT), CAST("b"."TestByte" AS TEXT), CAST("b"."TestInt16" AS TEXT), CAST("b"."TestUnsignedInt16" AS TEXT), CAST("b"."TestInt32" AS TEXT), CAST("b"."TestUnsignedInt32" AS TEXT), CAST("b"."TestInt64" AS TEXT), "b"."TestUnsignedInt64", CAST("b"."TestSingle" AS TEXT), CAST("b"."TestDouble" AS TEXT), CAST("b"."TestDecimal" AS TEXT), CAST("b"."TestCharacter" AS TEXT), CAST("b"."TestDateTime" AS TEXT), CAST("b"."TestDateTimeOffset" AS TEXT), CAST("b"."TestTimeSpan" AS TEXT) +FROM "BuiltInDataTypes" AS "b" +WHERE "b"."Id" = 13 +"""); } [ConditionalFact] @@ -1627,10 +1639,12 @@ from dt2 in context.Set() } AssertSql( - @"SELECT ef_add(""b"".""TestDecimal"", ""b0"".""TestDecimal"") AS ""add"", ef_add(""b"".""TestDecimal"", ef_negate(""b0"".""TestDecimal"")) AS ""subtract"", ef_multiply(""b"".""TestDecimal"", ""b0"".""TestDecimal"") AS ""multiply"", ef_divide(""b"".""TestDecimal"", ""b0"".""TestDecimal"") AS ""divide"", ef_negate(""b"".""TestDecimal"") AS ""negate"" -FROM ""BuiltInDataTypes"" AS ""b"" -CROSS JOIN ""BuiltInDataTypes"" AS ""b0"" -ORDER BY ""b"".""Id"", ""b0"".""Id"""); +""" +SELECT ef_add("b"."TestDecimal", "b0"."TestDecimal") AS "add", ef_add("b"."TestDecimal", ef_negate("b0"."TestDecimal")) AS "subtract", ef_multiply("b"."TestDecimal", "b0"."TestDecimal") AS "multiply", ef_divide("b"."TestDecimal", "b0"."TestDecimal") AS "divide", ef_negate("b"."TestDecimal") AS "negate" +FROM "BuiltInDataTypes" AS "b" +CROSS JOIN "BuiltInDataTypes" AS "b0" +ORDER BY "b"."Id", "b0"."Id" +"""); } private void AssertTranslationFailed(Action testCode) diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/FiltersInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/FiltersInheritanceBulkUpdatesSqliteTest.cs index bd91f43b3ed..db62b4c5001 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/FiltersInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/FiltersInheritanceBulkUpdatesSqliteTest.cs @@ -20,8 +20,10 @@ public override async Task Delete_where_hierarchy(bool async) await base.Delete_where_hierarchy(async); AssertSql( - @"DELETE FROM ""Animals"" AS ""a"" -WHERE ""a"".""CountryId"" = 1 AND ""a"".""Name"" = 'Great spotted kiwi'"); +""" +DELETE FROM "Animals" AS "a" +WHERE "a"."CountryId" = 1 AND "a"."Name" = 'Great spotted kiwi' +"""); } public override async Task Delete_where_hierarchy_subquery(bool async) @@ -29,20 +31,22 @@ public override async Task Delete_where_hierarchy_subquery(bool async) await base.Delete_where_hierarchy_subquery(async); AssertSql( - @"@__p_1='3' +""" +@__p_1='3' @__p_0='0' -DELETE FROM ""Animals"" AS ""a"" +DELETE FROM "Animals" AS "a" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""a0"".""Id"", ""a0"".""CountryId"", ""a0"".""Discriminator"", ""a0"".""Name"", ""a0"".""Species"", ""a0"".""EagleId"", ""a0"".""IsFlightless"", ""a0"".""Group"", ""a0"".""FoundOn"" - FROM ""Animals"" AS ""a0"" - WHERE ""a0"".""CountryId"" = 1 AND ""a0"".""Name"" = 'Great spotted kiwi' - ORDER BY ""a0"".""Name"" + SELECT "a0"."Id", "a0"."CountryId", "a0"."Discriminator", "a0"."Name", "a0"."Species", "a0"."EagleId", "a0"."IsFlightless", "a0"."Group", "a0"."FoundOn" + FROM "Animals" AS "a0" + WHERE "a0"."CountryId" = 1 AND "a0"."Name" = 'Great spotted kiwi' + ORDER BY "a0"."Name" LIMIT @__p_1 OFFSET @__p_0 - ) AS ""t"" - WHERE ""t"".""Id"" = ""a"".""Id"")"); + ) AS "t" + WHERE "t"."Id" = "a"."Id") +"""); } public override async Task Delete_where_hierarchy_derived(bool async) @@ -50,8 +54,10 @@ public override async Task Delete_where_hierarchy_derived(bool async) await base.Delete_where_hierarchy_derived(async); AssertSql( - @"DELETE FROM ""Animals"" AS ""a"" -WHERE ""a"".""Discriminator"" = 'Kiwi' AND ""a"".""CountryId"" = 1 AND ""a"".""Name"" = 'Great spotted kiwi'"); +""" +DELETE FROM "Animals" AS "a" +WHERE "a"."Discriminator" = 'Kiwi' AND "a"."CountryId" = 1 AND "a"."Name" = 'Great spotted kiwi' +"""); } public override async Task Delete_where_using_hierarchy(bool async) @@ -59,11 +65,13 @@ public override async Task Delete_where_using_hierarchy(bool async) await base.Delete_where_using_hierarchy(async); AssertSql( - @"DELETE FROM ""Countries"" AS ""c"" +""" +DELETE FROM "Countries" AS "c" WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - WHERE ""a"".""CountryId"" = 1 AND ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + WHERE "a"."CountryId" = 1 AND "c"."Id" = "a"."CountryId" AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Delete_where_using_hierarchy_derived(bool async) @@ -71,11 +79,13 @@ public override async Task Delete_where_using_hierarchy_derived(bool async) await base.Delete_where_using_hierarchy_derived(async); AssertSql( - @"DELETE FROM ""Countries"" AS ""c"" +""" +DELETE FROM "Countries" AS "c" WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - WHERE ""a"".""CountryId"" = 1 AND ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""Discriminator"" = 'Kiwi' AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + WHERE "a"."CountryId" = 1 AND "c"."Id" = "a"."CountryId" AND "a"."Discriminator" = 'Kiwi' AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) @@ -104,17 +114,19 @@ public override async Task Delete_GroupBy_Where_Select_First_3(bool async) await base.Delete_GroupBy_Where_Select_First_3(async); AssertSql( - @"DELETE FROM ""Animals"" AS ""a"" -WHERE ""a"".""CountryId"" = 1 AND EXISTS ( +""" +DELETE FROM "Animals" AS "a" +WHERE "a"."CountryId" = 1 AND EXISTS ( SELECT 1 - FROM ""Animals"" AS ""a0"" - WHERE ""a0"".""CountryId"" = 1 - GROUP BY ""a0"".""CountryId"" + FROM "Animals" AS "a0" + WHERE "a0"."CountryId" = 1 + GROUP BY "a0"."CountryId" HAVING COUNT(*) < 3 AND ( - SELECT ""a1"".""Id"" - FROM ""Animals"" AS ""a1"" - WHERE ""a1"".""CountryId"" = 1 AND ""a0"".""CountryId"" = ""a1"".""CountryId"" - LIMIT 1) = ""a"".""Id"")"); + SELECT "a1"."Id" + FROM "Animals" AS "a1" + WHERE "a1"."CountryId" = 1 AND "a0"."CountryId" = "a1"."CountryId" + LIMIT 1) = "a"."Id") +"""); } public override async Task Update_where_hierarchy(bool async) @@ -122,9 +134,11 @@ public override async Task Update_where_hierarchy(bool async) await base.Update_where_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE ""Animals"" AS ""a"" -SET ""Name"" = 'Animal' -WHERE ""a"".""CountryId"" = 1 AND ""a"".""Name"" = 'Great spotted kiwi'"); +""" +UPDATE "Animals" AS "a" +SET "Name" = 'Animal' +WHERE "a"."CountryId" = 1 AND "a"."Name" = 'Great spotted kiwi' +"""); } public override async Task Update_where_hierarchy_subquery(bool async) @@ -139,9 +153,11 @@ public override async Task Update_where_hierarchy_derived(bool async) await base.Update_where_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE ""Animals"" AS ""a"" -SET ""Name"" = 'Kiwi' -WHERE ""a"".""Discriminator"" = 'Kiwi' AND ""a"".""CountryId"" = 1 AND ""a"".""Name"" = 'Great spotted kiwi'"); +""" +UPDATE "Animals" AS "a" +SET "Name" = 'Kiwi' +WHERE "a"."Discriminator" = 'Kiwi' AND "a"."CountryId" = 1 AND "a"."Name" = 'Great spotted kiwi' +"""); } public override async Task Update_where_using_hierarchy(bool async) @@ -149,12 +165,14 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - WHERE ""a"".""CountryId"" = 1 AND ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + WHERE "a"."CountryId" = 1 AND "c"."Id" = "a"."CountryId" AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -162,12 +180,14 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - WHERE ""a"".""CountryId"" = 1 AND ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""Discriminator"" = 'Kiwi' AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + WHERE "a"."CountryId" = 1 AND "c"."Id" = "a"."CountryId" AND "a"."Discriminator" = 'Kiwi' AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/InheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/InheritanceBulkUpdatesSqliteTest.cs index 96903b65ba9..d3f45ba0239 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/InheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/InheritanceBulkUpdatesSqliteTest.cs @@ -20,8 +20,10 @@ public override async Task Delete_where_hierarchy(bool async) await base.Delete_where_hierarchy(async); AssertSql( - @"DELETE FROM ""Animals"" AS ""a"" -WHERE ""a"".""Name"" = 'Great spotted kiwi'"); +""" +DELETE FROM "Animals" AS "a" +WHERE "a"."Name" = 'Great spotted kiwi' +"""); } public override async Task Delete_where_hierarchy_subquery(bool async) @@ -29,20 +31,22 @@ public override async Task Delete_where_hierarchy_subquery(bool async) await base.Delete_where_hierarchy_subquery(async); AssertSql( - @"@__p_1='3' +""" +@__p_1='3' @__p_0='0' -DELETE FROM ""Animals"" AS ""a"" +DELETE FROM "Animals" AS "a" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""a0"".""Id"", ""a0"".""CountryId"", ""a0"".""Discriminator"", ""a0"".""Name"", ""a0"".""Species"", ""a0"".""EagleId"", ""a0"".""IsFlightless"", ""a0"".""Group"", ""a0"".""FoundOn"" - FROM ""Animals"" AS ""a0"" - WHERE ""a0"".""Name"" = 'Great spotted kiwi' - ORDER BY ""a0"".""Name"" + SELECT "a0"."Id", "a0"."CountryId", "a0"."Discriminator", "a0"."Name", "a0"."Species", "a0"."EagleId", "a0"."IsFlightless", "a0"."Group", "a0"."FoundOn" + FROM "Animals" AS "a0" + WHERE "a0"."Name" = 'Great spotted kiwi' + ORDER BY "a0"."Name" LIMIT @__p_1 OFFSET @__p_0 - ) AS ""t"" - WHERE ""t"".""Id"" = ""a"".""Id"")"); + ) AS "t" + WHERE "t"."Id" = "a"."Id") +"""); } public override async Task Delete_where_hierarchy_derived(bool async) @@ -50,8 +54,10 @@ public override async Task Delete_where_hierarchy_derived(bool async) await base.Delete_where_hierarchy_derived(async); AssertSql( - @"DELETE FROM ""Animals"" AS ""a"" -WHERE ""a"".""Discriminator"" = 'Kiwi' AND ""a"".""Name"" = 'Great spotted kiwi'"); +""" +DELETE FROM "Animals" AS "a" +WHERE "a"."Discriminator" = 'Kiwi' AND "a"."Name" = 'Great spotted kiwi' +"""); } public override async Task Delete_where_using_hierarchy(bool async) @@ -59,11 +65,13 @@ public override async Task Delete_where_using_hierarchy(bool async) await base.Delete_where_using_hierarchy(async); AssertSql( - @"DELETE FROM ""Countries"" AS ""c"" +""" +DELETE FROM "Countries" AS "c" WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - WHERE ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + WHERE "c"."Id" = "a"."CountryId" AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Delete_where_using_hierarchy_derived(bool async) @@ -71,11 +79,13 @@ public override async Task Delete_where_using_hierarchy_derived(bool async) await base.Delete_where_using_hierarchy_derived(async); AssertSql( - @"DELETE FROM ""Countries"" AS ""c"" +""" +DELETE FROM "Countries" AS "c" WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - WHERE ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""Discriminator"" = 'Kiwi' AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + WHERE "c"."Id" = "a"."CountryId" AND "a"."Discriminator" = 'Kiwi' AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) @@ -104,16 +114,18 @@ public override async Task Delete_GroupBy_Where_Select_First_3(bool async) await base.Delete_GroupBy_Where_Select_First_3(async); AssertSql( - @"DELETE FROM ""Animals"" AS ""a"" +""" +DELETE FROM "Animals" AS "a" WHERE EXISTS ( SELECT 1 - FROM ""Animals"" AS ""a0"" - GROUP BY ""a0"".""CountryId"" + FROM "Animals" AS "a0" + GROUP BY "a0"."CountryId" HAVING COUNT(*) < 3 AND ( - SELECT ""a1"".""Id"" - FROM ""Animals"" AS ""a1"" - WHERE ""a0"".""CountryId"" = ""a1"".""CountryId"" - LIMIT 1) = ""a"".""Id"")"); + SELECT "a1"."Id" + FROM "Animals" AS "a1" + WHERE "a0"."CountryId" = "a1"."CountryId" + LIMIT 1) = "a"."Id") +"""); } public override async Task Update_where_hierarchy(bool async) @@ -121,9 +133,11 @@ public override async Task Update_where_hierarchy(bool async) await base.Update_where_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE ""Animals"" AS ""a"" -SET ""Name"" = 'Animal' -WHERE ""a"".""Name"" = 'Great spotted kiwi'"); +""" +UPDATE "Animals" AS "a" +SET "Name" = 'Animal' +WHERE "a"."Name" = 'Great spotted kiwi' +"""); } public override async Task Update_where_hierarchy_subquery(bool async) @@ -138,9 +152,11 @@ public override async Task Update_where_hierarchy_derived(bool async) await base.Update_where_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE ""Animals"" AS ""a"" -SET ""Name"" = 'Kiwi' -WHERE ""a"".""Discriminator"" = 'Kiwi' AND ""a"".""Name"" = 'Great spotted kiwi'"); +""" +UPDATE "Animals" AS "a" +SET "Name" = 'Kiwi' +WHERE "a"."Discriminator" = 'Kiwi' AND "a"."Name" = 'Great spotted kiwi' +"""); } public override async Task Update_where_using_hierarchy(bool async) @@ -148,12 +164,14 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - WHERE ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + WHERE "c"."Id" = "a"."CountryId" AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -161,12 +179,14 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - WHERE ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""Discriminator"" = 'Kiwi' AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + WHERE "c"."Id" = "a"."CountryId" AND "a"."Discriminator" = 'Kiwi' AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqliteTest.cs index 5a53f944c2e..1b58fe6fc8a 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NonSharedModelBulkUpdatesSqliteTest.cs @@ -17,7 +17,9 @@ public override async Task Delete_aggregate_root_when_eager_loaded_owned_collect await base.Delete_aggregate_root_when_eager_loaded_owned_collection(async); AssertSql( - @"DELETE FROM ""Owner"" AS ""o"""); +""" +DELETE FROM "Owner" AS "o" +"""); } public override async Task Delete_aggregate_root_when_table_sharing_with_owned(bool async) @@ -25,7 +27,9 @@ public override async Task Delete_aggregate_root_when_table_sharing_with_owned(b await base.Delete_aggregate_root_when_table_sharing_with_owned(async); AssertSql( - @"DELETE FROM ""Owner"" AS ""o"""); +""" +DELETE FROM "Owner" AS "o" +"""); } public override async Task Delete_aggregate_root_when_table_sharing_with_non_owned_throws(bool async) @@ -40,12 +44,14 @@ public override async Task Delete_predicate_based_on_optional_navigation(bool as await base.Delete_predicate_based_on_optional_navigation(async); AssertSql( - @"DELETE FROM ""Posts"" AS ""p"" +""" +DELETE FROM "Posts" AS "p" WHERE EXISTS ( SELECT 1 - FROM ""Posts"" AS ""p0"" - LEFT JOIN ""Blogs"" AS ""b"" ON ""p0"".""BlogId"" = ""b"".""Id"" - WHERE (""b"".""Title"" IS NOT NULL) AND (""b"".""Title"" LIKE 'Arthur%') AND ""p0"".""Id"" = ""p"".""Id"")"); + FROM "Posts" AS "p0" + LEFT JOIN "Blogs" AS "b" ON "p0"."BlogId" = "b"."Id" + WHERE ("b"."Title" IS NOT NULL) AND ("b"."Title" LIKE 'Arthur%') AND "p0"."Id" = "p"."Id") +"""); } protected override DbContextOptionsBuilder AddOptions(DbContextOptionsBuilder builder) diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqliteTest.cs index 347c784ad7a..3225a0251c2 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/NorthwindBulkUpdatesSqliteTest.cs @@ -25,10 +25,12 @@ public override async Task Delete_Where_TagWith(bool async) await base.Delete_Where_TagWith(async); AssertSql( - @"-- MyDelete +""" +-- MyDelete -DELETE FROM ""Order Details"" AS ""o"" -WHERE ""o"".""OrderID"" < 10300"); +DELETE FROM "Order Details" AS "o" +WHERE "o"."OrderID" < 10300 +"""); } public override async Task Delete_Where(bool async) @@ -36,8 +38,10 @@ public override async Task Delete_Where(bool async) await base.Delete_Where(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" -WHERE ""o"".""OrderID"" < 10300"); +""" +DELETE FROM "Order Details" AS "o" +WHERE "o"."OrderID" < 10300 +"""); } public override async Task Delete_Where_parameter(bool async) @@ -45,13 +49,17 @@ public override async Task Delete_Where_parameter(bool async) await base.Delete_Where_parameter(async); AssertSql( - @"@__quantity_0='1' (Nullable = true) (DbType = Int16) +""" +@__quantity_0='1' (Nullable = true) (DbType = Int16) -DELETE FROM ""Order Details"" AS ""o"" -WHERE ""o"".""Quantity"" = @__quantity_0", +DELETE FROM "Order Details" AS "o" +WHERE "o"."Quantity" = @__quantity_0 +""", // - @"DELETE FROM ""Order Details"" AS ""o"" -WHERE 0"); +""" +DELETE FROM "Order Details" AS "o" +WHERE 0 +"""); } public override async Task Delete_Where_OrderBy(bool async) @@ -59,11 +67,13 @@ public override async Task Delete_Where_OrderBy(bool async) await base.Delete_Where_OrderBy(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10300 AND ""o0"".""OrderID"" = ""o"".""OrderID"" AND ""o0"".""ProductID"" = ""o"".""ProductID"")"); + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10300 AND "o0"."OrderID" = "o"."OrderID" AND "o0"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_OrderBy_Skip(bool async) @@ -71,19 +81,21 @@ public override async Task Delete_Where_OrderBy_Skip(bool async) await base.Delete_Where_OrderBy_Skip(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' -DELETE FROM ""Order Details"" AS ""o"" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10300 - ORDER BY ""o0"".""OrderID"" + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10300 + ORDER BY "o0"."OrderID" LIMIT -1 OFFSET @__p_0 - ) AS ""t"" - WHERE ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + ) AS "t" + WHERE "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_OrderBy_Take(bool async) @@ -91,19 +103,21 @@ public override async Task Delete_Where_OrderBy_Take(bool async) await base.Delete_Where_OrderBy_Take(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' -DELETE FROM ""Order Details"" AS ""o"" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10300 - ORDER BY ""o0"".""OrderID"" + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10300 + ORDER BY "o0"."OrderID" LIMIT @__p_0 - ) AS ""t"" - WHERE ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + ) AS "t" + WHERE "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_OrderBy_Skip_Take(bool async) @@ -111,19 +125,21 @@ public override async Task Delete_Where_OrderBy_Skip_Take(bool async) await base.Delete_Where_OrderBy_Skip_Take(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' -DELETE FROM ""Order Details"" AS ""o"" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10300 - ORDER BY ""o0"".""OrderID"" + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10300 + ORDER BY "o0"."OrderID" LIMIT @__p_0 OFFSET @__p_0 - ) AS ""t"" - WHERE ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + ) AS "t" + WHERE "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_Skip(bool async) @@ -131,18 +147,20 @@ public override async Task Delete_Where_Skip(bool async) await base.Delete_Where_Skip(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' -DELETE FROM ""Order Details"" AS ""o"" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10300 + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10300 LIMIT -1 OFFSET @__p_0 - ) AS ""t"" - WHERE ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + ) AS "t" + WHERE "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_Take(bool async) @@ -150,18 +168,20 @@ public override async Task Delete_Where_Take(bool async) await base.Delete_Where_Take(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' -DELETE FROM ""Order Details"" AS ""o"" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10300 + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10300 LIMIT @__p_0 - ) AS ""t"" - WHERE ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + ) AS "t" + WHERE "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_Skip_Take(bool async) @@ -169,18 +189,20 @@ public override async Task Delete_Where_Skip_Take(bool async) await base.Delete_Where_Skip_Take(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' -DELETE FROM ""Order Details"" AS ""o"" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10300 + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10300 LIMIT @__p_0 OFFSET @__p_0 - ) AS ""t"" - WHERE ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + ) AS "t" + WHERE "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_predicate_with_GroupBy_aggregate(bool async) @@ -188,17 +210,19 @@ public override async Task Delete_Where_predicate_with_GroupBy_aggregate(bool as await base.Delete_Where_predicate_with_GroupBy_aggregate(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" -WHERE ""o"".""OrderID"" < ( +""" +DELETE FROM "Order Details" AS "o" +WHERE "o"."OrderID" < ( SELECT ( - SELECT ""o1"".""OrderID"" - FROM ""Orders"" AS ""o1"" - WHERE ""o0"".""CustomerID"" = ""o1"".""CustomerID"" OR ((""o0"".""CustomerID"" IS NULL) AND (""o1"".""CustomerID"" IS NULL)) + SELECT "o1"."OrderID" + FROM "Orders" AS "o1" + WHERE "o0"."CustomerID" = "o1"."CustomerID" OR (("o0"."CustomerID" IS NULL) AND ("o1"."CustomerID" IS NULL)) LIMIT 1) - FROM ""Orders"" AS ""o0"" - GROUP BY ""o0"".""CustomerID"" + FROM "Orders" AS "o0" + GROUP BY "o0"."CustomerID" HAVING COUNT(*) > 11 - LIMIT 1)"); + LIMIT 1) +"""); } public override async Task Delete_Where_predicate_with_GroupBy_aggregate_2(bool async) @@ -206,20 +230,22 @@ public override async Task Delete_Where_predicate_with_GroupBy_aggregate_2(bool await base.Delete_Where_predicate_with_GroupBy_aggregate_2(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 - FROM ""Order Details"" AS ""o0"" - INNER JOIN ""Orders"" AS ""o1"" ON ""o0"".""OrderID"" = ""o1"".""OrderID"" + FROM "Order Details" AS "o0" + INNER JOIN "Orders" AS "o1" ON "o0"."OrderID" = "o1"."OrderID" WHERE EXISTS ( SELECT 1 - FROM ""Orders"" AS ""o2"" - GROUP BY ""o2"".""CustomerID"" + FROM "Orders" AS "o2" + GROUP BY "o2"."CustomerID" HAVING COUNT(*) > 9 AND ( - SELECT ""o3"".""OrderID"" - FROM ""Orders"" AS ""o3"" - WHERE ""o2"".""CustomerID"" = ""o3"".""CustomerID"" OR ((""o2"".""CustomerID"" IS NULL) AND (""o3"".""CustomerID"" IS NULL)) - LIMIT 1) = ""o1"".""OrderID"") AND ""o0"".""OrderID"" = ""o"".""OrderID"" AND ""o0"".""ProductID"" = ""o"".""ProductID"")"); + SELECT "o3"."OrderID" + FROM "Orders" AS "o3" + WHERE "o2"."CustomerID" = "o3"."CustomerID" OR (("o2"."CustomerID" IS NULL) AND ("o3"."CustomerID" IS NULL)) + LIMIT 1) = "o1"."OrderID") AND "o0"."OrderID" = "o"."OrderID" AND "o0"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_GroupBy_Where_Select(bool async) @@ -241,24 +267,26 @@ public override async Task Delete_Where_Skip_Take_Skip_Take_causing_subquery(boo await base.Delete_Where_Skip_Take_Skip_Take_causing_subquery(async); AssertSql( - @"@__p_0='100' +""" +@__p_0='100' @__p_2='5' @__p_1='20' -DELETE FROM ""Order Details"" AS ""o"" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""t"".""OrderID"", ""t"".""ProductID"", ""t"".""Discount"", ""t"".""Quantity"", ""t"".""UnitPrice"" + SELECT "t"."OrderID", "t"."ProductID", "t"."Discount", "t"."Quantity", "t"."UnitPrice" FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10300 + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10300 LIMIT @__p_0 OFFSET @__p_0 - ) AS ""t"" + ) AS "t" LIMIT @__p_2 OFFSET @__p_1 - ) AS ""t0"" - WHERE ""t0"".""OrderID"" = ""o"".""OrderID"" AND ""t0"".""ProductID"" = ""o"".""ProductID"")"); + ) AS "t0" + WHERE "t0"."OrderID" = "o"."OrderID" AND "t0"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_Distinct(bool async) @@ -266,8 +294,10 @@ public override async Task Delete_Where_Distinct(bool async) await base.Delete_Where_Distinct(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" -WHERE ""o"".""OrderID"" < 10300"); +""" +DELETE FROM "Order Details" AS "o" +WHERE "o"."OrderID" < 10300 +"""); } public override async Task Delete_SelectMany(bool async) @@ -275,12 +305,14 @@ public override async Task Delete_SelectMany(bool async) await base.Delete_SelectMany(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 - FROM ""Orders"" AS ""o0"" - INNER JOIN ""Order Details"" AS ""o1"" ON ""o0"".""OrderID"" = ""o1"".""OrderID"" - WHERE ""o0"".""OrderID"" < 10250 AND ""o1"".""OrderID"" = ""o"".""OrderID"" AND ""o1"".""ProductID"" = ""o"".""ProductID"")"); + FROM "Orders" AS "o0" + INNER JOIN "Order Details" AS "o1" ON "o0"."OrderID" = "o1"."OrderID" + WHERE "o0"."OrderID" < 10250 AND "o1"."OrderID" = "o"."OrderID" AND "o1"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_SelectMany_subquery(bool async) @@ -288,16 +320,18 @@ public override async Task Delete_SelectMany_subquery(bool async) await base.Delete_SelectMany_subquery(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 - FROM ""Orders"" AS ""o0"" + FROM "Orders" AS "o0" INNER JOIN ( - SELECT ""o1"".""OrderID"", ""o1"".""ProductID"", ""o1"".""Discount"", ""o1"".""Quantity"", ""o1"".""UnitPrice"" - FROM ""Order Details"" AS ""o1"" - WHERE ""o1"".""ProductID"" > 0 - ) AS ""t"" ON ""o0"".""OrderID"" = ""t"".""OrderID"" - WHERE ""o0"".""OrderID"" < 10250 AND ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + SELECT "o1"."OrderID", "o1"."ProductID", "o1"."Discount", "o1"."Quantity", "o1"."UnitPrice" + FROM "Order Details" AS "o1" + WHERE "o1"."ProductID" > 0 + ) AS "t" ON "o0"."OrderID" = "t"."OrderID" + WHERE "o0"."OrderID" < 10250 AND "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_using_navigation(bool async) @@ -305,12 +339,14 @@ public override async Task Delete_Where_using_navigation(bool async) await base.Delete_Where_using_navigation(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 - FROM ""Order Details"" AS ""o0"" - INNER JOIN ""Orders"" AS ""o1"" ON ""o0"".""OrderID"" = ""o1"".""OrderID"" - WHERE CAST(strftime('%Y', ""o1"".""OrderDate"") AS INTEGER) = 2000 AND ""o0"".""OrderID"" = ""o"".""OrderID"" AND ""o0"".""ProductID"" = ""o"".""ProductID"")"); + FROM "Order Details" AS "o0" + INNER JOIN "Orders" AS "o1" ON "o0"."OrderID" = "o1"."OrderID" + WHERE CAST(strftime('%Y', "o1"."OrderDate") AS INTEGER) = 2000 AND "o0"."OrderID" = "o"."OrderID" AND "o0"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_using_navigation_2(bool async) @@ -318,13 +354,15 @@ public override async Task Delete_Where_using_navigation_2(bool async) await base.Delete_Where_using_navigation_2(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 - FROM ""Order Details"" AS ""o0"" - INNER JOIN ""Orders"" AS ""o1"" ON ""o0"".""OrderID"" = ""o1"".""OrderID"" - LEFT JOIN ""Customers"" AS ""c"" ON ""o1"".""CustomerID"" = ""c"".""CustomerID"" - WHERE (""c"".""CustomerID"" IS NOT NULL) AND (""c"".""CustomerID"" LIKE 'F%') AND ""o0"".""OrderID"" = ""o"".""OrderID"" AND ""o0"".""ProductID"" = ""o"".""ProductID"")"); + FROM "Order Details" AS "o0" + INNER JOIN "Orders" AS "o1" ON "o0"."OrderID" = "o1"."OrderID" + LEFT JOIN "Customers" AS "c" ON "o1"."CustomerID" = "c"."CustomerID" + WHERE ("c"."CustomerID" IS NOT NULL) AND ("c"."CustomerID" LIKE 'F%') AND "o0"."OrderID" = "o"."OrderID" AND "o0"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Union(bool async) @@ -332,19 +370,21 @@ public override async Task Delete_Union(bool async) await base.Delete_Union(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10250 + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10250 UNION - SELECT ""o1"".""OrderID"", ""o1"".""ProductID"", ""o1"".""Discount"", ""o1"".""Quantity"", ""o1"".""UnitPrice"" - FROM ""Order Details"" AS ""o1"" - WHERE ""o1"".""OrderID"" > 11250 - ) AS ""t"" - WHERE ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + SELECT "o1"."OrderID", "o1"."ProductID", "o1"."Discount", "o1"."Quantity", "o1"."UnitPrice" + FROM "Order Details" AS "o1" + WHERE "o1"."OrderID" > 11250 + ) AS "t" + WHERE "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Concat(bool async) @@ -352,19 +392,21 @@ public override async Task Delete_Concat(bool async) await base.Delete_Concat(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10250 + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10250 UNION ALL - SELECT ""o1"".""OrderID"", ""o1"".""ProductID"", ""o1"".""Discount"", ""o1"".""Quantity"", ""o1"".""UnitPrice"" - FROM ""Order Details"" AS ""o1"" - WHERE ""o1"".""OrderID"" > 11250 - ) AS ""t"" - WHERE ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + SELECT "o1"."OrderID", "o1"."ProductID", "o1"."Discount", "o1"."Quantity", "o1"."UnitPrice" + FROM "Order Details" AS "o1" + WHERE "o1"."OrderID" > 11250 + ) AS "t" + WHERE "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Intersect(bool async) @@ -372,19 +414,21 @@ public override async Task Delete_Intersect(bool async) await base.Delete_Intersect(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10250 + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10250 INTERSECT - SELECT ""o1"".""OrderID"", ""o1"".""ProductID"", ""o1"".""Discount"", ""o1"".""Quantity"", ""o1"".""UnitPrice"" - FROM ""Order Details"" AS ""o1"" - WHERE ""o1"".""OrderID"" > 11250 - ) AS ""t"" - WHERE ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + SELECT "o1"."OrderID", "o1"."ProductID", "o1"."Discount", "o1"."Quantity", "o1"."UnitPrice" + FROM "Order Details" AS "o1" + WHERE "o1"."OrderID" > 11250 + ) AS "t" + WHERE "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Except(bool async) @@ -392,19 +436,21 @@ public override async Task Delete_Except(bool async) await base.Delete_Except(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""ProductID"", ""o0"".""Discount"", ""o0"".""Quantity"", ""o0"".""UnitPrice"" - FROM ""Order Details"" AS ""o0"" - WHERE ""o0"".""OrderID"" < 10250 + SELECT "o0"."OrderID", "o0"."ProductID", "o0"."Discount", "o0"."Quantity", "o0"."UnitPrice" + FROM "Order Details" AS "o0" + WHERE "o0"."OrderID" < 10250 EXCEPT - SELECT ""o1"".""OrderID"", ""o1"".""ProductID"", ""o1"".""Discount"", ""o1"".""Quantity"", ""o1"".""UnitPrice"" - FROM ""Order Details"" AS ""o1"" - WHERE ""o1"".""OrderID"" > 11250 - ) AS ""t"" - WHERE ""t"".""OrderID"" = ""o"".""OrderID"" AND ""t"".""ProductID"" = ""o"".""ProductID"")"); + SELECT "o1"."OrderID", "o1"."ProductID", "o1"."Discount", "o1"."Quantity", "o1"."UnitPrice" + FROM "Order Details" AS "o1" + WHERE "o1"."OrderID" > 11250 + ) AS "t" + WHERE "t"."OrderID" = "o"."OrderID" AND "t"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_non_entity_projection(bool async) @@ -433,15 +479,17 @@ public override async Task Delete_FromSql_converted_to_subquery(bool async) await base.Delete_FromSql_converted_to_subquery(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 FROM ( - SELECT ""OrderID"", ""ProductID"", ""UnitPrice"", ""Quantity"", ""Discount"" - FROM ""Order Details"" - WHERE ""OrderID"" < 10300 - ) AS ""m"" - WHERE ""m"".""OrderID"" = ""o"".""OrderID"" AND ""m"".""ProductID"" = ""o"".""ProductID"")"); + SELECT "OrderID", "ProductID", "UnitPrice", "Quantity", "Discount" + FROM "Order Details" + WHERE "OrderID" < 10300 + ) AS "m" + WHERE "m"."OrderID" = "o"."OrderID" AND "m"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_Where_optional_navigation_predicate(bool async) @@ -449,13 +497,15 @@ public override async Task Delete_Where_optional_navigation_predicate(bool async await base.Delete_Where_optional_navigation_predicate(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 - FROM ""Order Details"" AS ""o0"" - INNER JOIN ""Orders"" AS ""o1"" ON ""o0"".""OrderID"" = ""o1"".""OrderID"" - LEFT JOIN ""Customers"" AS ""c"" ON ""o1"".""CustomerID"" = ""c"".""CustomerID"" - WHERE (""c"".""City"" IS NOT NULL) AND (""c"".""City"" LIKE 'Se%') AND ""o0"".""OrderID"" = ""o"".""OrderID"" AND ""o0"".""ProductID"" = ""o"".""ProductID"")"); + FROM "Order Details" AS "o0" + INNER JOIN "Orders" AS "o1" ON "o0"."OrderID" = "o1"."OrderID" + LEFT JOIN "Customers" AS "c" ON "o1"."CustomerID" = "c"."CustomerID" + WHERE ("c"."City" IS NOT NULL) AND ("c"."City" LIKE 'Se%') AND "o0"."OrderID" = "o"."OrderID" AND "o0"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_with_join(bool async) @@ -463,21 +513,23 @@ public override async Task Delete_with_join(bool async) await base.Delete_with_join(async); AssertSql( - @"@__p_1='100' +""" +@__p_1='100' @__p_0='0' -DELETE FROM ""Order Details"" AS ""o"" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 - FROM ""Order Details"" AS ""o0"" + FROM "Order Details" AS "o0" INNER JOIN ( - SELECT ""o1"".""OrderID"", ""o1"".""CustomerID"", ""o1"".""EmployeeID"", ""o1"".""OrderDate"" - FROM ""Orders"" AS ""o1"" - WHERE ""o1"".""OrderID"" < 10300 - ORDER BY ""o1"".""OrderID"" + SELECT "o1"."OrderID", "o1"."CustomerID", "o1"."EmployeeID", "o1"."OrderDate" + FROM "Orders" AS "o1" + WHERE "o1"."OrderID" < 10300 + ORDER BY "o1"."OrderID" LIMIT @__p_1 OFFSET @__p_0 - ) AS ""t"" ON ""o0"".""OrderID"" = ""t"".""OrderID"" - WHERE ""o0"".""OrderID"" = ""o"".""OrderID"" AND ""o0"".""ProductID"" = ""o"".""ProductID"")"); + ) AS "t" ON "o0"."OrderID" = "t"."OrderID" + WHERE "o0"."OrderID" = "o"."OrderID" AND "o0"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_with_left_join(bool async) @@ -485,21 +537,23 @@ public override async Task Delete_with_left_join(bool async) await base.Delete_with_left_join(async); AssertSql( - @"@__p_1='100' +""" +@__p_1='100' @__p_0='0' -DELETE FROM ""Order Details"" AS ""o"" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 - FROM ""Order Details"" AS ""o0"" + FROM "Order Details" AS "o0" LEFT JOIN ( - SELECT ""o1"".""OrderID"", ""o1"".""CustomerID"", ""o1"".""EmployeeID"", ""o1"".""OrderDate"" - FROM ""Orders"" AS ""o1"" - WHERE ""o1"".""OrderID"" < 10300 - ORDER BY ""o1"".""OrderID"" + SELECT "o1"."OrderID", "o1"."CustomerID", "o1"."EmployeeID", "o1"."OrderDate" + FROM "Orders" AS "o1" + WHERE "o1"."OrderID" < 10300 + ORDER BY "o1"."OrderID" LIMIT @__p_1 OFFSET @__p_0 - ) AS ""t"" ON ""o0"".""OrderID"" = ""t"".""OrderID"" - WHERE ""o0"".""OrderID"" < 10276 AND ""o0"".""OrderID"" = ""o"".""OrderID"" AND ""o0"".""ProductID"" = ""o"".""ProductID"")"); + ) AS "t" ON "o0"."OrderID" = "t"."OrderID" + WHERE "o0"."OrderID" < 10276 AND "o0"."OrderID" = "o"."OrderID" AND "o0"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_with_cross_join(bool async) @@ -507,18 +561,20 @@ public override async Task Delete_with_cross_join(bool async) await base.Delete_with_cross_join(async); AssertSql( - @"DELETE FROM ""Order Details"" AS ""o"" +""" +DELETE FROM "Order Details" AS "o" WHERE EXISTS ( SELECT 1 - FROM ""Order Details"" AS ""o0"" + FROM "Order Details" AS "o0" CROSS JOIN ( - SELECT ""o1"".""OrderID"", ""o1"".""CustomerID"", ""o1"".""EmployeeID"", ""o1"".""OrderDate"" - FROM ""Orders"" AS ""o1"" - WHERE ""o1"".""OrderID"" < 10300 - ORDER BY ""o1"".""OrderID"" + SELECT "o1"."OrderID", "o1"."CustomerID", "o1"."EmployeeID", "o1"."OrderDate" + FROM "Orders" AS "o1" + WHERE "o1"."OrderID" < 10300 + ORDER BY "o1"."OrderID" LIMIT 100 OFFSET 0 - ) AS ""t"" - WHERE ""o0"".""OrderID"" < 10276 AND ""o0"".""OrderID"" = ""o"".""OrderID"" AND ""o0"".""ProductID"" = ""o"".""ProductID"")"); + ) AS "t" + WHERE "o0"."OrderID" < 10276 AND "o0"."OrderID" = "o"."OrderID" AND "o0"."ProductID" = "o"."ProductID") +"""); } public override async Task Delete_with_cross_apply(bool async) @@ -536,11 +592,13 @@ public override async Task Update_Where_set_constant_TagWith(bool async) await base.Update_Where_set_constant_TagWith(async); AssertExecuteUpdateSql( - @"-- MyUpdate +""" +-- MyUpdate -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_set_constant(bool async) @@ -548,9 +606,11 @@ public override async Task Update_Where_set_constant(bool async) await base.Update_Where_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_parameter_set_constant(bool async) @@ -558,25 +618,33 @@ public override async Task Update_Where_parameter_set_constant(bool async) await base.Update_Where_parameter_set_constant(async); AssertExecuteUpdateSql( - @"@__customer_0='ALFKI' (Size = 5) +""" +@__customer_0='ALFKI' (Size = 5) -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' -WHERE ""c"".""CustomerID"" = @__customer_0", +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' +WHERE "c"."CustomerID" = @__customer_0 +""", // - @"@__customer_0='ALFKI' (Size = 5) +""" +@__customer_0='ALFKI' (Size = 5) -SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ""c"".""CustomerID"" = @__customer_0", +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE "c"."CustomerID" = @__customer_0 +""", // - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE 0", +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE 0 +""", // - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' -WHERE 0"); +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' +WHERE 0 +"""); } public override async Task Update_Where_set_parameter(bool async) @@ -584,11 +652,13 @@ public override async Task Update_Where_set_parameter(bool async) await base.Update_Where_set_parameter(async); AssertExecuteUpdateSql( - @"@__value_0='Abc' (Size = 3) +""" +@__value_0='Abc' (Size = 3) -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = @__value_0 -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +UPDATE "Customers" AS "c" +SET "ContactName" = @__value_0 +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_set_parameter_from_closure_array(bool async) @@ -596,11 +666,13 @@ public override async Task Update_Where_set_parameter_from_closure_array(bool as await base.Update_Where_set_parameter_from_closure_array(async); AssertExecuteUpdateSql( - @"@__p_0='Abc' (Size = 3) +""" +@__p_0='Abc' (Size = 3) -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = @__p_0 -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +UPDATE "Customers" AS "c" +SET "ContactName" = @__p_0 +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_set_parameter_from_inline_list(bool async) @@ -608,9 +680,11 @@ public override async Task Update_Where_set_parameter_from_inline_list(bool asyn await base.Update_Where_set_parameter_from_inline_list(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Abc' -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Abc' +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_set_parameter_from_multilevel_property_access(bool async) @@ -618,11 +692,13 @@ public override async Task Update_Where_set_parameter_from_multilevel_property_a await base.Update_Where_set_parameter_from_multilevel_property_access(async); AssertExecuteUpdateSql( - @"@__container_Containee_Property_0='Abc' (Size = 3) +""" +@__container_Containee_Property_0='Abc' (Size = 3) -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = @__container_Containee_Property_0 -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +UPDATE "Customers" AS "c" +SET "ContactName" = @__container_Containee_Property_0 +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_Skip_set_constant(bool async) @@ -630,17 +706,19 @@ public override async Task Update_Where_Skip_set_constant(bool async) await base.Update_Where_Skip_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='4' +""" +@__p_0='4' -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' LIMIT -1 OFFSET @__p_0 -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_Where_Take_set_constant(bool async) @@ -648,17 +726,19 @@ public override async Task Update_Where_Take_set_constant(bool async) await base.Update_Where_Take_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='4' +""" +@__p_0='4' -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' LIMIT @__p_0 -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_Where_Skip_Take_set_constant(bool async) @@ -666,18 +746,20 @@ public override async Task Update_Where_Skip_Take_set_constant(bool async) await base.Update_Where_Skip_Take_set_constant(async); AssertExecuteUpdateSql( - @"@__p_1='4' +""" +@__p_1='4' @__p_0='2' -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' LIMIT @__p_1 OFFSET @__p_0 -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_Where_OrderBy_set_constant(bool async) @@ -685,14 +767,16 @@ public override async Task Update_Where_OrderBy_set_constant(bool async) await base.Update_Where_OrderBy_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_Where_OrderBy_Skip_set_constant(bool async) @@ -700,18 +784,20 @@ public override async Task Update_Where_OrderBy_Skip_set_constant(bool async) await base.Update_Where_OrderBy_Skip_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='4' +""" +@__p_0='4' -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' - ORDER BY ""c0"".""City"" + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' + ORDER BY "c0"."City" LIMIT -1 OFFSET @__p_0 -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_Where_OrderBy_Take_set_constant(bool async) @@ -719,18 +805,20 @@ public override async Task Update_Where_OrderBy_Take_set_constant(bool async) await base.Update_Where_OrderBy_Take_set_constant(async); AssertExecuteUpdateSql( - @"@__p_0='4' +""" +@__p_0='4' -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' - ORDER BY ""c0"".""City"" + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' + ORDER BY "c0"."City" LIMIT @__p_0 -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_Where_OrderBy_Skip_Take_set_constant(bool async) @@ -738,19 +826,21 @@ public override async Task Update_Where_OrderBy_Skip_Take_set_constant(bool asyn await base.Update_Where_OrderBy_Skip_Take_set_constant(async); AssertExecuteUpdateSql( - @"@__p_1='4' +""" +@__p_1='4' @__p_0='2' -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' - ORDER BY ""c0"".""City"" + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' + ORDER BY "c0"."City" LIMIT @__p_1 OFFSET @__p_0 -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_Where_OrderBy_Skip_Take_Skip_Take_set_constant(bool async) @@ -758,24 +848,26 @@ public override async Task Update_Where_OrderBy_Skip_Take_Skip_Take_set_constant await base.Update_Where_OrderBy_Skip_Take_Skip_Take_set_constant(async); AssertExecuteUpdateSql( - @"@__p_1='6' +""" +@__p_1='6' @__p_0='2' -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""t"".""CustomerID"", ""t"".""Address"", ""t"".""City"", ""t"".""CompanyName"", ""t"".""ContactName"", ""t"".""ContactTitle"", ""t"".""Country"", ""t"".""Fax"", ""t"".""Phone"", ""t"".""PostalCode"", ""t"".""Region"" + SELECT "t"."CustomerID", "t"."Address", "t"."City", "t"."CompanyName", "t"."ContactName", "t"."ContactTitle", "t"."Country", "t"."Fax", "t"."Phone", "t"."PostalCode", "t"."Region" FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' - ORDER BY ""c0"".""City"" + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' + ORDER BY "c0"."City" LIMIT @__p_1 OFFSET @__p_0 - ) AS ""t"" - ORDER BY ""t"".""City"" + ) AS "t" + ORDER BY "t"."City" LIMIT @__p_0 OFFSET @__p_0 -) AS ""t0"" -WHERE ""c"".""CustomerID"" = ""t0"".""CustomerID"""); +) AS "t0" +WHERE "c"."CustomerID" = "t0"."CustomerID" +"""); } public override async Task Update_Where_GroupBy_aggregate_set_constant(bool async) @@ -783,14 +875,16 @@ public override async Task Update_Where_GroupBy_aggregate_set_constant(bool asyn await base.Update_Where_GroupBy_aggregate_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' -WHERE ""c"".""CustomerID"" = ( - SELECT ""o"".""CustomerID"" - FROM ""Orders"" AS ""o"" - GROUP BY ""o"".""CustomerID"" +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' +WHERE "c"."CustomerID" = ( + SELECT "o"."CustomerID" + FROM "Orders" AS "o" + GROUP BY "o"."CustomerID" HAVING COUNT(*) > 11 - LIMIT 1)"); + LIMIT 1) +"""); } public override async Task Update_Where_GroupBy_First_set_constant(bool async) @@ -798,18 +892,20 @@ public override async Task Update_Where_GroupBy_First_set_constant(bool async) await base.Update_Where_GroupBy_First_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' -WHERE ""c"".""CustomerID"" = ( +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' +WHERE "c"."CustomerID" = ( SELECT ( - SELECT ""o0"".""CustomerID"" - FROM ""Orders"" AS ""o0"" - WHERE ""o"".""CustomerID"" = ""o0"".""CustomerID"" OR ((""o"".""CustomerID"" IS NULL) AND (""o0"".""CustomerID"" IS NULL)) + SELECT "o0"."CustomerID" + FROM "Orders" AS "o0" + WHERE "o"."CustomerID" = "o0"."CustomerID" OR (("o"."CustomerID" IS NULL) AND ("o0"."CustomerID" IS NULL)) LIMIT 1) - FROM ""Orders"" AS ""o"" - GROUP BY ""o"".""CustomerID"" + FROM "Orders" AS "o" + GROUP BY "o"."CustomerID" HAVING COUNT(*) > 11 - LIMIT 1)"); + LIMIT 1) +"""); } public override async Task Update_Where_GroupBy_First_set_constant_2(bool async) @@ -824,18 +920,20 @@ public override async Task Update_Where_GroupBy_First_set_constant_3(bool async) await base.Update_Where_GroupBy_First_set_constant_3(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' WHERE EXISTS ( SELECT 1 - FROM ""Orders"" AS ""o"" - GROUP BY ""o"".""CustomerID"" + FROM "Orders" AS "o" + GROUP BY "o"."CustomerID" HAVING COUNT(*) > 11 AND ( - SELECT ""c0"".""CustomerID"" - FROM ""Orders"" AS ""o0"" - LEFT JOIN ""Customers"" AS ""c0"" ON ""o0"".""CustomerID"" = ""c0"".""CustomerID"" - WHERE ""o"".""CustomerID"" = ""o0"".""CustomerID"" OR ((""o"".""CustomerID"" IS NULL) AND (""o0"".""CustomerID"" IS NULL)) - LIMIT 1) = ""c"".""CustomerID"")"); + SELECT "c0"."CustomerID" + FROM "Orders" AS "o0" + LEFT JOIN "Customers" AS "c0" ON "o0"."CustomerID" = "c0"."CustomerID" + WHERE "o"."CustomerID" = "o0"."CustomerID" OR (("o"."CustomerID" IS NULL) AND ("o0"."CustomerID" IS NULL)) + LIMIT 1) = "c"."CustomerID") +"""); } public override async Task Update_Where_Distinct_set_constant(bool async) @@ -843,9 +941,11 @@ public override async Task Update_Where_Distinct_set_constant(bool async) await base.Update_Where_Distinct_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_using_navigation_set_null(bool async) @@ -853,15 +953,17 @@ public override async Task Update_Where_using_navigation_set_null(bool async) await base.Update_Where_using_navigation_set_null(async); AssertExecuteUpdateSql( - @"UPDATE ""Orders"" AS ""o"" -SET ""OrderDate"" = NULL +""" +UPDATE "Orders" AS "o" +SET "OrderDate" = NULL FROM ( - SELECT ""o0"".""OrderID"", ""o0"".""CustomerID"", ""o0"".""EmployeeID"", ""o0"".""OrderDate"", ""c"".""CustomerID"" AS ""CustomerID0"" - FROM ""Orders"" AS ""o0"" - LEFT JOIN ""Customers"" AS ""c"" ON ""o0"".""CustomerID"" = ""c"".""CustomerID"" - WHERE ""c"".""City"" = 'Seattle' -) AS ""t"" -WHERE ""o"".""OrderID"" = ""t"".""OrderID"""); + SELECT "o0"."OrderID", "o0"."CustomerID", "o0"."EmployeeID", "o0"."OrderDate", "c"."CustomerID" AS "CustomerID0" + FROM "Orders" AS "o0" + LEFT JOIN "Customers" AS "c" ON "o0"."CustomerID" = "c"."CustomerID" + WHERE "c"."City" = 'Seattle' +) AS "t" +WHERE "o"."OrderID" = "t"."OrderID" +"""); } public override async Task Update_Where_using_navigation_2_set_constant(bool async) @@ -869,11 +971,13 @@ public override async Task Update_Where_using_navigation_2_set_constant(bool asy await base.Update_Where_using_navigation_2_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Order Details"" AS ""o"" -SET ""Quantity"" = CAST(1 AS INTEGER) -FROM ""Orders"" AS ""o0"" -LEFT JOIN ""Customers"" AS ""c"" ON ""o0"".""CustomerID"" = ""c"".""CustomerID"" -WHERE ""o"".""OrderID"" = ""o0"".""OrderID"" AND ""c"".""City"" = 'Seattle'"); +""" +UPDATE "Order Details" AS "o" +SET "Quantity" = CAST(1 AS INTEGER) +FROM "Orders" AS "o0" +LEFT JOIN "Customers" AS "c" ON "o0"."CustomerID" = "c"."CustomerID" +WHERE "o"."OrderID" = "o0"."OrderID" AND "c"."City" = 'Seattle' +"""); } public override async Task Update_Where_SelectMany_set_null(bool async) @@ -881,10 +985,12 @@ public override async Task Update_Where_SelectMany_set_null(bool async) await base.Update_Where_SelectMany_set_null(async); AssertExecuteUpdateSql( - @"UPDATE ""Orders"" AS ""o"" -SET ""OrderDate"" = NULL -FROM ""Customers"" AS ""c"" -WHERE ""c"".""CustomerID"" = ""o"".""CustomerID"" AND (""c"".""CustomerID"" LIKE 'F%')"); +""" +UPDATE "Orders" AS "o" +SET "OrderDate" = NULL +FROM "Customers" AS "c" +WHERE "c"."CustomerID" = "o"."CustomerID" AND ("c"."CustomerID" LIKE 'F%') +"""); } public override async Task Update_Where_set_property_plus_constant(bool async) @@ -892,9 +998,11 @@ public override async Task Update_Where_set_property_plus_constant(bool async) await base.Update_Where_set_property_plus_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = COALESCE(""c"".""ContactName"", '') || 'Abc' -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +""" +UPDATE "Customers" AS "c" +SET "ContactName" = COALESCE("c"."ContactName", '') || 'Abc' +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_set_property_plus_parameter(bool async) @@ -902,11 +1010,13 @@ public override async Task Update_Where_set_property_plus_parameter(bool async) await base.Update_Where_set_property_plus_parameter(async); AssertExecuteUpdateSql( - @"@__value_0='Abc' (Size = 3) +""" +@__value_0='Abc' (Size = 3) -UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = COALESCE(""c"".""ContactName"", '') || @__value_0 -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +UPDATE "Customers" AS "c" +SET "ContactName" = COALESCE("c"."ContactName", '') || @__value_0 +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_set_property_plus_property(bool async) @@ -914,9 +1024,11 @@ public override async Task Update_Where_set_property_plus_property(bool async) await base.Update_Where_set_property_plus_property(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = COALESCE(""c"".""ContactName"", '') || ""c"".""CustomerID"" -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +""" +UPDATE "Customers" AS "c" +SET "ContactName" = COALESCE("c"."ContactName", '') || "c"."CustomerID" +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_set_constant_using_ef_property(bool async) @@ -924,9 +1036,11 @@ public override async Task Update_Where_set_constant_using_ef_property(bool asyn await base.Update_Where_set_constant_using_ef_property(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_set_null(bool async) @@ -934,9 +1048,11 @@ public override async Task Update_Where_set_null(bool async) await base.Update_Where_set_null(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = NULL -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +""" +UPDATE "Customers" AS "c" +SET "ContactName" = NULL +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_without_property_to_set_throws(bool async) @@ -958,12 +1074,14 @@ public override async Task Update_Where_multiple_set(bool async) await base.Update_Where_multiple_set(async); AssertExecuteUpdateSql( - @"@__value_0='Abc' (Size = 3) +""" +@__value_0='Abc' (Size = 3) -UPDATE ""Customers"" AS ""c"" -SET ""City"" = 'Seattle', - ""ContactName"" = @__value_0 -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +UPDATE "Customers" AS "c" +SET "City" = 'Seattle', + "ContactName" = @__value_0 +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_with_invalid_lambda_in_set_property_throws(bool async) @@ -992,18 +1110,20 @@ public override async Task Update_Union_set_constant(bool async) await base.Update_Union_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' UNION - SELECT ""c1"".""CustomerID"", ""c1"".""Address"", ""c1"".""City"", ""c1"".""CompanyName"", ""c1"".""ContactName"", ""c1"".""ContactTitle"", ""c1"".""Country"", ""c1"".""Fax"", ""c1"".""Phone"", ""c1"".""PostalCode"", ""c1"".""Region"" - FROM ""Customers"" AS ""c1"" - WHERE ""c1"".""CustomerID"" LIKE 'A%' -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); + SELECT "c1"."CustomerID", "c1"."Address", "c1"."City", "c1"."CompanyName", "c1"."ContactName", "c1"."ContactTitle", "c1"."Country", "c1"."Fax", "c1"."Phone", "c1"."PostalCode", "c1"."Region" + FROM "Customers" AS "c1" + WHERE "c1"."CustomerID" LIKE 'A%' +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_Concat_set_constant(bool async) @@ -1011,18 +1131,20 @@ public override async Task Update_Concat_set_constant(bool async) await base.Update_Concat_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' UNION ALL - SELECT ""c1"".""CustomerID"", ""c1"".""Address"", ""c1"".""City"", ""c1"".""CompanyName"", ""c1"".""ContactName"", ""c1"".""ContactTitle"", ""c1"".""Country"", ""c1"".""Fax"", ""c1"".""Phone"", ""c1"".""PostalCode"", ""c1"".""Region"" - FROM ""Customers"" AS ""c1"" - WHERE ""c1"".""CustomerID"" LIKE 'A%' -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); + SELECT "c1"."CustomerID", "c1"."Address", "c1"."City", "c1"."CompanyName", "c1"."ContactName", "c1"."ContactTitle", "c1"."Country", "c1"."Fax", "c1"."Phone", "c1"."PostalCode", "c1"."Region" + FROM "Customers" AS "c1" + WHERE "c1"."CustomerID" LIKE 'A%' +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_Except_set_constant(bool async) @@ -1030,18 +1152,20 @@ public override async Task Update_Except_set_constant(bool async) await base.Update_Except_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' EXCEPT - SELECT ""c1"".""CustomerID"", ""c1"".""Address"", ""c1"".""City"", ""c1"".""CompanyName"", ""c1"".""ContactName"", ""c1"".""ContactTitle"", ""c1"".""Country"", ""c1"".""Fax"", ""c1"".""Phone"", ""c1"".""PostalCode"", ""c1"".""Region"" - FROM ""Customers"" AS ""c1"" - WHERE ""c1"".""CustomerID"" LIKE 'A%' -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); + SELECT "c1"."CustomerID", "c1"."Address", "c1"."City", "c1"."CompanyName", "c1"."ContactName", "c1"."ContactTitle", "c1"."Country", "c1"."Fax", "c1"."Phone", "c1"."PostalCode", "c1"."Region" + FROM "Customers" AS "c1" + WHERE "c1"."CustomerID" LIKE 'A%' +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_Intersect_set_constant(bool async) @@ -1049,18 +1173,20 @@ public override async Task Update_Intersect_set_constant(bool async) await base.Update_Intersect_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" LIKE 'F%' INTERSECT - SELECT ""c1"".""CustomerID"", ""c1"".""Address"", ""c1"".""City"", ""c1"".""CompanyName"", ""c1"".""ContactName"", ""c1"".""ContactTitle"", ""c1"".""Country"", ""c1"".""Fax"", ""c1"".""Phone"", ""c1"".""PostalCode"", ""c1"".""Region"" - FROM ""Customers"" AS ""c1"" - WHERE ""c1"".""CustomerID"" LIKE 'A%' -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"""); + SELECT "c1"."CustomerID", "c1"."Address", "c1"."City", "c1"."CompanyName", "c1"."ContactName", "c1"."ContactTitle", "c1"."Country", "c1"."Fax", "c1"."Phone", "c1"."PostalCode", "c1"."Region" + FROM "Customers" AS "c1" + WHERE "c1"."CustomerID" LIKE 'A%' +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" +"""); } public override async Task Update_with_join_set_constant(bool async) @@ -1068,14 +1194,16 @@ public override async Task Update_with_join_set_constant(bool async) await base.Update_with_join_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" - FROM ""Orders"" AS ""o"" - WHERE ""o"".""OrderID"" < 10300 -) AS ""t"" -WHERE ""c"".""CustomerID"" = ""t"".""CustomerID"" AND (""c"".""CustomerID"" LIKE 'F%')"); + SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" + FROM "Orders" AS "o" + WHERE "o"."OrderID" < 10300 +) AS "t" +WHERE "c"."CustomerID" = "t"."CustomerID" AND ("c"."CustomerID" LIKE 'F%') +"""); } public override async Task Update_with_left_join_set_constant(bool async) @@ -1083,19 +1211,21 @@ public override async Task Update_with_left_join_set_constant(bool async) await base.Update_with_left_join_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"", ""t"".""OrderID"", ""t"".""CustomerID"" AS ""CustomerID0"", ""t"".""EmployeeID"", ""t"".""OrderDate"" - FROM ""Customers"" AS ""c0"" + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region", "t"."OrderID", "t"."CustomerID" AS "CustomerID0", "t"."EmployeeID", "t"."OrderDate" + FROM "Customers" AS "c0" LEFT JOIN ( - SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" - FROM ""Orders"" AS ""o"" - WHERE ""o"".""OrderID"" < 10300 - ) AS ""t"" ON ""c0"".""CustomerID"" = ""t"".""CustomerID"" - WHERE ""c0"".""CustomerID"" LIKE 'F%' -) AS ""t0"" -WHERE ""c"".""CustomerID"" = ""t0"".""CustomerID"""); + SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" + FROM "Orders" AS "o" + WHERE "o"."OrderID" < 10300 + ) AS "t" ON "c0"."CustomerID" = "t"."CustomerID" + WHERE "c0"."CustomerID" LIKE 'F%' +) AS "t0" +WHERE "c"."CustomerID" = "t0"."CustomerID" +"""); } public override async Task Update_with_cross_join_set_constant(bool async) @@ -1103,14 +1233,16 @@ public override async Task Update_with_cross_join_set_constant(bool async) await base.Update_with_cross_join_set_constant(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""ContactName"" = 'Updated' +""" +UPDATE "Customers" AS "c" +SET "ContactName" = 'Updated' FROM ( - SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" - FROM ""Orders"" AS ""o"" - WHERE ""o"".""OrderID"" < 10300 -) AS ""t"" -WHERE ""c"".""CustomerID"" LIKE 'F%'"); + SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" + FROM "Orders" AS "o" + WHERE "o"."OrderID" < 10300 +) AS "t" +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_with_cross_apply_set_constant(bool async) @@ -1168,19 +1300,21 @@ public override async Task Update_Where_SelectMany_subquery_set_null(bool async) await base.Update_Where_SelectMany_subquery_set_null(async); AssertExecuteUpdateSql( - @"UPDATE ""Orders"" AS ""o"" -SET ""OrderDate"" = NULL +""" +UPDATE "Orders" AS "o" +SET "OrderDate" = NULL FROM ( - SELECT ""t"".""OrderID"", ""t"".""CustomerID"", ""t"".""EmployeeID"", ""t"".""OrderDate"", ""c"".""CustomerID"" AS ""CustomerID0"" - FROM ""Customers"" AS ""c"" + SELECT "t"."OrderID", "t"."CustomerID", "t"."EmployeeID", "t"."OrderDate", "c"."CustomerID" AS "CustomerID0" + FROM "Customers" AS "c" INNER JOIN ( - SELECT ""o0"".""OrderID"", ""o0"".""CustomerID"", ""o0"".""EmployeeID"", ""o0"".""OrderDate"" - FROM ""Orders"" AS ""o0"" - WHERE CAST(strftime('%Y', ""o0"".""OrderDate"") AS INTEGER) = 1997 - ) AS ""t"" ON ""c"".""CustomerID"" = ""t"".""CustomerID"" - WHERE ""c"".""CustomerID"" LIKE 'F%' -) AS ""t0"" -WHERE ""o"".""OrderID"" = ""t0"".""OrderID"""); + SELECT "o0"."OrderID", "o0"."CustomerID", "o0"."EmployeeID", "o0"."OrderDate" + FROM "Orders" AS "o0" + WHERE CAST(strftime('%Y', "o0"."OrderDate") AS INTEGER) = 1997 + ) AS "t" ON "c"."CustomerID" = "t"."CustomerID" + WHERE "c"."CustomerID" LIKE 'F%' +) AS "t0" +WHERE "o"."OrderID" = "t0"."OrderID" +"""); } public override async Task Update_Where_Join_set_property_from_joined_single_result_table(bool async) @@ -1188,14 +1322,16 @@ public override async Task Update_Where_Join_set_property_from_joined_single_res await base.Update_Where_Join_set_property_from_joined_single_result_table(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""City"" = CAST(CAST(strftime('%Y', ( - SELECT ""o"".""OrderDate"" - FROM ""Orders"" AS ""o"" - WHERE ""c"".""CustomerID"" = ""o"".""CustomerID"" - ORDER BY ""o"".""OrderDate"" DESC +""" +UPDATE "Customers" AS "c" +SET "City" = CAST(CAST(strftime('%Y', ( + SELECT "o"."OrderDate" + FROM "Orders" AS "o" + WHERE "c"."CustomerID" = "o"."CustomerID" + ORDER BY "o"."OrderDate" DESC LIMIT 1)) AS INTEGER) AS TEXT) -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_Join_set_property_from_joined_table(bool async) @@ -1203,14 +1339,16 @@ public override async Task Update_Where_Join_set_property_from_joined_table(bool await base.Update_Where_Join_set_property_from_joined_table(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""City"" = ""t"".""City"" +""" +UPDATE "Customers" AS "c" +SET "City" = "t"."City" FROM ( - SELECT ""c0"".""CustomerID"", ""c0"".""Address"", ""c0"".""City"", ""c0"".""CompanyName"", ""c0"".""ContactName"", ""c0"".""ContactTitle"", ""c0"".""Country"", ""c0"".""Fax"", ""c0"".""Phone"", ""c0"".""PostalCode"", ""c0"".""Region"" - FROM ""Customers"" AS ""c0"" - WHERE ""c0"".""CustomerID"" = 'ALFKI' -) AS ""t"" -WHERE ""c"".""CustomerID"" LIKE 'F%'"); + SELECT "c0"."CustomerID", "c0"."Address", "c0"."City", "c0"."CompanyName", "c0"."ContactName", "c0"."ContactTitle", "c0"."Country", "c0"."Fax", "c0"."Phone", "c0"."PostalCode", "c0"."Region" + FROM "Customers" AS "c0" + WHERE "c0"."CustomerID" = 'ALFKI' +) AS "t" +WHERE "c"."CustomerID" LIKE 'F%' +"""); } public override async Task Update_Where_Join_set_property_from_joined_single_result_scalar(bool async) @@ -1218,14 +1356,16 @@ public override async Task Update_Where_Join_set_property_from_joined_single_res await base.Update_Where_Join_set_property_from_joined_single_result_scalar(async); AssertExecuteUpdateSql( - @"UPDATE ""Customers"" AS ""c"" -SET ""City"" = CAST(CAST(strftime('%Y', ( - SELECT ""o"".""OrderDate"" - FROM ""Orders"" AS ""o"" - WHERE ""c"".""CustomerID"" = ""o"".""CustomerID"" - ORDER BY ""o"".""OrderDate"" DESC +""" +UPDATE "Customers" AS "c" +SET "City" = CAST(CAST(strftime('%Y', ( + SELECT "o"."OrderDate" + FROM "Orders" AS "o" + WHERE "c"."CustomerID" = "o"."CustomerID" + ORDER BY "o"."OrderDate" DESC LIMIT 1)) AS INTEGER) AS TEXT) -WHERE ""c"".""CustomerID"" LIKE 'F%'"); +WHERE "c"."CustomerID" LIKE 'F%' +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesSqliteTest.cs index 8272c7ae66b..31a8814172b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPCFiltersInheritanceBulkUpdatesSqliteTest.cs @@ -28,8 +28,10 @@ public override async Task Delete_where_hierarchy_derived(bool async) await base.Delete_where_hierarchy_derived(async); AssertSql( - @"DELETE FROM ""Kiwi"" AS ""k"" -WHERE ""k"".""CountryId"" = 1 AND ""k"".""Name"" = 'Great spotted kiwi'"); +""" +DELETE FROM "Kiwi" AS "k" +WHERE "k"."CountryId" = 1 AND "k"."Name" = 'Great spotted kiwi' +"""); } public override async Task Delete_where_using_hierarchy(bool async) @@ -37,17 +39,19 @@ public override async Task Delete_where_using_hierarchy(bool async) await base.Delete_where_using_hierarchy(async); AssertSql( - @"DELETE FROM ""Countries"" AS ""c"" +""" +DELETE FROM "Countries" AS "c" WHERE ( SELECT COUNT(*) FROM ( - SELECT ""e"".""Id"", ""e"".""CountryId"", ""e"".""Name"", ""e"".""Species"", ""e"".""EagleId"", ""e"".""IsFlightless"", ""e"".""Group"", NULL AS ""FoundOn"", 'Eagle' AS ""Discriminator"" - FROM ""Eagle"" AS ""e"" + SELECT "e"."Id", "e"."CountryId", "e"."Name", "e"."Species", "e"."EagleId", "e"."IsFlightless", "e"."Group", NULL AS "FoundOn", 'Eagle' AS "Discriminator" + FROM "Eagle" AS "e" UNION ALL - SELECT ""k"".""Id"", ""k"".""CountryId"", ""k"".""Name"", ""k"".""Species"", ""k"".""EagleId"", ""k"".""IsFlightless"", NULL AS ""Group"", ""k"".""FoundOn"", 'Kiwi' AS ""Discriminator"" - FROM ""Kiwi"" AS ""k"" - ) AS ""t"" - WHERE ""t"".""CountryId"" = 1 AND ""c"".""Id"" = ""t"".""CountryId"" AND ""t"".""CountryId"" > 0) > 0"); + SELECT "k"."Id", "k"."CountryId", "k"."Name", "k"."Species", "k"."EagleId", "k"."IsFlightless", NULL AS "Group", "k"."FoundOn", 'Kiwi' AS "Discriminator" + FROM "Kiwi" AS "k" + ) AS "t" + WHERE "t"."CountryId" = 1 AND "c"."Id" = "t"."CountryId" AND "t"."CountryId" > 0) > 0 +"""); } public override async Task Delete_where_using_hierarchy_derived(bool async) @@ -55,14 +59,16 @@ public override async Task Delete_where_using_hierarchy_derived(bool async) await base.Delete_where_using_hierarchy_derived(async); AssertSql( - @"DELETE FROM ""Countries"" AS ""c"" +""" +DELETE FROM "Countries" AS "c" WHERE ( SELECT COUNT(*) FROM ( - SELECT ""k"".""Id"", ""k"".""CountryId"", ""k"".""Name"", ""k"".""Species"", ""k"".""EagleId"", ""k"".""IsFlightless"", NULL AS ""Group"", ""k"".""FoundOn"", 'Kiwi' AS ""Discriminator"" - FROM ""Kiwi"" AS ""k"" - ) AS ""t"" - WHERE ""t"".""CountryId"" = 1 AND ""c"".""Id"" = ""t"".""CountryId"" AND ""t"".""CountryId"" > 0) > 0"); + SELECT "k"."Id", "k"."CountryId", "k"."Name", "k"."Species", "k"."EagleId", "k"."IsFlightless", NULL AS "Group", "k"."FoundOn", 'Kiwi' AS "Discriminator" + FROM "Kiwi" AS "k" + ) AS "t" + WHERE "t"."CountryId" = 1 AND "c"."Id" = "t"."CountryId" AND "t"."CountryId" > 0) > 0 +"""); } public override async Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) @@ -119,9 +125,11 @@ public override async Task Update_where_hierarchy_derived(bool async) await base.Update_where_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE ""Kiwi"" AS ""k"" -SET ""Name"" = 'Kiwi' -WHERE ""k"".""CountryId"" = 1 AND ""k"".""Name"" = 'Great spotted kiwi'"); +""" +UPDATE "Kiwi" AS "k" +SET "Name" = 'Kiwi' +WHERE "k"."CountryId" = 1 AND "k"."Name" = 'Great spotted kiwi' +"""); } public override async Task Update_where_using_hierarchy(bool async) @@ -129,18 +137,20 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) FROM ( - SELECT ""e"".""Id"", ""e"".""CountryId"", ""e"".""Name"", ""e"".""Species"", ""e"".""EagleId"", ""e"".""IsFlightless"", ""e"".""Group"", NULL AS ""FoundOn"", 'Eagle' AS ""Discriminator"" - FROM ""Eagle"" AS ""e"" + SELECT "e"."Id", "e"."CountryId", "e"."Name", "e"."Species", "e"."EagleId", "e"."IsFlightless", "e"."Group", NULL AS "FoundOn", 'Eagle' AS "Discriminator" + FROM "Eagle" AS "e" UNION ALL - SELECT ""k"".""Id"", ""k"".""CountryId"", ""k"".""Name"", ""k"".""Species"", ""k"".""EagleId"", ""k"".""IsFlightless"", NULL AS ""Group"", ""k"".""FoundOn"", 'Kiwi' AS ""Discriminator"" - FROM ""Kiwi"" AS ""k"" - ) AS ""t"" - WHERE ""t"".""CountryId"" = 1 AND ""c"".""Id"" = ""t"".""CountryId"" AND ""t"".""CountryId"" > 0) > 0"); + SELECT "k"."Id", "k"."CountryId", "k"."Name", "k"."Species", "k"."EagleId", "k"."IsFlightless", NULL AS "Group", "k"."FoundOn", 'Kiwi' AS "Discriminator" + FROM "Kiwi" AS "k" + ) AS "t" + WHERE "t"."CountryId" = 1 AND "c"."Id" = "t"."CountryId" AND "t"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -148,15 +158,17 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) FROM ( - SELECT ""k"".""Id"", ""k"".""CountryId"", ""k"".""Name"", ""k"".""Species"", ""k"".""EagleId"", ""k"".""IsFlightless"", NULL AS ""Group"", ""k"".""FoundOn"", 'Kiwi' AS ""Discriminator"" - FROM ""Kiwi"" AS ""k"" - ) AS ""t"" - WHERE ""t"".""CountryId"" = 1 AND ""c"".""Id"" = ""t"".""CountryId"" AND ""t"".""CountryId"" > 0) > 0"); + SELECT "k"."Id", "k"."CountryId", "k"."Name", "k"."Species", "k"."EagleId", "k"."IsFlightless", NULL AS "Group", "k"."FoundOn", 'Kiwi' AS "Discriminator" + FROM "Kiwi" AS "k" + ) AS "t" + WHERE "t"."CountryId" = 1 AND "c"."Id" = "t"."CountryId" AND "t"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesSqliteTest.cs index 346c6cabbe3..1d4b44ab21d 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPCInheritanceBulkUpdatesSqliteTest.cs @@ -27,8 +27,10 @@ public override async Task Delete_where_hierarchy_derived(bool async) await base.Delete_where_hierarchy_derived(async); AssertSql( - @"DELETE FROM ""Kiwi"" AS ""k"" -WHERE ""k"".""Name"" = 'Great spotted kiwi'"); +""" +DELETE FROM "Kiwi" AS "k" +WHERE "k"."Name" = 'Great spotted kiwi' +"""); } public override async Task Delete_where_using_hierarchy(bool async) @@ -36,17 +38,19 @@ public override async Task Delete_where_using_hierarchy(bool async) await base.Delete_where_using_hierarchy(async); AssertSql( - @"DELETE FROM ""Countries"" AS ""c"" +""" +DELETE FROM "Countries" AS "c" WHERE ( SELECT COUNT(*) FROM ( - SELECT ""e"".""Id"", ""e"".""CountryId"", ""e"".""Name"", ""e"".""Species"", ""e"".""EagleId"", ""e"".""IsFlightless"", ""e"".""Group"", NULL AS ""FoundOn"", 'Eagle' AS ""Discriminator"" - FROM ""Eagle"" AS ""e"" + SELECT "e"."Id", "e"."CountryId", "e"."Name", "e"."Species", "e"."EagleId", "e"."IsFlightless", "e"."Group", NULL AS "FoundOn", 'Eagle' AS "Discriminator" + FROM "Eagle" AS "e" UNION ALL - SELECT ""k"".""Id"", ""k"".""CountryId"", ""k"".""Name"", ""k"".""Species"", ""k"".""EagleId"", ""k"".""IsFlightless"", NULL AS ""Group"", ""k"".""FoundOn"", 'Kiwi' AS ""Discriminator"" - FROM ""Kiwi"" AS ""k"" - ) AS ""t"" - WHERE ""c"".""Id"" = ""t"".""CountryId"" AND ""t"".""CountryId"" > 0) > 0"); + SELECT "k"."Id", "k"."CountryId", "k"."Name", "k"."Species", "k"."EagleId", "k"."IsFlightless", NULL AS "Group", "k"."FoundOn", 'Kiwi' AS "Discriminator" + FROM "Kiwi" AS "k" + ) AS "t" + WHERE "c"."Id" = "t"."CountryId" AND "t"."CountryId" > 0) > 0 +"""); } public override async Task Delete_where_using_hierarchy_derived(bool async) @@ -54,14 +58,16 @@ public override async Task Delete_where_using_hierarchy_derived(bool async) await base.Delete_where_using_hierarchy_derived(async); AssertSql( - @"DELETE FROM ""Countries"" AS ""c"" +""" +DELETE FROM "Countries" AS "c" WHERE ( SELECT COUNT(*) FROM ( - SELECT ""k"".""Id"", ""k"".""CountryId"", ""k"".""Name"", ""k"".""Species"", ""k"".""EagleId"", ""k"".""IsFlightless"", NULL AS ""Group"", ""k"".""FoundOn"", 'Kiwi' AS ""Discriminator"" - FROM ""Kiwi"" AS ""k"" - ) AS ""t"" - WHERE ""c"".""Id"" = ""t"".""CountryId"" AND ""t"".""CountryId"" > 0) > 0"); + SELECT "k"."Id", "k"."CountryId", "k"."Name", "k"."Species", "k"."EagleId", "k"."IsFlightless", NULL AS "Group", "k"."FoundOn", 'Kiwi' AS "Discriminator" + FROM "Kiwi" AS "k" + ) AS "t" + WHERE "c"."Id" = "t"."CountryId" AND "t"."CountryId" > 0) > 0 +"""); } public override async Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) @@ -118,9 +124,11 @@ public override async Task Update_where_hierarchy_derived(bool async) await base.Update_where_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE ""Kiwi"" AS ""k"" -SET ""Name"" = 'Kiwi' -WHERE ""k"".""Name"" = 'Great spotted kiwi'"); +""" +UPDATE "Kiwi" AS "k" +SET "Name" = 'Kiwi' +WHERE "k"."Name" = 'Great spotted kiwi' +"""); } public override async Task Update_where_using_hierarchy(bool async) @@ -128,18 +136,20 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) FROM ( - SELECT ""e"".""Id"", ""e"".""CountryId"", ""e"".""Name"", ""e"".""Species"", ""e"".""EagleId"", ""e"".""IsFlightless"", ""e"".""Group"", NULL AS ""FoundOn"", 'Eagle' AS ""Discriminator"" - FROM ""Eagle"" AS ""e"" + SELECT "e"."Id", "e"."CountryId", "e"."Name", "e"."Species", "e"."EagleId", "e"."IsFlightless", "e"."Group", NULL AS "FoundOn", 'Eagle' AS "Discriminator" + FROM "Eagle" AS "e" UNION ALL - SELECT ""k"".""Id"", ""k"".""CountryId"", ""k"".""Name"", ""k"".""Species"", ""k"".""EagleId"", ""k"".""IsFlightless"", NULL AS ""Group"", ""k"".""FoundOn"", 'Kiwi' AS ""Discriminator"" - FROM ""Kiwi"" AS ""k"" - ) AS ""t"" - WHERE ""c"".""Id"" = ""t"".""CountryId"" AND ""t"".""CountryId"" > 0) > 0"); + SELECT "k"."Id", "k"."CountryId", "k"."Name", "k"."Species", "k"."EagleId", "k"."IsFlightless", NULL AS "Group", "k"."FoundOn", 'Kiwi' AS "Discriminator" + FROM "Kiwi" AS "k" + ) AS "t" + WHERE "c"."Id" = "t"."CountryId" AND "t"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -147,15 +157,17 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) FROM ( - SELECT ""k"".""Id"", ""k"".""CountryId"", ""k"".""Name"", ""k"".""Species"", ""k"".""EagleId"", ""k"".""IsFlightless"", NULL AS ""Group"", ""k"".""FoundOn"", 'Kiwi' AS ""Discriminator"" - FROM ""Kiwi"" AS ""k"" - ) AS ""t"" - WHERE ""c"".""Id"" = ""t"".""CountryId"" AND ""t"".""CountryId"" > 0) > 0"); + SELECT "k"."Id", "k"."CountryId", "k"."Name", "k"."Species", "k"."EagleId", "k"."IsFlightless", NULL AS "Group", "k"."FoundOn", 'Kiwi' AS "Discriminator" + FROM "Kiwi" AS "k" + ) AS "t" + WHERE "c"."Id" = "t"."CountryId" AND "t"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesSqliteTest.cs index c74dbbce06c..142915be1ec 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPTFiltersInheritanceBulkUpdatesSqliteTest.cs @@ -35,14 +35,16 @@ public override async Task Delete_where_using_hierarchy(bool async) await base.Delete_where_using_hierarchy(async); AssertSql( - @"DELETE FROM ""Countries"" AS ""c"" +""" +DELETE FROM "Countries" AS "c" WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - LEFT JOIN ""Birds"" AS ""b"" ON ""a"".""Id"" = ""b"".""Id"" - LEFT JOIN ""Eagle"" AS ""e"" ON ""a"".""Id"" = ""e"".""Id"" - LEFT JOIN ""Kiwi"" AS ""k"" ON ""a"".""Id"" = ""k"".""Id"" - WHERE ""a"".""CountryId"" = 1 AND ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + LEFT JOIN "Birds" AS "b" ON "a"."Id" = "b"."Id" + LEFT JOIN "Eagle" AS "e" ON "a"."Id" = "e"."Id" + LEFT JOIN "Kiwi" AS "k" ON "a"."Id" = "k"."Id" + WHERE "a"."CountryId" = 1 AND "c"."Id" = "a"."CountryId" AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Delete_where_using_hierarchy_derived(bool async) @@ -50,14 +52,16 @@ public override async Task Delete_where_using_hierarchy_derived(bool async) await base.Delete_where_using_hierarchy_derived(async); AssertSql( - @"DELETE FROM ""Countries"" AS ""c"" +""" +DELETE FROM "Countries" AS "c" WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - LEFT JOIN ""Birds"" AS ""b"" ON ""a"".""Id"" = ""b"".""Id"" - LEFT JOIN ""Eagle"" AS ""e"" ON ""a"".""Id"" = ""e"".""Id"" - LEFT JOIN ""Kiwi"" AS ""k"" ON ""a"".""Id"" = ""k"".""Id"" - WHERE ""a"".""CountryId"" = 1 AND ""c"".""Id"" = ""a"".""CountryId"" AND (""k"".""Id"" IS NOT NULL) AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + LEFT JOIN "Birds" AS "b" ON "a"."Id" = "b"."Id" + LEFT JOIN "Eagle" AS "e" ON "a"."Id" = "e"."Id" + LEFT JOIN "Kiwi" AS "k" ON "a"."Id" = "k"."Id" + WHERE "a"."CountryId" = 1 AND "c"."Id" = "a"."CountryId" AND ("k"."Id" IS NOT NULL) AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Delete_where_keyless_entity_mapped_to_sql_query(bool async) @@ -121,15 +125,17 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - LEFT JOIN ""Birds"" AS ""b"" ON ""a"".""Id"" = ""b"".""Id"" - LEFT JOIN ""Eagle"" AS ""e"" ON ""a"".""Id"" = ""e"".""Id"" - LEFT JOIN ""Kiwi"" AS ""k"" ON ""a"".""Id"" = ""k"".""Id"" - WHERE ""a"".""CountryId"" = 1 AND ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + LEFT JOIN "Birds" AS "b" ON "a"."Id" = "b"."Id" + LEFT JOIN "Eagle" AS "e" ON "a"."Id" = "e"."Id" + LEFT JOIN "Kiwi" AS "k" ON "a"."Id" = "k"."Id" + WHERE "a"."CountryId" = 1 AND "c"."Id" = "a"."CountryId" AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -137,15 +143,17 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - LEFT JOIN ""Birds"" AS ""b"" ON ""a"".""Id"" = ""b"".""Id"" - LEFT JOIN ""Eagle"" AS ""e"" ON ""a"".""Id"" = ""e"".""Id"" - LEFT JOIN ""Kiwi"" AS ""k"" ON ""a"".""Id"" = ""k"".""Id"" - WHERE ""a"".""CountryId"" = 1 AND ""c"".""Id"" = ""a"".""CountryId"" AND (""k"".""Id"" IS NOT NULL) AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + LEFT JOIN "Birds" AS "b" ON "a"."Id" = "b"."Id" + LEFT JOIN "Eagle" AS "e" ON "a"."Id" = "e"."Id" + LEFT JOIN "Kiwi" AS "k" ON "a"."Id" = "k"."Id" + WHERE "a"."CountryId" = 1 AND "c"."Id" = "a"."CountryId" AND ("k"."Id" IS NOT NULL) AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesSqliteTest.cs index 8221221af94..296affc98e6 100644 --- a/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/BulkUpdates/TPTInheritanceBulkUpdatesSqliteTest.cs @@ -104,15 +104,17 @@ public override async Task Update_where_using_hierarchy(bool async) await base.Update_where_using_hierarchy(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - LEFT JOIN ""Birds"" AS ""b"" ON ""a"".""Id"" = ""b"".""Id"" - LEFT JOIN ""Eagle"" AS ""e"" ON ""a"".""Id"" = ""e"".""Id"" - LEFT JOIN ""Kiwi"" AS ""k"" ON ""a"".""Id"" = ""k"".""Id"" - WHERE ""c"".""Id"" = ""a"".""CountryId"" AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + LEFT JOIN "Birds" AS "b" ON "a"."Id" = "b"."Id" + LEFT JOIN "Eagle" AS "e" ON "a"."Id" = "e"."Id" + LEFT JOIN "Kiwi" AS "k" ON "a"."Id" = "k"."Id" + WHERE "c"."Id" = "a"."CountryId" AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_using_hierarchy_derived(bool async) @@ -120,15 +122,17 @@ public override async Task Update_where_using_hierarchy_derived(bool async) await base.Update_where_using_hierarchy_derived(async); AssertExecuteUpdateSql( - @"UPDATE ""Countries"" AS ""c"" -SET ""Name"" = 'Monovia' +""" +UPDATE "Countries" AS "c" +SET "Name" = 'Monovia' WHERE ( SELECT COUNT(*) - FROM ""Animals"" AS ""a"" - LEFT JOIN ""Birds"" AS ""b"" ON ""a"".""Id"" = ""b"".""Id"" - LEFT JOIN ""Eagle"" AS ""e"" ON ""a"".""Id"" = ""e"".""Id"" - LEFT JOIN ""Kiwi"" AS ""k"" ON ""a"".""Id"" = ""k"".""Id"" - WHERE ""c"".""Id"" = ""a"".""CountryId"" AND (""k"".""Id"" IS NOT NULL) AND ""a"".""CountryId"" > 0) > 0"); + FROM "Animals" AS "a" + LEFT JOIN "Birds" AS "b" ON "a"."Id" = "b"."Id" + LEFT JOIN "Eagle" AS "e" ON "a"."Id" = "e"."Id" + LEFT JOIN "Kiwi" AS "k" ON "a"."Id" = "k"."Id" + WHERE "c"."Id" = "a"."CountryId" AND ("k"."Id" IS NOT NULL) AND "a"."CountryId" > 0) > 0 +"""); } public override async Task Update_where_keyless_entity_mapped_to_sql_query(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/CommandInterceptionSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/CommandInterceptionSqliteTest.cs index 9753d464b3b..f5ecd8a6f93 100644 --- a/test/EFCore.Sqlite.FunctionalTests/CommandInterceptionSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/CommandInterceptionSqliteTest.cs @@ -13,7 +13,9 @@ protected CommandInterceptionSqliteTestBase(InterceptionSqliteFixtureBase fixtur public override async Task Intercept_query_passively(bool async, bool inject) { AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Type"" FROM ""Singularity"" AS ""s""", +""" +SELECT "s"."Id", "s"."Type" FROM "Singularity" AS "s" +""", await base.Intercept_query_passively(async, inject)); return null; @@ -22,7 +24,9 @@ public override async Task Intercept_query_passively(bool async, bool in protected override async Task QueryMutationTest(bool async, bool inject) { AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Type"" FROM ""Brane"" AS ""s""", +""" +SELECT "s"."Id", "s"."Type" FROM "Brane" AS "s" +""", await base.QueryMutationTest(async, inject)); return null; @@ -31,7 +35,9 @@ protected override async Task QueryMutationTest(bool async public override async Task Intercept_query_to_replace_execution(bool async, bool inject) { AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Type"" FROM ""Singularity"" AS ""s""", +""" +SELECT "s"."Id", "s"."Type" FROM "Singularity" AS "s" +""", await base.Intercept_query_to_replace_execution(async, inject)); return null; diff --git a/test/EFCore.Sqlite.FunctionalTests/CustomConvertersSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/CustomConvertersSqliteTest.cs index 39b5384945e..f71dc5696ec 100644 --- a/test/EFCore.Sqlite.FunctionalTests/CustomConvertersSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/CustomConvertersSqliteTest.cs @@ -22,12 +22,14 @@ public override void Value_conversion_is_appropriately_used_for_join_condition() base.Value_conversion_is_appropriately_used_for_join_condition(); AssertSql( - @"@__blogId_0='1' - -SELECT ""b"".""Url"" -FROM ""Blog"" AS ""b"" -INNER JOIN ""Post"" AS ""p"" ON ""b"".""BlogId"" = ""p"".""BlogId"" AND ""b"".""IsVisible"" = 'Y' AND ""b"".""BlogId"" = @__blogId_0 -WHERE ""b"".""IsVisible"" = 'Y'"); +""" +@__blogId_0='1' + +SELECT "b"."Url" +FROM "Blog" AS "b" +INNER JOIN "Post" AS "p" ON "b"."BlogId" = "p"."BlogId" AND "b"."IsVisible" = 'Y' AND "b"."BlogId" = @__blogId_0 +WHERE "b"."IsVisible" = 'Y' +"""); } [ConditionalFact] @@ -36,12 +38,14 @@ public override void Value_conversion_is_appropriately_used_for_left_join_condit base.Value_conversion_is_appropriately_used_for_left_join_condition(); AssertSql( - @"@__blogId_0='1' - -SELECT ""b"".""Url"" -FROM ""Blog"" AS ""b"" -LEFT JOIN ""Post"" AS ""p"" ON ""b"".""BlogId"" = ""p"".""BlogId"" AND ""b"".""IsVisible"" = 'Y' AND ""b"".""BlogId"" = @__blogId_0 -WHERE ""b"".""IsVisible"" = 'Y'"); +""" +@__blogId_0='1' + +SELECT "b"."Url" +FROM "Blog" AS "b" +LEFT JOIN "Post" AS "p" ON "b"."BlogId" = "p"."BlogId" AND "b"."IsVisible" = 'Y' AND "b"."BlogId" = @__blogId_0 +WHERE "b"."IsVisible" = 'Y' +"""); } [ConditionalFact] @@ -50,9 +54,11 @@ public override void Where_bool_gets_converted_to_equality_when_value_conversion base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used(); AssertSql( - @"SELECT ""b"".""BlogId"", ""b"".""Discriminator"", ""b"".""IndexerVisible"", ""b"".""IsVisible"", ""b"".""Url"", ""b"".""RssUrl"" -FROM ""Blog"" AS ""b"" -WHERE ""b"".""IsVisible"" = 'Y'"); +""" +SELECT "b"."BlogId", "b"."Discriminator", "b"."IndexerVisible", "b"."IsVisible", "b"."Url", "b"."RssUrl" +FROM "Blog" AS "b" +WHERE "b"."IsVisible" = 'Y' +"""); } [ConditionalFact] @@ -61,9 +67,11 @@ public override void Where_negated_bool_gets_converted_to_equality_when_value_co base.Where_negated_bool_gets_converted_to_equality_when_value_conversion_is_used(); AssertSql( - @"SELECT ""b"".""BlogId"", ""b"".""Discriminator"", ""b"".""IndexerVisible"", ""b"".""IsVisible"", ""b"".""Url"", ""b"".""RssUrl"" -FROM ""Blog"" AS ""b"" -WHERE ""b"".""IsVisible"" = 'N'"); +""" +SELECT "b"."BlogId", "b"."Discriminator", "b"."IndexerVisible", "b"."IsVisible", "b"."Url", "b"."RssUrl" +FROM "Blog" AS "b" +WHERE "b"."IsVisible" = 'N' +"""); } public override void Where_bool_with_value_conversion_inside_comparison_doesnt_get_converted_twice() @@ -71,13 +79,17 @@ public override void Where_bool_with_value_conversion_inside_comparison_doesnt_g base.Where_bool_with_value_conversion_inside_comparison_doesnt_get_converted_twice(); AssertSql( - @"SELECT ""b"".""BlogId"", ""b"".""Discriminator"", ""b"".""IndexerVisible"", ""b"".""IsVisible"", ""b"".""Url"", ""b"".""RssUrl"" -FROM ""Blog"" AS ""b"" -WHERE ""b"".""IsVisible"" = 'Y'", +""" +SELECT "b"."BlogId", "b"."Discriminator", "b"."IndexerVisible", "b"."IsVisible", "b"."Url", "b"."RssUrl" +FROM "Blog" AS "b" +WHERE "b"."IsVisible" = 'Y' +""", // - @"SELECT ""b"".""BlogId"", ""b"".""Discriminator"", ""b"".""IndexerVisible"", ""b"".""IsVisible"", ""b"".""Url"", ""b"".""RssUrl"" -FROM ""Blog"" AS ""b"" -WHERE ""b"".""IsVisible"" <> 'Y'"); +""" +SELECT "b"."BlogId", "b"."Discriminator", "b"."IndexerVisible", "b"."IsVisible", "b"."Url", "b"."RssUrl" +FROM "Blog" AS "b" +WHERE "b"."IsVisible" <> 'Y' +"""); } public override void Select_bool_with_value_conversion_is_used() @@ -85,8 +97,10 @@ public override void Select_bool_with_value_conversion_is_used() base.Select_bool_with_value_conversion_is_used(); AssertSql( - @"SELECT ""b"".""IsVisible"" -FROM ""Blog"" AS ""b"""); +""" +SELECT "b"."IsVisible" +FROM "Blog" AS "b" +"""); } [ConditionalFact] @@ -95,9 +109,11 @@ public override void Where_bool_gets_converted_to_equality_when_value_conversion base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_EFProperty(); AssertSql( - @"SELECT ""b"".""BlogId"", ""b"".""Discriminator"", ""b"".""IndexerVisible"", ""b"".""IsVisible"", ""b"".""Url"", ""b"".""RssUrl"" -FROM ""Blog"" AS ""b"" -WHERE ""b"".""IsVisible"" = 'Y'"); +""" +SELECT "b"."BlogId", "b"."Discriminator", "b"."IndexerVisible", "b"."IsVisible", "b"."Url", "b"."RssUrl" +FROM "Blog" AS "b" +WHERE "b"."IsVisible" = 'Y' +"""); } [ConditionalFact] @@ -106,9 +122,11 @@ public override void Where_bool_gets_converted_to_equality_when_value_conversion base.Where_bool_gets_converted_to_equality_when_value_conversion_is_used_using_indexer(); AssertSql( - @"SELECT ""b"".""BlogId"", ""b"".""Discriminator"", ""b"".""IndexerVisible"", ""b"".""IsVisible"", ""b"".""Url"", ""b"".""RssUrl"" -FROM ""Blog"" AS ""b"" -WHERE ""b"".""IndexerVisible"" = 'Nay'"); +""" +SELECT "b"."BlogId", "b"."Discriminator", "b"."IndexerVisible", "b"."IsVisible", "b"."Url", "b"."RssUrl" +FROM "Blog" AS "b" +WHERE "b"."IndexerVisible" = 'Nay' +"""); } public override void Value_conversion_on_enum_collection_contains() diff --git a/test/EFCore.Sqlite.FunctionalTests/DataAnnotationSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/DataAnnotationSqliteTest.cs index 1ee39cb4c6a..7dace8ed1d5 100644 --- a/test/EFCore.Sqlite.FunctionalTests/DataAnnotationSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/DataAnnotationSqliteTest.cs @@ -93,33 +93,41 @@ public override void ConcurrencyCheckAttribute_throws_if_value_in_database_chang base.ConcurrencyCheckAttribute_throws_if_value_in_database_changed(); AssertSql( - @"SELECT ""s"".""Unique_No"", ""s"".""MaxLengthProperty"", ""s"".""Name"", ""s"".""RowVersion"", ""s"".""AdditionalDetails_Name"", ""s"".""AdditionalDetails_Value"", ""s"".""Details_Name"", ""s"".""Details_Value"" -FROM ""Sample"" AS ""s"" -WHERE ""s"".""Unique_No"" = 1 -LIMIT 1", +""" +SELECT "s"."Unique_No", "s"."MaxLengthProperty", "s"."Name", "s"."RowVersion", "s"."AdditionalDetails_Name", "s"."AdditionalDetails_Value", "s"."Details_Name", "s"."Details_Value" +FROM "Sample" AS "s" +WHERE "s"."Unique_No" = 1 +LIMIT 1 +""", // - @"SELECT ""s"".""Unique_No"", ""s"".""MaxLengthProperty"", ""s"".""Name"", ""s"".""RowVersion"", ""s"".""AdditionalDetails_Name"", ""s"".""AdditionalDetails_Value"", ""s"".""Details_Name"", ""s"".""Details_Value"" -FROM ""Sample"" AS ""s"" -WHERE ""s"".""Unique_No"" = 1 -LIMIT 1", +""" +SELECT "s"."Unique_No", "s"."MaxLengthProperty", "s"."Name", "s"."RowVersion", "s"."AdditionalDetails_Name", "s"."AdditionalDetails_Value", "s"."Details_Name", "s"."Details_Value" +FROM "Sample" AS "s" +WHERE "s"."Unique_No" = 1 +LIMIT 1 +""", // - @"@p2='1' +""" +@p2='1' @p0='ModifiedData' (Nullable = false) (Size = 12) @p1='00000000-0000-0000-0003-000000000001' @p3='00000001-0000-0000-0000-000000000001' -UPDATE ""Sample"" SET ""Name"" = @p0, ""RowVersion"" = @p1 -WHERE ""Unique_No"" = @p2 AND ""RowVersion"" = @p3 -RETURNING 1;", +UPDATE "Sample" SET "Name" = @p0, "RowVersion" = @p1 +WHERE "Unique_No" = @p2 AND "RowVersion" = @p3 +RETURNING 1; +""", // - @"@p2='1' +""" +@p2='1' @p0='ChangedData' (Nullable = false) (Size = 11) @p1='00000000-0000-0000-0002-000000000001' @p3='00000001-0000-0000-0000-000000000001' -UPDATE ""Sample"" SET ""Name"" = @p0, ""RowVersion"" = @p1 -WHERE ""Unique_No"" = @p2 AND ""RowVersion"" = @p3 -RETURNING 1;"); +UPDATE "Sample" SET "Name" = @p0, "RowVersion" = @p1 +WHERE "Unique_No" = @p2 AND "RowVersion" = @p3 +RETURNING 1; +"""); } public override void DatabaseGeneratedAttribute_autogenerates_values_when_set_to_identity() @@ -127,7 +135,8 @@ public override void DatabaseGeneratedAttribute_autogenerates_values_when_set_to base.DatabaseGeneratedAttribute_autogenerates_values_when_set_to_identity(); AssertSql( - @"@p0=NULL +""" +@p0=NULL @p1='Third' (Nullable = false) (Size = 5) @p2='00000000-0000-0000-0000-000000000003' @p3='Third Additional Name' (Size = 21) @@ -135,9 +144,10 @@ public override void DatabaseGeneratedAttribute_autogenerates_values_when_set_to @p5='Third Name' (Size = 10) @p6='0' (Nullable = true) -INSERT INTO ""Sample"" (""MaxLengthProperty"", ""Name"", ""RowVersion"", ""AdditionalDetails_Name"", ""AdditionalDetails_Value"", ""Details_Name"", ""Details_Value"") +INSERT INTO "Sample" ("MaxLengthProperty", "Name", "RowVersion", "AdditionalDetails_Name", "AdditionalDetails_Value", "Details_Name", "Details_Value") VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6) -RETURNING ""Unique_No"";"); +RETURNING "Unique_No"; +"""); } // Sqlite does not support length diff --git a/test/EFCore.Sqlite.FunctionalTests/Migrations/MigrationsSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Migrations/MigrationsSqliteTest.cs index a58fdd70208..895900c9135 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Migrations/MigrationsSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Migrations/MigrationsSqliteTest.cs @@ -22,10 +22,12 @@ public override async Task Create_table() await base.Create_table(); AssertSql( - @"CREATE TABLE ""People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""Name"" TEXT NULL -);"); +""" +CREATE TABLE "People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "Name" TEXT NULL +); +"""); } public override async Task Create_table_all_settings() @@ -33,21 +35,25 @@ public override async Task Create_table_all_settings() await base.Create_table_all_settings(); AssertSql( - @"CREATE TABLE ""People"" ( +""" +CREATE TABLE "People" ( -- Table comment - ""CustomId"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, + "CustomId" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, -- Employer ID comment - ""EmployerId"" INTEGER NOT NULL, - - ""SSN"" TEXT COLLATE NOCASE NOT NULL, - CONSTRAINT ""AK_People_SSN"" UNIQUE (""SSN""), - CONSTRAINT ""CK_People_EmployerId"" CHECK (""EmployerId"" > 0), - CONSTRAINT ""FK_People_Employers_EmployerId"" FOREIGN KEY (""EmployerId"") REFERENCES ""Employers"" (""Id"") ON DELETE CASCADE -);", - // - @"CREATE INDEX ""IX_People_EmployerId"" ON ""People"" (""EmployerId"");"); + "EmployerId" INTEGER NOT NULL, + + "SSN" TEXT COLLATE NOCASE NOT NULL, + CONSTRAINT "AK_People_SSN" UNIQUE ("SSN"), + CONSTRAINT "CK_People_EmployerId" CHECK ("EmployerId" > 0), + CONSTRAINT "FK_People_Employers_EmployerId" FOREIGN KEY ("EmployerId") REFERENCES "Employers" ("Id") ON DELETE CASCADE +); +""", + // +""" +CREATE INDEX "IX_People_EmployerId" ON "People" ("EmployerId"); +"""); } public override async Task Create_table_with_comments() @@ -55,14 +61,16 @@ public override async Task Create_table_with_comments() await base.Create_table_with_comments(); AssertSql( - @"CREATE TABLE ""People"" ( +""" +CREATE TABLE "People" ( -- Table comment - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, -- Column comment - ""Name"" TEXT NULL -);"); + "Name" TEXT NULL +); +"""); } public override async Task Create_table_with_multiline_comments() @@ -70,20 +78,22 @@ public override async Task Create_table_with_multiline_comments() await base.Create_table_with_multiline_comments(); AssertSql( - @"CREATE TABLE ""People"" ( +""" +CREATE TABLE "People" ( -- This is a multi-line -- table comment. -- More information can -- be found in the docs. - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, -- This is a multi-line -- column comment. -- More information can -- be found in the docs. - ""Name"" TEXT NULL -);"); + "Name" TEXT NULL +); +"""); } public override async Task Create_table_with_computed_column(bool? stored) @@ -93,12 +103,14 @@ public override async Task Create_table_with_computed_column(bool? stored) var computedColumnTypeSql = stored == true ? " STORED" : ""; AssertSql( - $@"CREATE TABLE ""People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""Sum"" AS (""X"" + ""Y""){computedColumnTypeSql}, - ""X"" INTEGER NOT NULL, - ""Y"" INTEGER NOT NULL -);"); +$""" +CREATE TABLE "People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "Sum" AS ("X" + "Y"){computedColumnTypeSql}, + "X" INTEGER NOT NULL, + "Y" INTEGER NOT NULL +); +"""); } public override async Task Alter_table_add_comment() @@ -106,23 +118,35 @@ public override async Task Alter_table_add_comment() await base.Alter_table_add_comment(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( +""" +CREATE TABLE "ef_temp_People" ( -- Table comment - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT -);", + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT +); +""", // - @"INSERT INTO ""ef_temp_People"" (""Id"") -SELECT ""Id"" -FROM ""People"";", +""" +INSERT INTO "ef_temp_People" ("Id") +SELECT "Id" +FROM "People"; +""", // - @"PRAGMA foreign_keys = 0;", +""" +PRAGMA foreign_keys = 0; +""", // - @"DROP TABLE ""People"";", +""" +DROP TABLE "People"; +""", // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", // - @"PRAGMA foreign_keys = 1;"); +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_table_add_comment_non_default_schema() @@ -130,23 +154,35 @@ public override async Task Alter_table_add_comment_non_default_schema() await base.Alter_table_add_comment_non_default_schema(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( +""" +CREATE TABLE "ef_temp_People" ( -- Table comment - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT -);", + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT +); +""", // - @"INSERT INTO ""ef_temp_People"" (""Id"") -SELECT ""Id"" -FROM ""People"";", +""" +INSERT INTO "ef_temp_People" ("Id") +SELECT "Id" +FROM "People"; +""", // - @"PRAGMA foreign_keys = 0;", +""" +PRAGMA foreign_keys = 0; +""", // - @"DROP TABLE ""People"";", +""" +DROP TABLE "People"; +""", // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", // - @"PRAGMA foreign_keys = 1;"); +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_table_change_comment() @@ -154,23 +190,35 @@ public override async Task Alter_table_change_comment() await base.Alter_table_change_comment(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( +""" +CREATE TABLE "ef_temp_People" ( -- Table comment2 - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT -);", + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT +); +""", // - @"INSERT INTO ""ef_temp_People"" (""Id"") -SELECT ""Id"" -FROM ""People"";", +""" +INSERT INTO "ef_temp_People" ("Id") +SELECT "Id" +FROM "People"; +""", // - @"PRAGMA foreign_keys = 0;", +""" +PRAGMA foreign_keys = 0; +""", // - @"DROP TABLE ""People"";", +""" +DROP TABLE "People"; +""", // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", // - @"PRAGMA foreign_keys = 1;"); +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_table_remove_comment() @@ -178,21 +226,33 @@ public override async Task Alter_table_remove_comment() await base.Alter_table_remove_comment(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"") -SELECT ""Id"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id") +SELECT "Id" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Rename_table() @@ -200,23 +260,37 @@ public override async Task Rename_table() await base.Rename_table(); AssertSql( - @"ALTER TABLE ""People"" RENAME TO ""Persons"";", - // - @"CREATE TABLE ""ef_temp_Persons"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_Persons"" PRIMARY KEY AUTOINCREMENT -);", - // - @"INSERT INTO ""ef_temp_Persons"" (""Id"") -SELECT ""Id"" -FROM ""Persons"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""Persons"";", - // - @"ALTER TABLE ""ef_temp_Persons"" RENAME TO ""Persons"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +ALTER TABLE "People" RENAME TO "Persons"; +""", + // +""" +CREATE TABLE "ef_temp_Persons" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_Persons" PRIMARY KEY AUTOINCREMENT +); +""", + // +""" +INSERT INTO "ef_temp_Persons" ("Id") +SELECT "Id" +FROM "Persons"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "Persons"; +""", + // +""" +ALTER TABLE "ef_temp_Persons" RENAME TO "Persons"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Rename_table_with_primary_key() @@ -224,23 +298,37 @@ public override async Task Rename_table_with_primary_key() await base.Rename_table_with_primary_key(); AssertSql( - @"ALTER TABLE ""People"" RENAME TO ""Persons"";", - // - @"CREATE TABLE ""ef_temp_Persons"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_Persons"" PRIMARY KEY AUTOINCREMENT -);", - // - @"INSERT INTO ""ef_temp_Persons"" (""Id"") -SELECT ""Id"" -FROM ""Persons"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""Persons"";", - // - @"ALTER TABLE ""ef_temp_Persons"" RENAME TO ""Persons"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +ALTER TABLE "People" RENAME TO "Persons"; +""", + // +""" +CREATE TABLE "ef_temp_Persons" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_Persons" PRIMARY KEY AUTOINCREMENT +); +""", + // +""" +INSERT INTO "ef_temp_Persons" ("Id") +SELECT "Id" +FROM "Persons"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "Persons"; +""", + // +""" +ALTER TABLE "ef_temp_Persons" RENAME TO "Persons"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } // SQLite does not support schemas. @@ -257,9 +345,11 @@ public override async Task Create_schema() await base.Create_schema(); AssertSql( - @"CREATE TABLE ""People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT -);"); +""" +CREATE TABLE "People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT +); +"""); } public override async Task Add_column_with_defaultValue_datetime() @@ -267,7 +357,9 @@ public override async Task Add_column_with_defaultValue_datetime() await base.Add_column_with_defaultValue_datetime(); AssertSql( - @"ALTER TABLE ""People"" ADD ""Birthday"" TEXT NOT NULL DEFAULT '2015-04-12 17:05:00';"); +""" +ALTER TABLE "People" ADD "Birthday" TEXT NOT NULL DEFAULT '2015-04-12 17:05:00'; +"""); } public override async Task Add_column_with_defaultValueSql() @@ -275,7 +367,9 @@ public override async Task Add_column_with_defaultValueSql() await base.Add_column_with_defaultValueSql(); AssertSql( - @"ALTER TABLE ""People"" ADD ""Sum"" INTEGER NOT NULL DEFAULT (1 + 2);"); +""" +ALTER TABLE "People" ADD "Sum" INTEGER NOT NULL DEFAULT (1 + 2); +"""); } public override async Task Add_column_with_computedSql(bool? stored) @@ -285,7 +379,9 @@ public override async Task Add_column_with_computedSql(bool? stored) var storedSql = stored == true ? " STORED" : ""; AssertSql( - $@"ALTER TABLE ""People"" ADD ""Sum"" AS (""X"" + ""Y""){storedSql};"); +$""" +ALTER TABLE "People" ADD "Sum" AS ("X" + "Y"){storedSql}; +"""); } public override async Task Add_column_with_max_length() @@ -294,7 +390,9 @@ public override async Task Add_column_with_max_length() // See issue #3698 AssertSql( - @"ALTER TABLE ""People"" ADD ""Name"" TEXT NULL;"); +""" +ALTER TABLE "People" ADD "Name" TEXT NULL; +"""); } public override async Task Add_column_with_comment() @@ -302,26 +400,40 @@ public override async Task Add_column_with_comment() await base.Add_column_with_comment(); AssertSql( - @"ALTER TABLE ""People"" ADD ""FullName"" TEXT NULL;", +""" +ALTER TABLE "People" ADD "FullName" TEXT NULL; +""", // - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, -- My comment - ""FullName"" TEXT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""FullName"") -SELECT ""Id"", ""FullName"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); + "FullName" TEXT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "FullName") +SELECT "Id", "FullName" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Add_column_with_collation() @@ -329,7 +441,9 @@ public override async Task Add_column_with_collation() await base.Add_column_with_collation(); AssertSql( - @"ALTER TABLE ""People"" ADD ""Name"" TEXT COLLATE NOCASE NULL;"); +""" +ALTER TABLE "People" ADD "Name" TEXT COLLATE NOCASE NULL; +"""); } public override async Task Add_column_computed_with_collation() @@ -337,7 +451,9 @@ public override async Task Add_column_computed_with_collation() await base.Add_column_computed_with_collation(); AssertSql( - @"ALTER TABLE ""People"" ADD ""Name"" AS ('hello') COLLATE NOCASE;"); +""" +ALTER TABLE "People" ADD "Name" AS ('hello') COLLATE NOCASE; +"""); } public override async Task Add_column_with_check_constraint() @@ -345,25 +461,39 @@ public override async Task Add_column_with_check_constraint() await base.Add_column_with_check_constraint(); AssertSql( - @"ALTER TABLE ""People"" ADD ""DriverLicense"" INTEGER NOT NULL DEFAULT 0;", - // - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""DriverLicense"" INTEGER NOT NULL, - CONSTRAINT ""CK_People_Foo"" CHECK (""DriverLicense"" > 0) -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""DriverLicense"") -SELECT ""Id"", ""DriverLicense"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +ALTER TABLE "People" ADD "DriverLicense" INTEGER NOT NULL DEFAULT 0; +""", + // +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "DriverLicense" INTEGER NOT NULL, + CONSTRAINT "CK_People_Foo" CHECK ("DriverLicense" > 0) +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "DriverLicense") +SELECT "Id", "DriverLicense" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_column_make_required() @@ -371,22 +501,34 @@ public override async Task Alter_column_make_required() await base.Alter_column_make_required(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""SomeColumn"" TEXT NOT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""SomeColumn"") -SELECT ""Id"", IFNULL(""SomeColumn"", '') -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "SomeColumn" TEXT NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "SomeColumn") +SELECT "Id", IFNULL("SomeColumn", '') +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_column_make_required_with_index() @@ -394,24 +536,38 @@ public override async Task Alter_column_make_required_with_index() await base.Alter_column_make_required_with_index(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""SomeColumn"" TEXT NOT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""SomeColumn"") -SELECT ""Id"", IFNULL(""SomeColumn"", '') -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;", - // - @"CREATE INDEX ""IX_People_SomeColumn"" ON ""People"" (""SomeColumn"");"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "SomeColumn" TEXT NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "SomeColumn") +SELECT "Id", IFNULL("SomeColumn", '') +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +""", + // +""" +CREATE INDEX "IX_People_SomeColumn" ON "People" ("SomeColumn"); +"""); } public override async Task Alter_column_make_required_with_composite_index() @@ -419,25 +575,39 @@ public override async Task Alter_column_make_required_with_composite_index() await base.Alter_column_make_required_with_composite_index(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""FirstName"" TEXT NOT NULL, - ""LastName"" TEXT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""FirstName"", ""LastName"") -SELECT ""Id"", IFNULL(""FirstName"", ''), ""LastName"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;", - // - @"CREATE INDEX ""IX_People_FirstName_LastName"" ON ""People"" (""FirstName"", ""LastName"");"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "FirstName" TEXT NOT NULL, + "LastName" TEXT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "FirstName", "LastName") +SELECT "Id", IFNULL("FirstName", ''), "LastName" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +""", + // +""" +CREATE INDEX "IX_People_FirstName_LastName" ON "People" ("FirstName", "LastName"); +"""); } public override async Task Alter_column_make_computed(bool? stored) @@ -447,24 +617,36 @@ public override async Task Alter_column_make_computed(bool? stored) var storedSql = stored == true ? " STORED" : ""; AssertSql( - $@"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""Sum"" AS (""X"" + ""Y""){storedSql}, - ""X"" INTEGER NOT NULL, - ""Y"" INTEGER NOT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""X"", ""Y"") -SELECT ""Id"", ""X"", ""Y"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +$""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "Sum" AS ("X" + "Y"){storedSql}, + "X" INTEGER NOT NULL, + "Y" INTEGER NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "X", "Y") +SELECT "Id", "X", "Y" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_column_change_computed() @@ -472,24 +654,36 @@ public override async Task Alter_column_change_computed() await base.Alter_column_change_computed(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""Sum"" AS (""X"" - ""Y""), - ""X"" INTEGER NOT NULL, - ""Y"" INTEGER NOT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""X"", ""Y"") -SELECT ""Id"", ""X"", ""Y"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "Sum" AS ("X" - "Y"), + "X" INTEGER NOT NULL, + "Y" INTEGER NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "X", "Y") +SELECT "Id", "X", "Y" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_column_change_computed_recreates_indexes() @@ -497,26 +691,40 @@ public override async Task Alter_column_change_computed_recreates_indexes() await base.Alter_column_change_computed_recreates_indexes(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""Sum"" AS (""X"" - ""Y""), - ""X"" INTEGER NOT NULL, - ""Y"" INTEGER NOT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""X"", ""Y"") -SELECT ""Id"", ""X"", ""Y"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;", - // - @"CREATE INDEX ""IX_People_Sum"" ON ""People"" (""Sum"");"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "Sum" AS ("X" - "Y"), + "X" INTEGER NOT NULL, + "Y" INTEGER NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "X", "Y") +SELECT "Id", "X", "Y" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +""", + // +""" +CREATE INDEX "IX_People_Sum" ON "People" ("Sum"); +"""); } public override async Task Alter_column_change_computed_type() @@ -524,24 +732,36 @@ public override async Task Alter_column_change_computed_type() await base.Alter_column_change_computed_type(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""Sum"" AS (""X"" + ""Y"") STORED, - ""X"" INTEGER NOT NULL, - ""Y"" INTEGER NOT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""X"", ""Y"") -SELECT ""Id"", ""X"", ""Y"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "Sum" AS ("X" + "Y") STORED, + "X" INTEGER NOT NULL, + "Y" INTEGER NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "X", "Y") +SELECT "Id", "X", "Y" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_column_make_non_computed() @@ -549,24 +769,36 @@ public override async Task Alter_column_make_non_computed() await base.Alter_column_make_non_computed(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""Sum"" INTEGER NOT NULL, - ""X"" INTEGER NOT NULL, - ""Y"" INTEGER NOT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""Sum"", ""X"", ""Y"") -SELECT ""Id"", ""Sum"", ""X"", ""Y"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "Sum" INTEGER NOT NULL, + "X" INTEGER NOT NULL, + "Y" INTEGER NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "Sum", "X", "Y") +SELECT "Id", "Sum", "X", "Y" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_column_add_comment() @@ -574,22 +806,34 @@ public override async Task Alter_column_add_comment() await base.Alter_column_add_comment(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( +""" +CREATE TABLE "ef_temp_People" ( -- Some comment - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"") -SELECT ""Id"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id") +SELECT "Id" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_computed_column_add_comment() @@ -597,24 +841,36 @@ public override async Task Alter_computed_column_add_comment() await base.Alter_computed_column_add_comment(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, -- Some comment - ""SomeColumn"" AS (42) -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"") -SELECT ""Id"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); + "SomeColumn" AS (42) +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id") +SELECT "Id" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_column_change_comment() @@ -622,22 +878,34 @@ public override async Task Alter_column_change_comment() await base.Alter_column_change_comment(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( +""" +CREATE TABLE "ef_temp_People" ( -- Some comment2 - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"") -SELECT ""Id"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id") +SELECT "Id" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_column_remove_comment() @@ -645,21 +913,33 @@ public override async Task Alter_column_remove_comment() await base.Alter_column_remove_comment(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"") -SELECT ""Id"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id") +SELECT "Id" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_column_set_collation() @@ -667,16 +947,33 @@ public override async Task Alter_column_set_collation() await base.Alter_column_set_collation(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Name"" TEXT COLLATE NOCASE NULL -);", - @"INSERT INTO ""ef_temp_People"" (""Name"") -SELECT ""Name"" -FROM ""People"";", - @"PRAGMA foreign_keys = 0;", - @"DROP TABLE ""People"";", - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Name" TEXT COLLATE NOCASE NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Name") +SELECT "Name" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_column_reset_collation() @@ -684,16 +981,33 @@ public override async Task Alter_column_reset_collation() await base.Alter_column_reset_collation(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Name"" TEXT NULL -);", - @"INSERT INTO ""ef_temp_People"" (""Name"") -SELECT ""Name"" -FROM ""People"";", - @"PRAGMA foreign_keys = 0;", - @"DROP TABLE ""People"";", - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Name" TEXT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Name") +SELECT "Name" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Drop_column() @@ -701,21 +1015,33 @@ public override async Task Drop_column() await base.Drop_column(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"") -SELECT ""Id"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id") +SELECT "Id" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Drop_column_primary_key() @@ -723,16 +1049,33 @@ public override async Task Drop_column_primary_key() await base.Drop_column_primary_key(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""SomeColumn"" INTEGER NOT NULL -);", - @"INSERT INTO ""ef_temp_People"" (""SomeColumn"") -SELECT ""SomeColumn"" -FROM ""People"";", - @"PRAGMA foreign_keys = 0;", - @"DROP TABLE ""People"";", - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "SomeColumn" INTEGER NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("SomeColumn") +SELECT "SomeColumn" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Rename_column() @@ -740,7 +1083,9 @@ public override async Task Rename_column() await base.Rename_column(); AssertSql( - @"ALTER TABLE ""People"" RENAME COLUMN ""SomeColumn"" TO ""SomeOtherColumn"";"); +""" +ALTER TABLE "People" RENAME COLUMN "SomeColumn" TO "SomeOtherColumn"; +"""); } public override async Task Create_index_with_filter() @@ -748,7 +1093,9 @@ public override async Task Create_index_with_filter() await base.Create_index_with_filter(); AssertSql( - @"CREATE INDEX ""IX_People_Name"" ON ""People"" (""Name"") WHERE ""Name"" IS NOT NULL;"); +""" +CREATE INDEX "IX_People_Name" ON "People" ("Name") WHERE "Name" IS NOT NULL; +"""); } public override async Task Create_unique_index_with_filter() @@ -756,7 +1103,9 @@ public override async Task Create_unique_index_with_filter() await base.Create_unique_index_with_filter(); AssertSql( - @"CREATE UNIQUE INDEX ""IX_People_Name"" ON ""People"" (""Name"") WHERE ""Name"" IS NOT NULL AND ""Name"" <> '';"); +""" +CREATE UNIQUE INDEX "IX_People_Name" ON "People" ("Name") WHERE "Name" IS NOT NULL AND "Name" <> ''; +"""); } public override async Task Rename_index() @@ -764,9 +1113,13 @@ public override async Task Rename_index() await base.Rename_index(); AssertSql( - @"DROP INDEX ""Foo"";", +""" +DROP INDEX "Foo"; +""", // - @"CREATE INDEX ""foo"" ON ""People"" (""FirstName"");"); +""" +CREATE INDEX "foo" ON "People" ("FirstName"); +"""); } public override async Task Add_primary_key_int() @@ -774,21 +1127,33 @@ public override async Task Add_primary_key_int() await base.Add_primary_key_int(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""SomeField"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT -);", - // - @"INSERT INTO ""ef_temp_People"" (""SomeField"") -SELECT ""SomeField"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "SomeField" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT +); +""", + // +""" +INSERT INTO "ef_temp_People" ("SomeField") +SELECT "SomeField" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Add_primary_key_string() @@ -796,21 +1161,33 @@ public override async Task Add_primary_key_string() await base.Add_primary_key_string(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""SomeField"" TEXT NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY -);", - // - @"INSERT INTO ""ef_temp_People"" (""SomeField"") -SELECT ""SomeField"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "SomeField" TEXT NOT NULL CONSTRAINT "PK_People" PRIMARY KEY +); +""", + // +""" +INSERT INTO "ef_temp_People" ("SomeField") +SELECT "SomeField" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Add_primary_key_with_name() @@ -818,21 +1195,33 @@ public override async Task Add_primary_key_with_name() await base.Add_primary_key_with_name(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""SomeField"" TEXT NOT NULL CONSTRAINT ""PK_Foo"" PRIMARY KEY -);", - // - @"INSERT INTO ""ef_temp_People"" (""SomeField"") -SELECT IFNULL(""SomeField"", '') -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "SomeField" TEXT NOT NULL CONSTRAINT "PK_Foo" PRIMARY KEY +); +""", + // +""" +INSERT INTO "ef_temp_People" ("SomeField") +SELECT IFNULL("SomeField", '') +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Add_primary_key_composite_with_name() @@ -840,18 +1229,35 @@ public override async Task Add_primary_key_composite_with_name() await base.Add_primary_key_composite_with_name(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""SomeField1"" INTEGER NOT NULL, - ""SomeField2"" INTEGER NOT NULL, - CONSTRAINT ""PK_Foo"" PRIMARY KEY (""SomeField1"", ""SomeField2"") -);", - @"INSERT INTO ""ef_temp_People"" (""SomeField1"", ""SomeField2"") -SELECT ""SomeField1"", ""SomeField2"" -FROM ""People"";", - @"PRAGMA foreign_keys = 0;", - @"DROP TABLE ""People"";", - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "SomeField1" INTEGER NOT NULL, + "SomeField2" INTEGER NOT NULL, + CONSTRAINT "PK_Foo" PRIMARY KEY ("SomeField1", "SomeField2") +); +""", + // +""" +INSERT INTO "ef_temp_People" ("SomeField1", "SomeField2") +SELECT "SomeField1", "SomeField2" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Drop_primary_key_int() @@ -859,16 +1265,33 @@ public override async Task Drop_primary_key_int() await base.Drop_primary_key_int(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""SomeField"" INTEGER NOT NULL -);", - @"INSERT INTO ""ef_temp_People"" (""SomeField"") -SELECT ""SomeField"" -FROM ""People"";", - @"PRAGMA foreign_keys = 0;", - @"DROP TABLE ""People"";", - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "SomeField" INTEGER NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("SomeField") +SELECT "SomeField" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Drop_primary_key_string() @@ -876,21 +1299,33 @@ public override async Task Drop_primary_key_string() await base.Drop_primary_key_string(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""SomeField"" TEXT NOT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""SomeField"") -SELECT ""SomeField"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "SomeField" TEXT NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("SomeField") +SELECT "SomeField" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Add_foreign_key() @@ -898,27 +1333,43 @@ public override async Task Add_foreign_key() await base.Add_foreign_key(); AssertSql( - @"CREATE INDEX ""IX_Orders_CustomerId"" ON ""Orders"" (""CustomerId"");", - // - @"CREATE TABLE ""ef_temp_Orders"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_Orders"" PRIMARY KEY AUTOINCREMENT, - ""CustomerId"" INTEGER NOT NULL, - CONSTRAINT ""FK_Orders_Customers_CustomerId"" FOREIGN KEY (""CustomerId"") REFERENCES ""Customers"" (""Id"") ON DELETE CASCADE -);", - // - @"INSERT INTO ""ef_temp_Orders"" (""Id"", ""CustomerId"") -SELECT ""Id"", ""CustomerId"" -FROM ""Orders"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""Orders"";", - // - @"ALTER TABLE ""ef_temp_Orders"" RENAME TO ""Orders"";", - // - @"PRAGMA foreign_keys = 1;", - // - @"CREATE INDEX ""IX_Orders_CustomerId"" ON ""Orders"" (""CustomerId"");"); +""" +CREATE INDEX "IX_Orders_CustomerId" ON "Orders" ("CustomerId"); +""", + // +""" +CREATE TABLE "ef_temp_Orders" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_Orders" PRIMARY KEY AUTOINCREMENT, + "CustomerId" INTEGER NOT NULL, + CONSTRAINT "FK_Orders_Customers_CustomerId" FOREIGN KEY ("CustomerId") REFERENCES "Customers" ("Id") ON DELETE CASCADE +); +""", + // +""" +INSERT INTO "ef_temp_Orders" ("Id", "CustomerId") +SELECT "Id", "CustomerId" +FROM "Orders"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "Orders"; +""", + // +""" +ALTER TABLE "ef_temp_Orders" RENAME TO "Orders"; +""", + // +""" +PRAGMA foreign_keys = 1; +""", + // +""" +CREATE INDEX "IX_Orders_CustomerId" ON "Orders" ("CustomerId"); +"""); } public override async Task Add_foreign_key_with_name() @@ -926,27 +1377,43 @@ public override async Task Add_foreign_key_with_name() await base.Add_foreign_key_with_name(); AssertSql( - @"CREATE INDEX ""IX_Orders_CustomerId"" ON ""Orders"" (""CustomerId"");", - // - @"CREATE TABLE ""ef_temp_Orders"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_Orders"" PRIMARY KEY AUTOINCREMENT, - ""CustomerId"" INTEGER NOT NULL, - CONSTRAINT ""FK_Foo"" FOREIGN KEY (""CustomerId"") REFERENCES ""Customers"" (""Id"") ON DELETE CASCADE -);", - // - @"INSERT INTO ""ef_temp_Orders"" (""Id"", ""CustomerId"") -SELECT ""Id"", ""CustomerId"" -FROM ""Orders"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""Orders"";", - // - @"ALTER TABLE ""ef_temp_Orders"" RENAME TO ""Orders"";", - // - @"PRAGMA foreign_keys = 1;", - // - @"CREATE INDEX ""IX_Orders_CustomerId"" ON ""Orders"" (""CustomerId"");"); +""" +CREATE INDEX "IX_Orders_CustomerId" ON "Orders" ("CustomerId"); +""", + // +""" +CREATE TABLE "ef_temp_Orders" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_Orders" PRIMARY KEY AUTOINCREMENT, + "CustomerId" INTEGER NOT NULL, + CONSTRAINT "FK_Foo" FOREIGN KEY ("CustomerId") REFERENCES "Customers" ("Id") ON DELETE CASCADE +); +""", + // +""" +INSERT INTO "ef_temp_Orders" ("Id", "CustomerId") +SELECT "Id", "CustomerId" +FROM "Orders"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "Orders"; +""", + // +""" +ALTER TABLE "ef_temp_Orders" RENAME TO "Orders"; +""", + // +""" +PRAGMA foreign_keys = 1; +""", + // +""" +CREATE INDEX "IX_Orders_CustomerId" ON "Orders" ("CustomerId"); +"""); } public override async Task Drop_foreign_key() @@ -954,24 +1421,38 @@ public override async Task Drop_foreign_key() await base.Drop_foreign_key(); AssertSql( - @"DROP INDEX ""IX_Orders_CustomerId"";", - // - @"CREATE TABLE ""ef_temp_Orders"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_Orders"" PRIMARY KEY AUTOINCREMENT, - ""CustomerId"" INTEGER NOT NULL -);", - // - @"INSERT INTO ""ef_temp_Orders"" (""Id"", ""CustomerId"") -SELECT ""Id"", ""CustomerId"" -FROM ""Orders"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""Orders"";", - // - @"ALTER TABLE ""ef_temp_Orders"" RENAME TO ""Orders"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +DROP INDEX "IX_Orders_CustomerId"; +""", + // +""" +CREATE TABLE "ef_temp_Orders" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_Orders" PRIMARY KEY AUTOINCREMENT, + "CustomerId" INTEGER NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_Orders" ("Id", "CustomerId") +SELECT "Id", "CustomerId" +FROM "Orders"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "Orders"; +""", + // +""" +ALTER TABLE "ef_temp_Orders" RENAME TO "Orders"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Add_unique_constraint() @@ -979,23 +1460,35 @@ public override async Task Add_unique_constraint() await base.Add_unique_constraint(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""AlternateKeyColumn"" INTEGER NOT NULL, - CONSTRAINT ""AK_People_AlternateKeyColumn"" UNIQUE (""AlternateKeyColumn"") -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""AlternateKeyColumn"") -SELECT ""Id"", ""AlternateKeyColumn"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "AlternateKeyColumn" INTEGER NOT NULL, + CONSTRAINT "AK_People_AlternateKeyColumn" UNIQUE ("AlternateKeyColumn") +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "AlternateKeyColumn") +SELECT "Id", "AlternateKeyColumn" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Add_unique_constraint_composite_with_name() @@ -1003,24 +1496,36 @@ public override async Task Add_unique_constraint_composite_with_name() await base.Add_unique_constraint_composite_with_name(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""AlternateKeyColumn1"" INTEGER NOT NULL, - ""AlternateKeyColumn2"" INTEGER NOT NULL, - CONSTRAINT ""AK_Foo"" UNIQUE (""AlternateKeyColumn1"", ""AlternateKeyColumn2"") -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""AlternateKeyColumn1"", ""AlternateKeyColumn2"") -SELECT ""Id"", ""AlternateKeyColumn1"", ""AlternateKeyColumn2"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "AlternateKeyColumn1" INTEGER NOT NULL, + "AlternateKeyColumn2" INTEGER NOT NULL, + CONSTRAINT "AK_Foo" UNIQUE ("AlternateKeyColumn1", "AlternateKeyColumn2") +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "AlternateKeyColumn1", "AlternateKeyColumn2") +SELECT "Id", "AlternateKeyColumn1", "AlternateKeyColumn2" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Drop_unique_constraint() @@ -1028,22 +1533,34 @@ public override async Task Drop_unique_constraint() await base.Drop_unique_constraint(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""AlternateKeyColumn"" INTEGER NOT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""AlternateKeyColumn"") -SELECT ""Id"", ""AlternateKeyColumn"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "AlternateKeyColumn" INTEGER NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "AlternateKeyColumn") +SELECT "Id", "AlternateKeyColumn" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Add_check_constraint_with_name() @@ -1051,23 +1568,35 @@ public override async Task Add_check_constraint_with_name() await base.Add_check_constraint_with_name(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""DriverLicense"" INTEGER NOT NULL, - CONSTRAINT ""CK_People_Foo"" CHECK (""DriverLicense"" > 0) -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""DriverLicense"") -SELECT ""Id"", ""DriverLicense"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "DriverLicense" INTEGER NOT NULL, + CONSTRAINT "CK_People_Foo" CHECK ("DriverLicense" > 0) +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "DriverLicense") +SELECT "Id", "DriverLicense" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Alter_check_constraint() @@ -1075,23 +1604,35 @@ public override async Task Alter_check_constraint() await base.Alter_check_constraint(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""DriverLicense"" INTEGER NOT NULL, - CONSTRAINT ""CK_People_Foo"" CHECK (""DriverLicense"" > 1) -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""DriverLicense"") -SELECT ""Id"", ""DriverLicense"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "DriverLicense" INTEGER NOT NULL, + CONSTRAINT "CK_People_Foo" CHECK ("DriverLicense" > 1) +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "DriverLicense") +SELECT "Id", "DriverLicense" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } public override async Task Drop_check_constraint() @@ -1099,22 +1640,34 @@ public override async Task Drop_check_constraint() await base.Drop_check_constraint(); AssertSql( - @"CREATE TABLE ""ef_temp_People"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_People"" PRIMARY KEY AUTOINCREMENT, - ""DriverLicense"" INTEGER NOT NULL -);", - // - @"INSERT INTO ""ef_temp_People"" (""Id"", ""DriverLicense"") -SELECT ""Id"", ""DriverLicense"" -FROM ""People"";", - // - @"PRAGMA foreign_keys = 0;", - // - @"DROP TABLE ""People"";", - // - @"ALTER TABLE ""ef_temp_People"" RENAME TO ""People"";", - // - @"PRAGMA foreign_keys = 1;"); +""" +CREATE TABLE "ef_temp_People" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_People" PRIMARY KEY AUTOINCREMENT, + "DriverLicense" INTEGER NOT NULL +); +""", + // +""" +INSERT INTO "ef_temp_People" ("Id", "DriverLicense") +SELECT "Id", "DriverLicense" +FROM "People"; +""", + // +""" +PRAGMA foreign_keys = 0; +""", + // +""" +DROP TABLE "People"; +""", + // +""" +ALTER TABLE "ef_temp_People" RENAME TO "People"; +""", + // +""" +PRAGMA foreign_keys = 1; +"""); } [ConditionalFact] @@ -1140,11 +1693,13 @@ await Test( }); AssertSql( - @"CREATE TABLE ""Person"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_Person"" PRIMARY KEY AUTOINCREMENT, - ""Age"" INTEGER NOT NULL DEFAULT 18, - ""Name"" TEXT NULL -);"); +""" +CREATE TABLE "Person" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_Person" PRIMARY KEY AUTOINCREMENT, + "Age" INTEGER NOT NULL DEFAULT 18, + "Name" TEXT NULL +); +"""); } public override Task Create_sequence() diff --git a/test/EFCore.Sqlite.FunctionalTests/Migrations/SqliteMigrationsSqlGeneratorTest.cs b/test/EFCore.Sqlite.FunctionalTests/Migrations/SqliteMigrationsSqlGeneratorTest.cs index 0f9b69655e4..0ea3751096b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Migrations/SqliteMigrationsSqlGeneratorTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Migrations/SqliteMigrationsSqlGeneratorTest.cs @@ -36,11 +36,12 @@ public virtual void It_lifts_foreign_key_additions() }); AssertSql( - @"CREATE TABLE ""Pie"" ( - ""FlavorId"" INT NOT NULL, - FOREIGN KEY (""FlavorId"") REFERENCES ""Flavor"" (""Id"") +""" +CREATE TABLE "Pie" ( + "FlavorId" INT NOT NULL, + FOREIGN KEY ("FlavorId") REFERENCES "Flavor" ("Id") ); -"); +"""); } [ConditionalFact] @@ -64,10 +65,11 @@ public virtual void DefaultValue_formats_literal_correctly() }); AssertSql( - @"CREATE TABLE ""History"" ( - ""Event"" TEXT NOT NULL DEFAULT '2015-04-12 17:05:00' +""" +CREATE TABLE "History" ( + "Event" TEXT NOT NULL DEFAULT '2015-04-12 17:05:00' ); -"); +"""); } public override void DefaultValue_with_line_breaks(bool isUnicode) @@ -75,10 +77,11 @@ public override void DefaultValue_with_line_breaks(bool isUnicode) base.DefaultValue_with_line_breaks(isUnicode); AssertSql( - @"CREATE TABLE ""TestLineBreaks"" ( - ""TestDefaultValue"" TEXT NOT NULL DEFAULT ((CHAR(13) || (CHAR(10) || 'Various Line')) || (CHAR(13) || ('Breaks' || CHAR(10)))) +""" +CREATE TABLE "TestLineBreaks" ( + "TestDefaultValue" TEXT NOT NULL DEFAULT ((CHAR(13) || (CHAR(10) || 'Various Line')) || (CHAR(13) || ('Breaks' || CHAR(10)))) ); -"); +"""); } public override void DefaultValue_with_line_breaks_2(bool isUnicode) @@ -86,10 +89,11 @@ public override void DefaultValue_with_line_breaks_2(bool isUnicode) base.DefaultValue_with_line_breaks_2(isUnicode); AssertSql( - @"CREATE TABLE ""TestLineBreaks"" ( - ""TestDefaultValue"" TEXT NOT NULL DEFAULT ((((((((('0' || (CHAR(13) || CHAR(10))) || (('1' || CHAR(13)) || (CHAR(10) || '2'))) || ((CHAR(13) || (CHAR(10) || '3')) || ((CHAR(13) || CHAR(10)) || ('4' || CHAR(13))))) || (((CHAR(10) || ('5' || CHAR(13))) || ((CHAR(10) || '6') || (CHAR(13) || CHAR(10)))) || (('7' || (CHAR(13) || CHAR(10))) || (('8' || CHAR(13)) || (CHAR(10) || '9'))))) || ((((CHAR(13) || (CHAR(10) || '10')) || ((CHAR(13) || CHAR(10)) || ('11' || CHAR(13)))) || ((CHAR(10) || ('12' || CHAR(13))) || ((CHAR(10) || '13') || (CHAR(13) || CHAR(10))))) || ((('14' || (CHAR(13) || CHAR(10))) || (('15' || CHAR(13)) || (CHAR(10) || '16'))) || ((CHAR(13) || (CHAR(10) || '17')) || ((CHAR(13) || CHAR(10)) || ('18' || CHAR(13))))))) || (((((CHAR(10) || ('19' || CHAR(13))) || ((CHAR(10) || '20') || (CHAR(13) || CHAR(10)))) || (('21' || (CHAR(13) || CHAR(10))) || (('22' || CHAR(13)) || (CHAR(10) || '23')))) || (((CHAR(13) || (CHAR(10) || '24')) || ((CHAR(13) || CHAR(10)) || ('25' || CHAR(13)))) || ((CHAR(10) || ('26' || CHAR(13))) || ((CHAR(10) || '27') || (CHAR(13) || CHAR(10)))))) || (((('28' || (CHAR(13) || CHAR(10))) || (('29' || CHAR(13)) || (CHAR(10) || '30'))) || ((CHAR(13) || (CHAR(10) || '31')) || ((CHAR(13) || CHAR(10)) || ('32' || CHAR(13))))) || (((CHAR(10) || ('33' || CHAR(13))) || ((CHAR(10) || '34') || (CHAR(13) || CHAR(10)))) || (('35' || (CHAR(13) || CHAR(10))) || (('36' || CHAR(13)) || (CHAR(10) || '37'))))))) || ((((((CHAR(13) || (CHAR(10) || '38')) || ((CHAR(13) || CHAR(10)) || ('39' || CHAR(13)))) || ((CHAR(10) || ('40' || CHAR(13))) || ((CHAR(10) || '41') || (CHAR(13) || CHAR(10))))) || ((('42' || (CHAR(13) || CHAR(10))) || (('43' || CHAR(13)) || (CHAR(10) || '44'))) || ((CHAR(13) || (CHAR(10) || '45')) || ((CHAR(13) || CHAR(10)) || ('46' || CHAR(13)))))) || ((((CHAR(10) || ('47' || CHAR(13))) || ((CHAR(10) || '48') || (CHAR(13) || CHAR(10)))) || (('49' || (CHAR(13) || CHAR(10))) || (('50' || CHAR(13)) || (CHAR(10) || '51')))) || (((CHAR(13) || (CHAR(10) || '52')) || ((CHAR(13) || CHAR(10)) || ('53' || CHAR(13)))) || ((CHAR(10) || ('54' || CHAR(13))) || ((CHAR(10) || '55') || (CHAR(13) || CHAR(10))))))) || ((((('56' || (CHAR(13) || CHAR(10))) || (('57' || CHAR(13)) || (CHAR(10) || '58'))) || ((CHAR(13) || (CHAR(10) || '59')) || ((CHAR(13) || CHAR(10)) || ('60' || CHAR(13))))) || (((CHAR(10) || ('61' || CHAR(13))) || ((CHAR(10) || '62') || (CHAR(13) || CHAR(10)))) || (('63' || (CHAR(13) || CHAR(10))) || (('64' || CHAR(13)) || (CHAR(10) || '65'))))) || ((((CHAR(13) || (CHAR(10) || '66')) || ((CHAR(13) || CHAR(10)) || ('67' || CHAR(13)))) || ((CHAR(10) || ('68' || CHAR(13))) || ((CHAR(10) || '69') || (CHAR(13) || CHAR(10))))) || ((('70' || (CHAR(13) || CHAR(10))) || (('71' || CHAR(13)) || (CHAR(10) || '72'))) || (((CHAR(13) || CHAR(10)) || ('73' || CHAR(13))) || ((CHAR(10) || '74') || (CHAR(13) || CHAR(10))))))))) || ((((((('75' || (CHAR(13) || CHAR(10))) || (('76' || CHAR(13)) || (CHAR(10) || '77'))) || ((CHAR(13) || (CHAR(10) || '78')) || ((CHAR(13) || CHAR(10)) || ('79' || CHAR(13))))) || (((CHAR(10) || ('80' || CHAR(13))) || ((CHAR(10) || '81') || (CHAR(13) || CHAR(10)))) || (('82' || (CHAR(13) || CHAR(10))) || (('83' || CHAR(13)) || (CHAR(10) || '84'))))) || ((((CHAR(13) || (CHAR(10) || '85')) || ((CHAR(13) || CHAR(10)) || ('86' || CHAR(13)))) || ((CHAR(10) || ('87' || CHAR(13))) || ((CHAR(10) || '88') || (CHAR(13) || CHAR(10))))) || ((('89' || (CHAR(13) || CHAR(10))) || (('90' || CHAR(13)) || (CHAR(10) || '91'))) || ((CHAR(13) || (CHAR(10) || '92')) || ((CHAR(13) || CHAR(10)) || ('93' || CHAR(13))))))) || (((((CHAR(10) || ('94' || CHAR(13))) || ((CHAR(10) || '95') || (CHAR(13) || CHAR(10)))) || (('96' || (CHAR(13) || CHAR(10))) || (('97' || CHAR(13)) || (CHAR(10) || '98')))) || (((CHAR(13) || (CHAR(10) || '99')) || ((CHAR(13) || CHAR(10)) || ('100' || CHAR(13)))) || ((CHAR(10) || ('101' || CHAR(13))) || ((CHAR(10) || '102') || (CHAR(13) || CHAR(10)))))) || (((('103' || (CHAR(13) || CHAR(10))) || (('104' || CHAR(13)) || (CHAR(10) || '105'))) || ((CHAR(13) || (CHAR(10) || '106')) || ((CHAR(13) || CHAR(10)) || ('107' || CHAR(13))))) || (((CHAR(10) || ('108' || CHAR(13))) || ((CHAR(10) || '109') || (CHAR(13) || CHAR(10)))) || (('110' || (CHAR(13) || CHAR(10))) || (('111' || CHAR(13)) || (CHAR(10) || '112'))))))) || ((((((CHAR(13) || (CHAR(10) || '113')) || ((CHAR(13) || CHAR(10)) || ('114' || CHAR(13)))) || ((CHAR(10) || ('115' || CHAR(13))) || ((CHAR(10) || '116') || (CHAR(13) || CHAR(10))))) || ((('117' || (CHAR(13) || CHAR(10))) || (('118' || CHAR(13)) || (CHAR(10) || '119'))) || ((CHAR(13) || (CHAR(10) || '120')) || ((CHAR(13) || CHAR(10)) || ('121' || CHAR(13)))))) || ((((CHAR(10) || ('122' || CHAR(13))) || ((CHAR(10) || '123') || (CHAR(13) || CHAR(10)))) || (('124' || (CHAR(13) || CHAR(10))) || (('125' || CHAR(13)) || (CHAR(10) || '126')))) || (((CHAR(13) || (CHAR(10) || '127')) || ((CHAR(13) || CHAR(10)) || ('128' || CHAR(13)))) || ((CHAR(10) || ('129' || CHAR(13))) || ((CHAR(10) || '130') || (CHAR(13) || CHAR(10))))))) || ((((('131' || (CHAR(13) || CHAR(10))) || (('132' || CHAR(13)) || (CHAR(10) || '133'))) || ((CHAR(13) || (CHAR(10) || '134')) || ((CHAR(13) || CHAR(10)) || ('135' || CHAR(13))))) || (((CHAR(10) || ('136' || CHAR(13))) || ((CHAR(10) || '137') || (CHAR(13) || CHAR(10)))) || (('138' || (CHAR(13) || CHAR(10))) || (('139' || CHAR(13)) || (CHAR(10) || '140'))))) || ((((CHAR(13) || (CHAR(10) || '141')) || ((CHAR(13) || CHAR(10)) || ('142' || CHAR(13)))) || ((CHAR(10) || ('143' || CHAR(13))) || ((CHAR(10) || '144') || (CHAR(13) || CHAR(10))))) || ((('145' || (CHAR(13) || CHAR(10))) || (('146' || CHAR(13)) || (CHAR(10) || '147'))) || (((CHAR(13) || CHAR(10)) || ('148' || CHAR(13))) || ((CHAR(10) || '149') || (CHAR(13) || CHAR(10)))))))))) || (((((((('150' || (CHAR(13) || CHAR(10))) || (('151' || CHAR(13)) || (CHAR(10) || '152'))) || ((CHAR(13) || (CHAR(10) || '153')) || ((CHAR(13) || CHAR(10)) || ('154' || CHAR(13))))) || (((CHAR(10) || ('155' || CHAR(13))) || ((CHAR(10) || '156') || (CHAR(13) || CHAR(10)))) || (('157' || (CHAR(13) || CHAR(10))) || (('158' || CHAR(13)) || (CHAR(10) || '159'))))) || ((((CHAR(13) || (CHAR(10) || '160')) || ((CHAR(13) || CHAR(10)) || ('161' || CHAR(13)))) || ((CHAR(10) || ('162' || CHAR(13))) || ((CHAR(10) || '163') || (CHAR(13) || CHAR(10))))) || ((('164' || (CHAR(13) || CHAR(10))) || (('165' || CHAR(13)) || (CHAR(10) || '166'))) || ((CHAR(13) || (CHAR(10) || '167')) || ((CHAR(13) || CHAR(10)) || ('168' || CHAR(13))))))) || (((((CHAR(10) || ('169' || CHAR(13))) || ((CHAR(10) || '170') || (CHAR(13) || CHAR(10)))) || (('171' || (CHAR(13) || CHAR(10))) || (('172' || CHAR(13)) || (CHAR(10) || '173')))) || (((CHAR(13) || (CHAR(10) || '174')) || ((CHAR(13) || CHAR(10)) || ('175' || CHAR(13)))) || ((CHAR(10) || ('176' || CHAR(13))) || ((CHAR(10) || '177') || (CHAR(13) || CHAR(10)))))) || (((('178' || (CHAR(13) || CHAR(10))) || (('179' || CHAR(13)) || (CHAR(10) || '180'))) || ((CHAR(13) || (CHAR(10) || '181')) || ((CHAR(13) || CHAR(10)) || ('182' || CHAR(13))))) || (((CHAR(10) || ('183' || CHAR(13))) || ((CHAR(10) || '184') || (CHAR(13) || CHAR(10)))) || (('185' || (CHAR(13) || CHAR(10))) || (('186' || CHAR(13)) || (CHAR(10) || '187'))))))) || ((((((CHAR(13) || (CHAR(10) || '188')) || ((CHAR(13) || CHAR(10)) || ('189' || CHAR(13)))) || ((CHAR(10) || ('190' || CHAR(13))) || ((CHAR(10) || '191') || (CHAR(13) || CHAR(10))))) || ((('192' || (CHAR(13) || CHAR(10))) || (('193' || CHAR(13)) || (CHAR(10) || '194'))) || ((CHAR(13) || (CHAR(10) || '195')) || ((CHAR(13) || CHAR(10)) || ('196' || CHAR(13)))))) || ((((CHAR(10) || ('197' || CHAR(13))) || ((CHAR(10) || '198') || (CHAR(13) || CHAR(10)))) || (('199' || (CHAR(13) || CHAR(10))) || (('200' || CHAR(13)) || (CHAR(10) || '201')))) || (((CHAR(13) || (CHAR(10) || '202')) || ((CHAR(13) || CHAR(10)) || ('203' || CHAR(13)))) || ((CHAR(10) || ('204' || CHAR(13))) || ((CHAR(10) || '205') || (CHAR(13) || CHAR(10))))))) || ((((('206' || (CHAR(13) || CHAR(10))) || (('207' || CHAR(13)) || (CHAR(10) || '208'))) || ((CHAR(13) || (CHAR(10) || '209')) || ((CHAR(13) || CHAR(10)) || ('210' || CHAR(13))))) || (((CHAR(10) || ('211' || CHAR(13))) || ((CHAR(10) || '212') || (CHAR(13) || CHAR(10)))) || (('213' || (CHAR(13) || CHAR(10))) || (('214' || CHAR(13)) || (CHAR(10) || '215'))))) || ((((CHAR(13) || (CHAR(10) || '216')) || ((CHAR(13) || CHAR(10)) || ('217' || CHAR(13)))) || ((CHAR(10) || ('218' || CHAR(13))) || ((CHAR(10) || '219') || (CHAR(13) || CHAR(10))))) || ((('220' || (CHAR(13) || CHAR(10))) || (('221' || CHAR(13)) || (CHAR(10) || '222'))) || (((CHAR(13) || CHAR(10)) || ('223' || CHAR(13))) || ((CHAR(10) || '224') || (CHAR(13) || CHAR(10))))))))) || ((((((('225' || (CHAR(13) || CHAR(10))) || (('226' || CHAR(13)) || (CHAR(10) || '227'))) || ((CHAR(13) || (CHAR(10) || '228')) || ((CHAR(13) || CHAR(10)) || ('229' || CHAR(13))))) || (((CHAR(10) || ('230' || CHAR(13))) || ((CHAR(10) || '231') || (CHAR(13) || CHAR(10)))) || (('232' || (CHAR(13) || CHAR(10))) || (('233' || CHAR(13)) || (CHAR(10) || '234'))))) || ((((CHAR(13) || (CHAR(10) || '235')) || ((CHAR(13) || CHAR(10)) || ('236' || CHAR(13)))) || ((CHAR(10) || ('237' || CHAR(13))) || ((CHAR(10) || '238') || (CHAR(13) || CHAR(10))))) || ((('239' || (CHAR(13) || CHAR(10))) || (('240' || CHAR(13)) || (CHAR(10) || '241'))) || ((CHAR(13) || (CHAR(10) || '242')) || ((CHAR(13) || CHAR(10)) || ('243' || CHAR(13))))))) || (((((CHAR(10) || ('244' || CHAR(13))) || ((CHAR(10) || '245') || (CHAR(13) || CHAR(10)))) || (('246' || (CHAR(13) || CHAR(10))) || (('247' || CHAR(13)) || (CHAR(10) || '248')))) || (((CHAR(13) || (CHAR(10) || '249')) || ((CHAR(13) || CHAR(10)) || ('250' || CHAR(13)))) || ((CHAR(10) || ('251' || CHAR(13))) || ((CHAR(10) || '252') || (CHAR(13) || CHAR(10)))))) || (((('253' || (CHAR(13) || CHAR(10))) || (('254' || CHAR(13)) || (CHAR(10) || '255'))) || ((CHAR(13) || (CHAR(10) || '256')) || ((CHAR(13) || CHAR(10)) || ('257' || CHAR(13))))) || (((CHAR(10) || ('258' || CHAR(13))) || ((CHAR(10) || '259') || (CHAR(13) || CHAR(10)))) || (('260' || (CHAR(13) || CHAR(10))) || (('261' || CHAR(13)) || (CHAR(10) || '262'))))))) || ((((((CHAR(13) || (CHAR(10) || '263')) || ((CHAR(13) || CHAR(10)) || ('264' || CHAR(13)))) || ((CHAR(10) || ('265' || CHAR(13))) || ((CHAR(10) || '266') || (CHAR(13) || CHAR(10))))) || ((('267' || (CHAR(13) || CHAR(10))) || (('268' || CHAR(13)) || (CHAR(10) || '269'))) || ((CHAR(13) || (CHAR(10) || '270')) || ((CHAR(13) || CHAR(10)) || ('271' || CHAR(13)))))) || ((((CHAR(10) || ('272' || CHAR(13))) || ((CHAR(10) || '273') || (CHAR(13) || CHAR(10)))) || (('274' || (CHAR(13) || CHAR(10))) || (('275' || CHAR(13)) || (CHAR(10) || '276')))) || (((CHAR(13) || (CHAR(10) || '277')) || ((CHAR(13) || CHAR(10)) || ('278' || CHAR(13)))) || ((CHAR(10) || ('279' || CHAR(13))) || ((CHAR(10) || '280') || (CHAR(13) || CHAR(10))))))) || ((((('281' || (CHAR(13) || CHAR(10))) || (('282' || CHAR(13)) || (CHAR(10) || '283'))) || ((CHAR(13) || (CHAR(10) || '284')) || ((CHAR(13) || CHAR(10)) || ('285' || CHAR(13))))) || (((CHAR(10) || ('286' || CHAR(13))) || ((CHAR(10) || '287') || (CHAR(13) || CHAR(10)))) || (('288' || (CHAR(13) || CHAR(10))) || (('289' || CHAR(13)) || (CHAR(10) || '290'))))) || ((((CHAR(13) || (CHAR(10) || '291')) || ((CHAR(13) || CHAR(10)) || ('292' || CHAR(13)))) || ((CHAR(10) || ('293' || CHAR(13))) || ((CHAR(10) || '294') || (CHAR(13) || CHAR(10))))) || ((('295' || (CHAR(13) || CHAR(10))) || (('296' || CHAR(13)) || (CHAR(10) || '297'))) || (((CHAR(13) || CHAR(10)) || ('298' || CHAR(13))) || ((CHAR(10) || '299') || (CHAR(13) || CHAR(10))))))))))) +""" +CREATE TABLE "TestLineBreaks" ( + "TestDefaultValue" TEXT NOT NULL DEFAULT ((((((((('0' || (CHAR(13) || CHAR(10))) || (('1' || CHAR(13)) || (CHAR(10) || '2'))) || ((CHAR(13) || (CHAR(10) || '3')) || ((CHAR(13) || CHAR(10)) || ('4' || CHAR(13))))) || (((CHAR(10) || ('5' || CHAR(13))) || ((CHAR(10) || '6') || (CHAR(13) || CHAR(10)))) || (('7' || (CHAR(13) || CHAR(10))) || (('8' || CHAR(13)) || (CHAR(10) || '9'))))) || ((((CHAR(13) || (CHAR(10) || '10')) || ((CHAR(13) || CHAR(10)) || ('11' || CHAR(13)))) || ((CHAR(10) || ('12' || CHAR(13))) || ((CHAR(10) || '13') || (CHAR(13) || CHAR(10))))) || ((('14' || (CHAR(13) || CHAR(10))) || (('15' || CHAR(13)) || (CHAR(10) || '16'))) || ((CHAR(13) || (CHAR(10) || '17')) || ((CHAR(13) || CHAR(10)) || ('18' || CHAR(13))))))) || (((((CHAR(10) || ('19' || CHAR(13))) || ((CHAR(10) || '20') || (CHAR(13) || CHAR(10)))) || (('21' || (CHAR(13) || CHAR(10))) || (('22' || CHAR(13)) || (CHAR(10) || '23')))) || (((CHAR(13) || (CHAR(10) || '24')) || ((CHAR(13) || CHAR(10)) || ('25' || CHAR(13)))) || ((CHAR(10) || ('26' || CHAR(13))) || ((CHAR(10) || '27') || (CHAR(13) || CHAR(10)))))) || (((('28' || (CHAR(13) || CHAR(10))) || (('29' || CHAR(13)) || (CHAR(10) || '30'))) || ((CHAR(13) || (CHAR(10) || '31')) || ((CHAR(13) || CHAR(10)) || ('32' || CHAR(13))))) || (((CHAR(10) || ('33' || CHAR(13))) || ((CHAR(10) || '34') || (CHAR(13) || CHAR(10)))) || (('35' || (CHAR(13) || CHAR(10))) || (('36' || CHAR(13)) || (CHAR(10) || '37'))))))) || ((((((CHAR(13) || (CHAR(10) || '38')) || ((CHAR(13) || CHAR(10)) || ('39' || CHAR(13)))) || ((CHAR(10) || ('40' || CHAR(13))) || ((CHAR(10) || '41') || (CHAR(13) || CHAR(10))))) || ((('42' || (CHAR(13) || CHAR(10))) || (('43' || CHAR(13)) || (CHAR(10) || '44'))) || ((CHAR(13) || (CHAR(10) || '45')) || ((CHAR(13) || CHAR(10)) || ('46' || CHAR(13)))))) || ((((CHAR(10) || ('47' || CHAR(13))) || ((CHAR(10) || '48') || (CHAR(13) || CHAR(10)))) || (('49' || (CHAR(13) || CHAR(10))) || (('50' || CHAR(13)) || (CHAR(10) || '51')))) || (((CHAR(13) || (CHAR(10) || '52')) || ((CHAR(13) || CHAR(10)) || ('53' || CHAR(13)))) || ((CHAR(10) || ('54' || CHAR(13))) || ((CHAR(10) || '55') || (CHAR(13) || CHAR(10))))))) || ((((('56' || (CHAR(13) || CHAR(10))) || (('57' || CHAR(13)) || (CHAR(10) || '58'))) || ((CHAR(13) || (CHAR(10) || '59')) || ((CHAR(13) || CHAR(10)) || ('60' || CHAR(13))))) || (((CHAR(10) || ('61' || CHAR(13))) || ((CHAR(10) || '62') || (CHAR(13) || CHAR(10)))) || (('63' || (CHAR(13) || CHAR(10))) || (('64' || CHAR(13)) || (CHAR(10) || '65'))))) || ((((CHAR(13) || (CHAR(10) || '66')) || ((CHAR(13) || CHAR(10)) || ('67' || CHAR(13)))) || ((CHAR(10) || ('68' || CHAR(13))) || ((CHAR(10) || '69') || (CHAR(13) || CHAR(10))))) || ((('70' || (CHAR(13) || CHAR(10))) || (('71' || CHAR(13)) || (CHAR(10) || '72'))) || (((CHAR(13) || CHAR(10)) || ('73' || CHAR(13))) || ((CHAR(10) || '74') || (CHAR(13) || CHAR(10))))))))) || ((((((('75' || (CHAR(13) || CHAR(10))) || (('76' || CHAR(13)) || (CHAR(10) || '77'))) || ((CHAR(13) || (CHAR(10) || '78')) || ((CHAR(13) || CHAR(10)) || ('79' || CHAR(13))))) || (((CHAR(10) || ('80' || CHAR(13))) || ((CHAR(10) || '81') || (CHAR(13) || CHAR(10)))) || (('82' || (CHAR(13) || CHAR(10))) || (('83' || CHAR(13)) || (CHAR(10) || '84'))))) || ((((CHAR(13) || (CHAR(10) || '85')) || ((CHAR(13) || CHAR(10)) || ('86' || CHAR(13)))) || ((CHAR(10) || ('87' || CHAR(13))) || ((CHAR(10) || '88') || (CHAR(13) || CHAR(10))))) || ((('89' || (CHAR(13) || CHAR(10))) || (('90' || CHAR(13)) || (CHAR(10) || '91'))) || ((CHAR(13) || (CHAR(10) || '92')) || ((CHAR(13) || CHAR(10)) || ('93' || CHAR(13))))))) || (((((CHAR(10) || ('94' || CHAR(13))) || ((CHAR(10) || '95') || (CHAR(13) || CHAR(10)))) || (('96' || (CHAR(13) || CHAR(10))) || (('97' || CHAR(13)) || (CHAR(10) || '98')))) || (((CHAR(13) || (CHAR(10) || '99')) || ((CHAR(13) || CHAR(10)) || ('100' || CHAR(13)))) || ((CHAR(10) || ('101' || CHAR(13))) || ((CHAR(10) || '102') || (CHAR(13) || CHAR(10)))))) || (((('103' || (CHAR(13) || CHAR(10))) || (('104' || CHAR(13)) || (CHAR(10) || '105'))) || ((CHAR(13) || (CHAR(10) || '106')) || ((CHAR(13) || CHAR(10)) || ('107' || CHAR(13))))) || (((CHAR(10) || ('108' || CHAR(13))) || ((CHAR(10) || '109') || (CHAR(13) || CHAR(10)))) || (('110' || (CHAR(13) || CHAR(10))) || (('111' || CHAR(13)) || (CHAR(10) || '112'))))))) || ((((((CHAR(13) || (CHAR(10) || '113')) || ((CHAR(13) || CHAR(10)) || ('114' || CHAR(13)))) || ((CHAR(10) || ('115' || CHAR(13))) || ((CHAR(10) || '116') || (CHAR(13) || CHAR(10))))) || ((('117' || (CHAR(13) || CHAR(10))) || (('118' || CHAR(13)) || (CHAR(10) || '119'))) || ((CHAR(13) || (CHAR(10) || '120')) || ((CHAR(13) || CHAR(10)) || ('121' || CHAR(13)))))) || ((((CHAR(10) || ('122' || CHAR(13))) || ((CHAR(10) || '123') || (CHAR(13) || CHAR(10)))) || (('124' || (CHAR(13) || CHAR(10))) || (('125' || CHAR(13)) || (CHAR(10) || '126')))) || (((CHAR(13) || (CHAR(10) || '127')) || ((CHAR(13) || CHAR(10)) || ('128' || CHAR(13)))) || ((CHAR(10) || ('129' || CHAR(13))) || ((CHAR(10) || '130') || (CHAR(13) || CHAR(10))))))) || ((((('131' || (CHAR(13) || CHAR(10))) || (('132' || CHAR(13)) || (CHAR(10) || '133'))) || ((CHAR(13) || (CHAR(10) || '134')) || ((CHAR(13) || CHAR(10)) || ('135' || CHAR(13))))) || (((CHAR(10) || ('136' || CHAR(13))) || ((CHAR(10) || '137') || (CHAR(13) || CHAR(10)))) || (('138' || (CHAR(13) || CHAR(10))) || (('139' || CHAR(13)) || (CHAR(10) || '140'))))) || ((((CHAR(13) || (CHAR(10) || '141')) || ((CHAR(13) || CHAR(10)) || ('142' || CHAR(13)))) || ((CHAR(10) || ('143' || CHAR(13))) || ((CHAR(10) || '144') || (CHAR(13) || CHAR(10))))) || ((('145' || (CHAR(13) || CHAR(10))) || (('146' || CHAR(13)) || (CHAR(10) || '147'))) || (((CHAR(13) || CHAR(10)) || ('148' || CHAR(13))) || ((CHAR(10) || '149') || (CHAR(13) || CHAR(10)))))))))) || (((((((('150' || (CHAR(13) || CHAR(10))) || (('151' || CHAR(13)) || (CHAR(10) || '152'))) || ((CHAR(13) || (CHAR(10) || '153')) || ((CHAR(13) || CHAR(10)) || ('154' || CHAR(13))))) || (((CHAR(10) || ('155' || CHAR(13))) || ((CHAR(10) || '156') || (CHAR(13) || CHAR(10)))) || (('157' || (CHAR(13) || CHAR(10))) || (('158' || CHAR(13)) || (CHAR(10) || '159'))))) || ((((CHAR(13) || (CHAR(10) || '160')) || ((CHAR(13) || CHAR(10)) || ('161' || CHAR(13)))) || ((CHAR(10) || ('162' || CHAR(13))) || ((CHAR(10) || '163') || (CHAR(13) || CHAR(10))))) || ((('164' || (CHAR(13) || CHAR(10))) || (('165' || CHAR(13)) || (CHAR(10) || '166'))) || ((CHAR(13) || (CHAR(10) || '167')) || ((CHAR(13) || CHAR(10)) || ('168' || CHAR(13))))))) || (((((CHAR(10) || ('169' || CHAR(13))) || ((CHAR(10) || '170') || (CHAR(13) || CHAR(10)))) || (('171' || (CHAR(13) || CHAR(10))) || (('172' || CHAR(13)) || (CHAR(10) || '173')))) || (((CHAR(13) || (CHAR(10) || '174')) || ((CHAR(13) || CHAR(10)) || ('175' || CHAR(13)))) || ((CHAR(10) || ('176' || CHAR(13))) || ((CHAR(10) || '177') || (CHAR(13) || CHAR(10)))))) || (((('178' || (CHAR(13) || CHAR(10))) || (('179' || CHAR(13)) || (CHAR(10) || '180'))) || ((CHAR(13) || (CHAR(10) || '181')) || ((CHAR(13) || CHAR(10)) || ('182' || CHAR(13))))) || (((CHAR(10) || ('183' || CHAR(13))) || ((CHAR(10) || '184') || (CHAR(13) || CHAR(10)))) || (('185' || (CHAR(13) || CHAR(10))) || (('186' || CHAR(13)) || (CHAR(10) || '187'))))))) || ((((((CHAR(13) || (CHAR(10) || '188')) || ((CHAR(13) || CHAR(10)) || ('189' || CHAR(13)))) || ((CHAR(10) || ('190' || CHAR(13))) || ((CHAR(10) || '191') || (CHAR(13) || CHAR(10))))) || ((('192' || (CHAR(13) || CHAR(10))) || (('193' || CHAR(13)) || (CHAR(10) || '194'))) || ((CHAR(13) || (CHAR(10) || '195')) || ((CHAR(13) || CHAR(10)) || ('196' || CHAR(13)))))) || ((((CHAR(10) || ('197' || CHAR(13))) || ((CHAR(10) || '198') || (CHAR(13) || CHAR(10)))) || (('199' || (CHAR(13) || CHAR(10))) || (('200' || CHAR(13)) || (CHAR(10) || '201')))) || (((CHAR(13) || (CHAR(10) || '202')) || ((CHAR(13) || CHAR(10)) || ('203' || CHAR(13)))) || ((CHAR(10) || ('204' || CHAR(13))) || ((CHAR(10) || '205') || (CHAR(13) || CHAR(10))))))) || ((((('206' || (CHAR(13) || CHAR(10))) || (('207' || CHAR(13)) || (CHAR(10) || '208'))) || ((CHAR(13) || (CHAR(10) || '209')) || ((CHAR(13) || CHAR(10)) || ('210' || CHAR(13))))) || (((CHAR(10) || ('211' || CHAR(13))) || ((CHAR(10) || '212') || (CHAR(13) || CHAR(10)))) || (('213' || (CHAR(13) || CHAR(10))) || (('214' || CHAR(13)) || (CHAR(10) || '215'))))) || ((((CHAR(13) || (CHAR(10) || '216')) || ((CHAR(13) || CHAR(10)) || ('217' || CHAR(13)))) || ((CHAR(10) || ('218' || CHAR(13))) || ((CHAR(10) || '219') || (CHAR(13) || CHAR(10))))) || ((('220' || (CHAR(13) || CHAR(10))) || (('221' || CHAR(13)) || (CHAR(10) || '222'))) || (((CHAR(13) || CHAR(10)) || ('223' || CHAR(13))) || ((CHAR(10) || '224') || (CHAR(13) || CHAR(10))))))))) || ((((((('225' || (CHAR(13) || CHAR(10))) || (('226' || CHAR(13)) || (CHAR(10) || '227'))) || ((CHAR(13) || (CHAR(10) || '228')) || ((CHAR(13) || CHAR(10)) || ('229' || CHAR(13))))) || (((CHAR(10) || ('230' || CHAR(13))) || ((CHAR(10) || '231') || (CHAR(13) || CHAR(10)))) || (('232' || (CHAR(13) || CHAR(10))) || (('233' || CHAR(13)) || (CHAR(10) || '234'))))) || ((((CHAR(13) || (CHAR(10) || '235')) || ((CHAR(13) || CHAR(10)) || ('236' || CHAR(13)))) || ((CHAR(10) || ('237' || CHAR(13))) || ((CHAR(10) || '238') || (CHAR(13) || CHAR(10))))) || ((('239' || (CHAR(13) || CHAR(10))) || (('240' || CHAR(13)) || (CHAR(10) || '241'))) || ((CHAR(13) || (CHAR(10) || '242')) || ((CHAR(13) || CHAR(10)) || ('243' || CHAR(13))))))) || (((((CHAR(10) || ('244' || CHAR(13))) || ((CHAR(10) || '245') || (CHAR(13) || CHAR(10)))) || (('246' || (CHAR(13) || CHAR(10))) || (('247' || CHAR(13)) || (CHAR(10) || '248')))) || (((CHAR(13) || (CHAR(10) || '249')) || ((CHAR(13) || CHAR(10)) || ('250' || CHAR(13)))) || ((CHAR(10) || ('251' || CHAR(13))) || ((CHAR(10) || '252') || (CHAR(13) || CHAR(10)))))) || (((('253' || (CHAR(13) || CHAR(10))) || (('254' || CHAR(13)) || (CHAR(10) || '255'))) || ((CHAR(13) || (CHAR(10) || '256')) || ((CHAR(13) || CHAR(10)) || ('257' || CHAR(13))))) || (((CHAR(10) || ('258' || CHAR(13))) || ((CHAR(10) || '259') || (CHAR(13) || CHAR(10)))) || (('260' || (CHAR(13) || CHAR(10))) || (('261' || CHAR(13)) || (CHAR(10) || '262'))))))) || ((((((CHAR(13) || (CHAR(10) || '263')) || ((CHAR(13) || CHAR(10)) || ('264' || CHAR(13)))) || ((CHAR(10) || ('265' || CHAR(13))) || ((CHAR(10) || '266') || (CHAR(13) || CHAR(10))))) || ((('267' || (CHAR(13) || CHAR(10))) || (('268' || CHAR(13)) || (CHAR(10) || '269'))) || ((CHAR(13) || (CHAR(10) || '270')) || ((CHAR(13) || CHAR(10)) || ('271' || CHAR(13)))))) || ((((CHAR(10) || ('272' || CHAR(13))) || ((CHAR(10) || '273') || (CHAR(13) || CHAR(10)))) || (('274' || (CHAR(13) || CHAR(10))) || (('275' || CHAR(13)) || (CHAR(10) || '276')))) || (((CHAR(13) || (CHAR(10) || '277')) || ((CHAR(13) || CHAR(10)) || ('278' || CHAR(13)))) || ((CHAR(10) || ('279' || CHAR(13))) || ((CHAR(10) || '280') || (CHAR(13) || CHAR(10))))))) || ((((('281' || (CHAR(13) || CHAR(10))) || (('282' || CHAR(13)) || (CHAR(10) || '283'))) || ((CHAR(13) || (CHAR(10) || '284')) || ((CHAR(13) || CHAR(10)) || ('285' || CHAR(13))))) || (((CHAR(10) || ('286' || CHAR(13))) || ((CHAR(10) || '287') || (CHAR(13) || CHAR(10)))) || (('288' || (CHAR(13) || CHAR(10))) || (('289' || CHAR(13)) || (CHAR(10) || '290'))))) || ((((CHAR(13) || (CHAR(10) || '291')) || ((CHAR(13) || CHAR(10)) || ('292' || CHAR(13)))) || ((CHAR(10) || ('293' || CHAR(13))) || ((CHAR(10) || '294') || (CHAR(13) || CHAR(10))))) || ((('295' || (CHAR(13) || CHAR(10))) || (('296' || CHAR(13)) || (CHAR(10) || '297'))) || (((CHAR(13) || CHAR(10)) || ('298' || CHAR(13))) || ((CHAR(10) || '299') || (CHAR(13) || CHAR(10))))))))))) ); -"); +"""); } [ConditionalTheory] @@ -148,14 +152,15 @@ public void CreateTableOperation_with_annotations(bool autoincrement, string pkN }); AssertSql( - $@"CREATE TABLE ""People"" ( - ""Id"" INTEGER NOT NULL{(pkName != null ? $@" CONSTRAINT ""{pkName}""" : "")} PRIMARY KEY{(autoincrement ? " AUTOINCREMENT," : ",")} - ""EmployerId"" int NULL, - ""SSN"" char(11) NULL, - UNIQUE (""SSN""), - FOREIGN KEY (""EmployerId"") REFERENCES ""Companies"" (""Id"") +$""" +CREATE TABLE "People" ( + "Id" INTEGER NOT NULL{(pkName != null ? $@" CONSTRAINT ""{pkName}""" : "")} PRIMARY KEY{(autoincrement ? " AUTOINCREMENT," : ",")} + "EmployerId" int NULL, + "SSN" char(11) NULL, + UNIQUE ("SSN"), + FOREIGN KEY ("EmployerId") REFERENCES "Companies" ("Id") ); -"); +"""); } [ConditionalFact] @@ -171,8 +176,9 @@ public override void AddColumnOperation_without_column_type() base.AddColumnOperation_without_column_type(); AssertSql( - @"ALTER TABLE ""People"" ADD ""Alias"" TEXT NOT NULL; -"); +""" +ALTER TABLE "People" ADD "Alias" TEXT NOT NULL; +"""); } public override void AddColumnOperation_with_maxLength_overridden() @@ -181,8 +187,9 @@ public override void AddColumnOperation_with_maxLength_overridden() // See issue #3698 AssertSql( - @"ALTER TABLE ""Person"" ADD ""Name"" TEXT NULL; -"); +""" +ALTER TABLE "Person" ADD "Name" TEXT NULL; +"""); } public override void AddColumnOperation_with_unicode_no_model() @@ -190,8 +197,9 @@ public override void AddColumnOperation_with_unicode_no_model() base.AddColumnOperation_with_unicode_no_model(); AssertSql( - @"ALTER TABLE ""Person"" ADD ""Name"" TEXT NULL; -"); +""" +ALTER TABLE "Person" ADD "Name" TEXT NULL; +"""); } public override void AddColumnOperation_with_fixed_length_no_model() @@ -199,8 +207,9 @@ public override void AddColumnOperation_with_fixed_length_no_model() base.AddColumnOperation_with_fixed_length_no_model(); AssertSql( - @"ALTER TABLE ""Person"" ADD ""Name"" TEXT NULL; -"); +""" +ALTER TABLE "Person" ADD "Name" TEXT NULL; +"""); } public override void AddColumnOperation_with_maxLength_no_model() @@ -208,8 +217,9 @@ public override void AddColumnOperation_with_maxLength_no_model() base.AddColumnOperation_with_maxLength_no_model(); AssertSql( - @"ALTER TABLE ""Person"" ADD ""Name"" TEXT NULL; -"); +""" +ALTER TABLE "Person" ADD "Name" TEXT NULL; +"""); } public override void AddColumnOperation_with_precision_and_scale_overridden() @@ -217,8 +227,9 @@ public override void AddColumnOperation_with_precision_and_scale_overridden() base.AddColumnOperation_with_precision_and_scale_overridden(); AssertSql( - @"ALTER TABLE ""Person"" ADD ""Pi"" TEXT NOT NULL; -"); +""" +ALTER TABLE "Person" ADD "Pi" TEXT NOT NULL; +"""); } public override void AddColumnOperation_with_precision_and_scale_no_model() @@ -226,8 +237,9 @@ public override void AddColumnOperation_with_precision_and_scale_no_model() base.AddColumnOperation_with_precision_and_scale_no_model(); AssertSql( - @"ALTER TABLE ""Person"" ADD ""Pi"" TEXT NOT NULL; -"); +""" +ALTER TABLE "Person" ADD "Pi" TEXT NOT NULL; +"""); } public override void AddColumnOperation_with_unicode_overridden() @@ -235,8 +247,9 @@ public override void AddColumnOperation_with_unicode_overridden() base.AddColumnOperation_with_unicode_overridden(); AssertSql( - @"ALTER TABLE ""Person"" ADD ""Name"" TEXT NULL; -"); +""" +ALTER TABLE "Person" ADD "Name" TEXT NULL; +"""); } [ConditionalFact] @@ -253,8 +266,9 @@ public virtual void AddColumnOperation_with_spatial_type() }); AssertSql( - @"SELECT AddGeometryColumn('Geometries', 'Geometry', 4326, 'GEOMETRYZM', -1, 0); -"); +""" +SELECT AddGeometryColumn('Geometries', 'Geometry', 4326, 'GEOMETRYZM', -1, 0); +"""); } [ConditionalFact] @@ -320,8 +334,9 @@ public override void RenameTableOperation() base.RenameTableOperation(); AssertSql( - @"ALTER TABLE ""People"" RENAME TO ""Person""; -"); +""" +ALTER TABLE "People" RENAME TO "Person"; +"""); } public override void RenameTableOperation_legacy() @@ -329,8 +344,9 @@ public override void RenameTableOperation_legacy() base.RenameTableOperation_legacy(); AssertSql( - @"ALTER TABLE ""People"" RENAME TO ""Person""; -"); +""" +ALTER TABLE "People" RENAME TO "Person"; +"""); } [ConditionalFact] @@ -355,10 +371,11 @@ public virtual void CreateTableOperation_old_autoincrement_annotation() }); AssertSql( - @"CREATE TABLE ""People"" ( - ""Id"" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT +""" +CREATE TABLE "People" ( + "Id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT ); -"); +"""); } public override void SqlOperation() @@ -366,8 +383,9 @@ public override void SqlOperation() base.SqlOperation(); AssertSql( - @"-- I <3 DDL -"); +""" +-- I <3 DDL +"""); } public override void InsertDataOperation_all_args_spatial() @@ -375,23 +393,24 @@ public override void InsertDataOperation_all_args_spatial() base.InsertDataOperation_all_args_spatial(); AssertSql( - @"INSERT INTO ""People"" (""Id"", ""Full Name"", ""Geometry"") +""" +INSERT INTO "People" ("Id", "Full Name", "Geometry") VALUES (0, NULL, NULL); -INSERT INTO ""People"" (""Id"", ""Full Name"", ""Geometry"") +INSERT INTO "People" ("Id", "Full Name", "Geometry") VALUES (1, 'Daenerys Targaryen', NULL); -INSERT INTO ""People"" (""Id"", ""Full Name"", ""Geometry"") +INSERT INTO "People" ("Id", "Full Name", "Geometry") VALUES (2, 'John Snow', NULL); -INSERT INTO ""People"" (""Id"", ""Full Name"", ""Geometry"") +INSERT INTO "People" ("Id", "Full Name", "Geometry") VALUES (3, 'Arya Stark', NULL); -INSERT INTO ""People"" (""Id"", ""Full Name"", ""Geometry"") +INSERT INTO "People" ("Id", "Full Name", "Geometry") VALUES (4, 'Harry Strickland', NULL); -INSERT INTO ""People"" (""Id"", ""Full Name"", ""Geometry"") +INSERT INTO "People" ("Id", "Full Name", "Geometry") VALUES (5, 'The Imp', NULL); -INSERT INTO ""People"" (""Id"", ""Full Name"", ""Geometry"") +INSERT INTO "People" ("Id", "Full Name", "Geometry") VALUES (6, 'The Kingslayer', NULL); -INSERT INTO ""People"" (""Id"", ""Full Name"", ""Geometry"") +INSERT INTO "People" ("Id", "Full Name", "Geometry") VALUES (7, 'Aemon Targaryen', GeomFromText('GEOMETRYCOLLECTION Z(LINESTRING Z(1.1 2.2 NaN, 2.2 2.2 NaN, 2.2 1.1 NaN, 7.1 7.2 NaN), LINESTRING Z(7.1 7.2 NaN, 20.2 20.2 NaN, 20.2 1.1 NaN, 70.1 70.2 NaN), MULTIPOINT Z((1.1 2.2 NaN), (2.2 2.2 NaN), (2.2 1.1 NaN)), POLYGON Z((1.1 2.2 NaN, 2.2 2.2 NaN, 2.2 1.1 NaN, 1.1 2.2 NaN)), POLYGON Z((10.1 20.2 NaN, 20.2 20.2 NaN, 20.2 10.1 NaN, 10.1 20.2 NaN)), POINT Z(1.1 2.2 3.3), MULTILINESTRING Z((1.1 2.2 NaN, 2.2 2.2 NaN, 2.2 1.1 NaN, 7.1 7.2 NaN), (7.1 7.2 NaN, 20.2 20.2 NaN, 20.2 1.1 NaN, 70.1 70.2 NaN)), MULTIPOLYGON Z(((10.1 20.2 NaN, 20.2 20.2 NaN, 20.2 10.1 NaN, 10.1 20.2 NaN)), ((1.1 2.2 NaN, 2.2 2.2 NaN, 2.2 1.1 NaN, 1.1 2.2 NaN))))', 4326)); -"); +"""); } protected override string GetGeometryCollectionStoreType() @@ -402,9 +421,10 @@ public override void InsertDataOperation_required_args() base.InsertDataOperation_required_args(); AssertSql( - @"INSERT INTO ""People"" (""First Name"") +""" +INSERT INTO "People" ("First Name") VALUES ('John'); -"); +"""); } public override void InsertDataOperation_required_args_composite() @@ -412,9 +432,10 @@ public override void InsertDataOperation_required_args_composite() base.InsertDataOperation_required_args_composite(); AssertSql( - @"INSERT INTO ""People"" (""First Name"", ""Last Name"") +""" +INSERT INTO "People" ("First Name", "Last Name") VALUES ('John', 'Snow'); -"); +"""); } public override void InsertDataOperation_required_args_multiple_rows() @@ -422,11 +443,12 @@ public override void InsertDataOperation_required_args_multiple_rows() base.InsertDataOperation_required_args_multiple_rows(); AssertSql( - @"INSERT INTO ""People"" (""First Name"") +""" +INSERT INTO "People" ("First Name") VALUES ('John'); -INSERT INTO ""People"" (""First Name"") +INSERT INTO "People" ("First Name") VALUES ('Daenerys'); -"); +"""); } public override void InsertDataOperation_throws_for_unsupported_column_types() @@ -439,22 +461,23 @@ public override void DeleteDataOperation_all_args() base.DeleteDataOperation_all_args(); AssertSql( - @"DELETE FROM ""People"" -WHERE ""First Name"" = 'Hodor' +""" +DELETE FROM "People" +WHERE "First Name" = 'Hodor' RETURNING 1; -DELETE FROM ""People"" -WHERE ""First Name"" = 'Daenerys' +DELETE FROM "People" +WHERE "First Name" = 'Daenerys' RETURNING 1; -DELETE FROM ""People"" -WHERE ""First Name"" = 'John' +DELETE FROM "People" +WHERE "First Name" = 'John' RETURNING 1; -DELETE FROM ""People"" -WHERE ""First Name"" = 'Arya' +DELETE FROM "People" +WHERE "First Name" = 'Arya' RETURNING 1; -DELETE FROM ""People"" -WHERE ""First Name"" = 'Harry' +DELETE FROM "People" +WHERE "First Name" = 'Harry' RETURNING 1; -"); +"""); } public override void DeleteDataOperation_all_args_composite() @@ -462,22 +485,23 @@ public override void DeleteDataOperation_all_args_composite() base.DeleteDataOperation_all_args_composite(); AssertSql( - @"DELETE FROM ""People"" -WHERE ""First Name"" = 'Hodor' AND ""Last Name"" IS NULL +""" +DELETE FROM "People" +WHERE "First Name" = 'Hodor' AND "Last Name" IS NULL RETURNING 1; -DELETE FROM ""People"" -WHERE ""First Name"" = 'Daenerys' AND ""Last Name"" = 'Targaryen' +DELETE FROM "People" +WHERE "First Name" = 'Daenerys' AND "Last Name" = 'Targaryen' RETURNING 1; -DELETE FROM ""People"" -WHERE ""First Name"" = 'John' AND ""Last Name"" = 'Snow' +DELETE FROM "People" +WHERE "First Name" = 'John' AND "Last Name" = 'Snow' RETURNING 1; -DELETE FROM ""People"" -WHERE ""First Name"" = 'Arya' AND ""Last Name"" = 'Stark' +DELETE FROM "People" +WHERE "First Name" = 'Arya' AND "Last Name" = 'Stark' RETURNING 1; -DELETE FROM ""People"" -WHERE ""First Name"" = 'Harry' AND ""Last Name"" = 'Strickland' +DELETE FROM "People" +WHERE "First Name" = 'Harry' AND "Last Name" = 'Strickland' RETURNING 1; -"); +"""); } public override void DeleteDataOperation_required_args() @@ -485,10 +509,11 @@ public override void DeleteDataOperation_required_args() base.DeleteDataOperation_required_args(); AssertSql( - @"DELETE FROM ""People"" -WHERE ""Last Name"" = 'Snow' +""" +DELETE FROM "People" +WHERE "Last Name" = 'Snow' RETURNING 1; -"); +"""); } public override void DeleteDataOperation_required_args_composite() @@ -496,10 +521,11 @@ public override void DeleteDataOperation_required_args_composite() base.DeleteDataOperation_required_args_composite(); AssertSql( - @"DELETE FROM ""People"" -WHERE ""First Name"" = 'John' AND ""Last Name"" = 'Snow' +""" +DELETE FROM "People" +WHERE "First Name" = 'John' AND "Last Name" = 'Snow' RETURNING 1; -"); +"""); } public override void UpdateDataOperation_all_args() @@ -507,13 +533,14 @@ public override void UpdateDataOperation_all_args() base.UpdateDataOperation_all_args(); AssertSql( - @"UPDATE ""People"" SET ""Birthplace"" = 'Winterfell', ""House Allegiance"" = 'Stark', ""Culture"" = 'Northmen' -WHERE ""First Name"" = 'Hodor' +""" +UPDATE "People" SET "Birthplace" = 'Winterfell', "House Allegiance" = 'Stark', "Culture" = 'Northmen' +WHERE "First Name" = 'Hodor' RETURNING 1; -UPDATE ""People"" SET ""Birthplace"" = 'Dragonstone', ""House Allegiance"" = 'Targaryen', ""Culture"" = 'Valyrian' -WHERE ""First Name"" = 'Daenerys' +UPDATE "People" SET "Birthplace" = 'Dragonstone', "House Allegiance" = 'Targaryen', "Culture" = 'Valyrian' +WHERE "First Name" = 'Daenerys' RETURNING 1; -"); +"""); } public override void UpdateDataOperation_all_args_composite() @@ -521,13 +548,14 @@ public override void UpdateDataOperation_all_args_composite() base.UpdateDataOperation_all_args_composite(); AssertSql( - @"UPDATE ""People"" SET ""House Allegiance"" = 'Stark' -WHERE ""First Name"" = 'Hodor' AND ""Last Name"" IS NULL +""" +UPDATE "People" SET "House Allegiance" = 'Stark' +WHERE "First Name" = 'Hodor' AND "Last Name" IS NULL RETURNING 1; -UPDATE ""People"" SET ""House Allegiance"" = 'Targaryen' -WHERE ""First Name"" = 'Daenerys' AND ""Last Name"" = 'Targaryen' +UPDATE "People" SET "House Allegiance" = 'Targaryen' +WHERE "First Name" = 'Daenerys' AND "Last Name" = 'Targaryen' RETURNING 1; -"); +"""); } public override void UpdateDataOperation_all_args_composite_multi() @@ -535,13 +563,14 @@ public override void UpdateDataOperation_all_args_composite_multi() base.UpdateDataOperation_all_args_composite_multi(); AssertSql( - @"UPDATE ""People"" SET ""Birthplace"" = 'Winterfell', ""House Allegiance"" = 'Stark', ""Culture"" = 'Northmen' -WHERE ""First Name"" = 'Hodor' AND ""Last Name"" IS NULL +""" +UPDATE "People" SET "Birthplace" = 'Winterfell', "House Allegiance" = 'Stark', "Culture" = 'Northmen' +WHERE "First Name" = 'Hodor' AND "Last Name" IS NULL RETURNING 1; -UPDATE ""People"" SET ""Birthplace"" = 'Dragonstone', ""House Allegiance"" = 'Targaryen', ""Culture"" = 'Valyrian' -WHERE ""First Name"" = 'Daenerys' AND ""Last Name"" = 'Targaryen' +UPDATE "People" SET "Birthplace" = 'Dragonstone', "House Allegiance" = 'Targaryen', "Culture" = 'Valyrian' +WHERE "First Name" = 'Daenerys' AND "Last Name" = 'Targaryen' RETURNING 1; -"); +"""); } public override void UpdateDataOperation_all_args_multi() @@ -549,10 +578,11 @@ public override void UpdateDataOperation_all_args_multi() base.UpdateDataOperation_all_args_multi(); AssertSql( - @"UPDATE ""People"" SET ""Birthplace"" = 'Dragonstone', ""House Allegiance"" = 'Targaryen', ""Culture"" = 'Valyrian' -WHERE ""First Name"" = 'Daenerys' +""" +UPDATE "People" SET "Birthplace" = 'Dragonstone', "House Allegiance" = 'Targaryen', "Culture" = 'Valyrian' +WHERE "First Name" = 'Daenerys' RETURNING 1; -"); +"""); } public override void UpdateDataOperation_required_args() @@ -560,10 +590,11 @@ public override void UpdateDataOperation_required_args() base.UpdateDataOperation_required_args(); AssertSql( - @"UPDATE ""People"" SET ""House Allegiance"" = 'Targaryen' -WHERE ""First Name"" = 'Daenerys' +""" +UPDATE "People" SET "House Allegiance" = 'Targaryen' +WHERE "First Name" = 'Daenerys' RETURNING 1; -"); +"""); } public override void UpdateDataOperation_required_args_composite() @@ -571,10 +602,11 @@ public override void UpdateDataOperation_required_args_composite() base.UpdateDataOperation_required_args_composite(); AssertSql( - @"UPDATE ""People"" SET ""House Allegiance"" = 'Targaryen' -WHERE ""First Name"" = 'Daenerys' AND ""Last Name"" = 'Targaryen' +""" +UPDATE "People" SET "House Allegiance" = 'Targaryen' +WHERE "First Name" = 'Daenerys' AND "Last Name" = 'Targaryen' RETURNING 1; -"); +"""); } public override void UpdateDataOperation_required_args_composite_multi() @@ -582,10 +614,11 @@ public override void UpdateDataOperation_required_args_composite_multi() base.UpdateDataOperation_required_args_composite_multi(); AssertSql( - @"UPDATE ""People"" SET ""Birthplace"" = 'Dragonstone', ""House Allegiance"" = 'Targaryen', ""Culture"" = 'Valyrian' -WHERE ""First Name"" = 'Daenerys' AND ""Last Name"" = 'Targaryen' +""" +UPDATE "People" SET "Birthplace" = 'Dragonstone', "House Allegiance" = 'Targaryen', "Culture" = 'Valyrian' +WHERE "First Name" = 'Daenerys' AND "Last Name" = 'Targaryen' RETURNING 1; -"); +"""); } public override void UpdateDataOperation_required_args_multi() @@ -593,10 +626,11 @@ public override void UpdateDataOperation_required_args_multi() base.UpdateDataOperation_required_args_multi(); AssertSql( - @"UPDATE ""People"" SET ""Birthplace"" = 'Dragonstone', ""House Allegiance"" = 'Targaryen', ""Culture"" = 'Valyrian' -WHERE ""First Name"" = 'Daenerys' +""" +UPDATE "People" SET "Birthplace" = 'Dragonstone', "House Allegiance" = 'Targaryen', "Culture" = 'Valyrian' +WHERE "First Name" = 'Daenerys' RETURNING 1; -"); +"""); } public override void UpdateDataOperation_required_args_multiple_rows() @@ -604,13 +638,14 @@ public override void UpdateDataOperation_required_args_multiple_rows() base.UpdateDataOperation_required_args_multiple_rows(); AssertSql( - @"UPDATE ""People"" SET ""House Allegiance"" = 'Stark' -WHERE ""First Name"" = 'Hodor' +""" +UPDATE "People" SET "House Allegiance" = 'Stark' +WHERE "First Name" = 'Hodor' RETURNING 1; -UPDATE ""People"" SET ""House Allegiance"" = 'Targaryen' -WHERE ""First Name"" = 'Daenerys' +UPDATE "People" SET "House Allegiance" = 'Targaryen' +WHERE "First Name" = 'Daenerys' RETURNING 1; -"); +"""); } [ConditionalFact] @@ -720,8 +755,9 @@ public virtual void AddColumnOperation_with_comment_mostly_works_when_no_model() }); AssertSql( - @"ALTER TABLE ""Blogs"" ADD ""Summary"" TEXT NOT NULL; -"); +""" +ALTER TABLE "Blogs" ADD "Summary" TEXT NOT NULL; +"""); } [ConditionalFact] @@ -741,27 +777,28 @@ public virtual void DropColumn_defers_subsequent_RenameColumn() }); AssertSql( - @"CREATE TABLE ""ef_temp_Blog"" ( - ""Name"" TEXT NULL +""" +CREATE TABLE "ef_temp_Blog" ( + "Name" TEXT NULL ); GO -INSERT INTO ""ef_temp_Blog"" (""Name"") -SELECT ""Title"" -FROM ""Blog""; +INSERT INTO "ef_temp_Blog" ("Name") +SELECT "Title" +FROM "Blog"; GO PRAGMA foreign_keys = 0; GO -DROP TABLE ""Blog""; +DROP TABLE "Blog"; GO -ALTER TABLE ""ef_temp_Blog"" RENAME TO ""Blog""; +ALTER TABLE "ef_temp_Blog" RENAME TO "Blog"; GO PRAGMA foreign_keys = 1; -"); +"""); } [ConditionalFact] @@ -790,28 +827,29 @@ public virtual void Deferred_RenameColumn_defers_subsequent_AddColumn() }); AssertSql( - @"CREATE TABLE ""ef_temp_Blog"" ( - ""Name"" TEXT NULL, - ""Title"" TEXT NULL +""" +CREATE TABLE "ef_temp_Blog" ( + "Name" TEXT NULL, + "Title" TEXT NULL ); GO -INSERT INTO ""ef_temp_Blog"" (""Name"") -SELECT ""Title"" -FROM ""Blog""; +INSERT INTO "ef_temp_Blog" ("Name") +SELECT "Title" +FROM "Blog"; GO PRAGMA foreign_keys = 0; GO -DROP TABLE ""Blog""; +DROP TABLE "Blog"; GO -ALTER TABLE ""ef_temp_Blog"" RENAME TO ""Blog""; +ALTER TABLE "ef_temp_Blog" RENAME TO "Blog"; GO PRAGMA foreign_keys = 1; -"); +"""); } [ConditionalFact] @@ -841,30 +879,31 @@ public virtual void Deferred_RenameColumn_defers_subsequent_CreateIndex_unique() }); AssertSql( - @"CREATE TABLE ""ef_temp_Blog"" ( - ""Name"" TEXT NULL +""" +CREATE TABLE "ef_temp_Blog" ( + "Name" TEXT NULL ); GO -CREATE UNIQUE INDEX ""IX_Blog_Name"" ON ""ef_temp_Blog"" (""Name""); +CREATE UNIQUE INDEX "IX_Blog_Name" ON "ef_temp_Blog" ("Name"); GO -INSERT INTO ""ef_temp_Blog"" (""Name"") -SELECT ""Title"" -FROM ""Blog""; +INSERT INTO "ef_temp_Blog" ("Name") +SELECT "Title" +FROM "Blog"; GO PRAGMA foreign_keys = 0; GO -DROP TABLE ""Blog""; +DROP TABLE "Blog"; GO -ALTER TABLE ""ef_temp_Blog"" RENAME TO ""Blog""; +ALTER TABLE "ef_temp_Blog" RENAME TO "Blog"; GO PRAGMA foreign_keys = 1; -"); +"""); } [ConditionalFact] @@ -891,28 +930,29 @@ public virtual void DropColumn_defers_subsequent_AddColumn_required() }); AssertSql( - @"CREATE TABLE ""ef_temp_Blog"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_Blog"" PRIMARY KEY AUTOINCREMENT, - ""Name"" TEXT NOT NULL DEFAULT 'Overridden' +""" +CREATE TABLE "ef_temp_Blog" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_Blog" PRIMARY KEY AUTOINCREMENT, + "Name" TEXT NOT NULL DEFAULT 'Overridden' ); GO -INSERT INTO ""ef_temp_Blog"" (""Id"") -SELECT ""Id"" -FROM ""Blog""; +INSERT INTO "ef_temp_Blog" ("Id") +SELECT "Id" +FROM "Blog"; GO PRAGMA foreign_keys = 0; GO -DROP TABLE ""Blog""; +DROP TABLE "Blog"; GO -ALTER TABLE ""ef_temp_Blog"" RENAME TO ""Blog""; +ALTER TABLE "ef_temp_Blog" RENAME TO "Blog"; GO PRAGMA foreign_keys = 1; -"); +"""); } [ConditionalFact] @@ -942,31 +982,32 @@ public virtual void Deferred_AddColumn_defers_subsequent_CreateIndex() }); AssertSql( - @"CREATE TABLE ""ef_temp_Blog"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_Blog"" PRIMARY KEY AUTOINCREMENT, - ""Name"" TEXT NULL +""" +CREATE TABLE "ef_temp_Blog" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_Blog" PRIMARY KEY AUTOINCREMENT, + "Name" TEXT NULL ); GO -INSERT INTO ""ef_temp_Blog"" (""Id"") -SELECT ""Id"" -FROM ""Blog""; +INSERT INTO "ef_temp_Blog" ("Id") +SELECT "Id" +FROM "Blog"; GO PRAGMA foreign_keys = 0; GO -DROP TABLE ""Blog""; +DROP TABLE "Blog"; GO -ALTER TABLE ""ef_temp_Blog"" RENAME TO ""Blog""; +ALTER TABLE "ef_temp_Blog" RENAME TO "Blog"; GO PRAGMA foreign_keys = 1; GO -CREATE INDEX ""IX_Blog_Name"" ON ""Blog"" (""Name""); -"); +CREATE INDEX "IX_Blog_Name" ON "Blog" ("Name"); +"""); } [ConditionalFact] @@ -989,29 +1030,30 @@ public virtual void DropColumn_in_table_which_has_another_spatial_column() }); AssertSql( - @"CREATE TABLE ""ef_temp_Blog"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_Blog"" PRIMARY KEY AUTOINCREMENT, - ""Name"" TEXT NULL +""" +CREATE TABLE "ef_temp_Blog" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_Blog" PRIMARY KEY AUTOINCREMENT, + "Name" TEXT NULL ); SELECT AddGeometryColumn('ef_temp_Blog', 'Position', 4326, 'GEOMETRY', -1, 0); GO -INSERT INTO ""ef_temp_Blog"" (""Id"", ""Name"", ""Position"") -SELECT ""Id"", ""Name"", ""Position"" -FROM ""Blog""; +INSERT INTO "ef_temp_Blog" ("Id", "Name", "Position") +SELECT "Id", "Name", "Position" +FROM "Blog"; GO PRAGMA foreign_keys = 0; GO -DROP TABLE ""Blog""; +DROP TABLE "Blog"; GO -ALTER TABLE ""ef_temp_Blog"" RENAME TO ""Blog""; +ALTER TABLE "ef_temp_Blog" RENAME TO "Blog"; GO PRAGMA foreign_keys = 1; -"); +"""); } [ConditionalFact] @@ -1030,30 +1072,31 @@ public virtual void RenameTable_preserves_pending_rebuilds() }); AssertSql( - @"ALTER TABLE ""Blogs"" RENAME TO ""Blog""; +""" +ALTER TABLE "Blogs" RENAME TO "Blog"; GO -CREATE TABLE ""ef_temp_Blog"" ( - ""Id"" INTEGER NOT NULL CONSTRAINT ""PK_Blog"" PRIMARY KEY AUTOINCREMENT +CREATE TABLE "ef_temp_Blog" ( + "Id" INTEGER NOT NULL CONSTRAINT "PK_Blog" PRIMARY KEY AUTOINCREMENT ); GO -INSERT INTO ""ef_temp_Blog"" (""Id"") -SELECT ""Id"" -FROM ""Blog""; +INSERT INTO "ef_temp_Blog" ("Id") +SELECT "Id" +FROM "Blog"; GO PRAGMA foreign_keys = 0; GO -DROP TABLE ""Blog""; +DROP TABLE "Blog"; GO -ALTER TABLE ""ef_temp_Blog"" RENAME TO ""Blog""; +ALTER TABLE "ef_temp_Blog" RENAME TO "Blog"; GO PRAGMA foreign_keys = 1; -"); +"""); } [ConditionalFact] @@ -1070,28 +1113,29 @@ public virtual void Rebuild_preserves_column_order() migrationBuilder => migrationBuilder.DropColumn(name: "C", table: "Ordinal")); AssertSql( - @"CREATE TABLE ""ef_temp_Ordinal"" ( - ""B"" TEXT NULL, - ""A"" TEXT NULL +""" +CREATE TABLE "ef_temp_Ordinal" ( + "B" TEXT NULL, + "A" TEXT NULL ); GO -INSERT INTO ""ef_temp_Ordinal"" (""A"", ""B"") -SELECT ""A"", ""B"" -FROM ""Ordinal""; +INSERT INTO "ef_temp_Ordinal" ("A", "B") +SELECT "A", "B" +FROM "Ordinal"; GO PRAGMA foreign_keys = 0; GO -DROP TABLE ""Ordinal""; +DROP TABLE "Ordinal"; GO -ALTER TABLE ""ef_temp_Ordinal"" RENAME TO ""Ordinal""; +ALTER TABLE "ef_temp_Ordinal" RENAME TO "Ordinal"; GO PRAGMA foreign_keys = 1; -"); +"""); } public SqliteMigrationsSqlGeneratorTest() diff --git a/test/EFCore.Sqlite.FunctionalTests/OptimisticConcurrencySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/OptimisticConcurrencySqliteTest.cs index 801464aff8f..db0c428aa44 100644 --- a/test/EFCore.Sqlite.FunctionalTests/OptimisticConcurrencySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/OptimisticConcurrencySqliteTest.cs @@ -33,21 +33,25 @@ public override void Property_entry_original_value_is_set() base.Property_entry_original_value_is_set(); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""EngineSupplierId"", ""e"".""Name"", ""e"".""StorageLocation_Latitude"", ""e"".""StorageLocation_Longitude"" -FROM ""Engines"" AS ""e"" -ORDER BY ""e"".""Id"" -LIMIT 1", +""" +SELECT "e"."Id", "e"."EngineSupplierId", "e"."Name", "e"."StorageLocation_Latitude", "e"."StorageLocation_Longitude" +FROM "Engines" AS "e" +ORDER BY "e"."Id" +LIMIT 1 +""", // - @"@p1='1' +""" +@p1='1' @p2='Mercedes' (Size = 8) @p0='FO 108X' (Size = 7) @p3='ChangedEngine' (Size = 13) @p4='47.64491' (Nullable = true) @p5='-122.128101' (Nullable = true) -UPDATE ""Engines"" SET ""Name"" = @p0 -WHERE ""Id"" = @p1 AND ""EngineSupplierId"" = @p2 AND ""Name"" = @p3 AND ""StorageLocation_Latitude"" = @p4 AND ""StorageLocation_Longitude"" = @p5 -RETURNING 1;"); +UPDATE "Engines" SET "Name" = @p0 +WHERE "Id" = @p1 AND "EngineSupplierId" = @p2 AND "Name" = @p3 AND "StorageLocation_Latitude" = @p4 AND "StorageLocation_Longitude" = @p5 +RETURNING 1; +"""); } [ConditionalFact(Skip = "Optimistic Offline Lock #2195")] diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/EntitySplittingQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/EntitySplittingQuerySqliteTest.cs index 9f8dcaad9a9..576f29899ae 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/EntitySplittingQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/EntitySplittingQuerySqliteTest.cs @@ -16,11 +16,13 @@ public override async Task Normal_entity_owning_a_split_reference_with_main_frag await base.Normal_entity_owning_a_split_reference_with_main_fragment_not_sharing(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""EntityThreeId"", ""e"".""IntValue1"", ""e"".""IntValue2"", ""e"".""IntValue3"", ""e"".""IntValue4"", ""e"".""StringValue1"", ""e"".""StringValue2"", ""e"".""StringValue3"", ""e"".""StringValue4"", ""o"".""EntityOneId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" -FROM ""EntityOnes"" AS ""e"" -LEFT JOIN ""OwnedReferences"" AS ""o"" ON ""e"".""Id"" = ""o"".""EntityOneId"" -LEFT JOIN ""OwnedReferenceExtras2"" AS ""o0"" ON ""o"".""EntityOneId"" = ""o0"".""EntityOneId"" -LEFT JOIN ""OwnedReferenceExtras1"" AS ""o1"" ON ""o"".""EntityOneId"" = ""o1"".""EntityOneId"""); +""" +SELECT "e"."Id", "e"."EntityThreeId", "e"."IntValue1", "e"."IntValue2", "e"."IntValue3", "e"."IntValue4", "e"."StringValue1", "e"."StringValue2", "e"."StringValue3", "e"."StringValue4", "o"."EntityOneId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" +FROM "EntityOnes" AS "e" +LEFT JOIN "OwnedReferences" AS "o" ON "e"."Id" = "o"."EntityOneId" +LEFT JOIN "OwnedReferenceExtras2" AS "o0" ON "o"."EntityOneId" = "o0"."EntityOneId" +LEFT JOIN "OwnedReferenceExtras1" AS "o1" ON "o"."EntityOneId" = "o1"."EntityOneId" +"""); } public override async Task Normal_entity_owning_a_split_reference_with_main_fragment_not_sharing_custom_projection(bool async) @@ -28,10 +30,12 @@ public override async Task Normal_entity_owning_a_split_reference_with_main_frag await base.Normal_entity_owning_a_split_reference_with_main_fragment_not_sharing_custom_projection(async); AssertSql( - @"SELECT ""e"".""Id"", ""o0"".""OwnedIntValue4"", ""o0"".""OwnedStringValue4"" -FROM ""EntityOnes"" AS ""e"" -LEFT JOIN ""OwnedReferences"" AS ""o"" ON ""e"".""Id"" = ""o"".""EntityOneId"" -LEFT JOIN ""OwnedReferenceExtras2"" AS ""o0"" ON ""o"".""EntityOneId"" = ""o0"".""EntityOneId"""); +""" +SELECT "e"."Id", "o0"."OwnedIntValue4", "o0"."OwnedStringValue4" +FROM "EntityOnes" AS "e" +LEFT JOIN "OwnedReferences" AS "o" ON "e"."Id" = "o"."EntityOneId" +LEFT JOIN "OwnedReferenceExtras2" AS "o0" ON "o"."EntityOneId" = "o0"."EntityOneId" +"""); } public override async Task Normal_entity_owning_a_split_collection(bool async) @@ -39,15 +43,17 @@ public override async Task Normal_entity_owning_a_split_collection(bool async) await base.Normal_entity_owning_a_split_collection(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""EntityThreeId"", ""e"".""IntValue1"", ""e"".""IntValue2"", ""e"".""IntValue3"", ""e"".""IntValue4"", ""e"".""StringValue1"", ""e"".""StringValue2"", ""e"".""StringValue3"", ""e"".""StringValue4"", ""t"".""EntityOneId"", ""t"".""Id"", ""t"".""OwnedIntValue1"", ""t"".""OwnedIntValue2"", ""t"".""OwnedIntValue3"", ""t"".""OwnedIntValue4"", ""t"".""OwnedStringValue1"", ""t"".""OwnedStringValue2"", ""t"".""OwnedStringValue3"", ""t"".""OwnedStringValue4"" -FROM ""EntityOnes"" AS ""e"" +""" +SELECT "e"."Id", "e"."EntityThreeId", "e"."IntValue1", "e"."IntValue2", "e"."IntValue3", "e"."IntValue4", "e"."StringValue1", "e"."StringValue2", "e"."StringValue3", "e"."StringValue4", "t"."EntityOneId", "t"."Id", "t"."OwnedIntValue1", "t"."OwnedIntValue2", "t"."OwnedIntValue3", "t"."OwnedIntValue4", "t"."OwnedStringValue1", "t"."OwnedStringValue2", "t"."OwnedStringValue3", "t"."OwnedStringValue4" +FROM "EntityOnes" AS "e" LEFT JOIN ( - SELECT ""o"".""EntityOneId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" - FROM ""OwnedCollection"" AS ""o"" - INNER JOIN ""OwnedCollectionExtras2"" AS ""o0"" ON ""o"".""EntityOneId"" = ""o0"".""EntityOneId"" AND ""o"".""Id"" = ""o0"".""Id"" - INNER JOIN ""OwnedCollectionExtras1"" AS ""o1"" ON ""o"".""EntityOneId"" = ""o1"".""EntityOneId"" AND ""o"".""Id"" = ""o1"".""Id"" -) AS ""t"" ON ""e"".""Id"" = ""t"".""EntityOneId"" -ORDER BY ""e"".""Id"", ""t"".""EntityOneId"""); + SELECT "o"."EntityOneId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" + FROM "OwnedCollection" AS "o" + INNER JOIN "OwnedCollectionExtras2" AS "o0" ON "o"."EntityOneId" = "o0"."EntityOneId" AND "o"."Id" = "o0"."Id" + INNER JOIN "OwnedCollectionExtras1" AS "o1" ON "o"."EntityOneId" = "o1"."EntityOneId" AND "o"."Id" = "o1"."Id" +) AS "t" ON "e"."Id" = "t"."EntityOneId" +ORDER BY "e"."Id", "t"."EntityOneId" +"""); } public override async Task Split_entity_owning_a_split_reference_without_table_sharing(bool async) @@ -55,13 +61,15 @@ public override async Task Split_entity_owning_a_split_reference_without_table_s await base.Split_entity_owning_a_split_reference_without_table_sharing(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""EntityThreeId"", ""e"".""IntValue1"", ""e"".""IntValue2"", ""s0"".""IntValue3"", ""s"".""IntValue4"", ""e"".""StringValue1"", ""e"".""StringValue2"", ""s0"".""StringValue3"", ""s"".""StringValue4"", ""o"".""EntityOneId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" -FROM ""EntityOne"" AS ""e"" -INNER JOIN ""SplitEntityOnePart3"" AS ""s"" ON ""e"".""Id"" = ""s"".""Id"" -INNER JOIN ""SplitEntityOnePart2"" AS ""s0"" ON ""e"".""Id"" = ""s0"".""Id"" -LEFT JOIN ""OwnedReferences"" AS ""o"" ON ""e"".""Id"" = ""o"".""EntityOneId"" -LEFT JOIN ""OwnedReferenceExtras2"" AS ""o0"" ON ""o"".""EntityOneId"" = ""o0"".""EntityOneId"" -LEFT JOIN ""OwnedReferenceExtras1"" AS ""o1"" ON ""o"".""EntityOneId"" = ""o1"".""EntityOneId"""); +""" +SELECT "e"."Id", "e"."EntityThreeId", "e"."IntValue1", "e"."IntValue2", "s0"."IntValue3", "s"."IntValue4", "e"."StringValue1", "e"."StringValue2", "s0"."StringValue3", "s"."StringValue4", "o"."EntityOneId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" +FROM "EntityOne" AS "e" +INNER JOIN "SplitEntityOnePart3" AS "s" ON "e"."Id" = "s"."Id" +INNER JOIN "SplitEntityOnePart2" AS "s0" ON "e"."Id" = "s0"."Id" +LEFT JOIN "OwnedReferences" AS "o" ON "e"."Id" = "o"."EntityOneId" +LEFT JOIN "OwnedReferenceExtras2" AS "o0" ON "o"."EntityOneId" = "o0"."EntityOneId" +LEFT JOIN "OwnedReferenceExtras1" AS "o1" ON "o"."EntityOneId" = "o1"."EntityOneId" +"""); } public override async Task Split_entity_owning_a_split_collection(bool async) @@ -69,17 +77,19 @@ public override async Task Split_entity_owning_a_split_collection(bool async) await base.Split_entity_owning_a_split_collection(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""EntityThreeId"", ""e"".""IntValue1"", ""e"".""IntValue2"", ""s0"".""IntValue3"", ""s"".""IntValue4"", ""e"".""StringValue1"", ""e"".""StringValue2"", ""s0"".""StringValue3"", ""s"".""StringValue4"", ""t"".""EntityOneId"", ""t"".""Id"", ""t"".""OwnedIntValue1"", ""t"".""OwnedIntValue2"", ""t"".""OwnedIntValue3"", ""t"".""OwnedIntValue4"", ""t"".""OwnedStringValue1"", ""t"".""OwnedStringValue2"", ""t"".""OwnedStringValue3"", ""t"".""OwnedStringValue4"" -FROM ""EntityOne"" AS ""e"" -INNER JOIN ""SplitEntityOnePart3"" AS ""s"" ON ""e"".""Id"" = ""s"".""Id"" -INNER JOIN ""SplitEntityOnePart2"" AS ""s0"" ON ""e"".""Id"" = ""s0"".""Id"" +""" +SELECT "e"."Id", "e"."EntityThreeId", "e"."IntValue1", "e"."IntValue2", "s0"."IntValue3", "s"."IntValue4", "e"."StringValue1", "e"."StringValue2", "s0"."StringValue3", "s"."StringValue4", "t"."EntityOneId", "t"."Id", "t"."OwnedIntValue1", "t"."OwnedIntValue2", "t"."OwnedIntValue3", "t"."OwnedIntValue4", "t"."OwnedStringValue1", "t"."OwnedStringValue2", "t"."OwnedStringValue3", "t"."OwnedStringValue4" +FROM "EntityOne" AS "e" +INNER JOIN "SplitEntityOnePart3" AS "s" ON "e"."Id" = "s"."Id" +INNER JOIN "SplitEntityOnePart2" AS "s0" ON "e"."Id" = "s0"."Id" LEFT JOIN ( - SELECT ""o"".""EntityOneId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" - FROM ""OwnedCollection"" AS ""o"" - INNER JOIN ""OwnedCollectionExtras2"" AS ""o0"" ON ""o"".""EntityOneId"" = ""o0"".""EntityOneId"" AND ""o"".""Id"" = ""o0"".""Id"" - INNER JOIN ""OwnedCollectionExtras1"" AS ""o1"" ON ""o"".""EntityOneId"" = ""o1"".""EntityOneId"" AND ""o"".""Id"" = ""o1"".""Id"" -) AS ""t"" ON ""e"".""Id"" = ""t"".""EntityOneId"" -ORDER BY ""e"".""Id"", ""t"".""EntityOneId"""); + SELECT "o"."EntityOneId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" + FROM "OwnedCollection" AS "o" + INNER JOIN "OwnedCollectionExtras2" AS "o0" ON "o"."EntityOneId" = "o0"."EntityOneId" AND "o"."Id" = "o0"."Id" + INNER JOIN "OwnedCollectionExtras1" AS "o1" ON "o"."EntityOneId" = "o1"."EntityOneId" AND "o"."Id" = "o1"."Id" +) AS "t" ON "e"."Id" = "t"."EntityOneId" +ORDER BY "e"."Id", "t"."EntityOneId" +"""); } public override async Task Split_entity_owning_a_split_reference_with_table_sharing_6(bool async) @@ -87,12 +97,14 @@ public override async Task Split_entity_owning_a_split_reference_with_table_shar await base.Split_entity_owning_a_split_reference_with_table_sharing_6(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""EntityThreeId"", ""s"".""IntValue1"", ""s"".""IntValue2"", ""s1"".""IntValue3"", ""s0"".""IntValue4"", ""s"".""StringValue1"", ""s"".""StringValue2"", ""s1"".""StringValue3"", ""s0"".""StringValue4"", ""s1"".""Id"", ""s1"".""OwnedReference_Id"", ""s1"".""OwnedReference_OwnedIntValue1"", ""s1"".""OwnedReference_OwnedIntValue2"", ""o0"".""OwnedIntValue3"", ""o"".""OwnedIntValue4"", ""s1"".""OwnedReference_OwnedStringValue1"", ""s1"".""OwnedReference_OwnedStringValue2"", ""o0"".""OwnedStringValue3"", ""o"".""OwnedStringValue4"" -FROM ""SplitEntityOnePart1"" AS ""s"" -INNER JOIN ""SplitEntityOnePart3"" AS ""s0"" ON ""s"".""Id"" = ""s0"".""Id"" -INNER JOIN ""SplitEntityOnePart2"" AS ""s1"" ON ""s"".""Id"" = ""s1"".""Id"" -LEFT JOIN ""OwnedReferencePart3"" AS ""o"" ON ""s1"".""Id"" = ""o"".""EntityOneId"" -LEFT JOIN ""OwnedReferencePart2"" AS ""o0"" ON ""s1"".""Id"" = ""o0"".""EntityOneId"""); +""" +SELECT "s"."Id", "s"."EntityThreeId", "s"."IntValue1", "s"."IntValue2", "s1"."IntValue3", "s0"."IntValue4", "s"."StringValue1", "s"."StringValue2", "s1"."StringValue3", "s0"."StringValue4", "s1"."Id", "s1"."OwnedReference_Id", "s1"."OwnedReference_OwnedIntValue1", "s1"."OwnedReference_OwnedIntValue2", "o0"."OwnedIntValue3", "o"."OwnedIntValue4", "s1"."OwnedReference_OwnedStringValue1", "s1"."OwnedReference_OwnedStringValue2", "o0"."OwnedStringValue3", "o"."OwnedStringValue4" +FROM "SplitEntityOnePart1" AS "s" +INNER JOIN "SplitEntityOnePart3" AS "s0" ON "s"."Id" = "s0"."Id" +INNER JOIN "SplitEntityOnePart2" AS "s1" ON "s"."Id" = "s1"."Id" +LEFT JOIN "OwnedReferencePart3" AS "o" ON "s1"."Id" = "o"."EntityOneId" +LEFT JOIN "OwnedReferencePart2" AS "o0" ON "s1"."Id" = "o0"."EntityOneId" +"""); } public override async Task Tph_entity_owning_a_split_reference_on_base_without_table_sharing(bool async) @@ -100,11 +112,13 @@ public override async Task Tph_entity_owning_a_split_reference_on_base_without_t await base.Tph_entity_owning_a_split_reference_on_base_without_table_sharing(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""b"".""Discriminator"", ""b"".""MiddleValue"", ""b"".""SiblingValue"", ""b"".""LeafValue"", ""o"".""BaseEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" -LEFT JOIN ""OwnedReferencePart1"" AS ""o"" ON ""b"".""Id"" = ""o"".""BaseEntityId"" -LEFT JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""BaseEntityId"" = ""o0"".""BaseEntityId"" -LEFT JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""BaseEntityId"" = ""o1"".""BaseEntityId"""); +""" +SELECT "b"."Id", "b"."BaseValue", "b"."Discriminator", "b"."MiddleValue", "b"."SiblingValue", "b"."LeafValue", "o"."BaseEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" +FROM "BaseEntity" AS "b" +LEFT JOIN "OwnedReferencePart1" AS "o" ON "b"."Id" = "o"."BaseEntityId" +LEFT JOIN "OwnedReferencePart4" AS "o0" ON "o"."BaseEntityId" = "o0"."BaseEntityId" +LEFT JOIN "OwnedReferencePart3" AS "o1" ON "o"."BaseEntityId" = "o1"."BaseEntityId" +"""); } public override async Task Tpt_entity_owning_a_split_reference_on_base_without_table_sharing(bool async) @@ -112,18 +126,20 @@ public override async Task Tpt_entity_owning_a_split_reference_on_base_without_t await base.Tpt_entity_owning_a_split_reference_on_base_without_table_sharing(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""m"".""MiddleValue"", ""s"".""SiblingValue"", ""l"".""LeafValue"", CASE - WHEN ""l"".""Id"" IS NOT NULL THEN 'LeafEntity' - WHEN ""s"".""Id"" IS NOT NULL THEN 'SiblingEntity' - WHEN ""m"".""Id"" IS NOT NULL THEN 'MiddleEntity' -END AS ""Discriminator"", ""o"".""BaseEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" -LEFT JOIN ""MiddleEntity"" AS ""m"" ON ""b"".""Id"" = ""m"".""Id"" -LEFT JOIN ""SiblingEntity"" AS ""s"" ON ""b"".""Id"" = ""s"".""Id"" -LEFT JOIN ""LeafEntity"" AS ""l"" ON ""b"".""Id"" = ""l"".""Id"" -LEFT JOIN ""OwnedReferencePart1"" AS ""o"" ON ""b"".""Id"" = ""o"".""BaseEntityId"" -LEFT JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""BaseEntityId"" = ""o0"".""BaseEntityId"" -LEFT JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""BaseEntityId"" = ""o1"".""BaseEntityId"""); +""" +SELECT "b"."Id", "b"."BaseValue", "m"."MiddleValue", "s"."SiblingValue", "l"."LeafValue", CASE + WHEN "l"."Id" IS NOT NULL THEN 'LeafEntity' + WHEN "s"."Id" IS NOT NULL THEN 'SiblingEntity' + WHEN "m"."Id" IS NOT NULL THEN 'MiddleEntity' +END AS "Discriminator", "o"."BaseEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" +FROM "BaseEntity" AS "b" +LEFT JOIN "MiddleEntity" AS "m" ON "b"."Id" = "m"."Id" +LEFT JOIN "SiblingEntity" AS "s" ON "b"."Id" = "s"."Id" +LEFT JOIN "LeafEntity" AS "l" ON "b"."Id" = "l"."Id" +LEFT JOIN "OwnedReferencePart1" AS "o" ON "b"."Id" = "o"."BaseEntityId" +LEFT JOIN "OwnedReferencePart4" AS "o0" ON "o"."BaseEntityId" = "o0"."BaseEntityId" +LEFT JOIN "OwnedReferencePart3" AS "o1" ON "o"."BaseEntityId" = "o1"."BaseEntityId" +"""); } public override async Task Tph_entity_owning_a_split_reference_on_middle_without_table_sharing(bool async) @@ -131,11 +147,13 @@ public override async Task Tph_entity_owning_a_split_reference_on_middle_without await base.Tph_entity_owning_a_split_reference_on_middle_without_table_sharing(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""b"".""Discriminator"", ""b"".""MiddleValue"", ""b"".""SiblingValue"", ""b"".""LeafValue"", ""o"".""MiddleEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" -LEFT JOIN ""OwnedReferencePart1"" AS ""o"" ON ""b"".""Id"" = ""o"".""MiddleEntityId"" -LEFT JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""MiddleEntityId"" = ""o0"".""MiddleEntityId"" -LEFT JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""MiddleEntityId"" = ""o1"".""MiddleEntityId"""); +""" +SELECT "b"."Id", "b"."BaseValue", "b"."Discriminator", "b"."MiddleValue", "b"."SiblingValue", "b"."LeafValue", "o"."MiddleEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" +FROM "BaseEntity" AS "b" +LEFT JOIN "OwnedReferencePart1" AS "o" ON "b"."Id" = "o"."MiddleEntityId" +LEFT JOIN "OwnedReferencePart4" AS "o0" ON "o"."MiddleEntityId" = "o0"."MiddleEntityId" +LEFT JOIN "OwnedReferencePart3" AS "o1" ON "o"."MiddleEntityId" = "o1"."MiddleEntityId" +"""); } public override async Task Tpt_entity_owning_a_split_reference_on_middle_without_table_sharing(bool async) @@ -143,18 +161,20 @@ public override async Task Tpt_entity_owning_a_split_reference_on_middle_without await base.Tpt_entity_owning_a_split_reference_on_middle_without_table_sharing(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""m"".""MiddleValue"", ""s"".""SiblingValue"", ""l"".""LeafValue"", CASE - WHEN ""l"".""Id"" IS NOT NULL THEN 'LeafEntity' - WHEN ""s"".""Id"" IS NOT NULL THEN 'SiblingEntity' - WHEN ""m"".""Id"" IS NOT NULL THEN 'MiddleEntity' -END AS ""Discriminator"", ""o"".""MiddleEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" -LEFT JOIN ""MiddleEntity"" AS ""m"" ON ""b"".""Id"" = ""m"".""Id"" -LEFT JOIN ""SiblingEntity"" AS ""s"" ON ""b"".""Id"" = ""s"".""Id"" -LEFT JOIN ""LeafEntity"" AS ""l"" ON ""b"".""Id"" = ""l"".""Id"" -LEFT JOIN ""OwnedReferencePart1"" AS ""o"" ON ""b"".""Id"" = ""o"".""MiddleEntityId"" -LEFT JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""MiddleEntityId"" = ""o0"".""MiddleEntityId"" -LEFT JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""MiddleEntityId"" = ""o1"".""MiddleEntityId"""); +""" +SELECT "b"."Id", "b"."BaseValue", "m"."MiddleValue", "s"."SiblingValue", "l"."LeafValue", CASE + WHEN "l"."Id" IS NOT NULL THEN 'LeafEntity' + WHEN "s"."Id" IS NOT NULL THEN 'SiblingEntity' + WHEN "m"."Id" IS NOT NULL THEN 'MiddleEntity' +END AS "Discriminator", "o"."MiddleEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" +FROM "BaseEntity" AS "b" +LEFT JOIN "MiddleEntity" AS "m" ON "b"."Id" = "m"."Id" +LEFT JOIN "SiblingEntity" AS "s" ON "b"."Id" = "s"."Id" +LEFT JOIN "LeafEntity" AS "l" ON "b"."Id" = "l"."Id" +LEFT JOIN "OwnedReferencePart1" AS "o" ON "b"."Id" = "o"."MiddleEntityId" +LEFT JOIN "OwnedReferencePart4" AS "o0" ON "o"."MiddleEntityId" = "o0"."MiddleEntityId" +LEFT JOIN "OwnedReferencePart3" AS "o1" ON "o"."MiddleEntityId" = "o1"."MiddleEntityId" +"""); } public override async Task Tph_entity_owning_a_split_reference_on_leaf_without_table_sharing(bool async) @@ -162,11 +182,13 @@ public override async Task Tph_entity_owning_a_split_reference_on_leaf_without_t await base.Tph_entity_owning_a_split_reference_on_leaf_without_table_sharing(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""b"".""Discriminator"", ""b"".""MiddleValue"", ""b"".""SiblingValue"", ""b"".""LeafValue"", ""o"".""LeafEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" -LEFT JOIN ""OwnedReferencePart1"" AS ""o"" ON ""b"".""Id"" = ""o"".""LeafEntityId"" -LEFT JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""LeafEntityId"" = ""o0"".""LeafEntityId"" -LEFT JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""LeafEntityId"" = ""o1"".""LeafEntityId"""); +""" +SELECT "b"."Id", "b"."BaseValue", "b"."Discriminator", "b"."MiddleValue", "b"."SiblingValue", "b"."LeafValue", "o"."LeafEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" +FROM "BaseEntity" AS "b" +LEFT JOIN "OwnedReferencePart1" AS "o" ON "b"."Id" = "o"."LeafEntityId" +LEFT JOIN "OwnedReferencePart4" AS "o0" ON "o"."LeafEntityId" = "o0"."LeafEntityId" +LEFT JOIN "OwnedReferencePart3" AS "o1" ON "o"."LeafEntityId" = "o1"."LeafEntityId" +"""); } public override async Task Tpt_entity_owning_a_split_reference_on_leaf_without_table_sharing(bool async) @@ -174,18 +196,20 @@ public override async Task Tpt_entity_owning_a_split_reference_on_leaf_without_t await base.Tpt_entity_owning_a_split_reference_on_leaf_without_table_sharing(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""m"".""MiddleValue"", ""s"".""SiblingValue"", ""l"".""LeafValue"", CASE - WHEN ""l"".""Id"" IS NOT NULL THEN 'LeafEntity' - WHEN ""s"".""Id"" IS NOT NULL THEN 'SiblingEntity' - WHEN ""m"".""Id"" IS NOT NULL THEN 'MiddleEntity' -END AS ""Discriminator"", ""o"".""LeafEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" -LEFT JOIN ""MiddleEntity"" AS ""m"" ON ""b"".""Id"" = ""m"".""Id"" -LEFT JOIN ""SiblingEntity"" AS ""s"" ON ""b"".""Id"" = ""s"".""Id"" -LEFT JOIN ""LeafEntity"" AS ""l"" ON ""b"".""Id"" = ""l"".""Id"" -LEFT JOIN ""OwnedReferencePart1"" AS ""o"" ON ""b"".""Id"" = ""o"".""LeafEntityId"" -LEFT JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""LeafEntityId"" = ""o0"".""LeafEntityId"" -LEFT JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""LeafEntityId"" = ""o1"".""LeafEntityId"""); +""" +SELECT "b"."Id", "b"."BaseValue", "m"."MiddleValue", "s"."SiblingValue", "l"."LeafValue", CASE + WHEN "l"."Id" IS NOT NULL THEN 'LeafEntity' + WHEN "s"."Id" IS NOT NULL THEN 'SiblingEntity' + WHEN "m"."Id" IS NOT NULL THEN 'MiddleEntity' +END AS "Discriminator", "o"."LeafEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" +FROM "BaseEntity" AS "b" +LEFT JOIN "MiddleEntity" AS "m" ON "b"."Id" = "m"."Id" +LEFT JOIN "SiblingEntity" AS "s" ON "b"."Id" = "s"."Id" +LEFT JOIN "LeafEntity" AS "l" ON "b"."Id" = "l"."Id" +LEFT JOIN "OwnedReferencePart1" AS "o" ON "b"."Id" = "o"."LeafEntityId" +LEFT JOIN "OwnedReferencePart4" AS "o0" ON "o"."LeafEntityId" = "o0"."LeafEntityId" +LEFT JOIN "OwnedReferencePart3" AS "o1" ON "o"."LeafEntityId" = "o1"."LeafEntityId" +"""); } public override async Task Tpc_entity_owning_a_split_reference_on_leaf_without_table_sharing(bool async) @@ -193,23 +217,25 @@ public override async Task Tpc_entity_owning_a_split_reference_on_leaf_without_t await base.Tpc_entity_owning_a_split_reference_on_leaf_without_table_sharing(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""BaseValue"", ""t"".""MiddleValue"", ""t"".""SiblingValue"", ""t"".""LeafValue"", ""t"".""Discriminator"", ""o"".""LeafEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" +""" +SELECT "t"."Id", "t"."BaseValue", "t"."MiddleValue", "t"."SiblingValue", "t"."LeafValue", "t"."Discriminator", "o"."LeafEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" FROM ( - SELECT ""b"".""Id"", ""b"".""BaseValue"", NULL AS ""MiddleValue"", NULL AS ""SiblingValue"", NULL AS ""LeafValue"", 'BaseEntity' AS ""Discriminator"" - FROM ""BaseEntity"" AS ""b"" + SELECT "b"."Id", "b"."BaseValue", NULL AS "MiddleValue", NULL AS "SiblingValue", NULL AS "LeafValue", 'BaseEntity' AS "Discriminator" + FROM "BaseEntity" AS "b" UNION ALL - SELECT ""m"".""Id"", ""m"".""BaseValue"", ""m"".""MiddleValue"", NULL AS ""SiblingValue"", NULL AS ""LeafValue"", 'MiddleEntity' AS ""Discriminator"" - FROM ""MiddleEntity"" AS ""m"" + SELECT "m"."Id", "m"."BaseValue", "m"."MiddleValue", NULL AS "SiblingValue", NULL AS "LeafValue", 'MiddleEntity' AS "Discriminator" + FROM "MiddleEntity" AS "m" UNION ALL - SELECT ""s"".""Id"", ""s"".""BaseValue"", NULL AS ""MiddleValue"", ""s"".""SiblingValue"", NULL AS ""LeafValue"", 'SiblingEntity' AS ""Discriminator"" - FROM ""SiblingEntity"" AS ""s"" + SELECT "s"."Id", "s"."BaseValue", NULL AS "MiddleValue", "s"."SiblingValue", NULL AS "LeafValue", 'SiblingEntity' AS "Discriminator" + FROM "SiblingEntity" AS "s" UNION ALL - SELECT ""l"".""Id"", ""l"".""BaseValue"", ""l"".""MiddleValue"", NULL AS ""SiblingValue"", ""l"".""LeafValue"", 'LeafEntity' AS ""Discriminator"" - FROM ""LeafEntity"" AS ""l"" -) AS ""t"" -LEFT JOIN ""OwnedReferencePart1"" AS ""o"" ON ""t"".""Id"" = ""o"".""LeafEntityId"" -LEFT JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""LeafEntityId"" = ""o0"".""LeafEntityId"" -LEFT JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""LeafEntityId"" = ""o1"".""LeafEntityId"""); + SELECT "l"."Id", "l"."BaseValue", "l"."MiddleValue", NULL AS "SiblingValue", "l"."LeafValue", 'LeafEntity' AS "Discriminator" + FROM "LeafEntity" AS "l" +) AS "t" +LEFT JOIN "OwnedReferencePart1" AS "o" ON "t"."Id" = "o"."LeafEntityId" +LEFT JOIN "OwnedReferencePart4" AS "o0" ON "o"."LeafEntityId" = "o0"."LeafEntityId" +LEFT JOIN "OwnedReferencePart3" AS "o1" ON "o"."LeafEntityId" = "o1"."LeafEntityId" +"""); } public override async Task Tph_entity_owning_a_split_collection_on_base(bool async) @@ -217,15 +243,17 @@ public override async Task Tph_entity_owning_a_split_collection_on_base(bool asy await base.Tph_entity_owning_a_split_collection_on_base(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""b"".""Discriminator"", ""b"".""MiddleValue"", ""b"".""SiblingValue"", ""b"".""LeafValue"", ""t"".""BaseEntityId"", ""t"".""Id"", ""t"".""OwnedIntValue1"", ""t"".""OwnedIntValue2"", ""t"".""OwnedIntValue3"", ""t"".""OwnedIntValue4"", ""t"".""OwnedStringValue1"", ""t"".""OwnedStringValue2"", ""t"".""OwnedStringValue3"", ""t"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" +""" +SELECT "b"."Id", "b"."BaseValue", "b"."Discriminator", "b"."MiddleValue", "b"."SiblingValue", "b"."LeafValue", "t"."BaseEntityId", "t"."Id", "t"."OwnedIntValue1", "t"."OwnedIntValue2", "t"."OwnedIntValue3", "t"."OwnedIntValue4", "t"."OwnedStringValue1", "t"."OwnedStringValue2", "t"."OwnedStringValue3", "t"."OwnedStringValue4" +FROM "BaseEntity" AS "b" LEFT JOIN ( - SELECT ""o"".""BaseEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" - FROM ""OwnedReferencePart1"" AS ""o"" - INNER JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""BaseEntityId"" = ""o0"".""BaseEntityId"" AND ""o"".""Id"" = ""o0"".""Id"" - INNER JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""BaseEntityId"" = ""o1"".""BaseEntityId"" AND ""o"".""Id"" = ""o1"".""Id"" -) AS ""t"" ON ""b"".""Id"" = ""t"".""BaseEntityId"" -ORDER BY ""b"".""Id"", ""t"".""BaseEntityId"""); + SELECT "o"."BaseEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" + FROM "OwnedReferencePart1" AS "o" + INNER JOIN "OwnedReferencePart4" AS "o0" ON "o"."BaseEntityId" = "o0"."BaseEntityId" AND "o"."Id" = "o0"."Id" + INNER JOIN "OwnedReferencePart3" AS "o1" ON "o"."BaseEntityId" = "o1"."BaseEntityId" AND "o"."Id" = "o1"."Id" +) AS "t" ON "b"."Id" = "t"."BaseEntityId" +ORDER BY "b"."Id", "t"."BaseEntityId" +"""); } public override async Task Tpt_entity_owning_a_split_collection_on_base(bool async) @@ -233,22 +261,24 @@ public override async Task Tpt_entity_owning_a_split_collection_on_base(bool asy await base.Tpt_entity_owning_a_split_collection_on_base(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""m"".""MiddleValue"", ""s"".""SiblingValue"", ""l"".""LeafValue"", CASE - WHEN ""l"".""Id"" IS NOT NULL THEN 'LeafEntity' - WHEN ""s"".""Id"" IS NOT NULL THEN 'SiblingEntity' - WHEN ""m"".""Id"" IS NOT NULL THEN 'MiddleEntity' -END AS ""Discriminator"", ""t"".""BaseEntityId"", ""t"".""Id"", ""t"".""OwnedIntValue1"", ""t"".""OwnedIntValue2"", ""t"".""OwnedIntValue3"", ""t"".""OwnedIntValue4"", ""t"".""OwnedStringValue1"", ""t"".""OwnedStringValue2"", ""t"".""OwnedStringValue3"", ""t"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" -LEFT JOIN ""MiddleEntity"" AS ""m"" ON ""b"".""Id"" = ""m"".""Id"" -LEFT JOIN ""SiblingEntity"" AS ""s"" ON ""b"".""Id"" = ""s"".""Id"" -LEFT JOIN ""LeafEntity"" AS ""l"" ON ""b"".""Id"" = ""l"".""Id"" +""" +SELECT "b"."Id", "b"."BaseValue", "m"."MiddleValue", "s"."SiblingValue", "l"."LeafValue", CASE + WHEN "l"."Id" IS NOT NULL THEN 'LeafEntity' + WHEN "s"."Id" IS NOT NULL THEN 'SiblingEntity' + WHEN "m"."Id" IS NOT NULL THEN 'MiddleEntity' +END AS "Discriminator", "t"."BaseEntityId", "t"."Id", "t"."OwnedIntValue1", "t"."OwnedIntValue2", "t"."OwnedIntValue3", "t"."OwnedIntValue4", "t"."OwnedStringValue1", "t"."OwnedStringValue2", "t"."OwnedStringValue3", "t"."OwnedStringValue4" +FROM "BaseEntity" AS "b" +LEFT JOIN "MiddleEntity" AS "m" ON "b"."Id" = "m"."Id" +LEFT JOIN "SiblingEntity" AS "s" ON "b"."Id" = "s"."Id" +LEFT JOIN "LeafEntity" AS "l" ON "b"."Id" = "l"."Id" LEFT JOIN ( - SELECT ""o"".""BaseEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" - FROM ""OwnedReferencePart1"" AS ""o"" - INNER JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""BaseEntityId"" = ""o0"".""BaseEntityId"" AND ""o"".""Id"" = ""o0"".""Id"" - INNER JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""BaseEntityId"" = ""o1"".""BaseEntityId"" AND ""o"".""Id"" = ""o1"".""Id"" -) AS ""t"" ON ""b"".""Id"" = ""t"".""BaseEntityId"" -ORDER BY ""b"".""Id"", ""t"".""BaseEntityId"""); + SELECT "o"."BaseEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" + FROM "OwnedReferencePart1" AS "o" + INNER JOIN "OwnedReferencePart4" AS "o0" ON "o"."BaseEntityId" = "o0"."BaseEntityId" AND "o"."Id" = "o0"."Id" + INNER JOIN "OwnedReferencePart3" AS "o1" ON "o"."BaseEntityId" = "o1"."BaseEntityId" AND "o"."Id" = "o1"."Id" +) AS "t" ON "b"."Id" = "t"."BaseEntityId" +ORDER BY "b"."Id", "t"."BaseEntityId" +"""); } public override async Task Tph_entity_owning_a_split_collection_on_middle(bool async) @@ -256,15 +286,17 @@ public override async Task Tph_entity_owning_a_split_collection_on_middle(bool a await base.Tph_entity_owning_a_split_collection_on_middle(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""b"".""Discriminator"", ""b"".""MiddleValue"", ""b"".""SiblingValue"", ""b"".""LeafValue"", ""t"".""MiddleEntityId"", ""t"".""Id"", ""t"".""OwnedIntValue1"", ""t"".""OwnedIntValue2"", ""t"".""OwnedIntValue3"", ""t"".""OwnedIntValue4"", ""t"".""OwnedStringValue1"", ""t"".""OwnedStringValue2"", ""t"".""OwnedStringValue3"", ""t"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" +""" +SELECT "b"."Id", "b"."BaseValue", "b"."Discriminator", "b"."MiddleValue", "b"."SiblingValue", "b"."LeafValue", "t"."MiddleEntityId", "t"."Id", "t"."OwnedIntValue1", "t"."OwnedIntValue2", "t"."OwnedIntValue3", "t"."OwnedIntValue4", "t"."OwnedStringValue1", "t"."OwnedStringValue2", "t"."OwnedStringValue3", "t"."OwnedStringValue4" +FROM "BaseEntity" AS "b" LEFT JOIN ( - SELECT ""o"".""MiddleEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" - FROM ""OwnedReferencePart1"" AS ""o"" - INNER JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""MiddleEntityId"" = ""o0"".""MiddleEntityId"" AND ""o"".""Id"" = ""o0"".""Id"" - INNER JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""MiddleEntityId"" = ""o1"".""MiddleEntityId"" AND ""o"".""Id"" = ""o1"".""Id"" -) AS ""t"" ON ""b"".""Id"" = ""t"".""MiddleEntityId"" -ORDER BY ""b"".""Id"", ""t"".""MiddleEntityId"""); + SELECT "o"."MiddleEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" + FROM "OwnedReferencePart1" AS "o" + INNER JOIN "OwnedReferencePart4" AS "o0" ON "o"."MiddleEntityId" = "o0"."MiddleEntityId" AND "o"."Id" = "o0"."Id" + INNER JOIN "OwnedReferencePart3" AS "o1" ON "o"."MiddleEntityId" = "o1"."MiddleEntityId" AND "o"."Id" = "o1"."Id" +) AS "t" ON "b"."Id" = "t"."MiddleEntityId" +ORDER BY "b"."Id", "t"."MiddleEntityId" +"""); } public override async Task Tpt_entity_owning_a_split_collection_on_middle(bool async) @@ -272,22 +304,24 @@ public override async Task Tpt_entity_owning_a_split_collection_on_middle(bool a await base.Tpt_entity_owning_a_split_collection_on_middle(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""m"".""MiddleValue"", ""s"".""SiblingValue"", ""l"".""LeafValue"", CASE - WHEN ""l"".""Id"" IS NOT NULL THEN 'LeafEntity' - WHEN ""s"".""Id"" IS NOT NULL THEN 'SiblingEntity' - WHEN ""m"".""Id"" IS NOT NULL THEN 'MiddleEntity' -END AS ""Discriminator"", ""t"".""MiddleEntityId"", ""t"".""Id"", ""t"".""OwnedIntValue1"", ""t"".""OwnedIntValue2"", ""t"".""OwnedIntValue3"", ""t"".""OwnedIntValue4"", ""t"".""OwnedStringValue1"", ""t"".""OwnedStringValue2"", ""t"".""OwnedStringValue3"", ""t"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" -LEFT JOIN ""MiddleEntity"" AS ""m"" ON ""b"".""Id"" = ""m"".""Id"" -LEFT JOIN ""SiblingEntity"" AS ""s"" ON ""b"".""Id"" = ""s"".""Id"" -LEFT JOIN ""LeafEntity"" AS ""l"" ON ""b"".""Id"" = ""l"".""Id"" +""" +SELECT "b"."Id", "b"."BaseValue", "m"."MiddleValue", "s"."SiblingValue", "l"."LeafValue", CASE + WHEN "l"."Id" IS NOT NULL THEN 'LeafEntity' + WHEN "s"."Id" IS NOT NULL THEN 'SiblingEntity' + WHEN "m"."Id" IS NOT NULL THEN 'MiddleEntity' +END AS "Discriminator", "t"."MiddleEntityId", "t"."Id", "t"."OwnedIntValue1", "t"."OwnedIntValue2", "t"."OwnedIntValue3", "t"."OwnedIntValue4", "t"."OwnedStringValue1", "t"."OwnedStringValue2", "t"."OwnedStringValue3", "t"."OwnedStringValue4" +FROM "BaseEntity" AS "b" +LEFT JOIN "MiddleEntity" AS "m" ON "b"."Id" = "m"."Id" +LEFT JOIN "SiblingEntity" AS "s" ON "b"."Id" = "s"."Id" +LEFT JOIN "LeafEntity" AS "l" ON "b"."Id" = "l"."Id" LEFT JOIN ( - SELECT ""o"".""MiddleEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" - FROM ""OwnedReferencePart1"" AS ""o"" - INNER JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""MiddleEntityId"" = ""o0"".""MiddleEntityId"" AND ""o"".""Id"" = ""o0"".""Id"" - INNER JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""MiddleEntityId"" = ""o1"".""MiddleEntityId"" AND ""o"".""Id"" = ""o1"".""Id"" -) AS ""t"" ON ""b"".""Id"" = ""t"".""MiddleEntityId"" -ORDER BY ""b"".""Id"", ""t"".""MiddleEntityId"""); + SELECT "o"."MiddleEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" + FROM "OwnedReferencePart1" AS "o" + INNER JOIN "OwnedReferencePart4" AS "o0" ON "o"."MiddleEntityId" = "o0"."MiddleEntityId" AND "o"."Id" = "o0"."Id" + INNER JOIN "OwnedReferencePart3" AS "o1" ON "o"."MiddleEntityId" = "o1"."MiddleEntityId" AND "o"."Id" = "o1"."Id" +) AS "t" ON "b"."Id" = "t"."MiddleEntityId" +ORDER BY "b"."Id", "t"."MiddleEntityId" +"""); } public override async Task Tph_entity_owning_a_split_collection_on_leaf(bool async) @@ -295,15 +329,17 @@ public override async Task Tph_entity_owning_a_split_collection_on_leaf(bool asy await base.Tph_entity_owning_a_split_collection_on_leaf(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""b"".""Discriminator"", ""b"".""MiddleValue"", ""b"".""SiblingValue"", ""b"".""LeafValue"", ""t"".""LeafEntityId"", ""t"".""Id"", ""t"".""OwnedIntValue1"", ""t"".""OwnedIntValue2"", ""t"".""OwnedIntValue3"", ""t"".""OwnedIntValue4"", ""t"".""OwnedStringValue1"", ""t"".""OwnedStringValue2"", ""t"".""OwnedStringValue3"", ""t"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" +""" +SELECT "b"."Id", "b"."BaseValue", "b"."Discriminator", "b"."MiddleValue", "b"."SiblingValue", "b"."LeafValue", "t"."LeafEntityId", "t"."Id", "t"."OwnedIntValue1", "t"."OwnedIntValue2", "t"."OwnedIntValue3", "t"."OwnedIntValue4", "t"."OwnedStringValue1", "t"."OwnedStringValue2", "t"."OwnedStringValue3", "t"."OwnedStringValue4" +FROM "BaseEntity" AS "b" LEFT JOIN ( - SELECT ""o"".""LeafEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" - FROM ""OwnedReferencePart1"" AS ""o"" - INNER JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""LeafEntityId"" = ""o0"".""LeafEntityId"" AND ""o"".""Id"" = ""o0"".""Id"" - INNER JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""LeafEntityId"" = ""o1"".""LeafEntityId"" AND ""o"".""Id"" = ""o1"".""Id"" -) AS ""t"" ON ""b"".""Id"" = ""t"".""LeafEntityId"" -ORDER BY ""b"".""Id"", ""t"".""LeafEntityId"""); + SELECT "o"."LeafEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" + FROM "OwnedReferencePart1" AS "o" + INNER JOIN "OwnedReferencePart4" AS "o0" ON "o"."LeafEntityId" = "o0"."LeafEntityId" AND "o"."Id" = "o0"."Id" + INNER JOIN "OwnedReferencePart3" AS "o1" ON "o"."LeafEntityId" = "o1"."LeafEntityId" AND "o"."Id" = "o1"."Id" +) AS "t" ON "b"."Id" = "t"."LeafEntityId" +ORDER BY "b"."Id", "t"."LeafEntityId" +"""); } public override async Task Tpt_entity_owning_a_split_collection_on_leaf(bool async) @@ -311,22 +347,24 @@ public override async Task Tpt_entity_owning_a_split_collection_on_leaf(bool asy await base.Tpt_entity_owning_a_split_collection_on_leaf(async); AssertSql( - @"SELECT ""b"".""Id"", ""b"".""BaseValue"", ""m"".""MiddleValue"", ""s"".""SiblingValue"", ""l"".""LeafValue"", CASE - WHEN ""l"".""Id"" IS NOT NULL THEN 'LeafEntity' - WHEN ""s"".""Id"" IS NOT NULL THEN 'SiblingEntity' - WHEN ""m"".""Id"" IS NOT NULL THEN 'MiddleEntity' -END AS ""Discriminator"", ""t"".""LeafEntityId"", ""t"".""Id"", ""t"".""OwnedIntValue1"", ""t"".""OwnedIntValue2"", ""t"".""OwnedIntValue3"", ""t"".""OwnedIntValue4"", ""t"".""OwnedStringValue1"", ""t"".""OwnedStringValue2"", ""t"".""OwnedStringValue3"", ""t"".""OwnedStringValue4"" -FROM ""BaseEntity"" AS ""b"" -LEFT JOIN ""MiddleEntity"" AS ""m"" ON ""b"".""Id"" = ""m"".""Id"" -LEFT JOIN ""SiblingEntity"" AS ""s"" ON ""b"".""Id"" = ""s"".""Id"" -LEFT JOIN ""LeafEntity"" AS ""l"" ON ""b"".""Id"" = ""l"".""Id"" +""" +SELECT "b"."Id", "b"."BaseValue", "m"."MiddleValue", "s"."SiblingValue", "l"."LeafValue", CASE + WHEN "l"."Id" IS NOT NULL THEN 'LeafEntity' + WHEN "s"."Id" IS NOT NULL THEN 'SiblingEntity' + WHEN "m"."Id" IS NOT NULL THEN 'MiddleEntity' +END AS "Discriminator", "t"."LeafEntityId", "t"."Id", "t"."OwnedIntValue1", "t"."OwnedIntValue2", "t"."OwnedIntValue3", "t"."OwnedIntValue4", "t"."OwnedStringValue1", "t"."OwnedStringValue2", "t"."OwnedStringValue3", "t"."OwnedStringValue4" +FROM "BaseEntity" AS "b" +LEFT JOIN "MiddleEntity" AS "m" ON "b"."Id" = "m"."Id" +LEFT JOIN "SiblingEntity" AS "s" ON "b"."Id" = "s"."Id" +LEFT JOIN "LeafEntity" AS "l" ON "b"."Id" = "l"."Id" LEFT JOIN ( - SELECT ""o"".""LeafEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" - FROM ""OwnedReferencePart1"" AS ""o"" - INNER JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""LeafEntityId"" = ""o0"".""LeafEntityId"" AND ""o"".""Id"" = ""o0"".""Id"" - INNER JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""LeafEntityId"" = ""o1"".""LeafEntityId"" AND ""o"".""Id"" = ""o1"".""Id"" -) AS ""t"" ON ""b"".""Id"" = ""t"".""LeafEntityId"" -ORDER BY ""b"".""Id"", ""t"".""LeafEntityId"""); + SELECT "o"."LeafEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" + FROM "OwnedReferencePart1" AS "o" + INNER JOIN "OwnedReferencePart4" AS "o0" ON "o"."LeafEntityId" = "o0"."LeafEntityId" AND "o"."Id" = "o0"."Id" + INNER JOIN "OwnedReferencePart3" AS "o1" ON "o"."LeafEntityId" = "o1"."LeafEntityId" AND "o"."Id" = "o1"."Id" +) AS "t" ON "b"."Id" = "t"."LeafEntityId" +ORDER BY "b"."Id", "t"."LeafEntityId" +"""); } public override async Task Tpc_entity_owning_a_split_collection_on_leaf(bool async) @@ -334,26 +372,28 @@ public override async Task Tpc_entity_owning_a_split_collection_on_leaf(bool asy await base.Tpc_entity_owning_a_split_collection_on_leaf(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""BaseValue"", ""t"".""MiddleValue"", ""t"".""SiblingValue"", ""t"".""LeafValue"", ""t"".""Discriminator"", ""t0"".""LeafEntityId"", ""t0"".""Id"", ""t0"".""OwnedIntValue1"", ""t0"".""OwnedIntValue2"", ""t0"".""OwnedIntValue3"", ""t0"".""OwnedIntValue4"", ""t0"".""OwnedStringValue1"", ""t0"".""OwnedStringValue2"", ""t0"".""OwnedStringValue3"", ""t0"".""OwnedStringValue4"" +""" +SELECT "t"."Id", "t"."BaseValue", "t"."MiddleValue", "t"."SiblingValue", "t"."LeafValue", "t"."Discriminator", "t0"."LeafEntityId", "t0"."Id", "t0"."OwnedIntValue1", "t0"."OwnedIntValue2", "t0"."OwnedIntValue3", "t0"."OwnedIntValue4", "t0"."OwnedStringValue1", "t0"."OwnedStringValue2", "t0"."OwnedStringValue3", "t0"."OwnedStringValue4" FROM ( - SELECT ""b"".""Id"", ""b"".""BaseValue"", NULL AS ""MiddleValue"", NULL AS ""SiblingValue"", NULL AS ""LeafValue"", 'BaseEntity' AS ""Discriminator"" - FROM ""BaseEntity"" AS ""b"" + SELECT "b"."Id", "b"."BaseValue", NULL AS "MiddleValue", NULL AS "SiblingValue", NULL AS "LeafValue", 'BaseEntity' AS "Discriminator" + FROM "BaseEntity" AS "b" UNION ALL - SELECT ""m"".""Id"", ""m"".""BaseValue"", ""m"".""MiddleValue"", NULL AS ""SiblingValue"", NULL AS ""LeafValue"", 'MiddleEntity' AS ""Discriminator"" - FROM ""MiddleEntity"" AS ""m"" + SELECT "m"."Id", "m"."BaseValue", "m"."MiddleValue", NULL AS "SiblingValue", NULL AS "LeafValue", 'MiddleEntity' AS "Discriminator" + FROM "MiddleEntity" AS "m" UNION ALL - SELECT ""s"".""Id"", ""s"".""BaseValue"", NULL AS ""MiddleValue"", ""s"".""SiblingValue"", NULL AS ""LeafValue"", 'SiblingEntity' AS ""Discriminator"" - FROM ""SiblingEntity"" AS ""s"" + SELECT "s"."Id", "s"."BaseValue", NULL AS "MiddleValue", "s"."SiblingValue", NULL AS "LeafValue", 'SiblingEntity' AS "Discriminator" + FROM "SiblingEntity" AS "s" UNION ALL - SELECT ""l"".""Id"", ""l"".""BaseValue"", ""l"".""MiddleValue"", NULL AS ""SiblingValue"", ""l"".""LeafValue"", 'LeafEntity' AS ""Discriminator"" - FROM ""LeafEntity"" AS ""l"" -) AS ""t"" + SELECT "l"."Id", "l"."BaseValue", "l"."MiddleValue", NULL AS "SiblingValue", "l"."LeafValue", 'LeafEntity' AS "Discriminator" + FROM "LeafEntity" AS "l" +) AS "t" LEFT JOIN ( - SELECT ""o"".""LeafEntityId"", ""o"".""Id"", ""o"".""OwnedIntValue1"", ""o"".""OwnedIntValue2"", ""o1"".""OwnedIntValue3"", ""o0"".""OwnedIntValue4"", ""o"".""OwnedStringValue1"", ""o"".""OwnedStringValue2"", ""o1"".""OwnedStringValue3"", ""o0"".""OwnedStringValue4"" - FROM ""OwnedReferencePart1"" AS ""o"" - INNER JOIN ""OwnedReferencePart4"" AS ""o0"" ON ""o"".""LeafEntityId"" = ""o0"".""LeafEntityId"" AND ""o"".""Id"" = ""o0"".""Id"" - INNER JOIN ""OwnedReferencePart3"" AS ""o1"" ON ""o"".""LeafEntityId"" = ""o1"".""LeafEntityId"" AND ""o"".""Id"" = ""o1"".""Id"" -) AS ""t0"" ON ""t"".""Id"" = ""t0"".""LeafEntityId"" -ORDER BY ""t"".""Id"", ""t0"".""LeafEntityId"""); + SELECT "o"."LeafEntityId", "o"."Id", "o"."OwnedIntValue1", "o"."OwnedIntValue2", "o1"."OwnedIntValue3", "o0"."OwnedIntValue4", "o"."OwnedStringValue1", "o"."OwnedStringValue2", "o1"."OwnedStringValue3", "o0"."OwnedStringValue4" + FROM "OwnedReferencePart1" AS "o" + INNER JOIN "OwnedReferencePart4" AS "o0" ON "o"."LeafEntityId" = "o0"."LeafEntityId" AND "o"."Id" = "o0"."Id" + INNER JOIN "OwnedReferencePart3" AS "o1" ON "o"."LeafEntityId" = "o1"."LeafEntityId" AND "o"."Id" = "o1"."Id" +) AS "t0" ON "t"."Id" = "t0"."LeafEntityId" +ORDER BY "t"."Id", "t0"."LeafEntityId" +"""); } } diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/FromSqlQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/FromSqlQuerySqliteTest.cs index 9d6ac5bb544..ae6bcb1ebd5 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/FromSqlQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/FromSqlQuerySqliteTest.cs @@ -18,11 +18,13 @@ public override async Task FromSqlRaw_queryable_composed(bool async) var queryString = await base.FromSqlRaw_queryable_composed(async); var expected = - @"SELECT ""m"".""CustomerID"", ""m"".""Address"", ""m"".""City"", ""m"".""CompanyName"", ""m"".""ContactName"", ""m"".""ContactTitle"", ""m"".""Country"", ""m"".""Fax"", ""m"".""Phone"", ""m"".""PostalCode"", ""m"".""Region"" +""" +SELECT "m"."CustomerID", "m"."Address", "m"."City", "m"."CompanyName", "m"."ContactName", "m"."ContactTitle", "m"."Country", "m"."Fax", "m"."Phone", "m"."PostalCode", "m"."Region" FROM ( - SELECT * FROM ""Customers"" -) AS ""m"" -WHERE 'z' = '' OR instr(""m"".""ContactName"", 'z') > 0"; + SELECT * FROM "Customers" +) AS "m" +WHERE 'z' = '' OR instr("m"."ContactName", 'z') > 0 +"""; Assert.Equal(expected, queryString, ignoreLineEndingDifferences: true); @@ -67,14 +69,16 @@ public override async Task FromSqlRaw_composed_with_common_table_expression(bool await base.FromSqlRaw_composed_with_common_table_expression(async); AssertSql( - @"SELECT ""m"".""CustomerID"", ""m"".""Address"", ""m"".""City"", ""m"".""CompanyName"", ""m"".""ContactName"", ""m"".""ContactTitle"", ""m"".""Country"", ""m"".""Fax"", ""m"".""Phone"", ""m"".""PostalCode"", ""m"".""Region"" +""" +SELECT "m"."CustomerID", "m"."Address", "m"."City", "m"."CompanyName", "m"."ContactName", "m"."ContactTitle", "m"."Country", "m"."Fax", "m"."Phone", "m"."PostalCode", "m"."Region" FROM ( - WITH ""Customers2"" AS ( - SELECT * FROM ""Customers"" + WITH "Customers2" AS ( + SELECT * FROM "Customers" ) - SELECT * FROM ""Customers2"" -) AS ""m"" -WHERE 'z' = '' OR instr(""m"".""ContactName"", 'z') > 0"); + SELECT * FROM "Customers2" +) AS "m" +WHERE 'z' = '' OR instr("m"."ContactName", 'z') > 0 +"""); } protected override DbParameter CreateDbParameter(string name, object value) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/GearsOfWarQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/GearsOfWarQuerySqliteTest.cs index 3c767f5ac28..1663d900962 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/GearsOfWarQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/GearsOfWarQuerySqliteTest.cs @@ -350,9 +350,11 @@ public override async Task Negate_on_binary_expression(bool async) await base.Negate_on_binary_expression(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Id"" = -(""s"".""Id"" + ""s"".""Id"")"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Id" = -("s"."Id" + "s"."Id") +"""); } public override async Task Negate_on_column(bool async) @@ -360,9 +362,11 @@ public override async Task Negate_on_column(bool async) await base.Negate_on_column(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Id"" = -""s"".""Id"""); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Id" = -"s"."Id" +"""); } public override async Task Negate_on_like_expression(bool async) @@ -370,9 +374,11 @@ public override async Task Negate_on_like_expression(bool async) await base.Negate_on_like_expression(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE (""s"".""Name"" IS NOT NULL) AND NOT (""s"".""Name"" LIKE 'us%')"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE ("s"."Name" IS NOT NULL) AND NOT ("s"."Name" LIKE 'us%') +"""); } public override async Task Select_datetimeoffset_comparison_in_projection(bool async) @@ -380,8 +386,10 @@ public override async Task Select_datetimeoffset_comparison_in_projection(bool a await base.Select_datetimeoffset_comparison_in_projection(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Byte_array_contains_literal(bool async) @@ -389,9 +397,11 @@ public override async Task Byte_array_contains_literal(bool async) await base.Byte_array_contains_literal(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE instr(""s"".""Banner"", X'01') > 0"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE instr("s"."Banner", X'01') > 0 +"""); } public override async Task Byte_array_contains_parameter(bool async) @@ -399,11 +409,13 @@ public override async Task Byte_array_contains_parameter(bool async) await base.Byte_array_contains_parameter(async); AssertSql( - @"@__someByte_0='1' +""" +@__someByte_0='1' -SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE instr(""s"".""Banner"", char(@__someByte_0)) > 0"); +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE instr("s"."Banner", char(@__someByte_0)) > 0 +"""); } public override async Task Byte_array_filter_by_length_literal(bool async) @@ -411,9 +423,11 @@ public override async Task Byte_array_filter_by_length_literal(bool async) await base.Byte_array_filter_by_length_literal(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE length(""s"".""Banner"") = 1"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE length("s"."Banner") = 1 +"""); } public override async Task Byte_array_filter_by_length_parameter(bool async) @@ -421,11 +435,13 @@ public override async Task Byte_array_filter_by_length_parameter(bool async) await base.Byte_array_filter_by_length_parameter(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' -SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE length(""s"".""Banner"") = @__p_0"); +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE length("s"."Banner") = @__p_0 +"""); } public override void Byte_array_filter_by_length_parameter_compiled() @@ -433,11 +449,13 @@ public override void Byte_array_filter_by_length_parameter_compiled() base.Byte_array_filter_by_length_parameter_compiled(); AssertSql( - @"@__byteArrayParam='0x2A80' (Size = 2) +""" +@__byteArrayParam='0x2A80' (Size = 2) SELECT COUNT(*) -FROM ""Squads"" AS ""s"" -WHERE length(""s"".""Banner"") = length(@__byteArrayParam)"); +FROM "Squads" AS "s" +WHERE length("s"."Banner") = length(@__byteArrayParam) +"""); } public override async Task Byte_array_filter_by_SequenceEqual(bool async) @@ -445,11 +463,13 @@ public override async Task Byte_array_filter_by_SequenceEqual(bool async) await base.Byte_array_filter_by_SequenceEqual(async); AssertSql( - @"@__byteArrayParam_0='0x0405060708' (Size = 5) +""" +@__byteArrayParam_0='0x0405060708' (Size = 5) -SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Banner5"" = @__byteArrayParam_0"); +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Banner5" = @__byteArrayParam_0 +"""); } public override async Task Where_TimeSpan_Hours(bool async) @@ -505,9 +525,11 @@ public override async Task Where_DateOnly_Year(bool async) await base.Where_DateOnly_Year(async); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE CAST(strftime('%Y', ""m"".""Date"") AS INTEGER) = 1990"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE CAST(strftime('%Y', "m"."Date") AS INTEGER) = 1990 +"""); } public override async Task Where_DateOnly_Month(bool async) @@ -515,9 +537,11 @@ public override async Task Where_DateOnly_Month(bool async) await base.Where_DateOnly_Month(async); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE CAST(strftime('%m', ""m"".""Date"") AS INTEGER) = 11"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE CAST(strftime('%m', "m"."Date") AS INTEGER) = 11 +"""); } public override async Task Where_DateOnly_Day(bool async) @@ -525,9 +549,11 @@ public override async Task Where_DateOnly_Day(bool async) await base.Where_DateOnly_Day(async); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE CAST(strftime('%d', ""m"".""Date"") AS INTEGER) = 10"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE CAST(strftime('%d', "m"."Date") AS INTEGER) = 10 +"""); } public override async Task Where_DateOnly_DayOfYear(bool async) @@ -535,9 +561,11 @@ public override async Task Where_DateOnly_DayOfYear(bool async) await base.Where_DateOnly_DayOfYear(async); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE CAST(strftime('%j', ""m"".""Date"") AS INTEGER) = 314"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE CAST(strftime('%j', "m"."Date") AS INTEGER) = 314 +"""); } public override async Task Where_DateOnly_DayOfWeek(bool async) @@ -545,9 +573,11 @@ public override async Task Where_DateOnly_DayOfWeek(bool async) await base.Where_DateOnly_DayOfWeek(async); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE CAST(strftime('%w', ""m"".""Date"") AS INTEGER) = 6"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE CAST(strftime('%w', "m"."Date") AS INTEGER) = 6 +"""); } public override async Task Where_DateOnly_AddYears(bool async) @@ -555,9 +585,11 @@ public override async Task Where_DateOnly_AddYears(bool async) await base.Where_DateOnly_AddYears(async); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE date(""m"".""Date"", CAST(3 AS TEXT) || ' years') = '1993-11-10'"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE date("m"."Date", CAST(3 AS TEXT) || ' years') = '1993-11-10' +"""); } [ConditionalTheory] @@ -570,9 +602,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE CAST(strftime('%Y', ""m"".""Date"", CAST(3 AS TEXT) || ' years') AS INTEGER) = 1993"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE CAST(strftime('%Y', "m"."Date", CAST(3 AS TEXT) || ' years') AS INTEGER) = 1993 +"""); } [ConditionalTheory] @@ -585,9 +619,11 @@ await AssertQuery( entryCount: 1); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE date(""m"".""Date"", CAST(3 AS TEXT) || ' years', CAST(3 AS TEXT) || ' months') = '1994-02-10'"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE date("m"."Date", CAST(3 AS TEXT) || ' years', CAST(3 AS TEXT) || ' months') = '1994-02-10' +"""); } public override async Task Where_DateOnly_AddMonths(bool async) @@ -595,9 +631,11 @@ public override async Task Where_DateOnly_AddMonths(bool async) await base.Where_DateOnly_AddMonths(async); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE date(""m"".""Date"", CAST(3 AS TEXT) || ' months') = '1991-02-10'"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE date("m"."Date", CAST(3 AS TEXT) || ' months') = '1991-02-10' +"""); } public override async Task Where_DateOnly_AddDays(bool async) @@ -605,9 +643,11 @@ public override async Task Where_DateOnly_AddDays(bool async) await base.Where_DateOnly_AddDays(async); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE date(""m"".""Date"", CAST(3 AS TEXT) || ' days') = '1990-11-13'"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE date("m"."Date", CAST(3 AS TEXT) || ' days') = '1990-11-13' +"""); } public override async Task Where_TimeOnly_Hour(bool async) @@ -687,10 +727,12 @@ public override async Task Optional_navigation_type_compensation_works_with_DTOs await base.Optional_navigation_type_compensation_works_with_DTOs(async); AssertSql( - @"SELECT ""g"".""SquadId"" AS ""Id"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL)"); +""" +SELECT "g"."SquadId" AS "Id" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL) +"""); } public override async Task Include_with_join_and_inheritance_with_orderby_before_and_after_include(bool async) @@ -698,15 +740,17 @@ public override async Task Include_with_join_and_inheritance_with_orderby_before await base.Include_with_join_and_inheritance_with_orderby_before_and_after_include(async); AssertSql( - @"SELECT ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"", ""t"".""Id"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Tags"" AS ""t"" +""" +SELECT "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank", "t"."Id", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Tags" AS "t" INNER JOIN ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""Discriminator"" = 'Officer' -) AS ""t0"" ON ""t"".""GearSquadId"" = ""t0"".""SquadId"" AND ""t"".""GearNickName"" = ""t0"".""Nickname"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""t0"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""t0"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""t0"".""HasSoulPatch"", ""t0"".""Nickname"" DESC, ""t"".""Id"", ""t0"".""SquadId"", ""g0"".""Nickname"""); + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" + FROM "Gears" AS "g" + WHERE "g"."Discriminator" = 'Officer' +) AS "t0" ON "t"."GearSquadId" = "t0"."SquadId" AND "t"."GearNickName" = "t0"."Nickname" +LEFT JOIN "Gears" AS "g0" ON "t0"."Nickname" = "g0"."LeaderNickname" AND "t0"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "t0"."HasSoulPatch", "t0"."Nickname" DESC, "t"."Id", "t0"."SquadId", "g0"."Nickname" +"""); } public override async Task DateTimeOffset_DateAdd_AddMonths(bool async) @@ -714,8 +758,10 @@ public override async Task DateTimeOffset_DateAdd_AddMonths(bool async) await base.DateTimeOffset_DateAdd_AddMonths(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Logical_operation_with_non_null_parameter_optimizes_null_checks(bool async) @@ -723,17 +769,21 @@ public override async Task Logical_operation_with_non_null_parameter_optimizes_n await base.Logical_operation_with_non_null_parameter_optimizes_null_checks(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" <> @__prm_0", +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" <> @__prm_0 +""", // - @"@__prm_0='False' +""" +@__prm_0='False' -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" <> @__prm_0"); +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" <> @__prm_0 +"""); } public override async Task Where_contains_on_navigation_with_composite_keys(bool async) @@ -741,15 +791,17 @@ public override async Task Where_contains_on_navigation_with_composite_keys(bool await base.Where_contains_on_navigation_with_composite_keys(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE EXISTS ( SELECT 1 - FROM ""Cities"" AS ""c"" + FROM "Cities" AS "c" WHERE EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g0"" - WHERE ""c"".""Name"" = ""g0"".""CityOfBirthName"" AND ""g0"".""Nickname"" = ""g"".""Nickname"" AND ""g0"".""SquadId"" = ""g"".""SquadId""))"); + FROM "Gears" AS "g0" + WHERE "c"."Name" = "g0"."CityOfBirthName" AND "g0"."Nickname" = "g"."Nickname" AND "g0"."SquadId" = "g"."SquadId")) +"""); } public override async Task Correlated_collections_naked_navigation_with_ToArray(bool async) @@ -757,11 +809,13 @@ public override async Task Correlated_collections_naked_navigation_with_ToArray( await base.Correlated_collections_naked_navigation_with_ToArray(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task GetValueOrDefault_with_argument_complex(bool async) @@ -769,9 +823,11 @@ public override async Task GetValueOrDefault_with_argument_complex(bool async) await base.GetValueOrDefault_with_argument_complex(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE COALESCE(""w"".""SynergyWithId"", length(""w"".""Name"") + 42) > 10"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE COALESCE("w"."SynergyWithId", length("w"."Name") + 42) > 10 +"""); } public override async Task Include_where_list_contains_navigation2(bool async) @@ -779,14 +835,18 @@ public override async Task Include_where_list_contains_navigation2(bool async) await base.Include_where_list_contains_navigation2(async); AssertSql( - @"SELECT ""t"".""Id"" -FROM ""Tags"" AS ""t""", +""" +SELECT "t"."Id" +FROM "Tags" AS "t" +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -WHERE (""c"".""Location"" IS NOT NULL) AND ""t"".""Id"" IN ('34C8D86E-A4AC-4BE5-827F-584DDA348A07', '70534E05-782C-4052-8720-C2C54481CE5F', 'A7BE028A-0CF2-448F-AB55-CE8BC5D8CF69', 'A8AD98F9-E023-4E2A-9A70-C2728455BD34', 'B39A6FBA-9026-4D69-828E-FD7068673E57', 'DF36F493-463F-4123-83F9-6B135DEEB7BA')"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Gears" AS "g" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +WHERE ("c"."Location" IS NOT NULL) AND "t"."Id" IN ('34C8D86E-A4AC-4BE5-827F-584DDA348A07', '70534E05-782C-4052-8720-C2C54481CE5F', 'A7BE028A-0CF2-448F-AB55-CE8BC5D8CF69', 'A8AD98F9-E023-4E2A-9A70-C2728455BD34', 'B39A6FBA-9026-4D69-828E-FD7068673E57', 'DF36F493-463F-4123-83F9-6B135DEEB7BA') +"""); } public override async Task Projecting_nullable_bool_in_conditional_works(bool async) @@ -794,12 +854,14 @@ public override async Task Projecting_nullable_bool_in_conditional_works(bool as await base.Projecting_nullable_bool_in_conditional_works(async); AssertSql( - @"SELECT CASE - WHEN (""g"".""Nickname"" IS NOT NULL) AND (""g"".""SquadId"" IS NOT NULL) THEN ""g"".""HasSoulPatch"" +""" +SELECT CASE + WHEN ("g"."Nickname" IS NOT NULL) AND ("g"."SquadId" IS NOT NULL) THEN "g"."HasSoulPatch" ELSE 0 -END AS ""Prop"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"""); +END AS "Prop" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +"""); } public override async Task Include_on_derived_entity_using_OfType(bool async) @@ -807,15 +869,17 @@ public override async Task Include_on_derived_entity_using_OfType(bool async) await base.Include_on_derived_entity_using_OfType(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"", ""t"".""Name"", ""t"".""Discriminator"", ""t"".""LocustHordeId"", ""t"".""ThreatLevel"", ""t"".""ThreatLevelByte"", ""t"".""ThreatLevelNullableByte"", ""t"".""DefeatedByNickname"", ""t"".""DefeatedBySquadId"", ""t"".""HighCommandId"", ""l0"".""Name"", ""l0"".""Discriminator"", ""l0"".""LocustHordeId"", ""l0"".""ThreatLevel"", ""l0"".""ThreatLevelByte"", ""l0"".""ThreatLevelNullableByte"", ""l0"".""DefeatedByNickname"", ""l0"".""DefeatedBySquadId"", ""l0"".""HighCommandId"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated", "t"."Name", "t"."Discriminator", "t"."LocustHordeId", "t"."ThreatLevel", "t"."ThreatLevelByte", "t"."ThreatLevelNullableByte", "t"."DefeatedByNickname", "t"."DefeatedBySquadId", "t"."HighCommandId", "l0"."Name", "l0"."Discriminator", "l0"."LocustHordeId", "l0"."ThreatLevel", "l0"."ThreatLevelByte", "l0"."ThreatLevelNullableByte", "l0"."DefeatedByNickname", "l0"."DefeatedBySquadId", "l0"."HighCommandId" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -LEFT JOIN ""LocustLeaders"" AS ""l0"" ON ""f"".""Id"" = ""l0"".""LocustHordeId"" -ORDER BY ""f"".""Name"", ""f"".""Id"", ""t"".""Name"""); + SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +LEFT JOIN "LocustLeaders" AS "l0" ON "f"."Id" = "l0"."LocustHordeId" +ORDER BY "f"."Name", "f"."Id", "t"."Name" +"""); } public override async Task Correlated_collections_basic_projection_explicit_to_array(bool async) @@ -823,15 +887,17 @@ public override async Task Correlated_collections_basic_projection_explicit_to_a await base.Correlated_collections_basic_projection_explicit_to_array(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" OR ""w"".""Name"" <> 'foo' OR (""w"".""Name"" IS NULL) -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" OR "w"."Name" <> 'foo' OR ("w"."Name" IS NULL) +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Correlated_collections_deeply_nested_left_join(bool async) @@ -839,21 +905,23 @@ public override async Task Correlated_collections_deeply_nested_left_join(bool a await base.Correlated_collections_deeply_nested_left_join(async); AssertSql( - @"SELECT ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""s"".""Id"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" -LEFT JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" +""" +SELECT "t"."Id", "g"."Nickname", "g"."SquadId", "s"."Id", "t0"."Nickname", "t0"."SquadId", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" +LEFT JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""t1"".""Id"", ""t1"".""AmmunitionType"", ""t1"".""IsAutomatic"", ""t1"".""Name"", ""t1"".""OwnerFullName"", ""t1"".""SynergyWithId"" - FROM ""Gears"" AS ""g0"" + SELECT "g0"."Nickname", "g0"."SquadId", "t1"."Id", "t1"."AmmunitionType", "t1"."IsAutomatic", "t1"."Name", "t1"."OwnerFullName", "t1"."SynergyWithId" + FROM "Gears" AS "g0" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" - ) AS ""t1"" ON ""g0"".""FullName"" = ""t1"".""OwnerFullName"" - WHERE ""g0"".""HasSoulPatch"" -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"" -ORDER BY ""t"".""Note"", ""g"".""Nickname"" DESC, ""t"".""Id"", ""g"".""SquadId"", ""s"".""Id"", ""t0"".""Nickname"", ""t0"".""SquadId"""); + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" + ) AS "t1" ON "g0"."FullName" = "t1"."OwnerFullName" + WHERE "g0"."HasSoulPatch" +) AS "t0" ON "s"."Id" = "t0"."SquadId" +ORDER BY "t"."Note", "g"."Nickname" DESC, "t"."Id", "g"."SquadId", "s"."Id", "t0"."Nickname", "t0"."SquadId" +"""); } public override async Task Collection_navigation_ofType_filter_works(bool async) @@ -861,12 +929,14 @@ public override async Task Collection_navigation_ofType_filter_works(bool async) await base.Collection_navigation_ofType_filter_works(async); AssertSql( - @"SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" +""" +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" WHERE EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g"" - WHERE ""c"".""Name"" = ""g"".""CityOfBirthName"" AND ""g"".""Discriminator"" = 'Officer' AND ""g"".""Nickname"" = 'Marcus')"); + FROM "Gears" AS "g" + WHERE "c"."Name" = "g"."CityOfBirthName" AND "g"."Discriminator" = 'Officer' AND "g"."Nickname" = 'Marcus') +"""); } public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool async) @@ -874,8 +944,10 @@ public override async Task DateTimeOffset_DateAdd_AddMilliseconds(bool async) await base.DateTimeOffset_DateAdd_AddMilliseconds(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Project_discriminator_columns(bool async) @@ -883,25 +955,37 @@ public override async Task Project_discriminator_columns(bool async) await base.Project_discriminator_columns(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""Discriminator"" -FROM ""Gears"" AS ""g""", +""" +SELECT "g"."Nickname", "g"."Discriminator" +FROM "Gears" AS "g" +""", // - @"SELECT ""g"".""Nickname"", ""g"".""Discriminator"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""Discriminator"" = 'Officer'", +""" +SELECT "g"."Nickname", "g"."Discriminator" +FROM "Gears" AS "g" +WHERE "g"."Discriminator" = 'Officer' +""", // - @"SELECT ""f"".""Id"", ""f"".""Discriminator"" -FROM ""Factions"" AS ""f""", +""" +SELECT "f"."Id", "f"."Discriminator" +FROM "Factions" AS "f" +""", // - @"SELECT ""f"".""Id"", ""f"".""Discriminator"" -FROM ""Factions"" AS ""f""", +""" +SELECT "f"."Id", "f"."Discriminator" +FROM "Factions" AS "f" +""", // - @"SELECT ""l"".""Name"", ""l"".""Discriminator"" -FROM ""LocustLeaders"" AS ""l""", +""" +SELECT "l"."Name", "l"."Discriminator" +FROM "LocustLeaders" AS "l" +""", // - @"SELECT ""l"".""Name"", ""l"".""Discriminator"" -FROM ""LocustLeaders"" AS ""l"" -WHERE ""l"".""Discriminator"" = 'LocustCommander'"); +""" +SELECT "l"."Name", "l"."Discriminator" +FROM "LocustLeaders" AS "l" +WHERE "l"."Discriminator" = 'LocustCommander' +"""); } public override async Task Nullable_bool_comparison_is_translated_to_server(bool async) @@ -909,8 +993,10 @@ public override async Task Nullable_bool_comparison_is_translated_to_server(bool await base.Nullable_bool_comparison_is_translated_to_server(async); AssertSql( - @"SELECT ""f"".""Eradicated"" = 1 AND (""f"".""Eradicated"" IS NOT NULL) AS ""IsEradicated"" -FROM ""Factions"" AS ""f"""); +""" +SELECT "f"."Eradicated" = 1 AND ("f"."Eradicated" IS NOT NULL) AS "IsEradicated" +FROM "Factions" AS "f" +"""); } public override async Task Null_propagation_optimization6(bool async) @@ -918,15 +1004,17 @@ public override async Task Null_propagation_optimization6(bool async) await base.Null_propagation_optimization6(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN length(""g"".""LeaderNickname"") + WHEN "g"."LeaderNickname" IS NOT NULL THEN length("g"."LeaderNickname") ELSE NULL END = 5 AND (CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN length(""g"".""LeaderNickname"") + WHEN "g"."LeaderNickname" IS NOT NULL THEN length("g"."LeaderNickname") ELSE NULL -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task GroupBy_Property_Include_Select_Min(bool async) @@ -934,9 +1022,11 @@ public override async Task GroupBy_Property_Include_Select_Min(bool async) await base.GroupBy_Property_Include_Select_Min(async); AssertSql( - @"SELECT MIN(""g"".""SquadId"") -FROM ""Gears"" AS ""g"" -GROUP BY ""g"".""Rank"""); +""" +SELECT MIN("g"."SquadId") +FROM "Gears" AS "g" +GROUP BY "g"."Rank" +"""); } public override async Task Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(bool async) @@ -944,13 +1034,15 @@ public override async Task Join_with_order_by_on_inner_sequence_navigation_trans await base.Join_with_order_by_on_inner_sequence_navigation_translated_to_subquery_composite_key(async); AssertSql( - @"SELECT ""g"".""FullName"", ""t0"".""Note"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."FullName", "t0"."Note" +FROM "Gears" AS "g" INNER JOIN ( - SELECT ""t"".""Note"", ""g0"".""FullName"" - FROM ""Tags"" AS ""t"" - LEFT JOIN ""Gears"" AS ""g0"" ON ""t"".""GearNickName"" = ""g0"".""Nickname"" AND ""t"".""GearSquadId"" = ""g0"".""SquadId"" -) AS ""t0"" ON ""g"".""FullName"" = ""t0"".""FullName"""); + SELECT "t"."Note", "g0"."FullName" + FROM "Tags" AS "t" + LEFT JOIN "Gears" AS "g0" ON "t"."GearNickName" = "g0"."Nickname" AND "t"."GearSquadId" = "g0"."SquadId" +) AS "t0" ON "g"."FullName" = "t0"."FullName" +"""); } public override async Task Navigation_based_on_complex_expression1(bool async) @@ -958,14 +1050,16 @@ public override async Task Navigation_based_on_complex_expression1(bool async) await base.Navigation_based_on_complex_expression1(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -WHERE ""t"".""Name"" IS NOT NULL"); + SELECT "l"."Name" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +WHERE "t"."Name" IS NOT NULL +"""); } public override async Task Correlated_collections_basic_projecting_constant_bool(bool async) @@ -973,15 +1067,17 @@ public override async Task Correlated_collections_basic_projecting_constant_bool await base.Correlated_collections_basic_projecting_constant_bool(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""c"", ""t"".""Id"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."c", "t"."Id" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT 1 AS ""c"", ""w"".""Id"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" OR ""w"".""Name"" <> 'foo' OR (""w"".""Name"" IS NULL) -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); + SELECT 1 AS "c", "w"."Id", "w"."OwnerFullName" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" OR "w"."Name" <> 'foo' OR ("w"."Name" IS NULL) +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Select_StartsWith_with_null_parameter_as_argument(bool async) @@ -989,8 +1085,10 @@ public override async Task Select_StartsWith_with_null_parameter_as_argument(boo await base.Select_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT 0 -FROM ""Gears"" AS ""g"""); +""" +SELECT 0 +FROM "Gears" AS "g" +"""); } public override async Task Comparing_two_collection_navigations_inheritance(bool async) @@ -998,20 +1096,22 @@ public override async Task Comparing_two_collection_navigations_inheritance(bool await base.Comparing_two_collection_navigations_inheritance(async); AssertSql( - @"SELECT ""f"".""Name"", ""t"".""Nickname"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Name", "t"."Nickname" +FROM "Factions" AS "f" CROSS JOIN ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""HasSoulPatch"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""Discriminator"" = 'Officer' -) AS ""t"" + SELECT "g"."Nickname", "g"."SquadId", "g"."HasSoulPatch" + FROM "Gears" AS "g" + WHERE "g"."Discriminator" = 'Officer' +) AS "t" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t0"" ON ""f"".""CommanderName"" = ""t0"".""Name"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""t0"".""DefeatedByNickname"" = ""g0"".""Nickname"" AND ""t0"".""DefeatedBySquadId"" = ""g0"".""SquadId"" -WHERE ""t"".""HasSoulPatch"" AND ""g0"".""Nickname"" = ""t"".""Nickname"" AND ""g0"".""SquadId"" = ""t"".""SquadId"""); + SELECT "l"."Name", "l"."DefeatedByNickname", "l"."DefeatedBySquadId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t0" ON "f"."CommanderName" = "t0"."Name" +LEFT JOIN "Gears" AS "g0" ON "t0"."DefeatedByNickname" = "g0"."Nickname" AND "t0"."DefeatedBySquadId" = "g0"."SquadId" +WHERE "t"."HasSoulPatch" AND "g0"."Nickname" = "t"."Nickname" AND "g0"."SquadId" = "t"."SquadId" +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean1(bool async) @@ -1019,16 +1119,18 @@ public override async Task Select_subquery_distinct_singleordefault_boolean1(boo await base.Select_subquery_distinct_singleordefault_boolean1(async); AssertSql( - @"SELECT COALESCE(( - SELECT ""t"".""IsAutomatic"" +""" +SELECT COALESCE(( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ('Lancer' = '' OR instr(""w"".""Name"", 'Lancer') > 0) - ) AS ""t"" + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND ('Lancer' = '' OR instr("w"."Name", 'Lancer') > 0) + ) AS "t" LIMIT 1), 0) -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"""); +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" +"""); } public override async Task Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(bool async) @@ -1036,24 +1138,26 @@ public override async Task Join_entity_with_itself_grouped_by_key_followed_by_in await base.Join_entity_with_itself_grouped_by_key_followed_by_include_skip_take(async); AssertSql( - @"@__p_1='10' +""" +@__p_1='10' @__p_0='0' -SELECT ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"", ""t0"".""HasSoulPatch0"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" +SELECT "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank", "t0"."HasSoulPatch0", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" FROM ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""HasSoulPatch"" AS ""HasSoulPatch0"" - FROM ""Gears"" AS ""g"" + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."HasSoulPatch" AS "HasSoulPatch0" + FROM "Gears" AS "g" INNER JOIN ( - SELECT MIN(length(""g0"".""Nickname"")) AS ""c"", ""g0"".""HasSoulPatch"" - FROM ""Gears"" AS ""g0"" - WHERE ""g0"".""Nickname"" <> 'Dom' - GROUP BY ""g0"".""HasSoulPatch"" - ) AS ""t"" ON length(""g"".""Nickname"") = ""t"".""c"" - ORDER BY ""g"".""Nickname"" + SELECT MIN(length("g0"."Nickname")) AS "c", "g0"."HasSoulPatch" + FROM "Gears" AS "g0" + WHERE "g0"."Nickname" <> 'Dom' + GROUP BY "g0"."HasSoulPatch" + ) AS "t" ON length("g"."Nickname") = "t"."c" + ORDER BY "g"."Nickname" LIMIT @__p_1 OFFSET @__p_0 -) AS ""t0"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""t0"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""HasSoulPatch0"""); +) AS "t0" +LEFT JOIN "Weapons" AS "w" ON "t0"."FullName" = "w"."OwnerFullName" +ORDER BY "t0"."Nickname", "t0"."SquadId", "t0"."HasSoulPatch0" +"""); } public override async Task Correlated_collections_nested_mixed_streaming_with_buffer1(bool async) @@ -1061,20 +1165,22 @@ public override async Task Correlated_collections_nested_mixed_streaming_with_bu await base.Correlated_collections_nested_mixed_streaming_with_buffer1(async); AssertSql( - @"SELECT ""s"".""Id"", ""t0"".""SquadId"", ""t0"".""MissionId"", ""t0"".""Id"", ""t0"".""SquadId0"", ""t0"".""MissionId0"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Id", "t0"."SquadId", "t0"."MissionId", "t0"."Id", "t0"."SquadId0", "t0"."MissionId0" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""s0"".""SquadId"", ""s0"".""MissionId"", ""m"".""Id"", ""t"".""SquadId"" AS ""SquadId0"", ""t"".""MissionId"" AS ""MissionId0"" - FROM ""SquadMissions"" AS ""s0"" - INNER JOIN ""Missions"" AS ""m"" ON ""s0"".""MissionId"" = ""m"".""Id"" + SELECT "s0"."SquadId", "s0"."MissionId", "m"."Id", "t"."SquadId" AS "SquadId0", "t"."MissionId" AS "MissionId0" + FROM "SquadMissions" AS "s0" + INNER JOIN "Missions" AS "m" ON "s0"."MissionId" = "m"."Id" LEFT JOIN ( - SELECT ""s1"".""SquadId"", ""s1"".""MissionId"" - FROM ""SquadMissions"" AS ""s1"" - WHERE ""s1"".""SquadId"" < 2 - ) AS ""t"" ON ""m"".""Id"" = ""t"".""MissionId"" - WHERE ""s0"".""MissionId"" < 3 -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"" -ORDER BY ""s"".""Id"", ""t0"".""SquadId"", ""t0"".""MissionId"", ""t0"".""Id"", ""t0"".""SquadId0"""); + SELECT "s1"."SquadId", "s1"."MissionId" + FROM "SquadMissions" AS "s1" + WHERE "s1"."SquadId" < 2 + ) AS "t" ON "m"."Id" = "t"."MissionId" + WHERE "s0"."MissionId" < 3 +) AS "t0" ON "s"."Id" = "t0"."SquadId" +ORDER BY "s"."Id", "t0"."SquadId", "t0"."MissionId", "t0"."Id", "t0"."SquadId0" +"""); } public override async Task Select_nested_ternary_operations(bool async) @@ -1082,14 +1188,16 @@ public override async Task Select_nested_ternary_operations(bool async) await base.Select_nested_ternary_operations(async); AssertSql( - @"SELECT ""w"".""Id"", CASE - WHEN NOT (""w"".""IsAutomatic"") THEN CASE - WHEN ""w"".""AmmunitionType"" = 1 THEN 'ManualCartridge' +""" +SELECT "w"."Id", CASE + WHEN NOT ("w"."IsAutomatic") THEN CASE + WHEN "w"."AmmunitionType" = 1 THEN 'ManualCartridge' ELSE 'Manual' END ELSE 'Auto' -END AS ""IsManualCartridge"" -FROM ""Weapons"" AS ""w"""); +END AS "IsManualCartridge" +FROM "Weapons" AS "w" +"""); } public override async Task Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(bool async) @@ -1097,9 +1205,11 @@ public override async Task Non_unicode_string_literals_in_contains_is_used_for_n await base.Non_unicode_string_literals_in_contains_is_used_for_non_unicode_column(async); AssertSql( - @"SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" -WHERE ""c"".""Location"" IN ('Unknown', 'Jacinto''s location', 'Ephyra''s location')"); +""" +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" +WHERE "c"."Location" IN ('Unknown', 'Jacinto''s location', 'Ephyra''s location') +"""); } public override async Task Include_collection_with_Cast_to_base(bool async) @@ -1107,11 +1217,13 @@ public override async Task Include_collection_with_Cast_to_base(bool async) await base.Include_collection_with_Cast_to_base(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Select_required_navigation_on_the_same_type_with_cast(bool async) @@ -1119,9 +1231,11 @@ public override async Task Select_required_navigation_on_the_same_type_with_cast await base.Select_required_navigation_on_the_same_type_with_cast(async); AssertSql( - @"SELECT ""c"".""Name"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"""); +""" +SELECT "c"."Name" +FROM "Gears" AS "g" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +"""); } public override async Task Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(bool async) @@ -1129,22 +1243,24 @@ public override async Task Anonymous_projection_take_followed_by_projecting_sing await base.Anonymous_projection_take_followed_by_projecting_single_element_from_collection_navigation(async); AssertSql( - @"@__p_0='25' +""" +@__p_0='25' -SELECT ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"" +SELECT "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId" FROM ( - SELECT ""g"".""FullName"" - FROM ""Gears"" AS ""g"" + SELECT "g"."FullName" + FROM "Gears" AS "g" LIMIT @__p_0 -) AS ""t"" +) AS "t" LEFT JOIN ( - SELECT ""t1"".""Id"", ""t1"".""AmmunitionType"", ""t1"".""IsAutomatic"", ""t1"".""Name"", ""t1"".""OwnerFullName"", ""t1"".""SynergyWithId"" + SELECT "t1"."Id", "t1"."AmmunitionType", "t1"."IsAutomatic", "t1"."Name", "t1"."OwnerFullName", "t1"."SynergyWithId" FROM ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ROW_NUMBER() OVER(PARTITION BY ""w"".""OwnerFullName"" ORDER BY ""w"".""Id"") AS ""row"" - FROM ""Weapons"" AS ""w"" - ) AS ""t1"" - WHERE ""t1"".""row"" <= 1 -) AS ""t0"" ON ""t"".""FullName"" = ""t0"".""OwnerFullName"""); + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", ROW_NUMBER() OVER(PARTITION BY "w"."OwnerFullName" ORDER BY "w"."Id") AS "row" + FROM "Weapons" AS "w" + ) AS "t1" + WHERE "t1"."row" <= 1 +) AS "t0" ON "t"."FullName" = "t0"."OwnerFullName" +"""); } public override async Task Left_join_with_GroupBy_with_composite_group_key(bool async) @@ -1152,11 +1268,13 @@ public override async Task Left_join_with_GroupBy_with_composite_group_key(bool await base.Left_join_with_GroupBy_with_composite_group_key(async); AssertSql( - @"SELECT ""g"".""CityOfBirthName"", ""g"".""HasSoulPatch"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" -GROUP BY ""g"".""CityOfBirthName"", ""g"".""HasSoulPatch"""); +""" +SELECT "g"."CityOfBirthName", "g"."HasSoulPatch" +FROM "Gears" AS "g" +INNER JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" +GROUP BY "g"."CityOfBirthName", "g"."HasSoulPatch" +"""); } public override async Task Where_subquery_concat_firstordefault_boolean(bool async) @@ -1164,21 +1282,23 @@ public override async Task Where_subquery_concat_firstordefault_boolean(bool asy await base.Where_subquery_concat_firstordefault_boolean(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND ( - SELECT ""t"".""IsAutomatic"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND ( + SELECT "t"."IsAutomatic" FROM ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" UNION ALL - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" - FROM ""Weapons"" AS ""w0"" - WHERE ""g"".""FullName"" = ""w0"".""OwnerFullName"" - ) AS ""t"" - ORDER BY ""t"".""Id"" - LIMIT 1)"); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" + FROM "Weapons" AS "w0" + WHERE "g"."FullName" = "w0"."OwnerFullName" + ) AS "t" + ORDER BY "t"."Id" + LIMIT 1) +"""); } public override async Task Collection_with_inheritance_and_join_include_source(bool async) @@ -1186,11 +1306,13 @@ public override async Task Collection_with_inheritance_and_join_include_source(b await base.Collection_with_inheritance_and_join_include_source(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t0"".""Id"", ""t0"".""GearNickName"", ""t0"".""GearSquadId"", ""t0"".""IssueDate"", ""t0"".""Note"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Tags"" AS ""t"" ON ""g"".""SquadId"" = ""t"".""GearSquadId"" AND ""g"".""Nickname"" = ""t"".""GearNickName"" -LEFT JOIN ""Tags"" AS ""t0"" ON ""g"".""Nickname"" = ""t0"".""GearNickName"" AND ""g"".""SquadId"" = ""t0"".""GearSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer'"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t0"."Id", "t0"."GearNickName", "t0"."GearSquadId", "t0"."IssueDate", "t0"."Note" +FROM "Gears" AS "g" +INNER JOIN "Tags" AS "t" ON "g"."SquadId" = "t"."GearSquadId" AND "g"."Nickname" = "t"."GearNickName" +LEFT JOIN "Tags" AS "t0" ON "g"."Nickname" = "t0"."GearNickName" AND "g"."SquadId" = "t0"."GearSquadId" +WHERE "g"."Discriminator" = 'Officer' +"""); } public override async Task OfTypeNav3(bool async) @@ -1198,12 +1320,14 @@ public override async Task OfTypeNav3(bool async) await base.OfTypeNav3(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -INNER JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -LEFT JOIN ""Tags"" AS ""t0"" ON ""g"".""Nickname"" = ""t0"".""GearNickName"" AND ""g"".""SquadId"" = ""t0"".""GearSquadId"" -WHERE (""t"".""Note"" <> 'Foo' OR (""t"".""Note"" IS NULL)) AND ""g"".""Discriminator"" = 'Officer' AND (""t0"".""Note"" <> 'Bar' OR (""t0"".""Note"" IS NULL))"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +INNER JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +LEFT JOIN "Tags" AS "t0" ON "g"."Nickname" = "t0"."GearNickName" AND "g"."SquadId" = "t0"."GearSquadId" +WHERE ("t"."Note" <> 'Foo' OR ("t"."Note" IS NULL)) AND "g"."Discriminator" = 'Officer' AND ("t0"."Note" <> 'Bar' OR ("t0"."Note" IS NULL)) +"""); } public override async Task ToString_guid_property_projection(bool async) @@ -1211,8 +1335,10 @@ public override async Task ToString_guid_property_projection(bool async) await base.ToString_guid_property_projection(async); AssertSql( - @"SELECT ""t"".""GearNickName"" AS ""A"", CAST(""t"".""Id"" AS TEXT) AS ""B"" -FROM ""Tags"" AS ""t"""); +""" +SELECT "t"."GearNickName" AS "A", CAST("t"."Id" AS TEXT) AS "B" +FROM "Tags" AS "t" +"""); } public override async Task Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(bool async) @@ -1220,9 +1346,11 @@ public override async Task Join_with_inner_being_a_subquery_projecting_anonymous await base.Join_with_inner_being_a_subquery_projecting_anonymous_type_with_single_property(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +INNER JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."Nickname" +"""); } public override async Task Optional_navigation_type_compensation_works_with_all(bool async) @@ -1230,11 +1358,13 @@ public override async Task Optional_navigation_type_compensation_works_with_all( await base.Optional_navigation_type_compensation_works_with_all(async); AssertSql( - @"SELECT NOT EXISTS ( +""" +SELECT NOT EXISTS ( SELECT 1 - FROM ""Tags"" AS ""t"" - LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" - WHERE (""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL)) AND NOT (""g"".""HasSoulPatch""))"); + FROM "Tags" AS "t" + LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" + WHERE ("t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL)) AND NOT ("g"."HasSoulPatch")) +"""); } public override async Task Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(bool async) @@ -1242,10 +1372,12 @@ public override async Task Collection_navigation_access_on_derived_entity_using_ await base.Collection_navigation_access_on_derived_entity_using_cast_in_SelectMany(async); AssertSql( - @"SELECT ""f"".""Name"", ""l"".""Name"" AS ""LeaderName"" -FROM ""Factions"" AS ""f"" -INNER JOIN ""LocustLeaders"" AS ""l"" ON ""f"".""Id"" = ""l"".""LocustHordeId"" -ORDER BY ""l"".""Name"""); +""" +SELECT "f"."Name", "l"."Name" AS "LeaderName" +FROM "Factions" AS "f" +INNER JOIN "LocustLeaders" AS "l" ON "f"."Id" = "l"."LocustHordeId" +ORDER BY "l"."Name" +"""); } public override async Task Where_bitwise_and_nullable_enum_with_nullable_parameter(bool async) @@ -1253,15 +1385,19 @@ public override async Task Where_bitwise_and_nullable_enum_with_nullable_paramet await base.Where_bitwise_and_nullable_enum_with_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) -SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE (""w"".""AmmunitionType"" & @__ammunitionType_0) > 0", +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE ("w"."AmmunitionType" & @__ammunitionType_0) > 0 +""", // - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE (""w"".""AmmunitionType"" & NULL) > 0"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE ("w"."AmmunitionType" & NULL) > 0 +"""); } public override async Task Correlated_collections_on_left_join_with_null_value(bool async) @@ -1269,11 +1405,13 @@ public override async Task Correlated_collections_on_left_join_with_null_value(b await base.Correlated_collections_on_left_join_with_null_value(async); AssertSql( - @"SELECT ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Name"", ""w"".""Id"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""t"".""Note"", ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "t"."Id", "g"."Nickname", "g"."SquadId", "w"."Name", "w"."Id" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +ORDER BY "t"."Note", "t"."Id", "g"."Nickname", "g"."SquadId" +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(bool async) @@ -1281,10 +1419,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""g"".""SquadId"" < ""w"".""Id"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" AND "g"."SquadId" < "w"."Id" +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(bool async) @@ -1292,9 +1432,11 @@ public override async Task Byte_array_filter_by_length_literal_does_not_cast_on_ await base.Byte_array_filter_by_length_literal_does_not_cast_on_varbinary_n(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE length(""s"".""Banner5"") = 5"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE length("s"."Banner5") = 5 +"""); } public override async Task Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(bool async) @@ -1302,13 +1444,15 @@ public override async Task Any_with_optional_navigation_as_subquery_predicate_is await base.Any_with_optional_navigation_as_subquery_predicate_is_translated_to_sql(async); AssertSql( - @"SELECT ""s"".""Name"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Name" +FROM "Squads" AS "s" WHERE NOT (EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g"" - LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" - WHERE ""s"".""Id"" = ""g"".""SquadId"" AND ""t"".""Note"" = 'Dom''s Tag'))"); + FROM "Gears" AS "g" + LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" + WHERE "s"."Id" = "g"."SquadId" AND "t"."Note" = 'Dom''s Tag')) +"""); } public override async Task Select_null_propagation_works_for_navigations_with_composite_keys(bool async) @@ -1316,9 +1460,11 @@ public override async Task Select_null_propagation_works_for_navigations_with_co await base.Select_null_propagation_works_for_navigations_with_composite_keys(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"""); +""" +SELECT "g"."Nickname" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +"""); } public override async Task Correlated_collections_on_left_join_with_predicate(bool async) @@ -1326,12 +1472,14 @@ public override async Task Correlated_collections_on_left_join_with_predicate(bo await base.Correlated_collections_on_left_join_with_predicate(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""t"".""Id"", ""g"".""SquadId"", ""w"".""Name"", ""w"".""Id"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -WHERE NOT (""g"".""HasSoulPatch"") -ORDER BY ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "t"."Id", "g"."SquadId", "w"."Name", "w"."Id" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +WHERE NOT ("g"."HasSoulPatch") +ORDER BY "t"."Id", "g"."Nickname", "g"."SquadId" +"""); } public override async Task Property_access_on_derived_entity_using_cast(bool async) @@ -1339,9 +1487,11 @@ public override async Task Property_access_on_derived_entity_using_cast(bool asy await base.Property_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT ""f"".""Name"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"" -ORDER BY ""f"".""Name"""); +""" +SELECT "f"."Name", "f"."Eradicated" +FROM "Factions" AS "f" +ORDER BY "f"."Name" +"""); } public override async Task Null_propagation_optimization3(bool async) @@ -1349,12 +1499,14 @@ public override async Task Null_propagation_optimization3(bool async) await base.Null_propagation_optimization3(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN ""g"".""LeaderNickname"" LIKE '%us' + WHEN "g"."LeaderNickname" IS NOT NULL THEN "g"."LeaderNickname" LIKE '%us' ELSE NULL -END = 1"); +END = 1 +"""); } public override async Task Correlated_collections_different_collections_projected(bool async) @@ -1362,16 +1514,18 @@ public override async Task Correlated_collections_different_collections_projecte await base.Correlated_collections_different_collections_projected(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Name"", ""t"".""IsAutomatic"", ""t"".""Id"", ""g0"".""Nickname"", ""g0"".""Rank"", ""g0"".""SquadId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Name", "t"."IsAutomatic", "t"."Id", "g0"."Nickname", "g0"."Rank", "g0"."SquadId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Name"", ""w"".""IsAutomatic"", ""w"".""Id"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""g0"".""FullName"", ""g0"".""Nickname"""); + SELECT "w"."Name", "w"."IsAutomatic", "w"."Id", "w"."OwnerFullName" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "g"."FullName", "g"."Nickname", "g"."SquadId", "t"."Id", "g0"."FullName", "g0"."Nickname" +"""); } public override async Task Correlated_collections_basic_projection_ordered(bool async) @@ -1379,15 +1533,17 @@ public override async Task Correlated_collections_basic_projection_ordered(bool await base.Correlated_collections_basic_projection_ordered(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" OR ""w"".""Name"" <> 'foo' OR (""w"".""Name"" IS NULL) -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Name"" DESC"); + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" OR "w"."Name" <> 'foo' OR ("w"."Name" IS NULL) +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Name" DESC +"""); } public override async Task Group_by_nullable_property_and_project_the_grouping_key_HasValue(bool async) @@ -1395,9 +1551,11 @@ public override async Task Group_by_nullable_property_and_project_the_grouping_k await base.Group_by_nullable_property_and_project_the_grouping_key_HasValue(async); AssertSql( - @"SELECT ""w"".""SynergyWithId"" IS NOT NULL -FROM ""Weapons"" AS ""w"" -GROUP BY ""w"".""SynergyWithId"""); +""" +SELECT "w"."SynergyWithId" IS NOT NULL +FROM "Weapons" AS "w" +GROUP BY "w"."SynergyWithId" +"""); } public override async Task FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(bool async) @@ -1405,11 +1563,13 @@ public override async Task FirstOrDefault_with_manually_created_groupjoin_is_tra await base.FirstOrDefault_with_manually_created_groupjoin_is_translated_to_sql(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -LEFT JOIN ""Gears"" AS ""g"" ON ""s"".""Id"" = ""g"".""SquadId"" -WHERE ""s"".""Name"" = 'Kilo' -LIMIT 1"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +LEFT JOIN "Gears" AS "g" ON "s"."Id" = "g"."SquadId" +WHERE "s"."Name" = 'Kilo' +LIMIT 1 +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings( @@ -1418,20 +1578,22 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_duplicated_orderings(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""g1"".""Nickname"", ""g1"".""SquadId"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"", ""t0"".""Nickname"", ""t0"".""SquadId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -LEFT JOIN ""Gears"" AS ""g1"" ON ""t"".""GearNickName"" = ""g1"".""Nickname"" AND ""t"".""GearSquadId"" = ""g1"".""SquadId"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t"."Id", "g1"."Nickname", "g1"."SquadId", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId", "t0"."Nickname", "t0"."SquadId" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +LEFT JOIN "Gears" AS "g1" ON "t"."GearNickName" = "g1"."Nickname" AND "t"."GearSquadId" = "g1"."SquadId" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""g2"".""Nickname"", ""g2"".""SquadId"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g2"" ON ""w"".""OwnerFullName"" = ""g2"".""FullName"" -) AS ""t0"" ON ""g1"".""FullName"" = ""t0"".""OwnerFullName"" -WHERE ""g"".""Discriminator"" = 'Officer' AND EXISTS ( + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "g2"."Nickname", "g2"."SquadId" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g2" ON "w"."OwnerFullName" = "g2"."FullName" +) AS "t0" ON "g1"."FullName" = "t0"."OwnerFullName" +WHERE "g"."Discriminator" = 'Officer' AND EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g0"" - WHERE ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"") -ORDER BY ""g"".""HasSoulPatch"" DESC, ""t"".""Note"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""g1"".""Nickname"", ""g1"".""SquadId"", ""t0"".""IsAutomatic"", ""t0"".""Nickname"" DESC, ""t0"".""Id"""); + FROM "Gears" AS "g0" + WHERE "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId") +ORDER BY "g"."HasSoulPatch" DESC, "t"."Note", "g"."Nickname", "g"."SquadId", "t"."Id", "g1"."Nickname", "g1"."SquadId", "t0"."IsAutomatic", "t0"."Nickname" DESC, "t0"."Id" +"""); } public override async Task Select_subquery_int_with_inside_cast_and_coalesce(bool async) @@ -1439,13 +1601,15 @@ public override async Task Select_subquery_int_with_inside_cast_and_coalesce(boo await base.Select_subquery_int_with_inside_cast_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( - SELECT ""w"".""Id"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" +""" +SELECT COALESCE(( + SELECT "w"."Id" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" LIMIT 1), 42) -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Cast_OfType_works_correctly(bool async) @@ -1453,9 +1617,11 @@ public override async Task Cast_OfType_works_correctly(bool async) await base.Cast_OfType_works_correctly(async); AssertSql( - @"SELECT ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""Discriminator"" = 'Officer'"); +""" +SELECT "g"."FullName" +FROM "Gears" AS "g" +WHERE "g"."Discriminator" = 'Officer' +"""); } public override async Task DateTimeOffset_DateAdd_AddMinutes(bool async) @@ -1463,8 +1629,10 @@ public override async Task DateTimeOffset_DateAdd_AddMinutes(bool async) await base.DateTimeOffset_DateAdd_AddMinutes(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Select_Singleton_Navigation_With_Member_Access(bool async) @@ -1472,10 +1640,12 @@ public override async Task Select_Singleton_Navigation_With_Member_Access(bool a await base.Select_Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""g"".""Nickname"" = 'Marcus' AND (""g"".""CityOfBirthName"" <> 'Ephyra' OR (""g"".""CityOfBirthName"" IS NULL))"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "g"."Nickname" = 'Marcus' AND ("g"."CityOfBirthName" <> 'Ephyra' OR ("g"."CityOfBirthName" IS NULL)) +"""); } public override async Task String_compare_with_null_conditional_argument2(bool async) @@ -1483,10 +1653,12 @@ public override async Task String_compare_with_null_conditional_argument2(bool a await base.String_compare_with_null_conditional_argument2(async); AssertSql( - @"SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -ORDER BY 'Marcus'' Lancer' = ""w0"".""Name"" AND (""w0"".""Name"" IS NOT NULL)"); +""" +SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +ORDER BY 'Marcus'' Lancer' = "w0"."Name" AND ("w0"."Name" IS NOT NULL) +"""); } public override async Task Entity_equality_empty(bool async) @@ -1494,9 +1666,11 @@ public override async Task Entity_equality_empty(bool async) await base.Entity_equality_empty(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE 0"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE 0 +"""); } public override async Task Where_with_enum_flags_parameter(bool async) @@ -1504,24 +1678,32 @@ public override async Task Where_with_enum_flags_parameter(bool async) await base.Where_with_enum_flags_parameter(async); AssertSql( - @"@__rank_0='1' (Nullable = true) +""" +@__rank_0='1' (Nullable = true) -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & @__rank_0) = @__rank_0", +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & @__rank_0) = @__rank_0 +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g""", +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +""", // - @"@__rank_0='2' (Nullable = true) +""" +@__rank_0='2' (Nullable = true) -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" | @__rank_0) <> @__rank_0", +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" | @__rank_0) <> @__rank_0 +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE 0"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE 0 +"""); } public override async Task Select_null_propagation_negative1(bool async) @@ -1529,11 +1711,13 @@ public override async Task Select_null_propagation_negative1(bool async) await base.Select_null_propagation_negative1(async); AssertSql( - @"SELECT CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN length(""g"".""Nickname"") = 5 +""" +SELECT CASE + WHEN "g"."LeaderNickname" IS NOT NULL THEN length("g"."Nickname") = 5 ELSE NULL END -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery_null_parameter(bool async) @@ -1541,12 +1725,14 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery_null await base.Contains_on_collection_of_nullable_byte_subquery_null_parameter(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" WHERE EXISTS ( SELECT 1 - FROM ""LocustLeaders"" AS ""l0"" - WHERE ""l0"".""ThreatLevelNullableByte"" IS NULL)"); + FROM "LocustLeaders" AS "l0" + WHERE "l0"."ThreatLevelNullableByte" IS NULL) +"""); } public override async Task OfType_in_subquery_works(bool async) @@ -1554,15 +1740,17 @@ public override async Task OfType_in_subquery_works(bool async) await base.OfType_in_subquery_works(async); AssertSql( - @"SELECT ""t"".""Name"", ""t"".""Location"", ""t"".""Nation"" -FROM ""Gears"" AS ""g"" +""" +SELECT "t"."Name", "t"."Location", "t"."Nation" +FROM "Gears" AS "g" INNER JOIN ( - SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"" - FROM ""Gears"" AS ""g0"" - LEFT JOIN ""Cities"" AS ""c"" ON ""g0"".""AssignedCityName"" = ""c"".""Name"" - WHERE ""g0"".""Discriminator"" = 'Officer' -) AS ""t"" ON ""g"".""Nickname"" = ""t"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer'"); + SELECT "c"."Name", "c"."Location", "c"."Nation", "g0"."LeaderNickname", "g0"."LeaderSquadId" + FROM "Gears" AS "g0" + LEFT JOIN "Cities" AS "c" ON "g0"."AssignedCityName" = "c"."Name" + WHERE "g0"."Discriminator" = 'Officer' +) AS "t" ON "g"."Nickname" = "t"."LeaderNickname" AND "g"."SquadId" = "t"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +"""); } public override async Task Correlated_collection_with_complex_OrderBy(bool async) @@ -1570,18 +1758,20 @@ public override async Task Correlated_collection_with_complex_OrderBy(bool async await base.Correlated_collection_with_complex_OrderBy(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - WHERE NOT (""g0"".""HasSoulPatch"") -) AS ""t"" ON ""g"".""Nickname"" = ""t"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" + FROM "Gears" AS "g0" + WHERE NOT ("g0"."HasSoulPatch") +) AS "t" ON "g"."Nickname" = "t"."LeaderNickname" AND "g"."SquadId" = "t"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' ORDER BY ( SELECT COUNT(*) - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName""), ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"""); + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName"), "g"."Nickname", "g"."SquadId", "t"."Nickname" +"""); } public override async Task Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(bool async) @@ -1589,20 +1779,22 @@ public override async Task Correlated_collections_from_left_join_with_additional await base.Correlated_collections_from_left_join_with_additional_elements_projected_of_that_join(async); AssertSql( - @"SELECT ""w"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""s"".""Id"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"", ""t0"".""Rank"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Gears"" AS ""g"" ON ""w"".""OwnerFullName"" = ""g"".""FullName"" -LEFT JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" +""" +SELECT "w"."Id", "g"."Nickname", "g"."SquadId", "s"."Id", "t0"."Nickname", "t0"."SquadId", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId", "t0"."Rank" +FROM "Weapons" AS "w" +LEFT JOIN "Gears" AS "g" ON "w"."OwnerFullName" = "g"."FullName" +LEFT JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"", ""g0"".""Rank"", ""g0"".""FullName"" - FROM ""Gears"" AS ""g0"" + SELECT "g0"."Nickname", "g0"."SquadId", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId", "g0"."Rank", "g0"."FullName" + FROM "Gears" AS "g0" LEFT JOIN ( - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" - FROM ""Weapons"" AS ""w0"" - WHERE NOT (""w0"".""IsAutomatic"") - ) AS ""t"" ON ""g0"".""FullName"" = ""t"".""OwnerFullName"" -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"" -ORDER BY ""w"".""Name"", ""w"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""s"".""Id"", ""t0"".""FullName"" DESC, ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""Id"""); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" + FROM "Weapons" AS "w0" + WHERE NOT ("w0"."IsAutomatic") + ) AS "t" ON "g0"."FullName" = "t"."OwnerFullName" +) AS "t0" ON "s"."Id" = "t0"."SquadId" +ORDER BY "w"."Name", "w"."Id", "g"."Nickname", "g"."SquadId", "s"."Id", "t0"."FullName" DESC, "t0"."Nickname", "t0"."SquadId", "t0"."Id" +"""); } public override async Task GetValueOrDefault_in_projection(bool async) @@ -1610,8 +1802,10 @@ public override async Task GetValueOrDefault_in_projection(bool async) await base.GetValueOrDefault_in_projection(async); AssertSql( - @"SELECT COALESCE(""w"".""SynergyWithId"", 0) -FROM ""Weapons"" AS ""w"""); +""" +SELECT COALESCE("w"."SynergyWithId", 0) +FROM "Weapons" AS "w" +"""); } public override async Task Correlated_collections_basic_projection_composite_key(bool async) @@ -1619,15 +1813,17 @@ public override async Task Correlated_collections_basic_projection_composite_key await base.Correlated_collections_basic_projection_composite_key(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"", ""t"".""FullName"", ""t"".""SquadId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Nickname", "t"."FullName", "t"."SquadId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""FullName"", ""g0"".""SquadId"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"" - FROM ""Gears"" AS ""g0"" - WHERE NOT (""g0"".""HasSoulPatch"") -) AS ""t"" ON ""g"".""Nickname"" = ""t"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' AND ""g"".""Nickname"" <> 'Foo' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"""); + SELECT "g0"."Nickname", "g0"."FullName", "g0"."SquadId", "g0"."LeaderNickname", "g0"."LeaderSquadId" + FROM "Gears" AS "g0" + WHERE NOT ("g0"."HasSoulPatch") +) AS "t" ON "g"."Nickname" = "t"."LeaderNickname" AND "g"."SquadId" = "t"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' AND "g"."Nickname" <> 'Foo' +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Nickname" +"""); } public override async Task Left_join_projection_using_conditional_tracking(bool async) @@ -1635,9 +1831,11 @@ public override async Task Left_join_projection_using_conditional_tracking(bool await base.Left_join_projection_using_conditional_tracking(async); AssertSql( - @"SELECT (""g0"".""Nickname"" IS NULL) OR (""g0"".""SquadId"" IS NULL), ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""LeaderNickname"" = ""g0"".""Nickname"""); +""" +SELECT ("g0"."Nickname" IS NULL) OR ("g0"."SquadId" IS NULL), "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."LeaderNickname" = "g0"."Nickname" +"""); } public override async Task OfTypeNav1(bool async) @@ -1645,11 +1843,13 @@ public override async Task OfTypeNav1(bool async) await base.OfTypeNav1(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -LEFT JOIN ""Tags"" AS ""t0"" ON ""g"".""Nickname"" = ""t0"".""GearNickName"" AND ""g"".""SquadId"" = ""t0"".""GearSquadId"" -WHERE (""t"".""Note"" <> 'Foo' OR (""t"".""Note"" IS NULL)) AND ""g"".""Discriminator"" = 'Officer' AND (""t0"".""Note"" <> 'Bar' OR (""t0"".""Note"" IS NULL))"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +LEFT JOIN "Tags" AS "t0" ON "g"."Nickname" = "t0"."GearNickName" AND "g"."SquadId" = "t0"."GearSquadId" +WHERE ("t"."Note" <> 'Foo' OR ("t"."Note" IS NULL)) AND "g"."Discriminator" = 'Officer' AND ("t0"."Note" <> 'Bar' OR ("t0"."Note" IS NULL)) +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(bool async) @@ -1657,16 +1857,18 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty_with_pushdown(async); AssertSql( - @"SELECT ( - SELECT ""t"".""IsAutomatic"" +""" +SELECT ( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""w"".""Name"" = 'BFG' - ) AS ""t"" + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND "w"."Name" = 'BFG' + ) AS "t" LIMIT 1) -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"""); +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" +"""); } public override async Task Correlated_collection_take(bool async) @@ -1674,18 +1876,20 @@ public override async Task Correlated_collection_take(bool async) await base.Correlated_collection_take(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""c"".""Name"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" +""" +SELECT "g"."Nickname", "g"."SquadId", "c"."Name", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId", "c"."Location", "c"."Nation" +FROM "Gears" AS "g" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" LEFT JOIN ( - SELECT ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"" + SELECT "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId" FROM ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ROW_NUMBER() OVER(PARTITION BY ""w"".""OwnerFullName"" ORDER BY ""w"".""Id"") AS ""row"" - FROM ""Weapons"" AS ""w"" - ) AS ""t"" - WHERE ""t"".""row"" <= 10 -) AS ""t0"" ON ""g"".""FullName"" = ""t0"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""c"".""Name"""); + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", ROW_NUMBER() OVER(PARTITION BY "w"."OwnerFullName" ORDER BY "w"."Id") AS "row" + FROM "Weapons" AS "w" + ) AS "t" + WHERE "t"."row" <= 10 +) AS "t0" ON "g"."FullName" = "t0"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "c"."Name" +"""); } public override async Task Where_enum(bool async) @@ -1693,9 +1897,11 @@ public override async Task Where_enum(bool async) await base.Where_enum(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""Rank"" = 4"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."Rank" = 4 +"""); } public override async Task Where_has_flag_with_nullable_parameter(bool async) @@ -1703,11 +1909,13 @@ public override async Task Where_has_flag_with_nullable_parameter(bool async) await base.Where_has_flag_with_nullable_parameter(async); AssertSql( - @"@__parameter_0='2' (Nullable = true) +""" +@__parameter_0='2' (Nullable = true) -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & @__parameter_0) = @__parameter_0"); +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & @__parameter_0) = @__parameter_0 +"""); } public override async Task Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(bool async) @@ -1715,10 +1923,12 @@ public override async Task Correlated_collection_with_complex_order_by_funcletiz await base.Correlated_collection_with_complex_order_by_funcletized_to_constant_bool(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Name"", ""w"".""Id"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "w"."Name", "w"."Id" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Correlated_collections_basic_projecting_single_property(bool async) @@ -1726,15 +1936,17 @@ public override async Task Correlated_collections_basic_projecting_single_proper await base.Correlated_collections_basic_projecting_single_property(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Name"", ""t"".""Id"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Name", "t"."Id" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Name"", ""w"".""Id"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" OR ""w"".""Name"" <> 'foo' OR (""w"".""Name"" IS NULL) -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); + SELECT "w"."Name", "w"."Id", "w"."OwnerFullName" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" OR "w"."Name" <> 'foo' OR ("w"."Name" IS NULL) +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(bool async) @@ -1742,10 +1954,12 @@ public override async Task Unnecessary_include_doesnt_get_added_complex_when_pro await base.Unnecessary_include_doesnt_get_added_complex_when_projecting_EF_Property(async); AssertSql( - @"SELECT ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" -ORDER BY ""g"".""Rank"""); +""" +SELECT "g"."FullName" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" +ORDER BY "g"."Rank" +"""); } public override async Task Subquery_with_result_operator_is_not_lifted(bool async) @@ -1753,17 +1967,19 @@ public override async Task Subquery_with_result_operator_is_not_lifted(bool asyn await base.Subquery_with_result_operator_is_not_lifted(async); AssertSql( - @"@__p_0='2' +""" +@__p_0='2' -SELECT ""t"".""FullName"" +SELECT "t"."FullName" FROM ( - SELECT ""g"".""FullName"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - WHERE NOT (""g"".""HasSoulPatch"") - ORDER BY ""g"".""FullName"" + SELECT "g"."FullName", "g"."Rank" + FROM "Gears" AS "g" + WHERE NOT ("g"."HasSoulPatch") + ORDER BY "g"."FullName" LIMIT @__p_0 -) AS ""t"" -ORDER BY ""t"".""Rank"""); +) AS "t" +ORDER BY "t"."Rank" +"""); } public override async Task Accessing_reference_navigation_collection_composition_generates_single_query(bool async) @@ -1771,14 +1987,16 @@ public override async Task Accessing_reference_navigation_collection_composition await base.Accessing_reference_navigation_collection_composition_generates_single_query(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""Id0"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Id", "t"."IsAutomatic", "t"."Name", "t"."Id0" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""Id"" AS ""Id0"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"""); + SELECT "w"."Id", "w"."IsAutomatic", "w0"."Name", "w0"."Id" AS "Id0", "w"."OwnerFullName" + FROM "Weapons" AS "w" + LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Id" +"""); } public override async Task Select_subquery_projecting_single_constant_null_of_non_mapped_type(bool async) @@ -1786,17 +2004,19 @@ public override async Task Select_subquery_projecting_single_constant_null_of_no await base.Select_subquery_projecting_single_constant_null_of_non_mapped_type(async); AssertSql( - @"SELECT ""s"".""Name"", ""t0"".""c"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Name", "t0"."c" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""t"".""c"", ""t"".""SquadId"" + SELECT "t"."c", "t"."SquadId" FROM ( - SELECT 1 AS ""c"", ""g"".""SquadId"", ROW_NUMBER() OVER(PARTITION BY ""g"".""SquadId"" ORDER BY ""g"".""Nickname"", ""g"".""SquadId"") AS ""row"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""HasSoulPatch"" - ) AS ""t"" - WHERE ""t"".""row"" <= 1 -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"""); + SELECT 1 AS "c", "g"."SquadId", ROW_NUMBER() OVER(PARTITION BY "g"."SquadId" ORDER BY "g"."Nickname", "g"."SquadId") AS "row" + FROM "Gears" AS "g" + WHERE "g"."HasSoulPatch" + ) AS "t" + WHERE "t"."row" <= 1 +) AS "t0" ON "s"."Id" = "t0"."SquadId" +"""); } public override async Task Subquery_is_lifted_from_main_from_clause_of_SelectMany(bool async) @@ -1804,11 +2024,13 @@ public override async Task Subquery_is_lifted_from_main_from_clause_of_SelectMan await base.Subquery_is_lifted_from_main_from_clause_of_SelectMany(async); AssertSql( - @"SELECT ""g"".""FullName"" AS ""Name1"", ""g0"".""FullName"" AS ""Name2"" -FROM ""Gears"" AS ""g"" -CROSS JOIN ""Gears"" AS ""g0"" -WHERE ""g"".""HasSoulPatch"" AND NOT (""g0"".""HasSoulPatch"") -ORDER BY ""g"".""FullName"""); +""" +SELECT "g"."FullName" AS "Name1", "g0"."FullName" AS "Name2" +FROM "Gears" AS "g" +CROSS JOIN "Gears" AS "g0" +WHERE "g"."HasSoulPatch" AND NOT ("g0"."HasSoulPatch") +ORDER BY "g"."FullName" +"""); } public override async Task Subquery_created_by_include_gets_lifted_nested(bool async) @@ -1816,14 +2038,16 @@ public override async Task Subquery_created_by_include_gets_lifted_nested(bool a await base.Subquery_created_by_include_gets_lifted_nested(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "c"."Name", "c"."Location", "c"."Nation" +FROM "Gears" AS "g" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" WHERE EXISTS ( SELECT 1 - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"") AND NOT (""g"".""HasSoulPatch"") -ORDER BY ""g"".""Nickname"""); + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName") AND NOT ("g"."HasSoulPatch") +ORDER BY "g"."Nickname" +"""); } public override async Task Where_bitwise_and_integral(bool async) @@ -1831,17 +2055,23 @@ public override async Task Where_bitwise_and_integral(bool async) await base.Where_bitwise_and_integral(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & 1) = 1", +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & 1) = 1 +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (CAST(""g"".""Rank"" AS INTEGER) & 1) = 1", +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE (CAST("g"."Rank" AS INTEGER) & 1) = 1 +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (CAST(""g"".""Rank"" AS INTEGER) & 1) = 1"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE (CAST("g"."Rank" AS INTEGER) & 1) = 1 +"""); } public override async Task Select_multiple_conditions(bool async) @@ -1849,8 +2079,10 @@ public override async Task Select_multiple_conditions(bool async) await base.Select_multiple_conditions(async); AssertSql( - @"SELECT ""w"".""Id"", NOT (""w"".""IsAutomatic"") AND ""w"".""SynergyWithId"" = 1 AND (""w"".""SynergyWithId"" IS NOT NULL) AS ""IsCartridge"" -FROM ""Weapons"" AS ""w"""); +""" +SELECT "w"."Id", NOT ("w"."IsAutomatic") AND "w"."SynergyWithId" = 1 AND ("w"."SynergyWithId" IS NOT NULL) AS "IsCartridge" +FROM "Weapons" AS "w" +"""); } public override async Task Navigation_inside_interpolated_string_expanded(bool async) @@ -1858,9 +2090,11 @@ public override async Task Navigation_inside_interpolated_string_expanded(bool a await base.Navigation_inside_interpolated_string_expanded(async); AssertSql( - @"SELECT ""w"".""SynergyWithId"" IS NOT NULL, ""w0"".""OwnerFullName"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"""); +""" +SELECT "w"."SynergyWithId" IS NOT NULL, "w0"."OwnerFullName" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +"""); } public override async Task Group_by_with_include_with_entity_in_result_selector(bool async) @@ -1868,22 +2102,24 @@ public override async Task Group_by_with_include_with_entity_in_result_selector( await base.Group_by_with_include_with_entity_in_result_selector(async); AssertSql( - @"SELECT ""t"".""Rank"", ""t"".""c"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"", ""t0"".""Name"", ""t0"".""Location"", ""t0"".""Nation"" +""" +SELECT "t"."Rank", "t"."c", "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank", "t0"."Name", "t0"."Location", "t0"."Nation" FROM ( - SELECT ""g"".""Rank"", COUNT(*) AS ""c"" - FROM ""Gears"" AS ""g"" - GROUP BY ""g"".""Rank"" -) AS ""t"" + SELECT "g"."Rank", COUNT(*) AS "c" + FROM "Gears" AS "g" + GROUP BY "g"."Rank" +) AS "t" LEFT JOIN ( - SELECT ""t1"".""Nickname"", ""t1"".""SquadId"", ""t1"".""AssignedCityName"", ""t1"".""CityOfBirthName"", ""t1"".""Discriminator"", ""t1"".""FullName"", ""t1"".""HasSoulPatch"", ""t1"".""LeaderNickname"", ""t1"".""LeaderSquadId"", ""t1"".""Rank"", ""t1"".""Name"", ""t1"".""Location"", ""t1"".""Nation"" + SELECT "t1"."Nickname", "t1"."SquadId", "t1"."AssignedCityName", "t1"."CityOfBirthName", "t1"."Discriminator", "t1"."FullName", "t1"."HasSoulPatch", "t1"."LeaderNickname", "t1"."LeaderSquadId", "t1"."Rank", "t1"."Name", "t1"."Location", "t1"."Nation" FROM ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"", ROW_NUMBER() OVER(PARTITION BY ""g0"".""Rank"" ORDER BY ""g0"".""Nickname"") AS ""row"" - FROM ""Gears"" AS ""g0"" - INNER JOIN ""Cities"" AS ""c"" ON ""g0"".""CityOfBirthName"" = ""c"".""Name"" - ) AS ""t1"" - WHERE ""t1"".""row"" <= 1 -) AS ""t0"" ON ""t"".""Rank"" = ""t0"".""Rank"" -ORDER BY ""t"".""Rank"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "c"."Name", "c"."Location", "c"."Nation", ROW_NUMBER() OVER(PARTITION BY "g0"."Rank" ORDER BY "g0"."Nickname") AS "row" + FROM "Gears" AS "g0" + INNER JOIN "Cities" AS "c" ON "g0"."CityOfBirthName" = "c"."Name" + ) AS "t1" + WHERE "t1"."row" <= 1 +) AS "t0" ON "t"."Rank" = "t0"."Rank" +ORDER BY "t"."Rank" +"""); } public override async Task Include_reference_on_derived_type_using_lambda(bool async) @@ -1891,9 +2127,11 @@ public override async Task Include_reference_on_derived_type_using_lambda(bool a await base.Include_reference_on_derived_type_using_lambda(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"""); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(bool async) @@ -1901,10 +2139,12 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_Def await base.SelectMany_predicate_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" <> ""w"".""OwnerFullName"" OR (""w"".""OwnerFullName"" IS NULL) -ORDER BY ""g"".""Nickname"", ""w"".""Id"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" <> "w"."OwnerFullName" OR ("w"."OwnerFullName" IS NULL) +ORDER BY "g"."Nickname", "w"."Id" +"""); } public override async Task Include_reference_on_derived_type_using_lambda_with_soft_cast(bool async) @@ -1912,9 +2152,11 @@ public override async Task Include_reference_on_derived_type_using_lambda_with_s await base.Include_reference_on_derived_type_using_lambda_with_soft_cast(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"""); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +"""); } public override async Task Project_collection_navigation_with_inheritance1(bool async) @@ -1922,16 +2164,18 @@ public override async Task Project_collection_navigation_with_inheritance1(bool await base.Project_collection_navigation_with_inheritance1(async); AssertSql( - @"SELECT ""f"".""Id"", ""t"".""Name"", ""f0"".""Id"", ""l0"".""Name"", ""l0"".""Discriminator"", ""l0"".""LocustHordeId"", ""l0"".""ThreatLevel"", ""l0"".""ThreatLevelByte"", ""l0"".""ThreatLevelNullableByte"", ""l0"".""DefeatedByNickname"", ""l0"".""DefeatedBySquadId"", ""l0"".""HighCommandId"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Id", "t"."Name", "f0"."Id", "l0"."Name", "l0"."Discriminator", "l0"."LocustHordeId", "l0"."ThreatLevel", "l0"."ThreatLevelByte", "l0"."ThreatLevelNullableByte", "l0"."DefeatedByNickname", "l0"."DefeatedBySquadId", "l0"."HighCommandId" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -LEFT JOIN ""Factions"" AS ""f0"" ON ""t"".""Name"" = ""f0"".""CommanderName"" -LEFT JOIN ""LocustLeaders"" AS ""l0"" ON ""f0"".""Id"" = ""l0"".""LocustHordeId"" -ORDER BY ""f"".""Id"", ""t"".""Name"", ""f0"".""Id"""); + SELECT "l"."Name" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +LEFT JOIN "Factions" AS "f0" ON "t"."Name" = "f0"."CommanderName" +LEFT JOIN "LocustLeaders" AS "l0" ON "f0"."Id" = "l0"."LocustHordeId" +ORDER BY "f"."Id", "t"."Name", "f0"."Id" +"""); } public override async Task Where_bool_column_and_Contains(bool async) @@ -1939,9 +2183,11 @@ public override async Task Where_bool_column_and_Contains(bool async) await base.Where_bool_column_and_Contains(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND ""g"".""HasSoulPatch"" IN (0, 1)"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND "g"."HasSoulPatch" IN (0, 1) +"""); } public override async Task Projecting_property_converted_to_nullable_into_unary(bool async) @@ -1949,17 +2195,19 @@ public override async Task Projecting_property_converted_to_nullable_into_unary( await base.Projecting_property_converted_to_nullable_into_unary(async); AssertSql( - @"SELECT ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +""" +SELECT "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE (CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""Nickname"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."Nickname" ELSE NULL END IS NOT NULL) AND NOT (CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""HasSoulPatch"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."HasSoulPatch" ELSE NULL END) -ORDER BY ""t"".""Note"""); +ORDER BY "t"."Note" +"""); } public override async Task Where_enum_has_flag_subquery_client_eval(bool async) @@ -1967,21 +2215,23 @@ public override async Task Where_enum_has_flag_subquery_client_eval(bool async) await base.Where_enum_has_flag_subquery_client_eval(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & ( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & ( + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" LIMIT 1)) = ( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" LIMIT 1) OR (( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" - LIMIT 1) IS NULL)"); + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" + LIMIT 1) IS NULL) +"""); } public override async Task Navigation_access_via_EFProperty_on_derived_entity_using_cast(bool async) @@ -1989,14 +2239,16 @@ public override async Task Navigation_access_via_EFProperty_on_derived_entity_us await base.Navigation_access_via_EFProperty_on_derived_entity_using_cast(async); AssertSql( - @"SELECT ""f"".""Name"", ""t"".""ThreatLevel"" AS ""Threat"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Name", "t"."ThreatLevel" AS "Threat" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""ThreatLevel"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -ORDER BY ""f"".""Name"""); + SELECT "l"."Name", "l"."ThreatLevel" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +ORDER BY "f"."Name" +"""); } public override async Task Left_join_predicate_condition_equals_condition(bool async) @@ -2004,9 +2256,11 @@ public override async Task Left_join_predicate_condition_equals_condition(bool a await base.Left_join_predicate_condition_equals_condition(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""w"".""SynergyWithId"" IS NOT NULL"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "w"."SynergyWithId" IS NOT NULL +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean2(bool async) @@ -2014,14 +2268,16 @@ public override async Task Where_subquery_distinct_singleordefault_boolean2(bool await base.Where_subquery_distinct_singleordefault_boolean2(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND COALESCE(( - SELECT DISTINCT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ('Lancer' = '' OR instr(""w"".""Name"", 'Lancer') > 0) +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND COALESCE(( + SELECT DISTINCT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND ('Lancer' = '' OR instr("w"."Name", 'Lancer') > 0) LIMIT 1), 0) -ORDER BY ""g"".""Nickname"""); +ORDER BY "g"."Nickname" +"""); } public override async Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool async) @@ -2029,10 +2285,12 @@ public override async Task Join_on_entity_qsre_keys_outer_key_is_navigation(bool await base.Join_on_entity_qsre_keys_outer_key_is_navigation(async); AssertSql( - @"SELECT ""w"".""Name"" AS ""Name1"", ""w1"".""Name"" AS ""Name2"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -INNER JOIN ""Weapons"" AS ""w1"" ON ""w0"".""Id"" = ""w1"".""Id"""); +""" +SELECT "w"."Name" AS "Name1", "w1"."Name" AS "Name2" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +INNER JOIN "Weapons" AS "w1" ON "w0"."Id" = "w1"."Id" +"""); } public override async Task Enum_ToString_is_client_eval(bool async) @@ -2040,9 +2298,11 @@ public override async Task Enum_ToString_is_client_eval(bool async) await base.Enum_ToString_is_client_eval(async); AssertSql( - @"SELECT ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -ORDER BY ""g"".""SquadId"", ""g"".""Nickname"""); +""" +SELECT "g"."Rank" +FROM "Gears" AS "g" +ORDER BY "g"."SquadId", "g"."Nickname" +"""); } public override async Task Include_with_join_collection2(bool async) @@ -2050,11 +2310,13 @@ public override async Task Include_with_join_collection2(bool async) await base.Include_with_join_collection2(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Tags"" AS ""t"" -INNER JOIN ""Gears"" AS ""g"" ON ""t"".""GearSquadId"" = ""g"".""SquadId"" AND ""t"".""GearNickName"" = ""g"".""Nickname"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Tags" AS "t" +INNER JOIN "Gears" AS "g" ON "t"."GearSquadId" = "g"."SquadId" AND "t"."GearNickName" = "g"."Nickname" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +ORDER BY "t"."Id", "g"."Nickname", "g"."SquadId" +"""); } public override async Task GetValueOrDefault_with_argument(bool async) @@ -2062,9 +2324,11 @@ public override async Task GetValueOrDefault_with_argument(bool async) await base.GetValueOrDefault_with_argument(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE COALESCE(""w"".""SynergyWithId"", ""w"".""Id"") = 1"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE COALESCE("w"."SynergyWithId", "w"."Id") = 1 +"""); } public override async Task Projecting_property_converted_to_nullable_with_function_call(bool async) @@ -2072,12 +2336,14 @@ public override async Task Projecting_property_converted_to_nullable_with_functi await base.Projecting_property_converted_to_nullable_with_function_call(async); AssertSql( - @"SELECT substr(CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""Nickname"" +""" +SELECT substr(CASE + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."Nickname" ELSE NULL END, 0 + 1, 3) -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"""); +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +"""); } public override async Task Order_by_entity_qsre_with_inheritance(bool async) @@ -2085,11 +2351,13 @@ public override async Task Order_by_entity_qsre_with_inheritance(bool async) await base.Order_by_entity_qsre_with_inheritance(async); AssertSql( - @"SELECT ""l"".""Name"" -FROM ""LocustLeaders"" AS ""l"" -INNER JOIN ""LocustHighCommands"" AS ""l0"" ON ""l"".""HighCommandId"" = ""l0"".""Id"" -WHERE ""l"".""Discriminator"" = 'LocustCommander' -ORDER BY ""l0"".""Id"", ""l"".""Name"""); +""" +SELECT "l"."Name" +FROM "LocustLeaders" AS "l" +INNER JOIN "LocustHighCommands" AS "l0" ON "l"."HighCommandId" = "l0"."Id" +WHERE "l"."Discriminator" = 'LocustCommander' +ORDER BY "l0"."Id", "l"."Name" +"""); } public override async Task Where_is_properly_lifted_from_subquery_created_by_include(bool async) @@ -2097,11 +2365,13 @@ public override async Task Where_is_properly_lifted_from_subquery_created_by_inc await base.Where_is_properly_lifted_from_subquery_created_by_include(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -WHERE ""g"".""FullName"" <> 'Augustus Cole' AND NOT (""g"".""HasSoulPatch"") -ORDER BY ""g"".""FullName"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +WHERE "g"."FullName" <> 'Augustus Cole' AND NOT ("g"."HasSoulPatch") +ORDER BY "g"."FullName" +"""); } public override async Task Group_by_on_StartsWith_with_null_parameter_as_argument(bool async) @@ -2109,12 +2379,14 @@ public override async Task Group_by_on_StartsWith_with_null_parameter_as_argumen await base.Group_by_on_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT ""t"".""Key"" +""" +SELECT "t"."Key" FROM ( - SELECT 0 AS ""Key"" - FROM ""Gears"" AS ""g"" -) AS ""t"" -GROUP BY ""t"".""Key"""); + SELECT 0 AS "Key" + FROM "Gears" AS "g" +) AS "t" +GROUP BY "t"."Key" +"""); } public override async Task Non_unicode_parameter_is_used_for_non_unicode_column(bool async) @@ -2122,11 +2394,13 @@ public override async Task Non_unicode_parameter_is_used_for_non_unicode_column( await base.Non_unicode_parameter_is_used_for_non_unicode_column(async); AssertSql( - @"@__value_0='Unknown' (Size = 7) +""" +@__value_0='Unknown' (Size = 7) -SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" -WHERE ""c"".""Location"" = @__value_0"); +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" +WHERE "c"."Location" = @__value_0 +"""); } public override async Task TimeSpan_Seconds(bool async) @@ -2134,8 +2408,10 @@ public override async Task TimeSpan_Seconds(bool async) await base.TimeSpan_Seconds(async); AssertSql( - @"SELECT ""m"".""Duration"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Duration" +FROM "Missions" AS "m" +"""); } public override async Task Optional_navigation_type_compensation_works_with_contains(bool async) @@ -2143,13 +2419,15 @@ public override async Task Optional_navigation_type_compensation_works_with_cont await base.Optional_navigation_type_compensation_works_with_contains(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE (""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL)) AND EXISTS ( +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE ("t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL)) AND EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g0"" - WHERE ""g0"".""SquadId"" = ""g"".""SquadId"")"); + FROM "Gears" AS "g0" + WHERE "g0"."SquadId" = "g"."SquadId") +"""); } public override async Task Navigation_based_on_complex_expression2(bool async) @@ -2157,14 +2435,16 @@ public override async Task Navigation_based_on_complex_expression2(bool async) await base.Navigation_based_on_complex_expression2(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -WHERE ""t"".""Name"" IS NOT NULL"); + SELECT "l"."Name" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +WHERE "t"."Name" IS NOT NULL +"""); } public override async Task GroupBy_with_boolean_grouping_key(bool async) @@ -2172,12 +2452,14 @@ public override async Task GroupBy_with_boolean_grouping_key(bool async) await base.GroupBy_with_boolean_grouping_key(async); AssertSql( - @"SELECT ""t"".""CityOfBirthName"", ""t"".""HasSoulPatch"", ""t"".""IsMarcus"", COUNT(*) AS ""Count"" +""" +SELECT "t"."CityOfBirthName", "t"."HasSoulPatch", "t"."IsMarcus", COUNT(*) AS "Count" FROM ( - SELECT ""g"".""CityOfBirthName"", ""g"".""HasSoulPatch"", ""g"".""Nickname"" = 'Marcus' AS ""IsMarcus"" - FROM ""Gears"" AS ""g"" -) AS ""t"" -GROUP BY ""t"".""CityOfBirthName"", ""t"".""HasSoulPatch"", ""t"".""IsMarcus"""); + SELECT "g"."CityOfBirthName", "g"."HasSoulPatch", "g"."Nickname" = 'Marcus' AS "IsMarcus" + FROM "Gears" AS "g" +) AS "t" +GROUP BY "t"."CityOfBirthName", "t"."HasSoulPatch", "t"."IsMarcus" +"""); } public override async Task Correlated_collections_on_select_many(bool async) @@ -2185,21 +2467,23 @@ public override async Task Correlated_collections_on_select_many(bool async) await base.Correlated_collections_on_select_many(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""s"".""Name"", ""g"".""SquadId"", ""s"".""Id"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"" -FROM ""Gears"" AS ""g"" -CROSS JOIN ""Squads"" AS ""s"" +""" +SELECT "g"."Nickname", "s"."Name", "g"."SquadId", "s"."Id", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId", "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank" +FROM "Gears" AS "g" +CROSS JOIN "Squads" AS "s" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" OR ""w"".""Name"" <> 'foo' OR (""w"".""Name"" IS NULL) -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" OR "w"."Name" <> 'foo' OR ("w"."Name" IS NULL) +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - WHERE NOT (""g0"".""HasSoulPatch"") -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"" -WHERE ""g"".""HasSoulPatch"" -ORDER BY ""g"".""Nickname"", ""s"".""Id"" DESC, ""g"".""SquadId"", ""t"".""Id"", ""t0"".""Nickname"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" + FROM "Gears" AS "g0" + WHERE NOT ("g0"."HasSoulPatch") +) AS "t0" ON "s"."Id" = "t0"."SquadId" +WHERE "g"."HasSoulPatch" +ORDER BY "g"."Nickname", "s"."Id" DESC, "g"."SquadId", "t"."Id", "t0"."Nickname" +"""); } public override async Task Correlated_collection_with_top_level_Last_with_order_by_on_inner(bool async) @@ -2207,15 +2491,17 @@ public override async Task Correlated_collection_with_top_level_Last_with_order_ await base.Correlated_collection_with_top_level_Last_with_order_by_on_inner(async); AssertSql( - @"SELECT ""t"".""Nickname"", ""t"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" +""" +SELECT "t"."Nickname", "t"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" FROM ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""FullName"" - FROM ""Gears"" AS ""g"" - ORDER BY ""g"".""FullName"" DESC + SELECT "g"."Nickname", "g"."SquadId", "g"."FullName" + FROM "Gears" AS "g" + ORDER BY "g"."FullName" DESC LIMIT 1 -) AS ""t"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""t"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""t"".""FullName"" DESC, ""t"".""Nickname"", ""t"".""SquadId"", ""w"".""Name"""); +) AS "t" +LEFT JOIN "Weapons" AS "w" ON "t"."FullName" = "w"."OwnerFullName" +ORDER BY "t"."FullName" DESC, "t"."Nickname", "t"."SquadId", "w"."Name" +"""); } public override async Task Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(bool async) @@ -2223,13 +2509,15 @@ public override async Task Correlated_collections_naked_navigation_with_ToList_f await base.Correlated_collections_naked_navigation_with_ToList_followed_by_projecting_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"") -FROM ""Gears"" AS ""g"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""Nickname"""); + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName") +FROM "Gears" AS "g" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."Nickname" +"""); } public override async Task Non_unicode_string_literal_is_used_for_non_unicode_column_right(bool async) @@ -2237,9 +2525,11 @@ public override async Task Non_unicode_string_literal_is_used_for_non_unicode_co await base.Non_unicode_string_literal_is_used_for_non_unicode_column_right(async); AssertSql( - @"SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" -WHERE 'Unknown' = ""c"".""Location"""); +""" +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" +WHERE 'Unknown' = "c"."Location" +"""); } public override async Task Cast_to_derived_followed_by_multiple_includes(bool async) @@ -2247,12 +2537,14 @@ public override async Task Cast_to_derived_followed_by_multiple_includes(bool as await base.Cast_to_derived_followed_by_multiple_includes(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -WHERE 'Queen' = '' OR instr(""l"".""Name"", 'Queen') > 0 -ORDER BY ""l"".""Name"", ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +WHERE 'Queen' = '' OR instr("l"."Name", 'Queen') > 0 +ORDER BY "l"."Name", "g"."Nickname", "g"."SquadId" +"""); } public override async Task Collection_navigation_access_on_derived_entity_using_cast(bool async) @@ -2260,12 +2552,14 @@ public override async Task Collection_navigation_access_on_derived_entity_using_ await base.Collection_navigation_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT ""f"".""Name"", ( +""" +SELECT "f"."Name", ( SELECT COUNT(*) - FROM ""LocustLeaders"" AS ""l"" - WHERE ""f"".""Id"" = ""l"".""LocustHordeId"") AS ""LeadersCount"" -FROM ""Factions"" AS ""f"" -ORDER BY ""f"".""Name"""); + FROM "LocustLeaders" AS "l" + WHERE "f"."Id" = "l"."LocustHordeId") AS "LeadersCount" +FROM "Factions" AS "f" +ORDER BY "f"."Name" +"""); } public override async Task Select_subquery_projecting_single_constant_bool(bool async) @@ -2273,12 +2567,14 @@ public override async Task Select_subquery_projecting_single_constant_bool(bool await base.Select_subquery_projecting_single_constant_bool(async); AssertSql( - @"SELECT ""s"".""Name"", COALESCE(( +""" +SELECT "s"."Name", COALESCE(( SELECT 1 - FROM ""Gears"" AS ""g"" - WHERE ""s"".""Id"" = ""g"".""SquadId"" AND ""g"".""HasSoulPatch"" - LIMIT 1), 0) AS ""Gear"" -FROM ""Squads"" AS ""s"""); + FROM "Gears" AS "g" + WHERE "s"."Id" = "g"."SquadId" AND "g"."HasSoulPatch" + LIMIT 1), 0) AS "Gear" +FROM "Squads" AS "s" +"""); } public override async Task Member_access_on_derived_materialized_entity_using_cast(bool async) @@ -2286,9 +2582,11 @@ public override async Task Member_access_on_derived_materialized_entity_using_ca await base.Member_access_on_derived_materialized_entity_using_cast(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"" -ORDER BY ""f"".""Name"""); +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated" +FROM "Factions" AS "f" +ORDER BY "f"."Name" +"""); } public override async Task Project_entity_and_collection_element(bool async) @@ -2296,19 +2594,21 @@ public override async Task Project_entity_and_collection_element(bool async) await base.Project_entity_and_collection_element(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId" +FROM "Gears" AS "g" +INNER JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" LEFT JOIN ( - SELECT ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"" + SELECT "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId" FROM ( - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"", ROW_NUMBER() OVER(PARTITION BY ""w0"".""OwnerFullName"" ORDER BY ""w0"".""Id"") AS ""row"" - FROM ""Weapons"" AS ""w0"" - ) AS ""t"" - WHERE ""t"".""row"" <= 1 -) AS ""t0"" ON ""g"".""FullName"" = ""t0"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""s"".""Id"""); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId", ROW_NUMBER() OVER(PARTITION BY "w0"."OwnerFullName" ORDER BY "w0"."Id") AS "row" + FROM "Weapons" AS "w0" + ) AS "t" + WHERE "t"."row" <= 1 +) AS "t0" ON "g"."FullName" = "t0"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "s"."Id" +"""); } public override async Task Where_subquery_distinct_first_boolean(bool async) @@ -2316,18 +2616,20 @@ public override async Task Where_subquery_distinct_first_boolean(bool async) await base.Where_subquery_distinct_first_boolean(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND ( - SELECT ""t"".""IsAutomatic"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND ( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ) AS ""t"" - ORDER BY ""t"".""Id"" + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ) AS "t" + ORDER BY "t"."Id" LIMIT 1) -ORDER BY ""g"".""Nickname"""); +ORDER BY "g"."Nickname" +"""); } public override async Task Where_subquery_union_firstordefault_boolean(bool async) @@ -2335,21 +2637,23 @@ public override async Task Where_subquery_union_firstordefault_boolean(bool asyn await base.Where_subquery_union_firstordefault_boolean(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND ( - SELECT ""t"".""IsAutomatic"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND ( + SELECT "t"."IsAutomatic" FROM ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" UNION - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" - FROM ""Weapons"" AS ""w0"" - WHERE ""g"".""FullName"" = ""w0"".""OwnerFullName"" - ) AS ""t"" - ORDER BY ""t"".""Id"" - LIMIT 1)"); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" + FROM "Weapons" AS "w0" + WHERE "g"."FullName" = "w0"."OwnerFullName" + ) AS "t" + ORDER BY "t"."Id" + LIMIT 1) +"""); } public override async Task Subquery_containing_join_gets_lifted_clashing_names(bool async) @@ -2357,12 +2661,14 @@ public override async Task Subquery_containing_join_gets_lifted_clashing_names(b await base.Subquery_containing_join_gets_lifted_clashing_names(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" -INNER JOIN ""Tags"" AS ""t0"" ON ""g"".""Nickname"" = ""t0"".""GearNickName"" -WHERE ""t"".""GearNickName"" <> 'Cole Train' OR (""t"".""GearNickName"" IS NULL) -ORDER BY ""g"".""Nickname"", ""t0"".""Id"""); +""" +SELECT "g"."Nickname" +FROM "Gears" AS "g" +INNER JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" +INNER JOIN "Tags" AS "t0" ON "g"."Nickname" = "t0"."GearNickName" +WHERE "t"."GearNickName" <> 'Cole Train' OR ("t"."GearNickName" IS NULL) +ORDER BY "g"."Nickname", "t0"."Id" +"""); } public override async Task Projecting_property_converted_to_nullable_with_addition(bool async) @@ -2370,13 +2676,15 @@ public override async Task Projecting_property_converted_to_nullable_with_additi await base.Projecting_property_converted_to_nullable_with_addition(async); AssertSql( - @"SELECT ""t"".""Note"", ""t"".""GearNickName"" IS NOT NULL, ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""HasSoulPatch"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +""" +SELECT "t"."Note", "t"."GearNickName" IS NOT NULL, "g"."Nickname", "g"."SquadId", "g"."HasSoulPatch" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE (CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL -END + 1) = 2"); +END + 1) = 2 +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(bool async) @@ -2384,20 +2692,22 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""g1"".""Nickname"", ""g1"".""SquadId"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"", ""t0"".""Nickname"", ""t0"".""SquadId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -LEFT JOIN ""Gears"" AS ""g1"" ON ""t"".""GearNickName"" = ""g1"".""Nickname"" AND ""t"".""GearSquadId"" = ""g1"".""SquadId"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t"."Id", "g1"."Nickname", "g1"."SquadId", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId", "t0"."Nickname", "t0"."SquadId" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +LEFT JOIN "Gears" AS "g1" ON "t"."GearNickName" = "g1"."Nickname" AND "t"."GearSquadId" = "g1"."SquadId" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""g2"".""Nickname"", ""g2"".""SquadId"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g2"" ON ""w"".""OwnerFullName"" = ""g2"".""FullName"" -) AS ""t0"" ON ""g1"".""FullName"" = ""t0"".""OwnerFullName"" -WHERE ""g"".""Discriminator"" = 'Officer' AND EXISTS ( + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "g2"."Nickname", "g2"."SquadId" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g2" ON "w"."OwnerFullName" = "g2"."FullName" +) AS "t0" ON "g1"."FullName" = "t0"."OwnerFullName" +WHERE "g"."Discriminator" = 'Officer' AND EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g0"" - WHERE ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"") -ORDER BY ""g"".""HasSoulPatch"" DESC, ""t"".""Note"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""g1"".""Nickname"", ""g1"".""SquadId"", ""t0"".""IsAutomatic"", ""t0"".""Nickname"" DESC, ""t0"".""Id"""); + FROM "Gears" AS "g0" + WHERE "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId") +ORDER BY "g"."HasSoulPatch" DESC, "t"."Note", "g"."Nickname", "g"."SquadId", "t"."Id", "g1"."Nickname", "g1"."SquadId", "t0"."IsAutomatic", "t0"."Nickname" DESC, "t0"."Id" +"""); } public override async Task Select_subquery_projecting_single_constant_of_non_mapped_type(bool async) @@ -2405,17 +2715,19 @@ public override async Task Select_subquery_projecting_single_constant_of_non_map await base.Select_subquery_projecting_single_constant_of_non_mapped_type(async); AssertSql( - @"SELECT ""s"".""Name"", ""t0"".""c"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Name", "t0"."c" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""t"".""c"", ""t"".""SquadId"" + SELECT "t"."c", "t"."SquadId" FROM ( - SELECT 1 AS ""c"", ""g"".""SquadId"", ROW_NUMBER() OVER(PARTITION BY ""g"".""SquadId"" ORDER BY ""g"".""Nickname"", ""g"".""SquadId"") AS ""row"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""HasSoulPatch"" - ) AS ""t"" - WHERE ""t"".""row"" <= 1 -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"""); + SELECT 1 AS "c", "g"."SquadId", ROW_NUMBER() OVER(PARTITION BY "g"."SquadId" ORDER BY "g"."Nickname", "g"."SquadId") AS "row" + FROM "Gears" AS "g" + WHERE "g"."HasSoulPatch" + ) AS "t" + WHERE "t"."row" <= 1 +) AS "t0" ON "s"."Id" = "t0"."SquadId" +"""); } public override async Task Correlated_collection_with_very_complex_order_by(bool async) @@ -2423,22 +2735,24 @@ public override async Task Correlated_collection_with_very_complex_order_by(bool await base.Correlated_collection_with_very_complex_order_by(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""g1"".""Nickname"", ""g1"".""SquadId"", ""g1"".""AssignedCityName"", ""g1"".""CityOfBirthName"", ""g1"".""Discriminator"", ""g1"".""FullName"", ""g1"".""HasSoulPatch"", ""g1"".""LeaderNickname"", ""g1"".""LeaderSquadId"", ""g1"".""Rank"" - FROM ""Gears"" AS ""g1"" - WHERE NOT (""g1"".""HasSoulPatch"") -) AS ""t"" ON ""g"".""Nickname"" = ""t"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' + SELECT "g1"."Nickname", "g1"."SquadId", "g1"."AssignedCityName", "g1"."CityOfBirthName", "g1"."Discriminator", "g1"."FullName", "g1"."HasSoulPatch", "g1"."LeaderNickname", "g1"."LeaderSquadId", "g1"."Rank" + FROM "Gears" AS "g1" + WHERE NOT ("g1"."HasSoulPatch") +) AS "t" ON "g"."Nickname" = "t"."LeaderNickname" AND "g"."SquadId" = "t"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' ORDER BY ( SELECT COUNT(*) - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""w"".""IsAutomatic"" = COALESCE(( - SELECT ""g0"".""HasSoulPatch"" - FROM ""Gears"" AS ""g0"" - WHERE ""g0"".""Nickname"" = 'Marcus' - LIMIT 1), 0)), ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"""); + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND "w"."IsAutomatic" = COALESCE(( + SELECT "g0"."HasSoulPatch" + FROM "Gears" AS "g0" + WHERE "g0"."Nickname" = 'Marcus' + LIMIT 1), 0)), "g"."Nickname", "g"."SquadId", "t"."Nickname" +"""); } public override async Task Contains_on_nullable_array_produces_correct_sql(bool async) @@ -2446,10 +2760,12 @@ public override async Task Contains_on_nullable_array_produces_correct_sql(bool await base.Contains_on_nullable_array_produces_correct_sql(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Cities"" AS ""c"" ON ""g"".""AssignedCityName"" = ""c"".""Name"" -WHERE ""g"".""SquadId"" < 2 AND (""c"".""Name"" = 'Ephyra' OR (""c"".""Name"" IS NULL))"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Cities" AS "c" ON "g"."AssignedCityName" = "c"."Name" +WHERE "g"."SquadId" < 2 AND ("c"."Name" = 'Ephyra' OR ("c"."Name" IS NULL)) +"""); } public override async Task Include_after_Select_throws(bool async) @@ -2457,9 +2773,11 @@ public override async Task Include_after_Select_throws(bool async) await base.Include_after_Select_throws(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Factions"" AS ""f"" -LEFT JOIN ""Cities"" AS ""c"" ON ""f"".""CapitalName"" = ""c"".""Name"""); +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated", "c"."Name", "c"."Location", "c"."Nation" +FROM "Factions" AS "f" +LEFT JOIN "Cities" AS "c" ON "f"."CapitalName" = "c"."Name" +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated_complex1(bool async) @@ -2467,13 +2785,15 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated_complex1(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE NOT (CASE - WHEN ""g"".""HasSoulPatch"" THEN 1 - ELSE ""g"".""HasSoulPatch"" -END)"); + WHEN "g"."HasSoulPatch" THEN 1 + ELSE "g"."HasSoulPatch" +END) +"""); } public override async Task DateTimeOffset_DateAdd_AddHours(bool async) @@ -2481,8 +2801,10 @@ public override async Task DateTimeOffset_DateAdd_AddHours(bool async) await base.DateTimeOffset_DateAdd_AddHours(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Join_inner_source_custom_projection_followed_by_filter(bool async) @@ -2490,19 +2812,21 @@ public override async Task Join_inner_source_custom_projection_followed_by_filte await base.Join_inner_source_custom_projection_followed_by_filter(async); AssertSql( - @"SELECT CASE - WHEN ""f"".""Name"" = 'Locust' THEN 1 +""" +SELECT CASE + WHEN "f"."Name" = 'Locust' THEN 1 ELSE NULL -END AS ""IsEradicated"", ""f"".""CommanderName"", ""f"".""Name"" -FROM ""LocustLeaders"" AS ""l"" -INNER JOIN ""Factions"" AS ""f"" ON ""l"".""Name"" = ""f"".""CommanderName"" +END AS "IsEradicated", "f"."CommanderName", "f"."Name" +FROM "LocustLeaders" AS "l" +INNER JOIN "Factions" AS "f" ON "l"."Name" = "f"."CommanderName" WHERE CASE - WHEN ""f"".""Name"" = 'Locust' THEN 1 + WHEN "f"."Name" = 'Locust' THEN 1 ELSE NULL END <> 1 OR (CASE - WHEN ""f"".""Name"" = 'Locust' THEN 1 + WHEN "f"."Name" = 'Locust' THEN 1 ELSE NULL -END IS NULL)"); +END IS NULL) +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(bool async) @@ -2510,10 +2834,12 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_in_subquery(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" -WHERE ""g"".""Nickname"" = 'Marcus' AND ""c"".""Location"" = 'Jacinto''s location'"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +WHERE "g"."Nickname" = 'Marcus' AND "c"."Location" = 'Jacinto''s location' +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated(bool async) @@ -2521,10 +2847,12 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE NOT (""g"".""HasSoulPatch"")"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE NOT ("g"."HasSoulPatch") +"""); } public override async Task Where_conditional_equality_1(bool async) @@ -2532,10 +2860,12 @@ public override async Task Where_conditional_equality_1(bool async) await base.Where_conditional_equality_1(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""LeaderNickname"" IS NULL -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."Nickname" +FROM "Gears" AS "g" +WHERE "g"."LeaderNickname" IS NULL +ORDER BY "g"."Nickname" +"""); } public override async Task Where_bitwise_and_nullable_enum_with_null_constant(bool async) @@ -2543,9 +2873,11 @@ public override async Task Where_bitwise_and_nullable_enum_with_null_constant(bo await base.Where_bitwise_and_nullable_enum_with_null_constant(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE (""w"".""AmmunitionType"" & NULL) > 0"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE ("w"."AmmunitionType" & NULL) > 0 +"""); } public override async Task Where_datetimeoffset_milliseconds_parameter_and_constant(bool async) @@ -2553,9 +2885,11 @@ public override async Task Where_datetimeoffset_milliseconds_parameter_and_const await base.Where_datetimeoffset_milliseconds_parameter_and_constant(async); AssertSql( - @"SELECT COUNT(*) -FROM ""Missions"" AS ""m"" -WHERE ""m"".""Timeline"" = '1902-01-02 10:00:00.1234567+01:30'"); +""" +SELECT COUNT(*) +FROM "Missions" AS "m" +WHERE "m"."Timeline" = '1902-01-02 10:00:00.1234567+01:30' +"""); } public override async Task Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(bool async) @@ -2563,11 +2897,13 @@ public override async Task Parameter_used_multiple_times_take_appropriate_inferr await base.Parameter_used_multiple_times_take_appropriate_inferred_type_mapping(async); AssertSql( - @"@__place_0='Seattle' (Size = 7) +""" +@__place_0='Seattle' (Size = 7) -SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" -WHERE ""c"".""Nation"" = @__place_0 OR ""c"".""Location"" = @__place_0"); +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" +WHERE "c"."Nation" = @__place_0 OR "c"."Location" = @__place_0 +"""); } public override async Task Correlated_collection_with_top_level_Count(bool async) @@ -2575,8 +2911,10 @@ public override async Task Correlated_collection_with_top_level_Count(bool async await base.Correlated_collection_with_top_level_Count(async); AssertSql( - @"SELECT COUNT(*) -FROM ""Gears"" AS ""g"""); +""" +SELECT COUNT(*) +FROM "Gears" AS "g" +"""); } public override async Task Complex_GroupBy_after_set_operator(bool async) @@ -2584,23 +2922,25 @@ public override async Task Complex_GroupBy_after_set_operator(bool async) await base.Complex_GroupBy_after_set_operator(async); AssertSql( - @"SELECT ""t"".""Name"", ""t"".""Count"", COALESCE(SUM(""t"".""Count""), 0) AS ""Sum"" +""" +SELECT "t"."Name", "t"."Count", COALESCE(SUM("t"."Count"), 0) AS "Sum" FROM ( - SELECT ""c"".""Name"", ( + SELECT "c"."Name", ( SELECT COUNT(*) - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"") AS ""Count"" - FROM ""Gears"" AS ""g"" - LEFT JOIN ""Cities"" AS ""c"" ON ""g"".""AssignedCityName"" = ""c"".""Name"" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName") AS "Count" + FROM "Gears" AS "g" + LEFT JOIN "Cities" AS "c" ON "g"."AssignedCityName" = "c"."Name" UNION ALL - SELECT ""c0"".""Name"", ( + SELECT "c0"."Name", ( SELECT COUNT(*) - FROM ""Weapons"" AS ""w0"" - WHERE ""g0"".""FullName"" = ""w0"".""OwnerFullName"") AS ""Count"" - FROM ""Gears"" AS ""g0"" - INNER JOIN ""Cities"" AS ""c0"" ON ""g0"".""CityOfBirthName"" = ""c0"".""Name"" -) AS ""t"" -GROUP BY ""t"".""Name"", ""t"".""Count"""); + FROM "Weapons" AS "w0" + WHERE "g0"."FullName" = "w0"."OwnerFullName") AS "Count" + FROM "Gears" AS "g0" + INNER JOIN "Cities" AS "c0" ON "g0"."CityOfBirthName" = "c0"."Name" +) AS "t" +GROUP BY "t"."Name", "t"."Count" +"""); } public override async Task Projecting_property_converted_to_nullable_into_member_assignment(bool async) @@ -2608,17 +2948,19 @@ public override async Task Projecting_property_converted_to_nullable_into_member await base.Projecting_property_converted_to_nullable_into_member_assignment(async); AssertSql( - @"SELECT CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" +""" +SELECT CASE + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL -END AS ""Id"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +END AS "Id" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""Nickname"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."Nickname" ELSE NULL END IS NOT NULL -ORDER BY ""t"".""Note"""); +ORDER BY "t"."Note" +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) @@ -2626,17 +2968,19 @@ public override async Task Where_subquery_distinct_singleordefault_boolean_with_ await base.Where_subquery_distinct_singleordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND ( - SELECT ""t"".""IsAutomatic"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND ( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ('Lancer' = '' OR instr(""w"".""Name"", 'Lancer') > 0) - ) AS ""t"" + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND ('Lancer' = '' OR instr("w"."Name", 'Lancer') > 0) + ) AS "t" LIMIT 1) -ORDER BY ""g"".""Nickname"""); +ORDER BY "g"."Nickname" +"""); } public override async Task Nav_rewrite_with_convert1(bool async) @@ -2644,15 +2988,17 @@ public override async Task Nav_rewrite_with_convert1(bool async) await base.Nav_rewrite_with_convert1(async); AssertSql( - @"SELECT ""t"".""Name"", ""t"".""Discriminator"", ""t"".""LocustHordeId"", ""t"".""ThreatLevel"", ""t"".""ThreatLevelByte"", ""t"".""ThreatLevelNullableByte"", ""t"".""DefeatedByNickname"", ""t"".""DefeatedBySquadId"", ""t"".""HighCommandId"" -FROM ""Factions"" AS ""f"" -LEFT JOIN ""Cities"" AS ""c"" ON ""f"".""CapitalName"" = ""c"".""Name"" +""" +SELECT "t"."Name", "t"."Discriminator", "t"."LocustHordeId", "t"."ThreatLevel", "t"."ThreatLevelByte", "t"."ThreatLevelNullableByte", "t"."DefeatedByNickname", "t"."DefeatedBySquadId", "t"."HighCommandId" +FROM "Factions" AS "f" +LEFT JOIN "Cities" AS "c" ON "f"."CapitalName" = "c"."Name" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -WHERE ""c"".""Name"" <> 'Foo' OR (""c"".""Name"" IS NULL)"); + SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +WHERE "c"."Name" <> 'Foo' OR ("c"."Name" IS NULL) +"""); } public override async Task Optional_navigation_type_compensation_works_with_orderby(bool async) @@ -2660,11 +3006,13 @@ public override async Task Optional_navigation_type_compensation_works_with_orde await base.Optional_navigation_type_compensation_works_with_orderby(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL) -ORDER BY ""g"".""SquadId"""); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL) +ORDER BY "g"."SquadId" +"""); } public override async Task Comparison_with_value_converted_subclass(bool async) @@ -2672,9 +3020,11 @@ public override async Task Comparison_with_value_converted_subclass(bool async) await base.Comparison_with_value_converted_subclass(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"" -WHERE ""f"".""ServerAddress"" = CAST('127.0.0.1' AS TEXT)"); +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated" +FROM "Factions" AS "f" +WHERE "f"."ServerAddress" = CAST('127.0.0.1' AS TEXT) +"""); } public override async Task GetValueOrDefault_in_filter_non_nullable_column(bool async) @@ -2682,9 +3032,11 @@ public override async Task GetValueOrDefault_in_filter_non_nullable_column(bool await base.GetValueOrDefault_in_filter_non_nullable_column(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE COALESCE(""w"".""Id"", 0) = 0"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE COALESCE("w"."Id", 0) = 0 +"""); } public override async Task Enum_array_contains(bool async) @@ -2692,10 +3044,12 @@ public override async Task Enum_array_contains(bool async) await base.Enum_array_contains(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -WHERE (""w0"".""Id"" IS NOT NULL) AND (""w0"".""AmmunitionType"" = 1 OR (""w0"".""AmmunitionType"" IS NULL))"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +WHERE ("w0"."Id" IS NOT NULL) AND ("w0"."AmmunitionType" = 1 OR ("w0"."AmmunitionType" IS NULL)) +"""); } public override async Task Include_multiple_one_to_one_optional_and_one_to_one_required(bool async) @@ -2703,10 +3057,12 @@ public override async Task Include_multiple_one_to_one_optional_and_one_to_one_r await base.Include_multiple_one_to_one_optional_and_one_to_one_required(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"""); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" +"""); } public override async Task Include_with_join_reference1(bool async) @@ -2714,10 +3070,12 @@ public override async Task Include_with_join_reference1(bool async) await base.Include_with_join_reference1(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Tags"" AS ""t"" ON ""g"".""SquadId"" = ""t"".""GearSquadId"" AND ""g"".""Nickname"" = ""t"".""GearNickName"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "c"."Name", "c"."Location", "c"."Nation" +FROM "Gears" AS "g" +INNER JOIN "Tags" AS "t" ON "g"."SquadId" = "t"."GearSquadId" AND "g"."Nickname" = "t"."GearNickName" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +"""); } public override async Task Sum_with_optional_navigation_is_translated_to_sql(bool async) @@ -2725,10 +3083,12 @@ public override async Task Sum_with_optional_navigation_is_translated_to_sql(boo await base.Sum_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT COALESCE(SUM(""g"".""SquadId""), 0) -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -WHERE ""t"".""Note"" <> 'Foo' OR (""t"".""Note"" IS NULL)"); +""" +SELECT COALESCE(SUM("g"."SquadId"), 0) +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +WHERE "t"."Note" <> 'Foo' OR ("t"."Note" IS NULL) +"""); } public override async Task ToString_boolean_property_non_nullable(bool async) @@ -2736,11 +3096,13 @@ public override async Task ToString_boolean_property_non_nullable(bool async) await base.ToString_boolean_property_non_nullable(async); AssertSql( - @"SELECT CASE - WHEN NOT (""w"".""IsAutomatic"") THEN 'False' +""" +SELECT CASE + WHEN NOT ("w"."IsAutomatic") THEN 'False' ELSE 'True' END -FROM ""Weapons"" AS ""w"""); +FROM "Weapons" AS "w" +"""); } public override async Task Select_subquery_projecting_single_constant_int(bool async) @@ -2748,12 +3110,14 @@ public override async Task Select_subquery_projecting_single_constant_int(bool a await base.Select_subquery_projecting_single_constant_int(async); AssertSql( - @"SELECT ""s"".""Name"", COALESCE(( +""" +SELECT "s"."Name", COALESCE(( SELECT 42 - FROM ""Gears"" AS ""g"" - WHERE ""s"".""Id"" = ""g"".""SquadId"" AND ""g"".""HasSoulPatch"" - LIMIT 1), 0) AS ""Gear"" -FROM ""Squads"" AS ""s"""); + FROM "Gears" AS "g" + WHERE "s"."Id" = "g"."SquadId" AND "g"."HasSoulPatch" + LIMIT 1), 0) AS "Gear" +FROM "Squads" AS "s" +"""); } public override async Task Select_null_propagation_works_for_multiple_navigations_with_composite_keys(bool async) @@ -2761,15 +3125,17 @@ public override async Task Select_null_propagation_works_for_multiple_navigation await base.Select_null_propagation_works_for_multiple_navigations_with_composite_keys(async); AssertSql( - @"SELECT CASE - WHEN ""c"".""Name"" IS NOT NULL THEN ""c"".""Name"" +""" +SELECT CASE + WHEN "c"."Name" IS NOT NULL THEN "c"."Name" ELSE NULL END -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Tags"" AS ""t0"" ON (""g"".""Nickname"" = ""t0"".""GearNickName"" OR ((""g"".""Nickname"" IS NULL) AND (""t0"".""GearNickName"" IS NULL))) AND (""g"".""SquadId"" = ""t0"".""GearSquadId"" OR ((""g"".""SquadId"" IS NULL) AND (""t0"".""GearSquadId"" IS NULL))) -LEFT JOIN ""Gears"" AS ""g0"" ON ""t0"".""GearNickName"" = ""g0"".""Nickname"" AND ""t0"".""GearSquadId"" = ""g0"".""SquadId"" -LEFT JOIN ""Cities"" AS ""c"" ON ""g0"".""AssignedCityName"" = ""c"".""Name"""); +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Tags" AS "t0" ON ("g"."Nickname" = "t0"."GearNickName" OR (("g"."Nickname" IS NULL) AND ("t0"."GearNickName" IS NULL))) AND ("g"."SquadId" = "t0"."GearSquadId" OR (("g"."SquadId" IS NULL) AND ("t0"."GearSquadId" IS NULL))) +LEFT JOIN "Gears" AS "g0" ON "t0"."GearNickName" = "g0"."Nickname" AND "t0"."GearSquadId" = "g0"."SquadId" +LEFT JOIN "Cities" AS "c" ON "g0"."AssignedCityName" = "c"."Name" +"""); } public override async Task Member_access_on_derived_entity_using_cast_and_let(bool async) @@ -2777,9 +3143,11 @@ public override async Task Member_access_on_derived_entity_using_cast_and_let(bo await base.Member_access_on_derived_entity_using_cast_and_let(async); AssertSql( - @"SELECT ""f"".""Name"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"" -ORDER BY ""f"".""Name"""); +""" +SELECT "f"."Name", "f"."Eradicated" +FROM "Factions" AS "f" +ORDER BY "f"."Name" +"""); } public override async Task Where_subquery_distinct_singleordefault_boolean1(bool async) @@ -2787,17 +3155,19 @@ public override async Task Where_subquery_distinct_singleordefault_boolean1(bool await base.Where_subquery_distinct_singleordefault_boolean1(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND COALESCE(( - SELECT ""t"".""IsAutomatic"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND COALESCE(( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ('Lancer' = '' OR instr(""w"".""Name"", 'Lancer') > 0) - ) AS ""t"" + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND ('Lancer' = '' OR instr("w"."Name", 'Lancer') > 0) + ) AS "t" LIMIT 1), 0) -ORDER BY ""g"".""Nickname"""); +ORDER BY "g"."Nickname" +"""); } public override async Task Optional_navigation_type_compensation_works_with_negated_predicate(bool async) @@ -2805,10 +3175,12 @@ public override async Task Optional_navigation_type_compensation_works_with_nega await base.Optional_navigation_type_compensation_works_with_negated_predicate(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE (""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL)) AND NOT (""g"".""HasSoulPatch"")"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE ("t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL)) AND NOT ("g"."HasSoulPatch") +"""); } public override async Task Include_collection_on_derived_type_using_string(bool async) @@ -2816,10 +3188,12 @@ public override async Task Include_collection_on_derived_type_using_string(bool await base.Include_collection_on_derived_type_using_string(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty1(bool async) @@ -2827,16 +3201,18 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty1(async); AssertSql( - @"SELECT COALESCE(( - SELECT ""t"".""IsAutomatic"" +""" +SELECT COALESCE(( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""w"".""Name"" = 'BFG' - ) AS ""t"" + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND "w"."Name" = 'BFG' + ) AS "t" LIMIT 1), 0) -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"""); +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" +"""); } public override async Task Contains_on_byte_array_property_using_byte_column(bool async) @@ -2844,10 +3220,12 @@ public override async Task Contains_on_byte_array_property_using_byte_column(boo await base.Contains_on_byte_array_property_using_byte_column(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"", ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""Squads"" AS ""s"" -CROSS JOIN ""LocustLeaders"" AS ""l"" -WHERE instr(""s"".""Banner"", char(""l"".""ThreatLevelByte"")) > 0"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name", "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "Squads" AS "s" +CROSS JOIN "LocustLeaders" AS "l" +WHERE instr("s"."Banner", char("l"."ThreatLevelByte")) > 0 +"""); } public override async Task Select_null_propagation_negative9(bool async) @@ -2855,11 +3233,13 @@ public override async Task Select_null_propagation_negative9(bool async) await base.Select_null_propagation_negative9(async); AssertSql( - @"SELECT CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN COALESCE(length(""g"".""Nickname"") = 5, 0) +""" +SELECT CASE + WHEN "g"."LeaderNickname" IS NOT NULL THEN COALESCE(length("g"."Nickname") = 5, 0) ELSE NULL END -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(bool async) @@ -2867,10 +3247,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join2(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""g"".""SquadId"" <= ""w"".""Id"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" AND "g"."SquadId" <= "w"."Id" +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Include_reference_on_derived_type_using_lambda_with_tracking(bool async) @@ -2878,9 +3260,11 @@ public override async Task Include_reference_on_derived_type_using_lambda_with_t await base.Include_reference_on_derived_type_using_lambda_with_tracking(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"""); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +"""); } public override async Task Null_propagation_optimization2(bool async) @@ -2888,12 +3272,14 @@ public override async Task Null_propagation_optimization2(bool async) await base.Null_propagation_optimization2(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE CASE - WHEN ""g"".""LeaderNickname"" IS NULL THEN NULL - ELSE (""g"".""LeaderNickname"" IS NOT NULL) AND (""g"".""LeaderNickname"" LIKE '%us') -END = 1"); + WHEN "g"."LeaderNickname" IS NULL THEN NULL + ELSE ("g"."LeaderNickname" IS NOT NULL) AND ("g"."LeaderNickname" LIKE '%us') +END = 1 +"""); } public override async Task Join_on_entity_qsre_keys_inheritance(bool async) @@ -2901,13 +3287,15 @@ public override async Task Join_on_entity_qsre_keys_inheritance(bool async) await base.Join_on_entity_qsre_keys_inheritance(async); AssertSql( - @"SELECT ""g"".""FullName"" AS ""GearName"", ""t"".""FullName"" AS ""OfficerName"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."FullName" AS "GearName", "t"."FullName" AS "OfficerName" +FROM "Gears" AS "g" INNER JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""FullName"" - FROM ""Gears"" AS ""g0"" - WHERE ""g0"".""Discriminator"" = 'Officer' -) AS ""t"" ON ""g"".""Nickname"" = ""t"".""Nickname"" AND ""g"".""SquadId"" = ""t"".""SquadId"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."FullName" + FROM "Gears" AS "g0" + WHERE "g0"."Discriminator" = 'Officer' +) AS "t" ON "g"."Nickname" = "t"."Nickname" AND "g"."SquadId" = "t"."SquadId" +"""); } public override async Task Project_collection_navigation_nested_with_take_composite_key(bool async) @@ -2915,19 +3303,21 @@ public override async Task Project_collection_navigation_nested_with_take_compos await base.Project_collection_navigation_nested_with_take_composite_key(async); AssertSql( - @"SELECT ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +""" +SELECT "t"."Id", "g"."Nickname", "g"."SquadId", "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" LEFT JOIN ( - SELECT ""t1"".""Nickname"", ""t1"".""SquadId"", ""t1"".""AssignedCityName"", ""t1"".""CityOfBirthName"", ""t1"".""Discriminator"", ""t1"".""FullName"", ""t1"".""HasSoulPatch"", ""t1"".""LeaderNickname"", ""t1"".""LeaderSquadId"", ""t1"".""Rank"" + SELECT "t1"."Nickname", "t1"."SquadId", "t1"."AssignedCityName", "t1"."CityOfBirthName", "t1"."Discriminator", "t1"."FullName", "t1"."HasSoulPatch", "t1"."LeaderNickname", "t1"."LeaderSquadId", "t1"."Rank" FROM ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ROW_NUMBER() OVER(PARTITION BY ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"" ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"") AS ""row"" - FROM ""Gears"" AS ""g0"" - ) AS ""t1"" - WHERE ""t1"".""row"" <= 50 -) AS ""t0"" ON (""g"".""Nickname"" = ""t0"".""LeaderNickname"" OR ((""g"".""Nickname"" IS NULL) AND (""t0"".""LeaderNickname"" IS NULL))) AND ""g"".""SquadId"" = ""t0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""t0"".""Nickname"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", ROW_NUMBER() OVER(PARTITION BY "g0"."LeaderNickname", "g0"."LeaderSquadId" ORDER BY "g0"."Nickname", "g0"."SquadId") AS "row" + FROM "Gears" AS "g0" + ) AS "t1" + WHERE "t1"."row" <= 50 +) AS "t0" ON ("g"."Nickname" = "t0"."LeaderNickname" OR (("g"."Nickname" IS NULL) AND ("t0"."LeaderNickname" IS NULL))) AND "g"."SquadId" = "t0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "t"."Id", "g"."Nickname", "g"."SquadId", "t0"."Nickname" +"""); } public override async Task GroupBy_Property_Include_Select_Count(bool async) @@ -2935,9 +3325,11 @@ public override async Task GroupBy_Property_Include_Select_Count(bool async) await base.GroupBy_Property_Include_Select_Count(async); AssertSql( - @"SELECT COUNT(*) -FROM ""Gears"" AS ""g"" -GROUP BY ""g"".""Rank"""); +""" +SELECT COUNT(*) +FROM "Gears" AS "g" +GROUP BY "g"."Rank" +"""); } public override async Task GroupJoin_Composite_Key(bool async) @@ -2945,9 +3337,11 @@ public override async Task GroupJoin_Composite_Key(bool async) await base.GroupJoin_Composite_Key(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Tags"" AS ""t"" -INNER JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Tags" AS "t" +INNER JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +"""); } public override async Task Correlated_collections_project_anonymous_collection_result(bool async) @@ -2955,11 +3349,13 @@ public override async Task Correlated_collections_project_anonymous_collection_r await base.Correlated_collections_project_anonymous_collection_result(async); AssertSql( - @"SELECT ""s"".""Name"", ""s"".""Id"", ""g"".""FullName"", ""g"".""Rank"", ""g"".""Nickname"", ""g"".""SquadId"" -FROM ""Squads"" AS ""s"" -LEFT JOIN ""Gears"" AS ""g"" ON ""s"".""Id"" = ""g"".""SquadId"" -WHERE ""s"".""Id"" < 20 -ORDER BY ""s"".""Id"", ""g"".""Nickname"""); +""" +SELECT "s"."Name", "s"."Id", "g"."FullName", "g"."Rank", "g"."Nickname", "g"."SquadId" +FROM "Squads" AS "s" +LEFT JOIN "Gears" AS "g" ON "s"."Id" = "g"."SquadId" +WHERE "s"."Id" < 20 +ORDER BY "s"."Id", "g"."Nickname" +"""); } public override async Task Correlated_collections_naked_navigation_with_ToList(bool async) @@ -2967,11 +3363,13 @@ public override async Task Correlated_collections_naked_navigation_with_ToList(b await base.Correlated_collections_naked_navigation_with_ToList(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task @@ -2980,11 +3378,13 @@ public override async Task await base.Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation_complex(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" -WHERE substr(""t"".""Note"", 0 + 1, length(""s"".""Name"")) = ""t"".""GearNickName"" OR (((""t"".""Note"" IS NULL) OR (""s"".""Name"" IS NULL)) AND (""t"".""GearNickName"" IS NULL))"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" +WHERE substr("t"."Note", 0 + 1, length("s"."Name")) = "t"."GearNickName" OR ((("t"."Note" IS NULL) OR ("s"."Name" IS NULL)) AND ("t"."GearNickName" IS NULL)) +"""); } public override async Task OrderBy_bool_coming_from_optional_navigation(bool async) @@ -2992,10 +3392,12 @@ public override async Task OrderBy_bool_coming_from_optional_navigation(bool asy await base.OrderBy_bool_coming_from_optional_navigation(async); AssertSql( - @"SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -ORDER BY ""w0"".""IsAutomatic"""); +""" +SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +ORDER BY "w0"."IsAutomatic" +"""); } public override async Task Select_subquery_boolean(bool async) @@ -3003,13 +3405,15 @@ public override async Task Select_subquery_boolean(bool async) await base.Select_subquery_boolean(async); AssertSql( - @"SELECT COALESCE(( - SELECT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" +""" +SELECT COALESCE(( + SELECT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" LIMIT 1), 0) -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Include_navigation_on_derived_type(bool async) @@ -3017,11 +3421,13 @@ public override async Task Include_navigation_on_derived_type(bool async) await base.Include_navigation_on_derived_type(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Correlated_collection_order_by_constant(bool async) @@ -3029,10 +3435,12 @@ public override async Task Correlated_collection_order_by_constant(bool async) await base.Correlated_collection_order_by_constant(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Name"", ""w"".""Id"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "w"."Name", "w"."Id" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Double_order_by_on_nullable_bool_coming_from_optional_navigation(bool async) @@ -3040,10 +3448,12 @@ public override async Task Double_order_by_on_nullable_bool_coming_from_optional await base.Double_order_by_on_nullable_bool_coming_from_optional_navigation(async); AssertSql( - @"SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -ORDER BY ""w0"".""IsAutomatic"", ""w0"".""Id"""); +""" +SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +ORDER BY "w0"."IsAutomatic", "w0"."Id" +"""); } public override async Task Where_subquery_distinct_orderby_firstordefault_boolean(bool async) @@ -3051,17 +3461,19 @@ public override async Task Where_subquery_distinct_orderby_firstordefault_boolea await base.Where_subquery_distinct_orderby_firstordefault_boolean(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND COALESCE(( - SELECT ""t"".""IsAutomatic"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND COALESCE(( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ) AS ""t"" - ORDER BY ""t"".""Id"" - LIMIT 1), 0)"); + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ) AS "t" + ORDER BY "t"."Id" + LIMIT 1), 0) +"""); } public override async Task Project_one_value_type_with_client_projection_from_empty_collection(bool async) @@ -3069,18 +3481,20 @@ public override async Task Project_one_value_type_with_client_projection_from_em await base.Project_one_value_type_with_client_projection_from_empty_collection(async); AssertSql( - @"SELECT ""s"".""Name"", ""t0"".""SquadId"", ""t0"".""LeaderSquadId"", ""t0"".""c"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Name", "t0"."SquadId", "t0"."LeaderSquadId", "t0"."c" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""t"".""SquadId"", ""t"".""LeaderSquadId"", ""t"".""c"" + SELECT "t"."SquadId", "t"."LeaderSquadId", "t"."c" FROM ( - SELECT ""g"".""SquadId"", ""g"".""LeaderSquadId"", 1 AS ""c"", ROW_NUMBER() OVER(PARTITION BY ""g"".""SquadId"" ORDER BY ""g"".""Nickname"", ""g"".""SquadId"") AS ""row"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""HasSoulPatch"" - ) AS ""t"" - WHERE ""t"".""row"" <= 1 -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"" -WHERE ""s"".""Name"" = 'Kilo'"); + SELECT "g"."SquadId", "g"."LeaderSquadId", 1 AS "c", ROW_NUMBER() OVER(PARTITION BY "g"."SquadId" ORDER BY "g"."Nickname", "g"."SquadId") AS "row" + FROM "Gears" AS "g" + WHERE "g"."HasSoulPatch" + ) AS "t" + WHERE "t"."row" <= 1 +) AS "t0" ON "s"."Id" = "t0"."SquadId" +WHERE "s"."Name" = 'Kilo' +"""); } public override async Task Projecting_property_converted_to_nullable_into_element_init(bool async) @@ -3088,23 +3502,25 @@ public override async Task Projecting_property_converted_to_nullable_into_elemen await base.Projecting_property_converted_to_nullable_into_element_init(async); AssertSql( - @"SELECT CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN length(""g"".""Nickname"") +""" +SELECT CASE + WHEN "t"."GearNickName" IS NOT NULL THEN length("g"."Nickname") ELSE NULL END, CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL END, CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL END + 1 -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""Nickname"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."Nickname" ELSE NULL END IS NOT NULL -ORDER BY ""t"".""Note"""); +ORDER BY "t"."Note" +"""); } public override async Task Group_by_with_having_StartsWith_with_null_parameter_as_argument(bool async) @@ -3112,10 +3528,12 @@ public override async Task Group_by_with_having_StartsWith_with_null_parameter_a await base.Group_by_with_having_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -GROUP BY ""g"".""FullName"" -HAVING 0"); +""" +SELECT "g"."FullName" +FROM "Gears" AS "g" +GROUP BY "g"."FullName" +HAVING 0 +"""); } public override async Task Skip_with_orderby_followed_by_orderBy_is_pushed_down(bool async) @@ -3123,17 +3541,19 @@ public override async Task Skip_with_orderby_followed_by_orderBy_is_pushed_down( await base.Skip_with_orderby_followed_by_orderBy_is_pushed_down(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' -SELECT ""t"".""FullName"" +SELECT "t"."FullName" FROM ( - SELECT ""g"".""FullName"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - WHERE NOT (""g"".""HasSoulPatch"") - ORDER BY ""g"".""FullName"" + SELECT "g"."FullName", "g"."Rank" + FROM "Gears" AS "g" + WHERE NOT ("g"."HasSoulPatch") + ORDER BY "g"."FullName" LIMIT -1 OFFSET @__p_0 -) AS ""t"" -ORDER BY ""t"".""Rank"""); +) AS "t" +ORDER BY "t"."Rank" +"""); } public override async Task Concat_with_count(bool async) @@ -3141,14 +3561,16 @@ public override async Task Concat_with_count(bool async) await base.Concat_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" + FROM "Gears" AS "g" UNION ALL - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" -) AS ""t"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" + FROM "Gears" AS "g0" +) AS "t" +"""); } public override async Task Double_negate_on_column(bool async) @@ -3156,9 +3578,11 @@ public override async Task Double_negate_on_column(bool async) await base.Double_negate_on_column(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE -(-""s"".""Id"") = ""s"".""Id"""); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE -(-"s"."Id") = "s"."Id" +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) @@ -3166,15 +3590,17 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_nested_navigati await base.Join_on_entity_qsre_keys_inner_key_is_nested_navigation(async); AssertSql( - @"SELECT ""s"".""Name"" AS ""SquadName"", ""t"".""Name"" AS ""WeaponName"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Name" AS "SquadName", "t"."Name" AS "WeaponName" +FROM "Squads" AS "s" INNER JOIN ( - SELECT ""w"".""Name"", ""s0"".""Id"" AS ""Id0"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g"" ON ""w"".""OwnerFullName"" = ""g"".""FullName"" - LEFT JOIN ""Squads"" AS ""s0"" ON ""g"".""SquadId"" = ""s0"".""Id"" - WHERE ""w"".""IsAutomatic"" -) AS ""t"" ON ""s"".""Id"" = ""t"".""Id0"""); + SELECT "w"."Name", "s0"."Id" AS "Id0" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g" ON "w"."OwnerFullName" = "g"."FullName" + LEFT JOIN "Squads" AS "s0" ON "g"."SquadId" = "s0"."Id" + WHERE "w"."IsAutomatic" +) AS "t" ON "s"."Id" = "t"."Id0" +"""); } public override async Task Distinct_on_subquery_doesnt_get_lifted(bool async) @@ -3182,11 +3608,13 @@ public override async Task Distinct_on_subquery_doesnt_get_lifted(bool async) await base.Distinct_on_subquery_doesnt_get_lifted(async); AssertSql( - @"SELECT ""t"".""HasSoulPatch"" +""" +SELECT "t"."HasSoulPatch" FROM ( - SELECT DISTINCT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" -) AS ""t"""); + SELECT DISTINCT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" + FROM "Gears" AS "g" +) AS "t" +"""); } public override async Task Select_subquery_projecting_single_constant_string(bool async) @@ -3194,12 +3622,14 @@ public override async Task Select_subquery_projecting_single_constant_string(boo await base.Select_subquery_projecting_single_constant_string(async); AssertSql( - @"SELECT ""s"".""Name"", ( +""" +SELECT "s"."Name", ( SELECT 'Foo' - FROM ""Gears"" AS ""g"" - WHERE ""s"".""Id"" = ""g"".""SquadId"" AND ""g"".""HasSoulPatch"" - LIMIT 1) AS ""Gear"" -FROM ""Squads"" AS ""s"""); + FROM "Gears" AS "g" + WHERE "s"."Id" = "g"."SquadId" AND "g"."HasSoulPatch" + LIMIT 1) AS "Gear" +FROM "Squads" AS "s" +"""); } public override async Task Where_null_parameter_is_not_null(bool async) @@ -3207,11 +3637,13 @@ public override async Task Where_null_parameter_is_not_null(bool async) await base.Where_null_parameter_is_not_null(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE @__p_0"); +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE @__p_0 +"""); } public override async Task Include_multiple_one_to_one_and_one_to_many(bool async) @@ -3219,11 +3651,13 @@ public override async Task Include_multiple_one_to_one_and_one_to_many(bool asyn await base.Include_multiple_one_to_one_and_one_to_many(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +ORDER BY "t"."Id", "g"."Nickname", "g"."SquadId" +"""); } public override async Task Navigation_accessed_twice_outside_and_inside_subquery(bool async) @@ -3231,13 +3665,17 @@ public override async Task Navigation_accessed_twice_outside_and_inside_subquery await base.Navigation_accessed_twice_outside_and_inside_subquery(async); AssertSql( - @"SELECT ""t"".""Id"" -FROM ""Tags"" AS ""t""", +""" +SELECT "t"."Id" +FROM "Tags" AS "t" +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -WHERE (""t"".""Id"" IS NOT NULL) AND ""t"".""Id"" IN ('34C8D86E-A4AC-4BE5-827F-584DDA348A07', '70534E05-782C-4052-8720-C2C54481CE5F', 'A7BE028A-0CF2-448F-AB55-CE8BC5D8CF69', 'A8AD98F9-E023-4E2A-9A70-C2728455BD34', 'B39A6FBA-9026-4D69-828E-FD7068673E57', 'DF36F493-463F-4123-83F9-6B135DEEB7BA')"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +WHERE ("t"."Id" IS NOT NULL) AND "t"."Id" IN ('34C8D86E-A4AC-4BE5-827F-584DDA348A07', '70534E05-782C-4052-8720-C2C54481CE5F', 'A7BE028A-0CF2-448F-AB55-CE8BC5D8CF69', 'A8AD98F9-E023-4E2A-9A70-C2728455BD34', 'B39A6FBA-9026-4D69-828E-FD7068673E57', 'DF36F493-463F-4123-83F9-6B135DEEB7BA') +"""); } public override async Task Coalesce_operator_in_projection_with_other_conditions(bool async) @@ -3245,8 +3683,10 @@ public override async Task Coalesce_operator_in_projection_with_other_conditions await base.Coalesce_operator_in_projection_with_other_conditions(async); AssertSql( - @"SELECT ""w"".""AmmunitionType"" = 1 AND (""w"".""AmmunitionType"" IS NOT NULL) AND COALESCE(""w"".""IsAutomatic"", 0) -FROM ""Weapons"" AS ""w"""); +""" +SELECT "w"."AmmunitionType" = 1 AND ("w"."AmmunitionType" IS NOT NULL) AND COALESCE("w"."IsAutomatic", 0) +FROM "Weapons" AS "w" +"""); } public override async Task Double_order_by_on_Like(bool async) @@ -3254,10 +3694,12 @@ public override async Task Double_order_by_on_Like(bool async) await base.Double_order_by_on_Like(async); AssertSql( - @"SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -ORDER BY ""w0"".""Name"" LIKE '%Lancer'"); +""" +SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +ORDER BY "w0"."Name" LIKE '%Lancer' +"""); } public override async Task Select_null_propagation_negative6(bool async) @@ -3265,11 +3707,13 @@ public override async Task Select_null_propagation_negative6(bool async) await base.Select_null_propagation_negative6(async); AssertSql( - @"SELECT CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN length(""g"".""LeaderNickname"") <> length(""g"".""LeaderNickname"") +""" +SELECT CASE + WHEN "g"."LeaderNickname" IS NOT NULL THEN length("g"."LeaderNickname") <> length("g"."LeaderNickname") ELSE NULL END -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Query_reusing_parameter_doesnt_declare_duplicate_parameter(bool async) @@ -3277,15 +3721,17 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para await base.Query_reusing_parameter_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__prm_Inner_Nickname_0='Marcus' (Size = 6) +""" +@__prm_Inner_Nickname_0='Marcus' (Size = 6) -SELECT ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"" +SELECT "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank" FROM ( - SELECT DISTINCT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""Nickname"" <> @__prm_Inner_Nickname_0 AND ""g"".""Nickname"" <> @__prm_Inner_Nickname_0 -) AS ""t"" -ORDER BY ""t"".""FullName"""); + SELECT DISTINCT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" + FROM "Gears" AS "g" + WHERE "g"."Nickname" <> @__prm_Inner_Nickname_0 AND "g"."Nickname" <> @__prm_Inner_Nickname_0 +) AS "t" +ORDER BY "t"."FullName" +"""); } public override async Task Basic_query_gears(bool async) @@ -3293,8 +3739,10 @@ public override async Task Basic_query_gears(bool async) await base.Basic_query_gears(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +"""); } public override async Task Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(bool async) @@ -3302,12 +3750,14 @@ public override async Task Groupby_anonymous_type_with_navigations_followed_up_b await base.Groupby_anonymous_type_with_navigations_followed_up_by_anonymous_projection_and_orderby(async); AssertSql( - @"SELECT ""c"".""Name"", ""c"".""Location"", COUNT(*) AS ""Count"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Gears"" AS ""g"" ON ""w"".""OwnerFullName"" = ""g"".""FullName"" -LEFT JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" -GROUP BY ""c"".""Name"", ""c"".""Location"" -ORDER BY ""c"".""Location"""); +""" +SELECT "c"."Name", "c"."Location", COUNT(*) AS "Count" +FROM "Weapons" AS "w" +LEFT JOIN "Gears" AS "g" ON "w"."OwnerFullName" = "g"."FullName" +LEFT JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +GROUP BY "c"."Name", "c"."Location" +ORDER BY "c"."Location" +"""); } public override async Task Bitwise_projects_values_in_select(bool async) @@ -3315,10 +3765,12 @@ public override async Task Bitwise_projects_values_in_select(bool async) await base.Bitwise_projects_values_in_select(async); AssertSql( - @"SELECT (""g"".""Rank"" & 2) = 2 AS ""BitwiseTrue"", (""g"".""Rank"" & 2) = 4 AS ""BitwiseFalse"", ""g"".""Rank"" & 2 AS ""BitwiseValue"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & 2) = 2 -LIMIT 1"); +""" +SELECT ("g"."Rank" & 2) = 2 AS "BitwiseTrue", ("g"."Rank" & 2) = 4 AS "BitwiseFalse", "g"."Rank" & 2 AS "BitwiseValue" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & 2) = 2 +LIMIT 1 +"""); } public override async Task Cast_to_derived_followed_by_include_and_FirstOrDefault(bool async) @@ -3326,11 +3778,13 @@ public override async Task Cast_to_derived_followed_by_include_and_FirstOrDefaul await base.Cast_to_derived_followed_by_include_and_FirstOrDefault(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"" -WHERE 'Queen' = '' OR instr(""l"".""Name"", 'Queen') > 0 -LIMIT 1"); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +WHERE 'Queen' = '' OR instr("l"."Name", 'Queen') > 0 +LIMIT 1 +"""); } public override async Task SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(bool async) @@ -3338,9 +3792,11 @@ public override async Task SelectMany_without_result_selector_and_non_equality_c await base.SelectMany_without_result_selector_and_non_equality_comparison_converted_to_join(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" <> ""w"".""OwnerFullName"" OR (""w"".""OwnerFullName"" IS NULL)"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" <> "w"."OwnerFullName" OR ("w"."OwnerFullName" IS NULL) +"""); } public override async Task Include_with_join_and_inheritance1(bool async) @@ -3348,14 +3804,16 @@ public override async Task Include_with_join_and_inheritance1(bool async) await base.Include_with_join_and_inheritance1(async); AssertSql( - @"SELECT ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Tags"" AS ""t"" +""" +SELECT "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank", "c"."Name", "c"."Location", "c"."Nation" +FROM "Tags" AS "t" INNER JOIN ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""Discriminator"" = 'Officer' -) AS ""t0"" ON ""t"".""GearSquadId"" = ""t0"".""SquadId"" AND ""t"".""GearNickName"" = ""t0"".""Nickname"" -INNER JOIN ""Cities"" AS ""c"" ON ""t0"".""CityOfBirthName"" = ""c"".""Name"""); + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" + FROM "Gears" AS "g" + WHERE "g"."Discriminator" = 'Officer' +) AS "t0" ON "t"."GearSquadId" = "t0"."SquadId" AND "t"."GearNickName" = "t0"."Nickname" +INNER JOIN "Cities" AS "c" ON "t0"."CityOfBirthName" = "c"."Name" +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(bool async) @@ -3363,9 +3821,11 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_contains(async); AssertSql( - @"SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" -WHERE 'Jacinto' = '' OR instr(""c"".""Location"", 'Jacinto') > 0"); +""" +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" +WHERE 'Jacinto' = '' OR instr("c"."Location", 'Jacinto') > 0 +"""); } public override async Task Select_ternary_operation_multiple_conditions(bool async) @@ -3373,11 +3833,13 @@ public override async Task Select_ternary_operation_multiple_conditions(bool asy await base.Select_ternary_operation_multiple_conditions(async); AssertSql( - @"SELECT ""w"".""Id"", CASE - WHEN ""w"".""AmmunitionType"" = 2 AND ""w"".""SynergyWithId"" = 1 THEN 'Yes' +""" +SELECT "w"."Id", CASE + WHEN "w"."AmmunitionType" = 2 AND "w"."SynergyWithId" = 1 THEN 'Yes' ELSE 'No' -END AS ""IsCartridge"" -FROM ""Weapons"" AS ""w"""); +END AS "IsCartridge" +FROM "Weapons" AS "w" +"""); } public override async Task Where_compare_anonymous_types_with_uncorrelated_members(bool async) @@ -3385,9 +3847,11 @@ public override async Task Where_compare_anonymous_types_with_uncorrelated_membe await base.Where_compare_anonymous_types_with_uncorrelated_members(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Gears"" AS ""g"" -WHERE 0"); +""" +SELECT "g"."Nickname" +FROM "Gears" AS "g" +WHERE 0 +"""); } public override async Task Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(bool async) @@ -3395,10 +3859,12 @@ public override async Task Order_by_is_properly_lifted_from_subquery_with_same_o await base.Order_by_is_properly_lifted_from_subquery_with_same_order_by_in_the_outer_query(async); AssertSql( - @"SELECT ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -WHERE NOT (""g"".""HasSoulPatch"") -ORDER BY ""g"".""FullName"""); +""" +SELECT "g"."FullName" +FROM "Gears" AS "g" +WHERE NOT ("g"."HasSoulPatch") +ORDER BY "g"."FullName" +"""); } public override async Task Join_predicate_value_equals_condition(bool async) @@ -3406,9 +3872,11 @@ public override async Task Join_predicate_value_equals_condition(bool async) await base.Join_predicate_value_equals_condition(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Weapons"" AS ""w"" ON ""w"".""SynergyWithId"" IS NOT NULL"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +INNER JOIN "Weapons" AS "w" ON "w"."SynergyWithId" IS NOT NULL +"""); } public override async Task GetValueOrDefault_in_order_by(bool async) @@ -3416,9 +3884,11 @@ public override async Task GetValueOrDefault_in_order_by(bool async) await base.GetValueOrDefault_in_order_by(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -ORDER BY COALESCE(""w"".""SynergyWithId"", 0), ""w"".""Id"""); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +ORDER BY COALESCE("w"."SynergyWithId", 0), "w"."Id" +"""); } public override async Task Member_access_on_derived_entity_using_cast(bool async) @@ -3426,9 +3896,11 @@ public override async Task Member_access_on_derived_entity_using_cast(bool async await base.Member_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT ""f"".""Name"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"" -ORDER BY ""f"".""Name"""); +""" +SELECT "f"."Name", "f"."Eradicated" +FROM "Factions" AS "f" +ORDER BY "f"."Name" +"""); } public override async Task Where_subquery_boolean(bool async) @@ -3436,14 +3908,16 @@ public override async Task Where_subquery_boolean(bool async) await base.Where_subquery_boolean(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE COALESCE(( - SELECT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" - LIMIT 1), 0)"); + SELECT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" + LIMIT 1), 0) +"""); } public override async Task Nav_rewrite_with_convert3(bool async) @@ -3451,15 +3925,17 @@ public override async Task Nav_rewrite_with_convert3(bool async) await base.Nav_rewrite_with_convert3(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"" -LEFT JOIN ""Cities"" AS ""c"" ON ""f"".""CapitalName"" = ""c"".""Name"" +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated" +FROM "Factions" AS "f" +LEFT JOIN "Cities" AS "c" ON "f"."CapitalName" = "c"."Name" LEFT JOIN ( - SELECT ""l"".""Name"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -WHERE (""c"".""Name"" <> 'Foo' OR (""c"".""Name"" IS NULL)) AND (""t"".""Name"" <> 'Bar' OR (""t"".""Name"" IS NULL))"); + SELECT "l"."Name" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +WHERE ("c"."Name" <> 'Foo' OR ("c"."Name" IS NULL)) AND ("t"."Name" <> 'Bar' OR ("t"."Name" IS NULL)) +"""); } public override async Task Correlated_collections_with_funky_orderby_complex_scenario1(bool async) @@ -3467,16 +3943,18 @@ public override async Task Correlated_collections_with_funky_orderby_complex_sce await base.Correlated_collections_with_funky_orderby_complex_scenario1(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""Id0"", ""t"".""Nickname0"", ""t"".""HasSoulPatch"", ""t"".""SquadId0"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t"."Id", "t"."Nickname", "t"."SquadId", "t"."Id0", "t"."Nickname0", "t"."HasSoulPatch", "t"."SquadId0" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""s"".""Id"" AS ""Id0"", ""g1"".""Nickname"" AS ""Nickname0"", ""g1"".""HasSoulPatch"", ""g1"".""SquadId"" AS ""SquadId0"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g0"" ON ""w"".""OwnerFullName"" = ""g0"".""FullName"" - LEFT JOIN ""Squads"" AS ""s"" ON ""g0"".""SquadId"" = ""s"".""Id"" - LEFT JOIN ""Gears"" AS ""g1"" ON ""s"".""Id"" = ""g1"".""SquadId"" -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -ORDER BY ""g"".""FullName"", ""g"".""Nickname"" DESC, ""g"".""SquadId"", ""t"".""Id"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""Id0"", ""t"".""Nickname0"""); + SELECT "w"."Id", "g0"."Nickname", "g0"."SquadId", "s"."Id" AS "Id0", "g1"."Nickname" AS "Nickname0", "g1"."HasSoulPatch", "g1"."SquadId" AS "SquadId0", "w"."OwnerFullName" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g0" ON "w"."OwnerFullName" = "g0"."FullName" + LEFT JOIN "Squads" AS "s" ON "g0"."SquadId" = "s"."Id" + LEFT JOIN "Gears" AS "g1" ON "s"."Id" = "g1"."SquadId" +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +ORDER BY "g"."FullName", "g"."Nickname" DESC, "g"."SquadId", "t"."Id", "t"."Nickname", "t"."SquadId", "t"."Id0", "t"."Nickname0" +"""); } public override async Task Where_conditional_equality_2(bool async) @@ -3484,10 +3962,12 @@ public override async Task Where_conditional_equality_2(bool async) await base.Where_conditional_equality_2(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""LeaderNickname"" IS NULL -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."Nickname" +FROM "Gears" AS "g" +WHERE "g"."LeaderNickname" IS NULL +ORDER BY "g"."Nickname" +"""); } public override async Task Correlated_collections_similar_collection_projected_multiple_times(bool async) @@ -3495,19 +3975,21 @@ public override async Task Correlated_collections_similar_collection_projected_m await base.Correlated_collections_similar_collection_projected_multiple_times(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" LEFT JOIN ( - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" - FROM ""Weapons"" AS ""w0"" - WHERE NOT (""w0"".""IsAutomatic"") -) AS ""t0"" ON ""g"".""FullName"" = ""t0"".""OwnerFullName"" -ORDER BY ""g"".""Rank"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""OwnerFullName"", ""t"".""Id"", ""t0"".""IsAutomatic"""); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" + FROM "Weapons" AS "w0" + WHERE NOT ("w0"."IsAutomatic") +) AS "t0" ON "g"."FullName" = "t0"."OwnerFullName" +ORDER BY "g"."Rank", "g"."Nickname", "g"."SquadId", "t"."OwnerFullName", "t"."Id", "t0"."IsAutomatic" +"""); } public override async Task Optional_navigation_type_compensation_works_with_array_initializers(bool async) @@ -3515,10 +3997,12 @@ public override async Task Optional_navigation_type_compensation_works_with_arra await base.Optional_navigation_type_compensation_works_with_array_initializers(async); AssertSql( - @"SELECT ""g"".""SquadId"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL)"); +""" +SELECT "g"."SquadId" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL) +"""); } public override async Task Bool_projection_from_subquery_treated_appropriately_in_where(bool async) @@ -3526,13 +4010,15 @@ public override async Task Bool_projection_from_subquery_treated_appropriately_i await base.Bool_projection_from_subquery_treated_appropriately_in_where(async); AssertSql( - @"SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" +""" +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" WHERE ( - SELECT ""g"".""HasSoulPatch"" - FROM ""Gears"" AS ""g"" - ORDER BY ""g"".""Nickname"", ""g"".""SquadId"" - LIMIT 1)"); + SELECT "g"."HasSoulPatch" + FROM "Gears" AS "g" + ORDER BY "g"."Nickname", "g"."SquadId" + LIMIT 1) +"""); } public override async Task Include_reference_on_derived_type_using_string(bool async) @@ -3540,9 +4026,11 @@ public override async Task Include_reference_on_derived_type_using_string(bool a await base.Include_reference_on_derived_type_using_string(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"""); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +"""); } public override async Task Select_subquery_distinct_firstordefault(bool async) @@ -3550,17 +4038,19 @@ public override async Task Select_subquery_distinct_firstordefault(bool async) await base.Select_subquery_distinct_firstordefault(async); AssertSql( - @"SELECT ( - SELECT ""t"".""Name"" +""" +SELECT ( + SELECT "t"."Name" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ) AS ""t"" - ORDER BY ""t"".""Id"" + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ) AS "t" + ORDER BY "t"."Id" LIMIT 1) -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"""); +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" +"""); } public override async Task FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(bool async) @@ -3568,20 +4058,22 @@ public override async Task FirstOrDefault_on_empty_collection_of_DateTime_in_sub await base.FirstOrDefault_on_empty_collection_of_DateTime_in_subquery(async); AssertSql( - @"SELECT ""g"".""Nickname"", COALESCE(( - SELECT ""t1"".""IssueDate"" - FROM ""Tags"" AS ""t1"" - WHERE ""t1"".""GearNickName"" = ""g"".""FullName"" - ORDER BY ""t1"".""Id"" - LIMIT 1), '0001-01-01 00:00:00') AS ""invalidTagIssueDate"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -WHERE ""t"".""IssueDate"" > COALESCE(( - SELECT ""t0"".""IssueDate"" - FROM ""Tags"" AS ""t0"" - WHERE ""t0"".""GearNickName"" = ""g"".""FullName"" - ORDER BY ""t0"".""Id"" - LIMIT 1), '0001-01-01 00:00:00')"); +""" +SELECT "g"."Nickname", COALESCE(( + SELECT "t1"."IssueDate" + FROM "Tags" AS "t1" + WHERE "t1"."GearNickName" = "g"."FullName" + ORDER BY "t1"."Id" + LIMIT 1), '0001-01-01 00:00:00') AS "invalidTagIssueDate" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +WHERE "t"."IssueDate" > COALESCE(( + SELECT "t0"."IssueDate" + FROM "Tags" AS "t0" + WHERE "t0"."GearNickName" = "g"."FullName" + ORDER BY "t0"."Id" + LIMIT 1), '0001-01-01 00:00:00') +"""); } public override async Task Include_collection_on_derived_type_using_lambda_with_soft_cast(bool async) @@ -3589,10 +4081,12 @@ public override async Task Include_collection_on_derived_type_using_lambda_with_ await base.Include_collection_on_derived_type_using_lambda_with_soft_cast(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Where_nullable_enum_with_nullable_parameter(bool async) @@ -3600,15 +4094,19 @@ public override async Task Where_nullable_enum_with_nullable_parameter(bool asyn await base.Where_nullable_enum_with_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) -SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" = @__ammunitionType_0", +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" = @__ammunitionType_0 +""", // - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" IS NULL"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" IS NULL +"""); } public override async Task Include_with_join_reference2(bool async) @@ -3616,10 +4114,12 @@ public override async Task Include_with_join_reference2(bool async) await base.Include_with_join_reference2(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Tags"" AS ""t"" -INNER JOIN ""Gears"" AS ""g"" ON ""t"".""GearSquadId"" = ""g"".""SquadId"" AND ""t"".""GearNickName"" = ""g"".""Nickname"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "c"."Name", "c"."Location", "c"."Nation" +FROM "Tags" AS "t" +INNER JOIN "Gears" AS "g" ON "t"."GearSquadId" = "g"."SquadId" AND "t"."GearNickName" = "g"."Nickname" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +"""); } public override async Task FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(bool async) @@ -3627,20 +4127,22 @@ public override async Task FirstOrDefault_navigation_access_entity_equality_in_w await base.FirstOrDefault_navigation_access_entity_equality_in_where_predicate_apply_peneding_selector(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"" -LEFT JOIN ""Cities"" AS ""c"" ON ""f"".""CapitalName"" = ""c"".""Name"" -WHERE ""c"".""Name"" = ( - SELECT ""c0"".""Name"" - FROM ""Gears"" AS ""g"" - INNER JOIN ""Cities"" AS ""c0"" ON ""g"".""CityOfBirthName"" = ""c0"".""Name"" - ORDER BY ""g"".""Nickname"" - LIMIT 1) OR ((""c"".""Name"" IS NULL) AND (( - SELECT ""c0"".""Name"" - FROM ""Gears"" AS ""g"" - INNER JOIN ""Cities"" AS ""c0"" ON ""g"".""CityOfBirthName"" = ""c0"".""Name"" - ORDER BY ""g"".""Nickname"" - LIMIT 1) IS NULL))"); +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated" +FROM "Factions" AS "f" +LEFT JOIN "Cities" AS "c" ON "f"."CapitalName" = "c"."Name" +WHERE "c"."Name" = ( + SELECT "c0"."Name" + FROM "Gears" AS "g" + INNER JOIN "Cities" AS "c0" ON "g"."CityOfBirthName" = "c0"."Name" + ORDER BY "g"."Nickname" + LIMIT 1) OR (("c"."Name" IS NULL) AND (( + SELECT "c0"."Name" + FROM "Gears" AS "g" + INNER JOIN "Cities" AS "c0" ON "g"."CityOfBirthName" = "c0"."Name" + ORDER BY "g"."Nickname" + LIMIT 1) IS NULL)) +"""); } public override async Task Nav_rewrite_with_convert2(bool async) @@ -3648,15 +4150,17 @@ public override async Task Nav_rewrite_with_convert2(bool async) await base.Nav_rewrite_with_convert2(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"" -LEFT JOIN ""Cities"" AS ""c"" ON ""f"".""CapitalName"" = ""c"".""Name"" +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated" +FROM "Factions" AS "f" +LEFT JOIN "Cities" AS "c" ON "f"."CapitalName" = "c"."Name" LEFT JOIN ( - SELECT ""l"".""Name"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -WHERE (""c"".""Name"" <> 'Foo' OR (""c"".""Name"" IS NULL)) AND (""t"".""Name"" <> 'Bar' OR (""t"".""Name"" IS NULL))"); + SELECT "l"."Name" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +WHERE ("c"."Name" <> 'Foo' OR ("c"."Name" IS NULL)) AND ("t"."Name" <> 'Bar' OR ("t"."Name" IS NULL)) +"""); } public override async Task Contains_on_collection_of_byte_subquery(bool async) @@ -3664,12 +4168,14 @@ public override async Task Contains_on_collection_of_byte_subquery(bool async) await base.Contains_on_collection_of_byte_subquery(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" WHERE EXISTS ( SELECT 1 - FROM ""LocustLeaders"" AS ""l0"" - WHERE ""l0"".""ThreatLevelByte"" = ""l"".""ThreatLevelByte"")"); + FROM "LocustLeaders" AS "l0" + WHERE "l0"."ThreatLevelByte" = "l"."ThreatLevelByte") +"""); } public override async Task Conditional_with_conditions_evaluating_to_true_gets_optimized(bool async) @@ -3677,8 +4183,10 @@ public override async Task Conditional_with_conditions_evaluating_to_true_gets_o await base.Conditional_with_conditions_evaluating_to_true_gets_optimized(async); AssertSql( - @"SELECT ""g"".""CityOfBirthName"" -FROM ""Gears"" AS ""g"""); +""" +SELECT "g"."CityOfBirthName" +FROM "Gears" AS "g" +"""); } public override async Task Select_correlated_filtered_collection_works_with_caching(bool async) @@ -3686,10 +4194,12 @@ public override async Task Select_correlated_filtered_collection_works_with_cach await base.Select_correlated_filtered_collection_works_with_caching(async); AssertSql( - @"SELECT ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" -ORDER BY ""t"".""Note"", ""t"".""Id"", ""g"".""Nickname"""); +""" +SELECT "t"."Id", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" +ORDER BY "t"."Note", "t"."Id", "g"."Nickname" +"""); } public override async Task Complex_predicate_with_AndAlso_and_nullable_bool_property(bool async) @@ -3697,10 +4207,12 @@ public override async Task Complex_predicate_with_AndAlso_and_nullable_bool_prop await base.Complex_predicate_with_AndAlso_and_nullable_bool_property(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Gears"" AS ""g"" ON ""w"".""OwnerFullName"" = ""g"".""FullName"" -WHERE ""w"".""Id"" <> 50 AND NOT (""g"".""HasSoulPatch"")"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Gears" AS "g" ON "w"."OwnerFullName" = "g"."FullName" +WHERE "w"."Id" <> 50 AND NOT ("g"."HasSoulPatch") +"""); } public override async Task SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join( @@ -3709,14 +4221,16 @@ public override async Task SelectMany_predicate_after_navigation_with_non_equali await base.SelectMany_predicate_after_navigation_with_non_equality_comparison_DefaultIfEmpty_converted_to_left_join(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -) AS ""t"" ON ""g"".""FullName"" <> ""t"".""OwnerFullName"" OR (""t"".""OwnerFullName"" IS NULL) -ORDER BY ""g"".""Nickname"", ""t"".""Id"""); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" + FROM "Weapons" AS "w" + LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +) AS "t" ON "g"."FullName" <> "t"."OwnerFullName" OR ("t"."OwnerFullName" IS NULL) +ORDER BY "g"."Nickname", "t"."Id" +"""); } public override async Task Select_ternary_operation_with_boolean(bool async) @@ -3724,11 +4238,13 @@ public override async Task Select_ternary_operation_with_boolean(bool async) await base.Select_ternary_operation_with_boolean(async); AssertSql( - @"SELECT ""w"".""Id"", CASE - WHEN ""w"".""IsAutomatic"" THEN 1 +""" +SELECT "w"."Id", CASE + WHEN "w"."IsAutomatic" THEN 1 ELSE 0 -END AS ""Num"" -FROM ""Weapons"" AS ""w"""); +END AS "Num" +FROM "Weapons" AS "w" +"""); } public override async Task GroupBy_Property_Include_Select_Max(bool async) @@ -3736,9 +4252,11 @@ public override async Task GroupBy_Property_Include_Select_Max(bool async) await base.GroupBy_Property_Include_Select_Max(async); AssertSql( - @"SELECT MAX(""g"".""SquadId"") -FROM ""Gears"" AS ""g"" -GROUP BY ""g"".""Rank"""); +""" +SELECT MAX("g"."SquadId") +FROM "Gears" AS "g" +GROUP BY "g"."Rank" +"""); } public override async Task CompareTo_used_with_non_unicode_string_column_and_constant(bool async) @@ -3746,9 +4264,11 @@ public override async Task CompareTo_used_with_non_unicode_string_column_and_con await base.CompareTo_used_with_non_unicode_string_column_and_constant(async); AssertSql( - @"SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" -WHERE ""c"".""Location"" = 'Unknown'"); +""" +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" +WHERE "c"."Location" = 'Unknown' +"""); } public override async Task Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(bool async) @@ -3756,18 +4276,20 @@ public override async Task Query_reusing_parameter_doesnt_declare_duplicate_para await base.Query_reusing_parameter_doesnt_declare_duplicate_parameter_complex(async); AssertSql( - @"@__entity_equality_prm_Inner_Squad_0_Id='1' (Nullable = true) +""" +@__entity_equality_prm_Inner_Squad_0_Id='1' (Nullable = true) -SELECT ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"" +SELECT "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank" FROM ( - SELECT DISTINCT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - INNER JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" - WHERE ""s"".""Id"" = @__entity_equality_prm_Inner_Squad_0_Id -) AS ""t"" -INNER JOIN ""Squads"" AS ""s0"" ON ""t"".""SquadId"" = ""s0"".""Id"" -WHERE ""s0"".""Id"" = @__entity_equality_prm_Inner_Squad_0_Id -ORDER BY ""t"".""FullName"""); + SELECT DISTINCT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" + FROM "Gears" AS "g" + INNER JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" + WHERE "s"."Id" = @__entity_equality_prm_Inner_Squad_0_Id +) AS "t" +INNER JOIN "Squads" AS "s0" ON "t"."SquadId" = "s0"."Id" +WHERE "s0"."Id" = @__entity_equality_prm_Inner_Squad_0_Id +ORDER BY "t"."FullName" +"""); } public override async Task Select_Where_Navigation_Null_Reverse(bool async) @@ -3775,10 +4297,12 @@ public override async Task Select_Where_Navigation_Null_Reverse(bool async) await base.Select_Where_Navigation_Null_Reverse(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE (""g"".""Nickname"" IS NULL) OR (""g"".""SquadId"" IS NULL)"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE ("g"."Nickname" IS NULL) OR ("g"."SquadId" IS NULL) +"""); } public override async Task Collection_with_inheritance_and_join_include_joined(bool async) @@ -3786,14 +4310,16 @@ public override async Task Collection_with_inheritance_and_join_include_joined(b await base.Collection_with_inheritance_and_join_include_joined(async); AssertSql( - @"SELECT ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"", ""t1"".""Id"", ""t1"".""GearNickName"", ""t1"".""GearSquadId"", ""t1"".""IssueDate"", ""t1"".""Note"" -FROM ""Tags"" AS ""t"" +""" +SELECT "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank", "t1"."Id", "t1"."GearNickName", "t1"."GearSquadId", "t1"."IssueDate", "t1"."Note" +FROM "Tags" AS "t" INNER JOIN ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""Discriminator"" = 'Officer' -) AS ""t0"" ON ""t"".""GearSquadId"" = ""t0"".""SquadId"" AND ""t"".""GearNickName"" = ""t0"".""Nickname"" -LEFT JOIN ""Tags"" AS ""t1"" ON ""t0"".""Nickname"" = ""t1"".""GearNickName"" AND ""t0"".""SquadId"" = ""t1"".""GearSquadId"""); + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" + FROM "Gears" AS "g" + WHERE "g"."Discriminator" = 'Officer' +) AS "t0" ON "t"."GearSquadId" = "t0"."SquadId" AND "t"."GearNickName" = "t0"."Nickname" +LEFT JOIN "Tags" AS "t1" ON "t0"."Nickname" = "t1"."GearNickName" AND "t0"."SquadId" = "t1"."GearSquadId" +"""); } public override async Task Where_enum_has_flag(bool async) @@ -3801,25 +4327,35 @@ public override async Task Where_enum_has_flag(bool async) await base.Where_enum_has_flag(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & 2) = 2", +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & 2) = 2 +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & 18) = 18", +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & 18) = 18 +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & 1) = 1", +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & 1) = 1 +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & 1) = 1", +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & 1) = 1 +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (2 & ""g"".""Rank"") = ""g"".""Rank"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE (2 & "g"."Rank") = "g"."Rank" +"""); } public override async Task Where_bitwise_and_nullable_enum_with_constant(bool async) @@ -3827,9 +4363,11 @@ public override async Task Where_bitwise_and_nullable_enum_with_constant(bool as await base.Where_bitwise_and_nullable_enum_with_constant(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE (""w"".""AmmunitionType"" & 1) > 0"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE ("w"."AmmunitionType" & 1) > 0 +"""); } public override async Task Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(bool async) @@ -3837,10 +4375,12 @@ public override async Task Group_by_over_projection_with_multiple_properties_acc await base.Group_by_over_projection_with_multiple_properties_accessed_thru_navigation(async); AssertSql( - @"SELECT ""c"".""Name"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" -GROUP BY ""c"".""Name"""); +""" +SELECT "c"."Name" +FROM "Gears" AS "g" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +GROUP BY "c"."Name" +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(bool async) @@ -3848,13 +4388,15 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column_and_correlation_key(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""Name"", ""t"".""OwnerFullName"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Id", "t"."Name", "t"."OwnerFullName" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT DISTINCT ""w"".""Id"", ""w"".""Name"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); + SELECT DISTINCT "w"."Id", "w"."Name", "w"."OwnerFullName" + FROM "Weapons" AS "w" +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task GroupBy_Property_Include_Aggregate_with_anonymous_selector(bool async) @@ -3862,10 +4404,12 @@ public override async Task GroupBy_Property_Include_Aggregate_with_anonymous_sel await base.GroupBy_Property_Include_Aggregate_with_anonymous_selector(async); AssertSql( - @"SELECT ""g"".""Nickname"" AS ""Key"", COUNT(*) AS ""c"" -FROM ""Gears"" AS ""g"" -GROUP BY ""g"".""Nickname"" -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."Nickname" AS "Key", COUNT(*) AS "c" +FROM "Gears" AS "g" +GROUP BY "g"."Nickname" +ORDER BY "g"."Nickname" +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_conditional_result(bool async) @@ -3873,12 +4417,14 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_conditional_result(async); AssertSql( - @"SELECT (""g0"".""Nickname"" IS NOT NULL) AND (""g0"".""SquadId"" IS NOT NULL), ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""LeaderNickname"" = ""g0"".""Nickname"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g0"".""FullName"" = ""w"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""g"".""FullName"" = ""w0"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""w"".""Id"""); +""" +SELECT ("g0"."Nickname" IS NOT NULL) AND ("g0"."SquadId" IS NOT NULL), "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "g"."Nickname", "g"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."LeaderNickname" = "g0"."Nickname" +LEFT JOIN "Weapons" AS "w" ON "g0"."FullName" = "w"."OwnerFullName" +LEFT JOIN "Weapons" AS "w0" ON "g"."FullName" = "w0"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname", "g0"."SquadId", "w"."Id" +"""); } public override async Task Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(bool async) @@ -3886,17 +4432,19 @@ public override async Task Where_subquery_distinct_orderby_firstordefault_boolea await base.Where_subquery_distinct_orderby_firstordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND ( - SELECT ""t"".""IsAutomatic"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND ( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ) AS ""t"" - ORDER BY ""t"".""Id"" - LIMIT 1)"); + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ) AS "t" + ORDER BY "t"."Id" + LIMIT 1) +"""); } public override async Task Select_navigation_with_concat_and_count(bool async) @@ -3904,19 +4452,21 @@ public override async Task Select_navigation_with_concat_and_count(bool async) await base.Select_navigation_with_concat_and_count(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" UNION ALL - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" - FROM ""Weapons"" AS ""w0"" - WHERE ""g"".""FullName"" = ""w0"".""OwnerFullName"" - ) AS ""t"") -FROM ""Gears"" AS ""g"" -WHERE NOT (""g"".""HasSoulPatch"")"); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" + FROM "Weapons" AS "w0" + WHERE "g"."FullName" = "w0"."OwnerFullName" + ) AS "t") +FROM "Gears" AS "g" +WHERE NOT ("g"."HasSoulPatch") +"""); } public override async Task Projecting_property_converted_to_nullable_with_comparison(bool async) @@ -3924,13 +4474,15 @@ public override async Task Projecting_property_converted_to_nullable_with_compar await base.Projecting_property_converted_to_nullable_with_comparison(async); AssertSql( - @"SELECT ""t"".""Note"", ""t"".""GearNickName"" IS NOT NULL, ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""HasSoulPatch"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +""" +SELECT "t"."Note", "t"."GearNickName" IS NOT NULL, "g"."Nickname", "g"."SquadId", "g"."HasSoulPatch" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL -END = 1"); +END = 1 +"""); } public override async Task TimeSpan_Hours(bool async) @@ -3938,8 +4490,10 @@ public override async Task TimeSpan_Hours(bool async) await base.TimeSpan_Hours(async); AssertSql( - @"SELECT ""m"".""Duration"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Duration" +FROM "Missions" AS "m" +"""); } public override async Task Where_bool_column_or_Contains(bool async) @@ -3947,9 +4501,11 @@ public override async Task Where_bool_column_or_Contains(bool async) await base.Where_bool_column_or_Contains(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND ""g"".""HasSoulPatch"" IN (0, 1)"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND "g"."HasSoulPatch" IN (0, 1) +"""); } public override async Task String_concat_with_null_conditional_argument2(bool async) @@ -3957,10 +4513,12 @@ public override async Task String_concat_with_null_conditional_argument2(bool as await base.String_concat_with_null_conditional_argument2(async); AssertSql( - @"SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -ORDER BY COALESCE(""w0"".""Name"", '') || 'Marcus'' Lancer'"); +""" +SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +ORDER BY COALESCE("w0"."Name", '') || 'Marcus'' Lancer' +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result3(bool async) @@ -3968,12 +4526,14 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result3(async); AssertSql( - @"SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""LeaderNickname"" = ""g0"".""Nickname"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g0"".""FullName"" = ""w"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""g"".""FullName"" = ""w0"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""w"".""Id"""); +""" +SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "g"."Nickname", "g"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."LeaderNickname" = "g0"."Nickname" +LEFT JOIN "Weapons" AS "w" ON "g0"."FullName" = "w"."OwnerFullName" +LEFT JOIN "Weapons" AS "w0" ON "g"."FullName" = "w0"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname", "g0"."SquadId", "w"."Id" +"""); } public override async Task Coalesce_operator_in_predicate_with_other_conditions(bool async) @@ -3981,9 +4541,11 @@ public override async Task Coalesce_operator_in_predicate_with_other_conditions( await base.Coalesce_operator_in_predicate_with_other_conditions(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" = 1 AND COALESCE(""w"".""IsAutomatic"", 0)"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" = 1 AND COALESCE("w"."IsAutomatic", 0) +"""); } public override async Task Include_reference_on_derived_type_using_string_nested2(bool async) @@ -3991,15 +4553,17 @@ public override async Task Include_reference_on_derived_type_using_string_nested await base.Include_reference_on_derived_type_using_string_nested2(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"", ""t"".""Name"", ""t"".""Location"", ""t"".""Nation"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"" +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank", "t"."Name", "t"."Location", "t"."Nation" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" - FROM ""Gears"" AS ""g0"" - INNER JOIN ""Cities"" AS ""c"" ON ""g0"".""CityOfBirthName"" = ""c"".""Name"" -) AS ""t"" ON (""g"".""Nickname"" = ""t"".""LeaderNickname"" OR ((""g"".""Nickname"" IS NULL) AND (""t"".""LeaderNickname"" IS NULL))) AND ""g"".""SquadId"" = ""t"".""LeaderSquadId"" -ORDER BY ""l"".""Name"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"", ""t"".""SquadId"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "c"."Name", "c"."Location", "c"."Nation" + FROM "Gears" AS "g0" + INNER JOIN "Cities" AS "c" ON "g0"."CityOfBirthName" = "c"."Name" +) AS "t" ON ("g"."Nickname" = "t"."LeaderNickname" OR (("g"."Nickname" IS NULL) AND ("t"."LeaderNickname" IS NULL))) AND "g"."SquadId" = "t"."LeaderSquadId" +ORDER BY "l"."Name", "g"."Nickname", "g"."SquadId", "t"."Nickname", "t"."SquadId" +"""); } public override async Task Select_coalesce_with_anonymous_types(bool async) @@ -4007,9 +4571,11 @@ public override async Task Select_coalesce_with_anonymous_types(bool async) await base.Select_coalesce_with_anonymous_types(async); AssertSql( - @"SELECT ""g"".""LeaderNickname"", ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."LeaderNickname", "g"."FullName" +FROM "Gears" AS "g" +ORDER BY "g"."Nickname" +"""); } public override async Task Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(bool async) @@ -4017,11 +4583,13 @@ public override async Task Subquery_containing_SelectMany_projecting_main_from_c await base.Subquery_containing_SelectMany_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -CROSS JOIN ""Tags"" AS ""t"" -WHERE ""g"".""HasSoulPatch"" -ORDER BY ""g"".""FullName"""); +""" +SELECT "g"."FullName" +FROM "Gears" AS "g" +CROSS JOIN "Tags" AS "t" +WHERE "g"."HasSoulPatch" +ORDER BY "g"."FullName" +"""); } public override async Task Correlated_collections_complex_scenario1(bool async) @@ -4029,16 +4597,18 @@ public override async Task Correlated_collections_complex_scenario1(bool async) await base.Correlated_collections_complex_scenario1(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""Id0"", ""t"".""Nickname0"", ""t"".""HasSoulPatch"", ""t"".""SquadId0"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t"."Id", "t"."Nickname", "t"."SquadId", "t"."Id0", "t"."Nickname0", "t"."HasSoulPatch", "t"."SquadId0" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""s"".""Id"" AS ""Id0"", ""g1"".""Nickname"" AS ""Nickname0"", ""g1"".""HasSoulPatch"", ""g1"".""SquadId"" AS ""SquadId0"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g0"" ON ""w"".""OwnerFullName"" = ""g0"".""FullName"" - LEFT JOIN ""Squads"" AS ""s"" ON ""g0"".""SquadId"" = ""s"".""Id"" - LEFT JOIN ""Gears"" AS ""g1"" ON ""s"".""Id"" = ""g1"".""SquadId"" -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""Id0"", ""t"".""Nickname0"""); + SELECT "w"."Id", "g0"."Nickname", "g0"."SquadId", "s"."Id" AS "Id0", "g1"."Nickname" AS "Nickname0", "g1"."HasSoulPatch", "g1"."SquadId" AS "SquadId0", "w"."OwnerFullName" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g0" ON "w"."OwnerFullName" = "g0"."FullName" + LEFT JOIN "Squads" AS "s" ON "g0"."SquadId" = "s"."Id" + LEFT JOIN "Gears" AS "g1" ON "s"."Id" = "g1"."SquadId" +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Id", "t"."Nickname", "t"."SquadId", "t"."Id0", "t"."Nickname0" +"""); } public override async Task Order_by_entity_qsre(bool async) @@ -4046,10 +4616,12 @@ public override async Task Order_by_entity_qsre(bool async) await base.Order_by_entity_qsre(async); AssertSql( - @"SELECT ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Cities"" AS ""c"" ON ""g"".""AssignedCityName"" = ""c"".""Name"" -ORDER BY ""c"".""Name"", ""g"".""Nickname"" DESC"); +""" +SELECT "g"."FullName" +FROM "Gears" AS "g" +LEFT JOIN "Cities" AS "c" ON "g"."AssignedCityName" = "c"."Name" +ORDER BY "c"."Name", "g"."Nickname" DESC +"""); } public override async Task Reference_include_chain_loads_correctly_when_middle_is_null(bool async) @@ -4057,11 +4629,13 @@ public override async Task Reference_include_chain_loads_correctly_when_middle_i await base.Reference_include_chain_loads_correctly_when_middle_is_null(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" -ORDER BY ""t"".""Note"""); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" +ORDER BY "t"."Note" +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result4(bool async) @@ -4069,14 +4643,16 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result4(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"", ""w1"".""Id"", ""w1"".""AmmunitionType"", ""w1"".""IsAutomatic"", ""w1"".""Name"", ""w1"".""OwnerFullName"", ""w1"".""SynergyWithId"", ""w2"".""Id"", ""w2"".""AmmunitionType"", ""w2"".""IsAutomatic"", ""w2"".""Name"", ""w2"".""OwnerFullName"", ""w2"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""LeaderNickname"" = ""g0"".""Nickname"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""g0"".""FullName"" = ""w0"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w1"" ON ""g0"".""FullName"" = ""w1"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w2"" ON ""g"".""FullName"" = ""w2"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""w"".""Id"", ""w0"".""Id"", ""w1"".""Id"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId", "w1"."Id", "w1"."AmmunitionType", "w1"."IsAutomatic", "w1"."Name", "w1"."OwnerFullName", "w1"."SynergyWithId", "w2"."Id", "w2"."AmmunitionType", "w2"."IsAutomatic", "w2"."Name", "w2"."OwnerFullName", "w2"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."LeaderNickname" = "g0"."Nickname" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +LEFT JOIN "Weapons" AS "w0" ON "g0"."FullName" = "w0"."OwnerFullName" +LEFT JOIN "Weapons" AS "w1" ON "g0"."FullName" = "w1"."OwnerFullName" +LEFT JOIN "Weapons" AS "w2" ON "g"."FullName" = "w2"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname", "g0"."SquadId", "w"."Id", "w0"."Id", "w1"."Id" +"""); } public override async Task Join_with_order_by_without_skip_or_take(bool async) @@ -4084,9 +4660,11 @@ public override async Task Join_with_order_by_without_skip_or_take(bool async) await base.Join_with_order_by_without_skip_or_take(async); AssertSql( - @"SELECT ""w"".""Name"", ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"""); +""" +SELECT "w"."Name", "g"."FullName" +FROM "Gears" AS "g" +INNER JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +"""); } public override async Task Cast_subquery_to_base_type_using_typed_ToList(bool async) @@ -4094,11 +4672,13 @@ public override async Task Cast_subquery_to_base_type_using_typed_ToList(bool as await base.Cast_subquery_to_base_type_using_typed_ToList(async); AssertSql( - @"SELECT ""c"".""Name"", ""g"".""CityOfBirthName"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Nickname"", ""g"".""Rank"", ""g"".""SquadId"" -FROM ""Cities"" AS ""c"" -LEFT JOIN ""Gears"" AS ""g"" ON ""c"".""Name"" = ""g"".""AssignedCityName"" -WHERE ""c"".""Name"" = 'Ephyra' -ORDER BY ""c"".""Name"", ""g"".""Nickname"""); +""" +SELECT "c"."Name", "g"."CityOfBirthName", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Nickname", "g"."Rank", "g"."SquadId" +FROM "Cities" AS "c" +LEFT JOIN "Gears" AS "g" ON "c"."Name" = "g"."AssignedCityName" +WHERE "c"."Name" = 'Ephyra' +ORDER BY "c"."Name", "g"."Nickname" +"""); } public override async Task GroupBy_Property_Include_Select_Average(bool async) @@ -4106,9 +4686,11 @@ public override async Task GroupBy_Property_Include_Select_Average(bool async) await base.GroupBy_Property_Include_Select_Average(async); AssertSql( - @"SELECT AVG(CAST(""g"".""SquadId"" AS REAL)) -FROM ""Gears"" AS ""g"" -GROUP BY ""g"".""Rank"""); +""" +SELECT AVG(CAST("g"."SquadId" AS REAL)) +FROM "Gears" AS "g" +GROUP BY "g"."Rank" +"""); } public override async Task Select_null_parameter_is_not_null(bool async) @@ -4116,10 +4698,12 @@ public override async Task Select_null_parameter_is_not_null(bool async) await base.Select_null_parameter_is_not_null(async); AssertSql( - @"@__p_0='False' +""" +@__p_0='False' SELECT @__p_0 -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Projecting_property_converted_to_nullable_with_function_call2(bool async) @@ -4127,16 +4711,18 @@ public override async Task Projecting_property_converted_to_nullable_with_functi await base.Projecting_property_converted_to_nullable_with_function_call2(async); AssertSql( - @"SELECT ""t"".""Note"", substr(""t"".""Note"", 0 + 1, CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" +""" +SELECT "t"."Note", substr("t"."Note", 0 + 1, CASE + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL -END) AS ""Function"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +END) AS "Function" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""Nickname"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."Nickname" ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean2(bool async) @@ -4144,13 +4730,15 @@ public override async Task Select_subquery_distinct_singleordefault_boolean2(boo await base.Select_subquery_distinct_singleordefault_boolean2(async); AssertSql( - @"SELECT COALESCE(( - SELECT DISTINCT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ('Lancer' = '' OR instr(""w"".""Name"", 'Lancer') > 0) +""" +SELECT COALESCE(( + SELECT DISTINCT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND ('Lancer' = '' OR instr("w"."Name", 'Lancer') > 0) LIMIT 1), 0) -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"""); +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" +"""); } public override async Task Select_null_propagation_optimization8(bool async) @@ -4158,8 +4746,10 @@ public override async Task Select_null_propagation_optimization8(bool async) await base.Select_null_propagation_optimization8(async); AssertSql( - @"SELECT COALESCE(""g"".""LeaderNickname"", '') || COALESCE(""g"".""LeaderNickname"", '') -FROM ""Gears"" AS ""g"""); +""" +SELECT COALESCE("g"."LeaderNickname", '') || COALESCE("g"."LeaderNickname", '') +FROM "Gears" AS "g" +"""); } public override async Task Where_required_navigation_on_derived_type(bool async) @@ -4167,10 +4757,12 @@ public override async Task Where_required_navigation_on_derived_type(bool async) await base.Where_required_navigation_on_derived_type(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""LocustHighCommands"" AS ""l0"" ON ""l"".""HighCommandId"" = ""l0"".""Id"" -WHERE ""l0"".""IsOperational"""); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" +LEFT JOIN "LocustHighCommands" AS "l0" ON "l"."HighCommandId" = "l0"."Id" +WHERE "l0"."IsOperational" +"""); } public override async Task Correlated_collection_with_distinct_projecting_identifier_column_composite_key(bool async) @@ -4178,13 +4770,15 @@ public override async Task Correlated_collection_with_distinct_projecting_identi await base.Correlated_collection_with_distinct_projecting_identifier_column_composite_key(async); AssertSql( - @"SELECT ""s"".""Id"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""HasSoulPatch"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Id", "t"."Nickname", "t"."SquadId", "t"."HasSoulPatch" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT DISTINCT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""HasSoulPatch"" - FROM ""Gears"" AS ""g"" -) AS ""t"" ON ""s"".""Id"" = ""t"".""SquadId"" -ORDER BY ""s"".""Id"", ""t"".""Nickname"""); + SELECT DISTINCT "g"."Nickname", "g"."SquadId", "g"."HasSoulPatch" + FROM "Gears" AS "g" +) AS "t" ON "s"."Id" = "t"."SquadId" +ORDER BY "s"."Id", "t"."Nickname" +"""); } public override async Task Singleton_Navigation_With_Member_Access(bool async) @@ -4192,10 +4786,12 @@ public override async Task Singleton_Navigation_With_Member_Access(bool async) await base.Singleton_Navigation_With_Member_Access(async); AssertSql( - @"SELECT ""g"".""CityOfBirthName"" AS ""B"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""g"".""Nickname"" = 'Marcus' AND (""g"".""CityOfBirthName"" <> 'Ephyra' OR (""g"".""CityOfBirthName"" IS NULL))"); +""" +SELECT "g"."CityOfBirthName" AS "B" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "g"."Nickname" = 'Marcus' AND ("g"."CityOfBirthName" <> 'Ephyra' OR ("g"."CityOfBirthName" IS NULL)) +"""); } public override async Task GroupBy_Property_Include_Select_Sum(bool async) @@ -4203,9 +4799,11 @@ public override async Task GroupBy_Property_Include_Select_Sum(bool async) await base.GroupBy_Property_Include_Select_Sum(async); AssertSql( - @"SELECT COALESCE(SUM(""g"".""SquadId""), 0) -FROM ""Gears"" AS ""g"" -GROUP BY ""g"".""Rank"""); +""" +SELECT COALESCE(SUM("g"."SquadId"), 0) +FROM "Gears" AS "g" +GROUP BY "g"."Rank" +"""); } public override async Task Project_derivied_entity_with_convert_to_parent(bool async) @@ -4213,8 +4811,10 @@ public override async Task Project_derivied_entity_with_convert_to_parent(bool a await base.Project_derivied_entity_with_convert_to_parent(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"""); +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated" +FROM "Factions" AS "f" +"""); } public override async Task Include_where_list_contains_navigation(bool async) @@ -4222,13 +4822,17 @@ public override async Task Include_where_list_contains_navigation(bool async) await base.Include_where_list_contains_navigation(async); AssertSql( - @"SELECT ""t"".""Id"" -FROM ""Tags"" AS ""t""", +""" +SELECT "t"."Id" +FROM "Tags" AS "t" +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -WHERE (""t"".""Id"" IS NOT NULL) AND ""t"".""Id"" IN ('34C8D86E-A4AC-4BE5-827F-584DDA348A07', '70534E05-782C-4052-8720-C2C54481CE5F', 'A7BE028A-0CF2-448F-AB55-CE8BC5D8CF69', 'A8AD98F9-E023-4E2A-9A70-C2728455BD34', 'B39A6FBA-9026-4D69-828E-FD7068673E57', 'DF36F493-463F-4123-83F9-6B135DEEB7BA')"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +WHERE ("t"."Id" IS NOT NULL) AND "t"."Id" IN ('34C8D86E-A4AC-4BE5-827F-584DDA348A07', '70534E05-782C-4052-8720-C2C54481CE5F', 'A7BE028A-0CF2-448F-AB55-CE8BC5D8CF69', 'A8AD98F9-E023-4E2A-9A70-C2728455BD34', 'B39A6FBA-9026-4D69-828E-FD7068673E57', 'DF36F493-463F-4123-83F9-6B135DEEB7BA') +"""); } public override async Task Projecting_property_converted_to_nullable_into_new_array(bool async) @@ -4236,23 +4840,25 @@ public override async Task Projecting_property_converted_to_nullable_into_new_ar await base.Projecting_property_converted_to_nullable_into_new_array(async); AssertSql( - @"SELECT CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN length(""g"".""Nickname"") +""" +SELECT CASE + WHEN "t"."GearNickName" IS NOT NULL THEN length("g"."Nickname") ELSE NULL END, CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL END, CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL END + 1 -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""Nickname"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."Nickname" ELSE NULL END IS NOT NULL -ORDER BY ""t"".""Note"""); +ORDER BY "t"."Note" +"""); } public override async Task Where_nullable_enum_with_constant(bool async) @@ -4260,9 +4866,11 @@ public override async Task Where_nullable_enum_with_constant(bool async) await base.Where_nullable_enum_with_constant(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" = 1"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" = 1 +"""); } public override async Task Project_navigation_defined_on_base_from_entity_with_inheritance_using_soft_cast(bool async) @@ -4270,11 +4878,13 @@ public override async Task Project_navigation_defined_on_base_from_entity_with_i await base.Project_navigation_defined_on_base_from_entity_with_inheritance_using_soft_cast(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"", ""t"".""Id"" IS NULL AS ""IsNull"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"", ""c"".""Name"" IS NULL AS ""IsNull"", ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"", ""s"".""Id"" IS NULL AS ""IsNull"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -LEFT JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" -LEFT JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note", "t"."Id" IS NULL AS "IsNull", "c"."Name", "c"."Location", "c"."Nation", "c"."Name" IS NULL AS "IsNull", "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name", "s"."Id" IS NULL AS "IsNull" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +LEFT JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +LEFT JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" +"""); } public override async Task Double_order_by_on_string_compare(bool async) @@ -4282,9 +4892,11 @@ public override async Task Double_order_by_on_string_compare(bool async) await base.Double_order_by_on_string_compare(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -ORDER BY ""w"".""Name"" = 'Marcus'' Lancer' AND (""w"".""Name"" IS NOT NULL), ""w"".""Id"""); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +ORDER BY "w"."Name" = 'Marcus'' Lancer' AND ("w"."Name" IS NOT NULL), "w"."Id" +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down3(bool async) @@ -4292,16 +4904,18 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down3(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' -SELECT ""t"".""FullName"" +SELECT "t"."FullName" FROM ( - SELECT ""g"".""FullName"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - WHERE NOT (""g"".""HasSoulPatch"") + SELECT "g"."FullName", "g"."Rank" + FROM "Gears" AS "g" + WHERE NOT ("g"."HasSoulPatch") LIMIT @__p_0 -) AS ""t"" -ORDER BY ""t"".""FullName"", ""t"".""Rank"""); +) AS "t" +ORDER BY "t"."FullName", "t"."Rank" +"""); } public override async Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(bool async) @@ -4309,14 +4923,16 @@ public override async Task GroupJoin_on_entity_qsre_keys_inner_key_is_nested_nav await base.GroupJoin_on_entity_qsre_keys_inner_key_is_nested_navigation(async); AssertSql( - @"SELECT ""s"".""Name"" AS ""SquadName"", ""t"".""Name"" AS ""WeaponName"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Name" AS "SquadName", "t"."Name" AS "WeaponName" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""w"".""Name"", ""s0"".""Id"" AS ""Id0"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g"" ON ""w"".""OwnerFullName"" = ""g"".""FullName"" - LEFT JOIN ""Squads"" AS ""s0"" ON ""g"".""SquadId"" = ""s0"".""Id"" -) AS ""t"" ON ""s"".""Id"" = ""t"".""Id0"""); + SELECT "w"."Name", "s0"."Id" AS "Id0" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g" ON "w"."OwnerFullName" = "g"."FullName" + LEFT JOIN "Squads" AS "s0" ON "g"."SquadId" = "s0"."Id" +) AS "t" ON "s"."Id" = "t"."Id0" +"""); } public override async Task Where_enum_has_flag_with_non_nullable_parameter(bool async) @@ -4324,11 +4940,13 @@ public override async Task Where_enum_has_flag_with_non_nullable_parameter(bool await base.Where_enum_has_flag_with_non_nullable_parameter(async); AssertSql( - @"@__parameter_0='2' +""" +@__parameter_0='2' -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & @__parameter_0) = @__parameter_0"); +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & @__parameter_0) = @__parameter_0 +"""); } public override async Task Optional_navigation_type_compensation_works_with_binary_and_expression(bool async) @@ -4336,9 +4954,11 @@ public override async Task Optional_navigation_type_compensation_works_with_bina await base.Optional_navigation_type_compensation_works_with_binary_and_expression(async); AssertSql( - @"SELECT ""g"".""HasSoulPatch"" AND ('Cole' = '' OR instr(""t"".""Note"", 'Cole') > 0) -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"""); +""" +SELECT "g"."HasSoulPatch" AND ('Cole' = '' OR instr("t"."Note", 'Cole') > 0) +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +"""); } public override async Task Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(bool async) @@ -4346,14 +4966,16 @@ public override async Task Query_reusing_parameter_with_inner_query_expression_d await base.Query_reusing_parameter_with_inner_query_expression_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__gearId_0='1' +""" +@__gearId_0='1' -SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" WHERE EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g"" - WHERE ""s"".""Id"" = ""g"".""SquadId"" AND ""g"".""SquadId"" = @__gearId_0 AND ""g"".""SquadId"" = @__gearId_0)"); + FROM "Gears" AS "g" + WHERE "s"."Id" = "g"."SquadId" AND "g"."SquadId" = @__gearId_0 AND "g"."SquadId" = @__gearId_0) +"""); } public override async Task Where_enum_has_flag_subquery(bool async) @@ -4361,29 +4983,33 @@ public override async Task Where_enum_has_flag_subquery(bool async) await base.Where_enum_has_flag_subquery(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & COALESCE(( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & COALESCE(( + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" LIMIT 1), 0)) = COALESCE(( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" - LIMIT 1), 0)", + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" + LIMIT 1), 0) +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE (2 & COALESCE(( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" LIMIT 1), 0)) = COALESCE(( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" - LIMIT 1), 0)"); + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" + LIMIT 1), 0) +"""); } public override async Task Select_correlated_filtered_collection_with_composite_key(bool async) @@ -4391,15 +5017,17 @@ public override async Task Select_correlated_filtered_collection_with_composite_ await base.Select_correlated_filtered_collection_with_composite_key(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - WHERE ""g0"".""Nickname"" <> 'Dom' -) AS ""t"" ON ""g"".""Nickname"" = ""t"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" + FROM "Gears" AS "g0" + WHERE "g0"."Nickname" <> 'Dom' +) AS "t" ON "g"."Nickname" = "t"."LeaderNickname" AND "g"."SquadId" = "t"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Nickname" +"""); } public override async Task Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(bool async) @@ -4407,10 +5035,12 @@ public override async Task Optional_navigation_type_compensation_works_with_proj await base.Optional_navigation_type_compensation_works_with_projection_into_anonymous_type(async); AssertSql( - @"SELECT ""g"".""SquadId"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL)"); +""" +SELECT "g"."SquadId" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL) +"""); } public override async Task Navigation_access_on_derived_materialized_entity_using_cast(bool async) @@ -4418,14 +5048,16 @@ public override async Task Navigation_access_on_derived_materialized_entity_usin await base.Navigation_access_on_derived_materialized_entity_using_cast(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"", ""t"".""ThreatLevel"" AS ""Threat"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated", "t"."ThreatLevel" AS "Threat" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""ThreatLevel"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -ORDER BY ""f"".""Name"""); + SELECT "l"."Name", "l"."ThreatLevel" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +ORDER BY "f"."Name" +"""); } public override async Task ThenInclude_collection_on_derived_after_derived_collection(bool async) @@ -4433,14 +5065,16 @@ public override async Task ThenInclude_collection_on_derived_after_derived_colle await base.ThenInclude_collection_on_derived_after_derived_collection(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"", ""t"".""Nickname0"", ""t"".""SquadId0"", ""t"".""AssignedCityName0"", ""t"".""CityOfBirthName0"", ""t"".""Discriminator0"", ""t"".""FullName0"", ""t"".""HasSoulPatch0"", ""t"".""LeaderNickname0"", ""t"".""LeaderSquadId0"", ""t"".""Rank0"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank", "t"."Nickname0", "t"."SquadId0", "t"."AssignedCityName0", "t"."CityOfBirthName0", "t"."Discriminator0", "t"."FullName0", "t"."HasSoulPatch0", "t"."LeaderNickname0", "t"."LeaderSquadId0", "t"."Rank0" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""g1"".""Nickname"" AS ""Nickname0"", ""g1"".""SquadId"" AS ""SquadId0"", ""g1"".""AssignedCityName"" AS ""AssignedCityName0"", ""g1"".""CityOfBirthName"" AS ""CityOfBirthName0"", ""g1"".""Discriminator"" AS ""Discriminator0"", ""g1"".""FullName"" AS ""FullName0"", ""g1"".""HasSoulPatch"" AS ""HasSoulPatch0"", ""g1"".""LeaderNickname"" AS ""LeaderNickname0"", ""g1"".""LeaderSquadId"" AS ""LeaderSquadId0"", ""g1"".""Rank"" AS ""Rank0"" - FROM ""Gears"" AS ""g0"" - LEFT JOIN ""Gears"" AS ""g1"" ON ""g0"".""Nickname"" = ""g1"".""LeaderNickname"" AND ""g0"".""SquadId"" = ""g1"".""LeaderSquadId"" -) AS ""t"" ON ""g"".""Nickname"" = ""t"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t"".""LeaderSquadId"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""Nickname0"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "g1"."Nickname" AS "Nickname0", "g1"."SquadId" AS "SquadId0", "g1"."AssignedCityName" AS "AssignedCityName0", "g1"."CityOfBirthName" AS "CityOfBirthName0", "g1"."Discriminator" AS "Discriminator0", "g1"."FullName" AS "FullName0", "g1"."HasSoulPatch" AS "HasSoulPatch0", "g1"."LeaderNickname" AS "LeaderNickname0", "g1"."LeaderSquadId" AS "LeaderSquadId0", "g1"."Rank" AS "Rank0" + FROM "Gears" AS "g0" + LEFT JOIN "Gears" AS "g1" ON "g0"."Nickname" = "g1"."LeaderNickname" AND "g0"."SquadId" = "g1"."LeaderSquadId" +) AS "t" ON "g"."Nickname" = "t"."LeaderNickname" AND "g"."SquadId" = "t"."LeaderSquadId" +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Nickname", "t"."SquadId", "t"."Nickname0" +"""); } public override async Task DateTimeOffset_DateAdd_AddYears(bool async) @@ -4448,8 +5082,10 @@ public override async Task DateTimeOffset_DateAdd_AddYears(bool async) await base.DateTimeOffset_DateAdd_AddYears(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation( @@ -4458,10 +5094,12 @@ public override async Task Null_semantics_is_correctly_applied_for_function_comp await base.Null_semantics_is_correctly_applied_for_function_comparisons_that_take_arguments_from_optional_navigation(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE substr(""t"".""Note"", 0 + 1, ""g"".""SquadId"") = ""t"".""GearNickName"" OR (((""t"".""Note"" IS NULL) OR (""g"".""SquadId"" IS NULL)) AND (""t"".""GearNickName"" IS NULL))"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE substr("t"."Note", 0 + 1, "g"."SquadId") = "t"."GearNickName" OR ((("t"."Note" IS NULL) OR ("g"."SquadId" IS NULL)) AND ("t"."GearNickName" IS NULL)) +"""); } public override async Task Checked_context_with_cast_does_not_fail(bool async) @@ -4469,9 +5107,11 @@ public override async Task Checked_context_with_cast_does_not_fail(bool async) await base.Checked_context_with_cast_does_not_fail(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" -WHERE CAST(""l"".""ThreatLevel"" AS INTEGER) >= 5"); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" +WHERE CAST("l"."ThreatLevel" AS INTEGER) >= 5 +"""); } public override async Task Concat_anonymous_with_count(bool async) @@ -4479,14 +5119,16 @@ public override async Task Concat_anonymous_with_count(bool async) await base.Concat_anonymous_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g"".""Nickname"" AS ""Name"" - FROM ""Gears"" AS ""g"" + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g"."Nickname" AS "Name" + FROM "Gears" AS "g" UNION ALL - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""g0"".""FullName"" AS ""Name"" - FROM ""Gears"" AS ""g0"" -) AS ""t"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "g0"."FullName" AS "Name" + FROM "Gears" AS "g0" +) AS "t" +"""); } public override async Task Select_null_propagation_negative3(bool async) @@ -4494,13 +5136,15 @@ public override async Task Select_null_propagation_negative3(bool async) await base.Select_null_propagation_negative3(async); AssertSql( - @"SELECT ""g0"".""Nickname"", CASE - WHEN (""g0"".""Nickname"" IS NOT NULL) AND (""g0"".""SquadId"" IS NOT NULL) THEN ""g0"".""LeaderNickname"" IS NOT NULL +""" +SELECT "g0"."Nickname", CASE + WHEN ("g0"."Nickname" IS NOT NULL) AND ("g0"."SquadId" IS NOT NULL) THEN "g0"."LeaderNickname" IS NOT NULL ELSE NULL -END AS ""Condition"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""HasSoulPatch"" -ORDER BY ""g0"".""Nickname"""); +END AS "Condition" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."HasSoulPatch" +ORDER BY "g0"."Nickname" +"""); } public override async Task Correlated_collections_nested_mixed_streaming_with_buffer2(bool async) @@ -4508,20 +5152,22 @@ public override async Task Correlated_collections_nested_mixed_streaming_with_bu await base.Correlated_collections_nested_mixed_streaming_with_buffer2(async); AssertSql( - @"SELECT ""s"".""Id"", ""t0"".""SquadId"", ""t0"".""MissionId"", ""t0"".""Id"", ""t0"".""SquadId0"", ""t0"".""MissionId0"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Id", "t0"."SquadId", "t0"."MissionId", "t0"."Id", "t0"."SquadId0", "t0"."MissionId0" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""s0"".""SquadId"", ""s0"".""MissionId"", ""m"".""Id"", ""t"".""SquadId"" AS ""SquadId0"", ""t"".""MissionId"" AS ""MissionId0"" - FROM ""SquadMissions"" AS ""s0"" - INNER JOIN ""Missions"" AS ""m"" ON ""s0"".""MissionId"" = ""m"".""Id"" + SELECT "s0"."SquadId", "s0"."MissionId", "m"."Id", "t"."SquadId" AS "SquadId0", "t"."MissionId" AS "MissionId0" + FROM "SquadMissions" AS "s0" + INNER JOIN "Missions" AS "m" ON "s0"."MissionId" = "m"."Id" LEFT JOIN ( - SELECT ""s1"".""SquadId"", ""s1"".""MissionId"" - FROM ""SquadMissions"" AS ""s1"" - WHERE ""s1"".""SquadId"" < 7 - ) AS ""t"" ON ""m"".""Id"" = ""t"".""MissionId"" - WHERE ""s0"".""MissionId"" < 42 -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"" -ORDER BY ""s"".""Id"", ""t0"".""SquadId"", ""t0"".""MissionId"", ""t0"".""Id"", ""t0"".""SquadId0"""); + SELECT "s1"."SquadId", "s1"."MissionId" + FROM "SquadMissions" AS "s1" + WHERE "s1"."SquadId" < 7 + ) AS "t" ON "m"."Id" = "t"."MissionId" + WHERE "s0"."MissionId" < 42 +) AS "t0" ON "s"."Id" = "t0"."SquadId" +ORDER BY "s"."Id", "t0"."SquadId", "t0"."MissionId", "t0"."Id", "t0"."SquadId0" +"""); } public override async Task Select_subquery_boolean_empty(bool async) @@ -4529,13 +5175,15 @@ public override async Task Select_subquery_boolean_empty(bool async) await base.Select_subquery_boolean_empty(async); AssertSql( - @"SELECT COALESCE(( - SELECT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""w"".""Name"" = 'BFG' - ORDER BY ""w"".""Id"" +""" +SELECT COALESCE(( + SELECT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND "w"."Name" = 'BFG' + ORDER BY "w"."Id" LIMIT 1), 0) -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Join_with_inner_being_a_subquery_projecting_single_property(bool async) @@ -4543,9 +5191,11 @@ public override async Task Join_with_inner_being_a_subquery_projecting_single_pr await base.Join_with_inner_being_a_subquery_projecting_single_property(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +INNER JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."Nickname" +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery_null_constant(bool async) @@ -4553,12 +5203,14 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery_null await base.Contains_on_collection_of_nullable_byte_subquery_null_constant(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" WHERE EXISTS ( SELECT 1 - FROM ""LocustLeaders"" AS ""l0"" - WHERE ""l0"".""ThreatLevelNullableByte"" IS NULL)"); + FROM "LocustLeaders" AS "l0" + WHERE "l0"."ThreatLevelNullableByte" IS NULL) +"""); } public override async Task SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(bool async) @@ -4566,10 +5218,12 @@ public override async Task SelectMany_predicate_with_non_equality_comparison_con await base.SelectMany_predicate_with_non_equality_comparison_converted_to_inner_join(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" <> ""w"".""OwnerFullName"" OR (""w"".""OwnerFullName"" IS NULL) -ORDER BY ""g"".""Nickname"", ""w"".""Id"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +INNER JOIN "Weapons" AS "w" ON "g"."FullName" <> "w"."OwnerFullName" OR ("w"."OwnerFullName" IS NULL) +ORDER BY "g"."Nickname", "w"."Id" +"""); } public override async Task String_based_Include_navigation_on_derived_type(bool async) @@ -4577,11 +5231,13 @@ public override async Task String_based_Include_navigation_on_derived_type(bool await base.String_based_Include_navigation_on_derived_type(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate(bool async) @@ -4589,10 +5245,12 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE (""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL)) AND ""g"".""HasSoulPatch"""); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE ("t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL)) AND "g"."HasSoulPatch" +"""); } public override async Task Where_subquery_distinct_last_boolean(bool async) @@ -4600,18 +5258,20 @@ public override async Task Where_subquery_distinct_last_boolean(bool async) await base.Where_subquery_distinct_last_boolean(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE NOT (""g"".""HasSoulPatch"") AND ( - SELECT ""t"".""IsAutomatic"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE NOT ("g"."HasSoulPatch") AND ( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ) AS ""t"" - ORDER BY ""t"".""Id"" DESC + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ) AS "t" + ORDER BY "t"."Id" DESC LIMIT 1) -ORDER BY ""g"".""Nickname"""); +ORDER BY "g"."Nickname" +"""); } public override async Task Correlated_collection_with_top_level_Last_with_orderby_on_outer(bool async) @@ -4619,15 +5279,17 @@ public override async Task Correlated_collection_with_top_level_Last_with_orderb await base.Correlated_collection_with_top_level_Last_with_orderby_on_outer(async); AssertSql( - @"SELECT ""t"".""Nickname"", ""t"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" +""" +SELECT "t"."Nickname", "t"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" FROM ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""FullName"" - FROM ""Gears"" AS ""g"" - ORDER BY ""g"".""FullName"" + SELECT "g"."Nickname", "g"."SquadId", "g"."FullName" + FROM "Gears" AS "g" + ORDER BY "g"."FullName" LIMIT 1 -) AS ""t"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""t"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""t"".""FullName"", ""t"".""Nickname"", ""t"".""SquadId"""); +) AS "t" +LEFT JOIN "Weapons" AS "w" ON "t"."FullName" = "w"."OwnerFullName" +ORDER BY "t"."FullName", "t"."Nickname", "t"."SquadId" +"""); } public override async Task Where_enum_has_flag_subquery_with_pushdown(bool async) @@ -4635,37 +5297,41 @@ public override async Task Where_enum_has_flag_subquery_with_pushdown(bool async await base.Where_enum_has_flag_subquery_with_pushdown(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & ( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & ( + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" LIMIT 1)) = ( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" LIMIT 1) OR (( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" - LIMIT 1) IS NULL)", + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" + LIMIT 1) IS NULL) +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE (2 & ( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" LIMIT 1)) = ( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" LIMIT 1) OR (( - SELECT ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"" - LIMIT 1) IS NULL)"); + SELECT "g0"."Rank" + FROM "Gears" AS "g0" + ORDER BY "g0"."Nickname", "g0"."SquadId" + LIMIT 1) IS NULL) +"""); } public override async Task Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(bool async) @@ -4673,14 +5339,16 @@ public override async Task Null_semantics_on_nullable_bool_from_left_join_subque await base.Null_semantics_on_nullable_bool_from_left_join_subquery_is_fully_applied(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""CapitalName"", ""t"".""Discriminator"", ""t"".""Name"", ""t"".""ServerAddress"", ""t"".""CommanderName"", ""t"".""Eradicated"" -FROM ""LocustLeaders"" AS ""l"" +""" +SELECT "t"."Id", "t"."CapitalName", "t"."Discriminator", "t"."Name", "t"."ServerAddress", "t"."CommanderName", "t"."Eradicated" +FROM "LocustLeaders" AS "l" LEFT JOIN ( - SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"" - FROM ""Factions"" AS ""f"" - WHERE ""f"".""Name"" = 'Swarm' -) AS ""t"" ON ""l"".""Name"" = ""t"".""CommanderName"" -WHERE ""t"".""Eradicated"" <> 1 OR (""t"".""Eradicated"" IS NULL)"); + SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated" + FROM "Factions" AS "f" + WHERE "f"."Name" = 'Swarm' +) AS "t" ON "l"."Name" = "t"."CommanderName" +WHERE "t"."Eradicated" <> 1 OR ("t"."Eradicated" IS NULL) +"""); } public override async Task Double_order_by_binary_expression(bool async) @@ -4688,9 +5356,11 @@ public override async Task Double_order_by_binary_expression(bool async) await base.Double_order_by_binary_expression(async); AssertSql( - @"SELECT ""w"".""Id"" + 2 AS ""Binary"" -FROM ""Weapons"" AS ""w"" -ORDER BY ""w"".""Id"" + 2"); +""" +SELECT "w"."Id" + 2 AS "Binary" +FROM "Weapons" AS "w" +ORDER BY "w"."Id" + 2 +"""); } public override async Task Select_length_of_string_property(bool async) @@ -4698,8 +5368,10 @@ public override async Task Select_length_of_string_property(bool async) await base.Select_length_of_string_property(async); AssertSql( - @"SELECT ""w"".""Name"", length(""w"".""Name"") AS ""Length"" -FROM ""Weapons"" AS ""w"""); +""" +SELECT "w"."Name", length("w"."Name") AS "Length" +FROM "Weapons" AS "w" +"""); } public override async Task Include_with_nested_navigation_in_order_by(bool async) @@ -4707,12 +5379,14 @@ public override async Task Include_with_nested_navigation_in_order_by(bool async await base.Include_with_nested_navigation_in_order_by(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Gears"" AS ""g"" ON ""w"".""OwnerFullName"" = ""g"".""FullName"" -LEFT JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" -WHERE ""g"".""Nickname"" <> 'Paduk' OR (""g"".""Nickname"" IS NULL) -ORDER BY ""c"".""Name"", ""w"".""Id"""); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Weapons" AS "w" +LEFT JOIN "Gears" AS "g" ON "w"."OwnerFullName" = "g"."FullName" +LEFT JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +WHERE "g"."Nickname" <> 'Paduk' OR ("g"."Nickname" IS NULL) +ORDER BY "c"."Name", "w"."Id" +"""); } public override async Task Composite_key_entity_not_equal(bool async) @@ -4720,10 +5394,12 @@ public override async Task Composite_key_entity_not_equal(bool async) await base.Composite_key_entity_not_equal(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -CROSS JOIN ""Gears"" AS ""g0"" -WHERE ""g"".""Nickname"" <> ""g0"".""Nickname"" OR ""g"".""SquadId"" <> ""g0"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +CROSS JOIN "Gears" AS "g0" +WHERE "g"."Nickname" <> "g0"."Nickname" OR "g"."SquadId" <> "g0"."SquadId" +"""); } public override async Task Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(bool async) @@ -4731,14 +5407,16 @@ public override async Task Null_semantics_on_nullable_bool_from_inner_join_subqu await base.Null_semantics_on_nullable_bool_from_inner_join_subquery_is_fully_applied(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""CapitalName"", ""t"".""Discriminator"", ""t"".""Name"", ""t"".""ServerAddress"", ""t"".""CommanderName"", ""t"".""Eradicated"" -FROM ""LocustLeaders"" AS ""l"" +""" +SELECT "t"."Id", "t"."CapitalName", "t"."Discriminator", "t"."Name", "t"."ServerAddress", "t"."CommanderName", "t"."Eradicated" +FROM "LocustLeaders" AS "l" INNER JOIN ( - SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"" - FROM ""Factions"" AS ""f"" - WHERE ""f"".""Name"" = 'Swarm' -) AS ""t"" ON ""l"".""Name"" = ""t"".""CommanderName"" -WHERE ""t"".""Eradicated"" <> 1 OR (""t"".""Eradicated"" IS NULL)"); + SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated" + FROM "Factions" AS "f" + WHERE "f"."Name" = 'Swarm' +) AS "t" ON "l"."Name" = "t"."CommanderName" +WHERE "t"."Eradicated" <> 1 OR ("t"."Eradicated" IS NULL) +"""); } public override async Task Where_subquery_join_firstordefault_boolean(bool async) @@ -4746,19 +5424,21 @@ public override async Task Where_subquery_join_firstordefault_boolean(bool async await base.Where_subquery_join_firstordefault_boolean(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND ( - SELECT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND ( + SELECT "w"."IsAutomatic" + FROM "Weapons" AS "w" INNER JOIN ( - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" - FROM ""Weapons"" AS ""w0"" - WHERE ""g"".""FullName"" = ""w0"".""OwnerFullName"" - ) AS ""t"" ON ""w"".""Id"" = ""t"".""Id"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" - LIMIT 1)"); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" + FROM "Weapons" AS "w0" + WHERE "g"."FullName" = "w0"."OwnerFullName" + ) AS "t" ON "w"."Id" = "t"."Id" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" + LIMIT 1) +"""); } public override async Task Where_any_subquery_without_collision(bool async) @@ -4766,12 +5446,14 @@ public override async Task Where_any_subquery_without_collision(bool async) await base.Where_any_subquery_without_collision(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE EXISTS ( SELECT 1 - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"")"); + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName") +"""); } public override async Task GetValueOrDefault_in_filter(bool async) @@ -4779,9 +5461,11 @@ public override async Task GetValueOrDefault_in_filter(bool async) await base.GetValueOrDefault_in_filter(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE COALESCE(""w"".""SynergyWithId"", 0) = 0"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE COALESCE("w"."SynergyWithId", 0) = 0 +"""); } public override async Task Select_subquery_int_with_outside_cast_and_coalesce(bool async) @@ -4789,13 +5473,15 @@ public override async Task Select_subquery_int_with_outside_cast_and_coalesce(bo await base.Select_subquery_int_with_outside_cast_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( - SELECT ""w"".""Id"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" +""" +SELECT COALESCE(( + SELECT "w"."Id" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" LIMIT 1), 0, 42) -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Select_null_propagation_negative8(bool async) @@ -4803,14 +5489,16 @@ public override async Task Select_null_propagation_negative8(bool async) await base.Select_null_propagation_negative8(async); AssertSql( - @"SELECT CASE - WHEN ""s"".""Id"" IS NOT NULL THEN ""c"".""Name"" +""" +SELECT CASE + WHEN "s"."Id" IS NOT NULL THEN "c"."Name" ELSE NULL END -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" -LEFT JOIN ""Cities"" AS ""c"" ON ""g"".""AssignedCityName"" = ""c"".""Name"""); +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" +LEFT JOIN "Cities" AS "c" ON "g"."AssignedCityName" = "c"."Name" +"""); } public override async Task Left_join_projection_using_coalesce_tracking(bool async) @@ -4818,9 +5506,11 @@ public override async Task Left_join_projection_using_coalesce_tracking(bool asy await base.Left_join_projection_using_coalesce_tracking(async); AssertSql( - @"SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""LeaderNickname"" = ""g0"".""Nickname"""); +""" +SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."LeaderNickname" = "g0"."Nickname" +"""); } public override async Task String_compare_with_null_conditional_argument(bool async) @@ -4828,10 +5518,12 @@ public override async Task String_compare_with_null_conditional_argument(bool as await base.String_compare_with_null_conditional_argument(async); AssertSql( - @"SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -ORDER BY ""w0"".""Name"" = 'Marcus'' Lancer' AND (""w0"".""Name"" IS NOT NULL)"); +""" +SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +ORDER BY "w0"."Name" = 'Marcus'' Lancer' AND ("w0"."Name" IS NOT NULL) +"""); } public override async Task Project_one_value_type_from_empty_collection(bool async) @@ -4839,13 +5531,15 @@ public override async Task Project_one_value_type_from_empty_collection(bool asy await base.Project_one_value_type_from_empty_collection(async); AssertSql( - @"SELECT ""s"".""Name"", COALESCE(( - SELECT ""g"".""SquadId"" - FROM ""Gears"" AS ""g"" - WHERE ""s"".""Id"" = ""g"".""SquadId"" AND ""g"".""HasSoulPatch"" - LIMIT 1), 0) AS ""SquadId"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Name"" = 'Kilo'"); +""" +SELECT "s"."Name", COALESCE(( + SELECT "g"."SquadId" + FROM "Gears" AS "g" + WHERE "s"."Id" = "g"."SquadId" AND "g"."HasSoulPatch" + LIMIT 1), 0) AS "SquadId" +FROM "Squads" AS "s" +WHERE "s"."Name" = 'Kilo' +"""); } public override async Task Correlated_collection_with_top_level_FirstOrDefault(bool async) @@ -4853,15 +5547,17 @@ public override async Task Correlated_collection_with_top_level_FirstOrDefault(b await base.Correlated_collection_with_top_level_FirstOrDefault(async); AssertSql( - @"SELECT ""t"".""Nickname"", ""t"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" +""" +SELECT "t"."Nickname", "t"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" FROM ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""FullName"" - FROM ""Gears"" AS ""g"" - ORDER BY ""g"".""Nickname"" + SELECT "g"."Nickname", "g"."SquadId", "g"."FullName" + FROM "Gears" AS "g" + ORDER BY "g"."Nickname" LIMIT 1 -) AS ""t"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""t"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""t"".""Nickname"", ""t"".""SquadId"""); +) AS "t" +LEFT JOIN "Weapons" AS "w" ON "t"."FullName" = "w"."OwnerFullName" +ORDER BY "t"."Nickname", "t"."SquadId" +"""); } public override async Task Project_collection_navigation_nested_composite_key(bool async) @@ -4869,12 +5565,14 @@ public override async Task Project_collection_navigation_nested_composite_key(bo await base.Project_collection_navigation_nested_composite_key(async); AssertSql( - @"SELECT ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Gears"" AS ""g0"" ON (""g"".""Nickname"" = ""g0"".""LeaderNickname"" OR ((""g"".""Nickname"" IS NULL) AND (""g0"".""LeaderNickname"" IS NULL))) AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); +""" +SELECT "t"."Id", "g"."Nickname", "g"."SquadId", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Gears" AS "g0" ON ("g"."Nickname" = "g0"."LeaderNickname" OR (("g"."Nickname" IS NULL) AND ("g0"."LeaderNickname" IS NULL))) AND "g"."SquadId" = "g0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "t"."Id", "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task OrderBy_Contains_empty_list(bool async) @@ -4882,8 +5580,10 @@ public override async Task OrderBy_Contains_empty_list(bool async) await base.OrderBy_Contains_empty_list(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +"""); } public override async Task Null_checks_in_correlated_predicate_are_correctly_translated(bool async) @@ -4891,10 +5591,12 @@ public override async Task Null_checks_in_correlated_predicate_are_correctly_tra await base.Null_checks_in_correlated_predicate_are_correctly_translated(async); AssertSql( - @"SELECT ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" AND (""t"".""Note"" IS NOT NULL) -ORDER BY ""t"".""Id"", ""g"".""Nickname"""); +""" +SELECT "t"."Id", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" AND ("t"."Note" IS NOT NULL) +ORDER BY "t"."Id", "g"."Nickname" +"""); } public override async Task Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(bool async) @@ -4902,11 +5604,13 @@ public override async Task Project_navigation_defined_on_derived_from_entity_wit await base.Project_navigation_defined_on_derived_from_entity_with_inheritance_using_soft_cast(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", (""g"".""Nickname"" IS NULL) OR (""g"".""SquadId"" IS NULL) AS ""IsNull"", ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"", ""f"".""Id"" IS NULL AS ""IsNull"", ""l0"".""Id"", ""l0"".""IsOperational"", ""l0"".""Name"", ""l0"".""Id"" IS NULL AS ""IsNull"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Factions"" AS ""f"" ON ""l"".""Name"" = ""f"".""CommanderName"" -LEFT JOIN ""LocustHighCommands"" AS ""l0"" ON ""l"".""HighCommandId"" = ""l0"".""Id"""); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", ("g"."Nickname" IS NULL) OR ("g"."SquadId" IS NULL) AS "IsNull", "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated", "f"."Id" IS NULL AS "IsNull", "l0"."Id", "l0"."IsOperational", "l0"."Name", "l0"."Id" IS NULL AS "IsNull" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +LEFT JOIN "Factions" AS "f" ON "l"."Name" = "f"."CommanderName" +LEFT JOIN "LocustHighCommands" AS "l0" ON "l"."HighCommandId" = "l0"."Id" +"""); } public override async Task Correlated_collections_with_FirstOrDefault(bool async) @@ -4914,14 +5618,16 @@ public override async Task Correlated_collections_with_FirstOrDefault(bool async await base.Correlated_collections_with_FirstOrDefault(async); AssertSql( - @"SELECT ( - SELECT ""g"".""FullName"" - FROM ""Gears"" AS ""g"" - WHERE ""s"".""Id"" = ""g"".""SquadId"" - ORDER BY ""g"".""Nickname"" +""" +SELECT ( + SELECT "g"."FullName" + FROM "Gears" AS "g" + WHERE "s"."Id" = "g"."SquadId" + ORDER BY "g"."Nickname" LIMIT 1) -FROM ""Squads"" AS ""s"" -ORDER BY ""s"".""Name"""); +FROM "Squads" AS "s" +ORDER BY "s"."Name" +"""); } public override async Task Distinct_with_optional_navigation_is_translated_to_sql(bool async) @@ -4929,10 +5635,12 @@ public override async Task Distinct_with_optional_navigation_is_translated_to_sq await base.Distinct_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT DISTINCT ""g"".""HasSoulPatch"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -WHERE ""t"".""Note"" <> 'Foo' OR (""t"".""Note"" IS NULL)"); +""" +SELECT DISTINCT "g"."HasSoulPatch" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +WHERE "t"."Note" <> 'Foo' OR ("t"."Note" IS NULL) +"""); } public override async Task Composite_key_entity_equal(bool async) @@ -4940,10 +5648,12 @@ public override async Task Composite_key_entity_equal(bool async) await base.Composite_key_entity_equal(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -CROSS JOIN ""Gears"" AS ""g0"" -WHERE ""g"".""Nickname"" = ""g0"".""Nickname"" AND ""g"".""SquadId"" = ""g0"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +CROSS JOIN "Gears" AS "g0" +WHERE "g"."Nickname" = "g0"."Nickname" AND "g"."SquadId" = "g0"."SquadId" +"""); } public override async Task Select_null_propagation_optimization7(bool async) @@ -4951,11 +5661,13 @@ public override async Task Select_null_propagation_optimization7(bool async) await base.Select_null_propagation_optimization7(async); AssertSql( - @"SELECT CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN ""g"".""LeaderNickname"" || ""g"".""LeaderNickname"" +""" +SELECT CASE + WHEN "g"."LeaderNickname" IS NOT NULL THEN "g"."LeaderNickname" || "g"."LeaderNickname" ELSE NULL END -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Include_reference_on_derived_type_using_string_nested1(bool async) @@ -4963,10 +5675,12 @@ public override async Task Include_reference_on_derived_type_using_string_nested await base.Include_reference_on_derived_type_using_string_nested1(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"""); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +LEFT JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" +"""); } public override async Task Correlated_collections_same_collection_projected_multiple_times(bool async) @@ -4974,19 +5688,21 @@ public override async Task Correlated_collections_same_collection_projected_mult await base.Correlated_collections_same_collection_projected_multiple_times(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" LEFT JOIN ( - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" - FROM ""Weapons"" AS ""w0"" - WHERE ""w0"".""IsAutomatic"" -) AS ""t0"" ON ""g"".""FullName"" = ""t0"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"""); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" + FROM "Weapons" AS "w0" + WHERE "w0"."IsAutomatic" +) AS "t0" ON "g"."FullName" = "t0"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Id" +"""); } public override async Task Include_multiple_circular_with_filter(bool async) @@ -4994,12 +5710,14 @@ public override async Task Include_multiple_circular_with_filter(bool async) await base.Include_multiple_circular_with_filter(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""c"".""Name"" = ""g0"".""AssignedCityName"" -WHERE ""g"".""Nickname"" = 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""c"".""Name"", ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "c"."Name", "c"."Location", "c"."Nation", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +LEFT JOIN "Gears" AS "g0" ON "c"."Name" = "g0"."AssignedCityName" +WHERE "g"."Nickname" = 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId", "c"."Name", "g0"."Nickname" +"""); } public override async Task Where_subquery_distinct_firstordefault_boolean(bool async) @@ -5007,17 +5725,19 @@ public override async Task Where_subquery_distinct_firstordefault_boolean(bool a await base.Where_subquery_distinct_firstordefault_boolean(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND COALESCE(( - SELECT ""t"".""IsAutomatic"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND COALESCE(( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ) AS ""t"" - ORDER BY ""t"".""Id"" - LIMIT 1), 0)"); + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ) AS "t" + ORDER BY "t"."Id" + LIMIT 1), 0) +"""); } public override async Task Union_with_collection_navigations(bool async) @@ -5025,19 +5745,21 @@ public override async Task Union_with_collection_navigations(bool async) await base.Union_with_collection_navigations(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - WHERE ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" + FROM "Gears" AS "g0" + WHERE "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" UNION - SELECT ""g1"".""Nickname"", ""g1"".""SquadId"", ""g1"".""AssignedCityName"", ""g1"".""CityOfBirthName"", ""g1"".""Discriminator"", ""g1"".""FullName"", ""g1"".""HasSoulPatch"", ""g1"".""LeaderNickname"", ""g1"".""LeaderSquadId"", ""g1"".""Rank"" - FROM ""Gears"" AS ""g1"" - WHERE ""g"".""Nickname"" = ""g1"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g1"".""LeaderSquadId"" - ) AS ""t"") -FROM ""Gears"" AS ""g"" -WHERE ""g"".""Discriminator"" = 'Officer'"); + SELECT "g1"."Nickname", "g1"."SquadId", "g1"."AssignedCityName", "g1"."CityOfBirthName", "g1"."Discriminator", "g1"."FullName", "g1"."HasSoulPatch", "g1"."LeaderNickname", "g1"."LeaderSquadId", "g1"."Rank" + FROM "Gears" AS "g1" + WHERE "g"."Nickname" = "g1"."LeaderNickname" AND "g"."SquadId" = "g1"."LeaderSquadId" + ) AS "t") +FROM "Gears" AS "g" +WHERE "g"."Discriminator" = 'Officer' +"""); } public override async Task Accessing_derived_property_using_hard_and_soft_cast(bool async) @@ -5045,13 +5767,17 @@ public override async Task Accessing_derived_property_using_hard_and_soft_cast(b await base.Accessing_derived_property_using_hard_and_soft_cast(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" -WHERE ""l"".""Discriminator"" = 'LocustCommander' AND (""l"".""HighCommandId"" <> 0 OR (""l"".""HighCommandId"" IS NULL))", +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" +WHERE "l"."Discriminator" = 'LocustCommander' AND ("l"."HighCommandId" <> 0 OR ("l"."HighCommandId" IS NULL)) +""", // - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" -WHERE ""l"".""Discriminator"" = 'LocustCommander' AND (""l"".""HighCommandId"" <> 0 OR (""l"".""HighCommandId"" IS NULL))"); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" +WHERE "l"."Discriminator" = 'LocustCommander' AND ("l"."HighCommandId" <> 0 OR ("l"."HighCommandId" IS NULL)) +"""); } public override async Task DateTimeOffset_DateAdd_AddSeconds(bool async) @@ -5059,8 +5785,10 @@ public override async Task DateTimeOffset_DateAdd_AddSeconds(bool async) await base.DateTimeOffset_DateAdd_AddSeconds(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Where_bitwise_and_nullable_enum_with_non_nullable_parameter(bool async) @@ -5068,11 +5796,13 @@ public override async Task Where_bitwise_and_nullable_enum_with_non_nullable_par await base.Where_bitwise_and_nullable_enum_with_non_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' +""" +@__ammunitionType_0='1' -SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE (""w"".""AmmunitionType"" & @__ammunitionType_0) > 0"); +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE ("w"."AmmunitionType" & @__ammunitionType_0) > 0 +"""); } public override async Task Include_with_join_and_inheritance3(bool async) @@ -5080,15 +5810,17 @@ public override async Task Include_with_join_and_inheritance3(bool async) await base.Include_with_join_and_inheritance3(async); AssertSql( - @"SELECT ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"", ""t"".""Id"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Tags"" AS ""t"" +""" +SELECT "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank", "t"."Id", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Tags" AS "t" INNER JOIN ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""Discriminator"" = 'Officer' -) AS ""t0"" ON ""t"".""GearSquadId"" = ""t0"".""SquadId"" AND ""t"".""GearNickName"" = ""t0"".""Nickname"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""t0"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""t0"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""t"".""Id"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""g0"".""Nickname"""); + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" + FROM "Gears" AS "g" + WHERE "g"."Discriminator" = 'Officer' +) AS "t0" ON "t"."GearSquadId" = "t0"."SquadId" AND "t"."GearNickName" = "t0"."Nickname" +LEFT JOIN "Gears" AS "g0" ON "t0"."Nickname" = "g0"."LeaderNickname" AND "t0"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "t"."Id", "t0"."Nickname", "t0"."SquadId", "g0"."Nickname" +"""); } public override async Task Where_conditional_equality_3(bool async) @@ -5096,9 +5828,11 @@ public override async Task Where_conditional_equality_3(bool async) await base.Where_conditional_equality_3(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Gears"" AS ""g"" -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."Nickname" +FROM "Gears" AS "g" +ORDER BY "g"."Nickname" +"""); } public override async Task Where_bitwise_and_enum(bool async) @@ -5106,13 +5840,17 @@ public override async Task Where_bitwise_and_enum(bool async) await base.Where_bitwise_and_enum(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & 2) > 0", +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & 2) > 0 +""", // - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & 2) = 2"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & 2) = 2 +"""); } public override async Task Select_conditional_with_anonymous_type_and_null_constant(bool async) @@ -5120,9 +5858,11 @@ public override async Task Select_conditional_with_anonymous_type_and_null_const await base.Select_conditional_with_anonymous_type_and_null_constant(async); AssertSql( - @"SELECT ""g"".""LeaderNickname"" IS NOT NULL, ""g"".""HasSoulPatch"" -FROM ""Gears"" AS ""g"" -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."LeaderNickname" IS NOT NULL, "g"."HasSoulPatch" +FROM "Gears" AS "g" +ORDER BY "g"."Nickname" +"""); } public override async Task Where_subquery_left_join_firstordefault_boolean(bool async) @@ -5130,19 +5870,21 @@ public override async Task Where_subquery_left_join_firstordefault_boolean(bool await base.Where_subquery_left_join_firstordefault_boolean(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND ( - SELECT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND ( + SELECT "w"."IsAutomatic" + FROM "Weapons" AS "w" LEFT JOIN ( - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" - FROM ""Weapons"" AS ""w0"" - WHERE ""g"".""FullName"" = ""w0"".""OwnerFullName"" - ) AS ""t"" ON ""w"".""Id"" = ""t"".""Id"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" - LIMIT 1)"); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" + FROM "Weapons" AS "w0" + WHERE "g"."FullName" = "w0"."OwnerFullName" + ) AS "t" ON "w"."Id" = "t"."Id" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" + LIMIT 1) +"""); } public override async Task ToString_boolean_property_nullable(bool async) @@ -5150,12 +5892,14 @@ public override async Task ToString_boolean_property_nullable(bool async) await base.ToString_boolean_property_nullable(async); AssertSql( - @"SELECT CASE - WHEN ""f"".""Eradicated"" = 0 THEN 'False' - WHEN ""f"".""Eradicated"" = 1 THEN 'True' +""" +SELECT CASE + WHEN "f"."Eradicated" = 0 THEN 'False' + WHEN "f"."Eradicated" = 1 THEN 'True' ELSE NULL END -FROM ""Factions"" AS ""f"""); +FROM "Factions" AS "f" +"""); } public override async Task Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(bool async) @@ -5163,10 +5907,12 @@ public override async Task Filtered_collection_projection_with_order_comparison_ await base.Filtered_collection_projection_with_order_comparison_predicate_converted_to_join3(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""g"".""SquadId"" >= ""w"".""Id"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" AND "g"."SquadId" >= "w"."Id" +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Navigation_access_fk_on_derived_entity_using_cast(bool async) @@ -5174,14 +5920,16 @@ public override async Task Navigation_access_fk_on_derived_entity_using_cast(boo await base.Navigation_access_fk_on_derived_entity_using_cast(async); AssertSql( - @"SELECT ""f"".""Name"", ""t"".""Name"" AS ""CommanderName"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Name", "t"."Name" AS "CommanderName" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -ORDER BY ""f"".""Name"""); + SELECT "l"."Name" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +ORDER BY "f"."Name" +"""); } public override async Task DateTimeOffset_DateAdd_AddDays(bool async) @@ -5189,8 +5937,10 @@ public override async Task DateTimeOffset_DateAdd_AddDays(bool async) await base.DateTimeOffset_DateAdd_AddDays(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Select_ternary_operation_with_inverted_boolean(bool async) @@ -5198,11 +5948,13 @@ public override async Task Select_ternary_operation_with_inverted_boolean(bool a await base.Select_ternary_operation_with_inverted_boolean(async); AssertSql( - @"SELECT ""w"".""Id"", CASE - WHEN NOT (""w"".""IsAutomatic"") THEN 1 +""" +SELECT "w"."Id", CASE + WHEN NOT ("w"."IsAutomatic") THEN 1 ELSE 0 -END AS ""Num"" -FROM ""Weapons"" AS ""w"""); +END AS "Num" +FROM "Weapons" AS "w" +"""); } public override async Task Concat_with_scalar_projection(bool async) @@ -5210,11 +5962,13 @@ public override async Task Concat_with_scalar_projection(bool async) await base.Concat_with_scalar_projection(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname" +FROM "Gears" AS "g" UNION ALL -SELECT ""g0"".""Nickname"" -FROM ""Gears"" AS ""g0"""); +SELECT "g0"."Nickname" +FROM "Gears" AS "g0" +"""); } public override async Task Comparing_entities_using_Equals_inheritance(bool async) @@ -5222,15 +5976,17 @@ public override async Task Comparing_entities_using_Equals_inheritance(bool asyn await base.Comparing_entities_using_Equals_inheritance(async); AssertSql( - @"SELECT ""g"".""Nickname"" AS ""Nickname1"", ""t"".""Nickname"" AS ""Nickname2"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname" AS "Nickname1", "t"."Nickname" AS "Nickname2" +FROM "Gears" AS "g" CROSS JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"" - FROM ""Gears"" AS ""g0"" - WHERE ""g0"".""Discriminator"" = 'Officer' -) AS ""t"" -WHERE ""g"".""Nickname"" = ""t"".""Nickname"" AND ""g"".""SquadId"" = ""t"".""SquadId"" -ORDER BY ""g"".""Nickname"", ""t"".""Nickname"""); + SELECT "g0"."Nickname", "g0"."SquadId" + FROM "Gears" AS "g0" + WHERE "g0"."Discriminator" = 'Officer' +) AS "t" +WHERE "g"."Nickname" = "t"."Nickname" AND "g"."SquadId" = "t"."SquadId" +ORDER BY "g"."Nickname", "t"."Nickname" +"""); } public override async Task Select_inverted_boolean(bool async) @@ -5238,9 +5994,11 @@ public override async Task Select_inverted_boolean(bool async) await base.Select_inverted_boolean(async); AssertSql( - @"SELECT ""w"".""Id"", NOT (""w"".""IsAutomatic"") AS ""Manual"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""IsAutomatic"""); +""" +SELECT "w"."Id", NOT ("w"."IsAutomatic") AS "Manual" +FROM "Weapons" AS "w" +WHERE "w"."IsAutomatic" +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(bool async) @@ -5248,14 +6006,16 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys(async); AssertSql( - @"SELECT ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' AND EXISTS ( +""" +SELECT "g"."FullName" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +WHERE "g"."Discriminator" = 'Officer' AND EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g0"" - WHERE ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"") -ORDER BY ""g"".""HasSoulPatch"" DESC, ""t"".""Note"""); + FROM "Gears" AS "g0" + WHERE "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId") +ORDER BY "g"."HasSoulPatch" DESC, "t"."Note" +"""); } public override async Task Navigation_based_on_complex_expression3(bool async) @@ -5263,13 +6023,15 @@ public override async Task Navigation_based_on_complex_expression3(bool async) await base.Navigation_based_on_complex_expression3(async); AssertSql( - @"SELECT ""t"".""Name"", ""t"".""Discriminator"", ""t"".""LocustHordeId"", ""t"".""ThreatLevel"", ""t"".""ThreatLevelByte"", ""t"".""ThreatLevelNullableByte"", ""t"".""DefeatedByNickname"", ""t"".""DefeatedBySquadId"", ""t"".""HighCommandId"" -FROM ""Factions"" AS ""f"" +""" +SELECT "t"."Name", "t"."Discriminator", "t"."LocustHordeId", "t"."ThreatLevel", "t"."ThreatLevelByte", "t"."ThreatLevelNullableByte", "t"."DefeatedByNickname", "t"."DefeatedBySquadId", "t"."HighCommandId" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"""); + SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +"""); } public override async Task Coalesce_operator_in_predicate(bool async) @@ -5277,9 +6039,11 @@ public override async Task Coalesce_operator_in_predicate(bool async) await base.Coalesce_operator_in_predicate(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE COALESCE(""w"".""IsAutomatic"", 0)"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE COALESCE("w"."IsAutomatic", 0) +"""); } public override async Task Select_as_operator(bool async) @@ -5287,8 +6051,10 @@ public override async Task Select_as_operator(bool async) await base.Select_as_operator(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"""); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" +"""); } public override async Task Negated_bool_ternary_inside_anonymous_type_in_projection(bool async) @@ -5296,12 +6062,14 @@ public override async Task Negated_bool_ternary_inside_anonymous_type_in_project await base.Negated_bool_ternary_inside_anonymous_type_in_projection(async); AssertSql( - @"SELECT NOT (CASE - WHEN ""g"".""HasSoulPatch"" THEN 1 - ELSE COALESCE(""g"".""HasSoulPatch"", 1) -END) AS ""c"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"""); +""" +SELECT NOT (CASE + WHEN "g"."HasSoulPatch" THEN 1 + ELSE COALESCE("g"."HasSoulPatch", 1) +END) AS "c" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down1(bool async) @@ -5309,16 +6077,18 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down1(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' -SELECT ""t"".""FullName"" +SELECT "t"."FullName" FROM ( - SELECT ""g"".""FullName"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - WHERE NOT (""g"".""HasSoulPatch"") + SELECT "g"."FullName", "g"."Rank" + FROM "Gears" AS "g" + WHERE NOT ("g"."HasSoulPatch") LIMIT @__p_0 -) AS ""t"" -ORDER BY ""t"".""Rank"""); +) AS "t" +ORDER BY "t"."Rank" +"""); } public override async Task Include_on_derived_multi_level(bool async) @@ -5326,15 +6096,17 @@ public override async Task Include_on_derived_multi_level(bool async) await base.Include_on_derived_multi_level(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"", ""t"".""Id"", ""t"".""Banner"", ""t"".""Banner5"", ""t"".""InternalNumber"", ""t"".""Name"", ""t"".""SquadId0"", ""t"".""MissionId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank", "t"."Id", "t"."Banner", "t"."Banner5", "t"."InternalNumber", "t"."Name", "t"."SquadId0", "t"."MissionId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"", ""s0"".""SquadId"" AS ""SquadId0"", ""s0"".""MissionId"" - FROM ""Gears"" AS ""g0"" - INNER JOIN ""Squads"" AS ""s"" ON ""g0"".""SquadId"" = ""s"".""Id"" - LEFT JOIN ""SquadMissions"" AS ""s0"" ON ""s"".""Id"" = ""s0"".""SquadId"" -) AS ""t"" ON ""g"".""Nickname"" = ""t"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t"".""LeaderSquadId"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""Id"", ""t"".""SquadId0"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name", "s0"."SquadId" AS "SquadId0", "s0"."MissionId" + FROM "Gears" AS "g0" + INNER JOIN "Squads" AS "s" ON "g0"."SquadId" = "s"."Id" + LEFT JOIN "SquadMissions" AS "s0" ON "s"."Id" = "s0"."SquadId" +) AS "t" ON "g"."Nickname" = "t"."LeaderNickname" AND "g"."SquadId" = "t"."LeaderSquadId" +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Nickname", "t"."SquadId", "t"."Id", "t"."SquadId0" +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(bool async) @@ -5342,16 +6114,18 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_c await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_complex_projection_result(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"", ""w1"".""Id"", ""w1"".""AmmunitionType"", ""w1"".""IsAutomatic"", ""w1"".""Name"", ""w1"".""OwnerFullName"", ""w1"".""SynergyWithId"", ""w2"".""Id"", ""w2"".""AmmunitionType"", ""w2"".""IsAutomatic"", ""w2"".""Name"", ""w2"".""OwnerFullName"", ""w2"".""SynergyWithId"", (""g0"".""Nickname"" IS NOT NULL) AND (""g0"".""SquadId"" IS NOT NULL), ""w3"".""Id"", ""w3"".""AmmunitionType"", ""w3"".""IsAutomatic"", ""w3"".""Name"", ""w3"".""OwnerFullName"", ""w3"".""SynergyWithId"", ""w4"".""Id"", ""w4"".""AmmunitionType"", ""w4"".""IsAutomatic"", ""w4"".""Name"", ""w4"".""OwnerFullName"", ""w4"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""LeaderNickname"" = ""g0"".""Nickname"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""g0"".""FullName"" = ""w0"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w1"" ON ""g0"".""FullName"" = ""w1"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w2"" ON ""g"".""FullName"" = ""w2"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w3"" ON ""g0"".""FullName"" = ""w3"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w4"" ON ""g"".""FullName"" = ""w4"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""w"".""Id"", ""w0"".""Id"", ""w1"".""Id"", ""w2"".""Id"", ""w3"".""Id"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId", "w1"."Id", "w1"."AmmunitionType", "w1"."IsAutomatic", "w1"."Name", "w1"."OwnerFullName", "w1"."SynergyWithId", "w2"."Id", "w2"."AmmunitionType", "w2"."IsAutomatic", "w2"."Name", "w2"."OwnerFullName", "w2"."SynergyWithId", ("g0"."Nickname" IS NOT NULL) AND ("g0"."SquadId" IS NOT NULL), "w3"."Id", "w3"."AmmunitionType", "w3"."IsAutomatic", "w3"."Name", "w3"."OwnerFullName", "w3"."SynergyWithId", "w4"."Id", "w4"."AmmunitionType", "w4"."IsAutomatic", "w4"."Name", "w4"."OwnerFullName", "w4"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."LeaderNickname" = "g0"."Nickname" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +LEFT JOIN "Weapons" AS "w0" ON "g0"."FullName" = "w0"."OwnerFullName" +LEFT JOIN "Weapons" AS "w1" ON "g0"."FullName" = "w1"."OwnerFullName" +LEFT JOIN "Weapons" AS "w2" ON "g"."FullName" = "w2"."OwnerFullName" +LEFT JOIN "Weapons" AS "w3" ON "g0"."FullName" = "w3"."OwnerFullName" +LEFT JOIN "Weapons" AS "w4" ON "g"."FullName" = "w4"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname", "g0"."SquadId", "w"."Id", "w0"."Id", "w1"."Id", "w2"."Id", "w3"."Id" +"""); } public override async Task Correlated_collections_with_Skip(bool async) @@ -5359,17 +6133,19 @@ public override async Task Correlated_collections_with_Skip(bool async) await base.Correlated_collections_with_Skip(async); AssertSql( - @"SELECT ""s"".""Id"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Id", "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"" + SELECT "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank" FROM ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ROW_NUMBER() OVER(PARTITION BY ""g"".""SquadId"" ORDER BY ""g"".""Nickname"") AS ""row"" - FROM ""Gears"" AS ""g"" - ) AS ""t"" - WHERE 1 < ""t"".""row"" -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"" -ORDER BY ""s"".""Name"", ""s"".""Id"", ""t0"".""SquadId"", ""t0"".""Nickname"""); + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", ROW_NUMBER() OVER(PARTITION BY "g"."SquadId" ORDER BY "g"."Nickname") AS "row" + FROM "Gears" AS "g" + ) AS "t" + WHERE 1 < "t"."row" +) AS "t0" ON "s"."Id" = "t0"."SquadId" +ORDER BY "s"."Name", "s"."Id", "t0"."SquadId", "t0"."Nickname" +"""); } public override async Task Select_subquery_int_with_pushdown_and_coalesce(bool async) @@ -5377,13 +6153,15 @@ public override async Task Select_subquery_int_with_pushdown_and_coalesce(bool a await base.Select_subquery_int_with_pushdown_and_coalesce(async); AssertSql( - @"SELECT COALESCE(( - SELECT ""w"".""Id"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" +""" +SELECT COALESCE(( + SELECT "w"."Id" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" LIMIT 1), 42) -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Bitwise_operation_with_non_null_parameter_optimizes_null_checks(bool async) @@ -5391,21 +6169,27 @@ public override async Task Bitwise_operation_with_non_null_parameter_optimizes_n await base.Bitwise_operation_with_non_null_parameter_optimizes_null_checks(async); AssertSql( - @"@__ranks_0='134' +""" +@__ranks_0='134' -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & @__ranks_0) <> 0", +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & @__ranks_0) <> 0 +""", // - @"@__ranks_0='134' +""" +@__ranks_0='134' -SELECT (""g"".""Rank"" | @__ranks_0) = @__ranks_0 -FROM ""Gears"" AS ""g""", +SELECT ("g"."Rank" | @__ranks_0) = @__ranks_0 +FROM "Gears" AS "g" +""", // - @"@__ranks_0='134' +""" +@__ranks_0='134' -SELECT (""g"".""Rank"" | (""g"".""Rank"" | (@__ranks_0 | (""g"".""Rank"" | @__ranks_0)))) = @__ranks_0 -FROM ""Gears"" AS ""g"""); +SELECT ("g"."Rank" | ("g"."Rank" | (@__ranks_0 | ("g"."Rank" | @__ranks_0)))) = @__ranks_0 +FROM "Gears" AS "g" +"""); } public override async Task TimeSpan_Minutes(bool async) @@ -5413,8 +6197,10 @@ public override async Task TimeSpan_Minutes(bool async) await base.TimeSpan_Minutes(async); AssertSql( - @"SELECT ""m"".""Duration"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Duration" +FROM "Missions" AS "m" +"""); } public override async Task Constant_enum_with_same_underlying_value_as_previously_parameterized_int(bool async) @@ -5422,12 +6208,14 @@ public override async Task Constant_enum_with_same_underlying_value_as_previousl await base.Constant_enum_with_same_underlying_value_as_previously_parameterized_int(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' -SELECT ""g"".""Rank"" & 1 -FROM ""Gears"" AS ""g"" -ORDER BY ""g"".""Nickname"" -LIMIT @__p_0"); +SELECT "g"."Rank" & 1 +FROM "Gears" AS "g" +ORDER BY "g"."Nickname" +LIMIT @__p_0 +"""); } public override async Task Correlated_collections_with_Take(bool async) @@ -5435,17 +6223,19 @@ public override async Task Correlated_collections_with_Take(bool async) await base.Correlated_collections_with_Take(async); AssertSql( - @"SELECT ""s"".""Id"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Id", "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"" + SELECT "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank" FROM ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ROW_NUMBER() OVER(PARTITION BY ""g"".""SquadId"" ORDER BY ""g"".""Nickname"") AS ""row"" - FROM ""Gears"" AS ""g"" - ) AS ""t"" - WHERE ""t"".""row"" <= 2 -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"" -ORDER BY ""s"".""Name"", ""s"".""Id"", ""t0"".""SquadId"", ""t0"".""Nickname"""); + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", ROW_NUMBER() OVER(PARTITION BY "g"."SquadId" ORDER BY "g"."Nickname") AS "row" + FROM "Gears" AS "g" + ) AS "t" + WHERE "t"."row" <= 2 +) AS "t0" ON "s"."Id" = "t0"."SquadId" +ORDER BY "s"."Name", "s"."Id", "t0"."SquadId", "t0"."Nickname" +"""); } public override async Task Join_on_entity_qsre_keys(bool async) @@ -5453,9 +6243,11 @@ public override async Task Join_on_entity_qsre_keys(bool async) await base.Join_on_entity_qsre_keys(async); AssertSql( - @"SELECT ""w"".""Name"" AS ""Name1"", ""w0"".""Name"" AS ""Name2"" -FROM ""Weapons"" AS ""w"" -INNER JOIN ""Weapons"" AS ""w0"" ON ""w"".""Id"" = ""w0"".""Id"""); +""" +SELECT "w"."Name" AS "Name1", "w0"."Name" AS "Name2" +FROM "Weapons" AS "w" +INNER JOIN "Weapons" AS "w0" ON "w"."Id" = "w0"."Id" +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(bool async) @@ -5463,12 +6255,14 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_subquery(async); AssertSql( - @"SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" -WHERE ""c"".""Location"" = 'Unknown' AND ( +""" +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" +WHERE "c"."Location" = 'Unknown' AND ( SELECT COUNT(*) - FROM ""Gears"" AS ""g"" - WHERE ""c"".""Name"" = ""g"".""CityOfBirthName"" AND ""g"".""Nickname"" = 'Paduk') = 1"); + FROM "Gears" AS "g" + WHERE "c"."Name" = "g"."CityOfBirthName" AND "g"."Nickname" = 'Paduk') = 1 +"""); } public override async Task Filter_with_new_Guid(bool async) @@ -5476,9 +6270,11 @@ public override async Task Filter_with_new_Guid(bool async) await base.Filter_with_new_Guid(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -WHERE ""t"".""Id"" = 'DF36F493-463F-4123-83F9-6B135DEEB7BA'"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +WHERE "t"."Id" = 'DF36F493-463F-4123-83F9-6B135DEEB7BA' +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(bool async) @@ -5486,15 +6282,17 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_order_comparison(async); AssertSql( - @"@__prm_0='1' +""" +@__prm_0='1' -SELECT ""g"".""Nickname"", ""g"".""FullName"", ""t"".""Id"" IS NOT NULL AS ""Collection"" -FROM ""Gears"" AS ""g"" +SELECT "g"."Nickname", "g"."FullName", "t"."Id" IS NOT NULL AS "Collection" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""Id"" > @__prm_0 -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"""); + SELECT "w"."Id", "w"."OwnerFullName" + FROM "Weapons" AS "w" + WHERE "w"."Id" > @__prm_0 +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +"""); } public override async Task Select_null_conditional_with_inheritance(bool async) @@ -5502,11 +6300,13 @@ public override async Task Select_null_conditional_with_inheritance(bool async) await base.Select_null_conditional_with_inheritance(async); AssertSql( - @"SELECT CASE - WHEN ""f"".""CommanderName"" IS NOT NULL THEN ""f"".""CommanderName"" +""" +SELECT CASE + WHEN "f"."CommanderName" IS NOT NULL THEN "f"."CommanderName" ELSE NULL END -FROM ""Factions"" AS ""f"""); +FROM "Factions" AS "f" +"""); } public override async Task String_concat_nullable_expressions_are_coalesced(bool async) @@ -5514,8 +6314,10 @@ public override async Task String_concat_nullable_expressions_are_coalesced(bool await base.String_concat_nullable_expressions_are_coalesced(async); AssertSql( - @"SELECT ((""g"".""FullName"" || '') || COALESCE(""g"".""LeaderNickname"", '')) || '' -FROM ""Gears"" AS ""g"""); +""" +SELECT (("g"."FullName" || '') || COALESCE("g"."LeaderNickname", '')) || '' +FROM "Gears" AS "g" +"""); } public override async Task Left_join_predicate_value(bool async) @@ -5523,9 +6325,11 @@ public override async Task Left_join_predicate_value(bool async) await base.Left_join_predicate_value(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""HasSoulPatch"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."HasSoulPatch" +"""); } public override async Task Join_navigation_translated_to_subquery_composite_key(bool async) @@ -5533,13 +6337,15 @@ public override async Task Join_navigation_translated_to_subquery_composite_key( await base.Join_navigation_translated_to_subquery_composite_key(async); AssertSql( - @"SELECT ""g"".""FullName"", ""t0"".""Note"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."FullName", "t0"."Note" +FROM "Gears" AS "g" INNER JOIN ( - SELECT ""t"".""Note"", ""g0"".""FullName"" - FROM ""Tags"" AS ""t"" - LEFT JOIN ""Gears"" AS ""g0"" ON ""t"".""GearNickName"" = ""g0"".""Nickname"" AND ""t"".""GearSquadId"" = ""g0"".""SquadId"" -) AS ""t0"" ON ""g"".""FullName"" = ""t0"".""FullName"""); + SELECT "t"."Note", "g0"."FullName" + FROM "Tags" AS "t" + LEFT JOIN "Gears" AS "g0" ON "t"."GearNickName" = "g0"."Nickname" AND "t"."GearSquadId" = "g0"."SquadId" +) AS "t0" ON "g"."FullName" = "t0"."FullName" +"""); } public override async Task Correlated_collections_basic_projection_explicit_to_list(bool async) @@ -5547,15 +6353,17 @@ public override async Task Correlated_collections_basic_projection_explicit_to_l await base.Correlated_collections_basic_projection_explicit_to_list(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" OR ""w"".""Name"" <> 'foo' OR (""w"".""Name"" IS NULL) -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" OR "w"."Name" <> 'foo' OR ("w"."Name" IS NULL) +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(bool async) @@ -5563,9 +6371,11 @@ public override async Task Non_unicode_string_literals_is_used_for_non_unicode_c await base.Non_unicode_string_literals_is_used_for_non_unicode_column_with_concat(async); AssertSql( - @"SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" -WHERE 'Add' = '' OR instr(COALESCE(""c"".""Location"", '') || 'Added', 'Add') > 0"); +""" +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" +WHERE 'Add' = '' OR instr(COALESCE("c"."Location", '') || 'Added', 'Add') > 0 +"""); } public override async Task Include_multiple_circular(bool async) @@ -5573,11 +6383,13 @@ public override async Task Include_multiple_circular(bool async) await base.Include_multiple_circular(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""c"".""Name"" = ""g0"".""AssignedCityName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""c"".""Name"", ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "c"."Name", "c"."Location", "c"."Nation", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +LEFT JOIN "Gears" AS "g0" ON "c"."Name" = "g0"."AssignedCityName" +ORDER BY "g"."Nickname", "g"."SquadId", "c"."Name", "g0"."Nickname" +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(bool async) @@ -5585,14 +6397,16 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation_comp await base.Join_on_entity_qsre_keys_inner_key_is_navigation_composite_key(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""t0"".""Note"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "t0"."Note" +FROM "Gears" AS "g" INNER JOIN ( - SELECT ""t"".""Note"", ""g0"".""Nickname"", ""g0"".""SquadId"" - FROM ""Tags"" AS ""t"" - LEFT JOIN ""Gears"" AS ""g0"" ON ""t"".""GearNickName"" = ""g0"".""Nickname"" AND ""t"".""GearSquadId"" = ""g0"".""SquadId"" - WHERE ""t"".""Note"" IN ('Cole''s Tag', 'Dom''s Tag') -) AS ""t0"" ON ""g"".""Nickname"" = ""t0"".""Nickname"" AND ""g"".""SquadId"" = ""t0"".""SquadId"""); + SELECT "t"."Note", "g0"."Nickname", "g0"."SquadId" + FROM "Tags" AS "t" + LEFT JOIN "Gears" AS "g0" ON "t"."GearNickName" = "g0"."Nickname" AND "t"."GearSquadId" = "g0"."SquadId" + WHERE "t"."Note" IN ('Cole''s Tag', 'Dom''s Tag') +) AS "t0" ON "g"."Nickname" = "t0"."Nickname" AND "g"."SquadId" = "t0"."SquadId" +"""); } public override async Task Contains_on_readonly_enumerable(bool async) @@ -5600,9 +6414,11 @@ public override async Task Contains_on_readonly_enumerable(bool async) await base.Contains_on_readonly_enumerable(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" = 1"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" = 1 +"""); } public override async Task Composite_key_entity_not_equal_null(bool async) @@ -5610,10 +6426,12 @@ public override async Task Composite_key_entity_not_equal_null(bool async) await base.Composite_key_entity_not_equal_null(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"" -WHERE ""l"".""Discriminator"" = 'LocustCommander' AND (""g"".""Nickname"" IS NOT NULL) AND (""g"".""SquadId"" IS NOT NULL)"); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +WHERE "l"."Discriminator" = 'LocustCommander' AND ("g"."Nickname" IS NOT NULL) AND ("g"."SquadId" IS NOT NULL) +"""); } public override async Task Where_nullable_enum_with_non_nullable_parameter(bool async) @@ -5621,11 +6439,13 @@ public override async Task Where_nullable_enum_with_non_nullable_parameter(bool await base.Where_nullable_enum_with_non_nullable_parameter(async); AssertSql( - @"@__ammunitionType_0='1' +""" +@__ammunitionType_0='1' -SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" = @__ammunitionType_0"); +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" = @__ammunitionType_0 +"""); } public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_down2(bool async) @@ -5633,16 +6453,18 @@ public override async Task Take_without_orderby_followed_by_orderBy_is_pushed_do await base.Take_without_orderby_followed_by_orderBy_is_pushed_down2(async); AssertSql( - @"@__p_0='999' +""" +@__p_0='999' -SELECT ""t"".""FullName"" +SELECT "t"."FullName" FROM ( - SELECT ""g"".""FullName"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - WHERE NOT (""g"".""HasSoulPatch"") + SELECT "g"."FullName", "g"."Rank" + FROM "Gears" AS "g" + WHERE NOT ("g"."HasSoulPatch") LIMIT @__p_0 -) AS ""t"" -ORDER BY ""t"".""Rank"""); +) AS "t" +ORDER BY "t"."Rank" +"""); } public override async Task Where_equals_method_on_nullable_with_object_overload(bool async) @@ -5650,9 +6472,11 @@ public override async Task Where_equals_method_on_nullable_with_object_overload( await base.Where_equals_method_on_nullable_with_object_overload(async); AssertSql( - @"SELECT ""m"".""Id"", ""m"".""CodeName"", ""m"".""Date"", ""m"".""Duration"", ""m"".""Rating"", ""m"".""Time"", ""m"".""Timeline"" -FROM ""Missions"" AS ""m"" -WHERE ""m"".""Rating"" IS NULL"); +""" +SELECT "m"."Id", "m"."CodeName", "m"."Date", "m"."Duration", "m"."Rating", "m"."Time", "m"."Timeline" +FROM "Missions" AS "m" +WHERE "m"."Rating" IS NULL +"""); } public override async Task Subquery_containing_join_projecting_main_from_clause_gets_lifted(bool async) @@ -5660,10 +6484,12 @@ public override async Task Subquery_containing_join_projecting_main_from_clause_ await base.Subquery_containing_join_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."Nickname" +FROM "Gears" AS "g" +INNER JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" +ORDER BY "g"."Nickname" +"""); } public override async Task Include_base_navigation_on_derived_entity(bool async) @@ -5671,11 +6497,13 @@ public override async Task Include_base_navigation_on_derived_entity(bool async) await base.Include_base_navigation_on_derived_entity(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Id" +"""); } public override async Task Select_subquery_boolean_empty_with_pushdown(bool async) @@ -5683,13 +6511,15 @@ public override async Task Select_subquery_boolean_empty_with_pushdown(bool asyn await base.Select_subquery_boolean_empty_with_pushdown(async); AssertSql( - @"SELECT ( - SELECT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""w"".""Name"" = 'BFG' - ORDER BY ""w"".""Id"" +""" +SELECT ( + SELECT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND "w"."Name" = 'BFG' + ORDER BY "w"."Id" LIMIT 1) -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task OrderBy_StartsWith_with_null_parameter_as_argument(bool async) @@ -5697,9 +6527,11 @@ public override async Task OrderBy_StartsWith_with_null_parameter_as_argument(bo await base.OrderBy_StartsWith_with_null_parameter_as_argument(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +ORDER BY "g"."Nickname" +"""); } public override async Task Include_collection_with_complex_OrderBy3(bool async) @@ -5707,16 +6539,18 @@ public override async Task Include_collection_with_complex_OrderBy3(bool async) await base.Include_collection_with_complex_OrderBy3(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' ORDER BY COALESCE(( - SELECT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" - LIMIT 1), 0), ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); + SELECT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" + LIMIT 1), 0), "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Projecting_property_converted_to_nullable_and_use_it_in_order_by(bool async) @@ -5724,17 +6558,19 @@ public override async Task Projecting_property_converted_to_nullable_and_use_it_ await base.Projecting_property_converted_to_nullable_and_use_it_in_order_by(async); AssertSql( - @"SELECT ""t"".""Note"", ""t"".""GearNickName"" IS NOT NULL, ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""HasSoulPatch"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +""" +SELECT "t"."Note", "t"."GearNickName" IS NOT NULL, "g"."Nickname", "g"."SquadId", "g"."HasSoulPatch" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""Nickname"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."Nickname" ELSE NULL END IS NOT NULL ORDER BY CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL -END, ""t"".""Note"""); +END, "t"."Note" +"""); } public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result1() @@ -5742,11 +6578,13 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result1(); AssertSql( - @"SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""LeaderNickname"" = ""g0"".""Nickname"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"", ""g0"".""SquadId"""); +""" +SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."LeaderNickname" = "g0"."Nickname" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname", "g0"."SquadId" +"""); } public override async Task Left_join_predicate_value_equals_condition(bool async) @@ -5754,9 +6592,11 @@ public override async Task Left_join_predicate_value_equals_condition(bool async await base.Left_join_predicate_value_equals_condition(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""w"".""SynergyWithId"" IS NOT NULL"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "w"."SynergyWithId" IS NOT NULL +"""); } public override async Task Conditional_expression_with_test_being_simplified_to_constant_complex(bool async) @@ -5764,23 +6604,25 @@ public override async Task Conditional_expression_with_test_being_simplified_to_ await base.Conditional_expression_with_test_being_simplified_to_constant_complex(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' @__prm2_1='Dom's Lancer' (Size = 12) -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE CASE - WHEN ""g"".""HasSoulPatch"" = @__prm_0 THEN ( - SELECT ""w"".""Name"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""Id"" = ""g"".""SquadId"" + WHEN "g"."HasSoulPatch" = @__prm_0 THEN ( + SELECT "w"."Name" + FROM "Weapons" AS "w" + WHERE "w"."Id" = "g"."SquadId" LIMIT 1) = @__prm2_1 AND (( - SELECT ""w"".""Name"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""Id"" = ""g"".""SquadId"" + SELECT "w"."Name" + FROM "Weapons" AS "w" + WHERE "w"."Id" = "g"."SquadId" LIMIT 1) IS NOT NULL) ELSE 0 -END"); +END +"""); } public override async Task Select_correlated_filtered_collection(bool async) @@ -5788,16 +6630,18 @@ public override async Task Select_correlated_filtered_collection(bool async) await base.Select_correlated_filtered_collection(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""c"".""Name"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" +""" +SELECT "g"."Nickname", "g"."SquadId", "c"."Name", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId" +FROM "Gears" AS "g" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""Name"" <> 'Lancer' OR (""w"".""Name"" IS NULL) -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -WHERE ""c"".""Name"" IN ('Ephyra', 'Hanover') -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""c"".""Name"""); + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "w"."Name" <> 'Lancer' OR ("w"."Name" IS NULL) +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +WHERE "c"."Name" IN ('Ephyra', 'Hanover') +ORDER BY "g"."Nickname", "g"."SquadId", "c"."Name" +"""); } public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings( @@ -5806,23 +6650,25 @@ public override async Task Multiple_orderby_with_navigation_expansion_on_one_of_ await base.Multiple_orderby_with_navigation_expansion_on_one_of_the_order_bys_inside_subquery_complex_orderings(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""g1"".""Nickname"", ""g1"".""SquadId"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"", ""t0"".""Nickname"", ""t0"".""SquadId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -LEFT JOIN ""Gears"" AS ""g1"" ON ""t"".""GearNickName"" = ""g1"".""Nickname"" AND ""t"".""GearSquadId"" = ""g1"".""SquadId"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t"."Id", "g1"."Nickname", "g1"."SquadId", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId", "t0"."Nickname", "t0"."SquadId" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +LEFT JOIN "Gears" AS "g1" ON "t"."GearNickName" = "g1"."Nickname" AND "t"."GearSquadId" = "g1"."SquadId" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""g2"".""Nickname"", ""g2"".""SquadId"", ( + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "g2"."Nickname", "g2"."SquadId", ( SELECT COUNT(*) - FROM ""Weapons"" AS ""w0"" - WHERE (""g2"".""FullName"" IS NOT NULL) AND ""g2"".""FullName"" = ""w0"".""OwnerFullName"") AS ""c"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g2"" ON ""w"".""OwnerFullName"" = ""g2"".""FullName"" -) AS ""t0"" ON ""g1"".""FullName"" = ""t0"".""OwnerFullName"" -WHERE ""g"".""Discriminator"" = 'Officer' AND EXISTS ( + FROM "Weapons" AS "w0" + WHERE ("g2"."FullName" IS NOT NULL) AND "g2"."FullName" = "w0"."OwnerFullName") AS "c" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g2" ON "w"."OwnerFullName" = "g2"."FullName" +) AS "t0" ON "g1"."FullName" = "t0"."OwnerFullName" +WHERE "g"."Discriminator" = 'Officer' AND EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g0"" - WHERE ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"") -ORDER BY ""g"".""HasSoulPatch"" DESC, ""t"".""Note"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""g1"".""Nickname"", ""g1"".""SquadId"", ""t0"".""Id"" DESC, ""t0"".""c"", ""t0"".""Nickname"""); + FROM "Gears" AS "g0" + WHERE "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId") +ORDER BY "g"."HasSoulPatch" DESC, "t"."Note", "g"."Nickname", "g"."SquadId", "t"."Id", "g1"."Nickname", "g1"."SquadId", "t0"."Id" DESC, "t0"."c", "t0"."Nickname" +"""); } public override async Task Where_member_access_on_anonymous_type(bool async) @@ -5830,9 +6676,11 @@ public override async Task Where_member_access_on_anonymous_type(bool async) await base.Where_member_access_on_anonymous_type(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""LeaderNickname"" = 'Marcus'"); +""" +SELECT "g"."Nickname" +FROM "Gears" AS "g" +WHERE "g"."LeaderNickname" = 'Marcus' +"""); } public override async Task Correlated_collections_nested(bool async) @@ -5840,20 +6688,22 @@ public override async Task Correlated_collections_nested(bool async) await base.Correlated_collections_nested(async); AssertSql( - @"SELECT ""s"".""Id"", ""t0"".""SquadId"", ""t0"".""MissionId"", ""t0"".""Id"", ""t0"".""SquadId0"", ""t0"".""MissionId0"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Id", "t0"."SquadId", "t0"."MissionId", "t0"."Id", "t0"."SquadId0", "t0"."MissionId0" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""s0"".""SquadId"", ""s0"".""MissionId"", ""m"".""Id"", ""t"".""SquadId"" AS ""SquadId0"", ""t"".""MissionId"" AS ""MissionId0"" - FROM ""SquadMissions"" AS ""s0"" - INNER JOIN ""Missions"" AS ""m"" ON ""s0"".""MissionId"" = ""m"".""Id"" + SELECT "s0"."SquadId", "s0"."MissionId", "m"."Id", "t"."SquadId" AS "SquadId0", "t"."MissionId" AS "MissionId0" + FROM "SquadMissions" AS "s0" + INNER JOIN "Missions" AS "m" ON "s0"."MissionId" = "m"."Id" LEFT JOIN ( - SELECT ""s1"".""SquadId"", ""s1"".""MissionId"" - FROM ""SquadMissions"" AS ""s1"" - WHERE ""s1"".""SquadId"" < 7 - ) AS ""t"" ON ""m"".""Id"" = ""t"".""MissionId"" - WHERE ""s0"".""MissionId"" < 42 -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"" -ORDER BY ""s"".""Id"", ""t0"".""SquadId"", ""t0"".""MissionId"", ""t0"".""Id"", ""t0"".""SquadId0"""); + SELECT "s1"."SquadId", "s1"."MissionId" + FROM "SquadMissions" AS "s1" + WHERE "s1"."SquadId" < 7 + ) AS "t" ON "m"."Id" = "t"."MissionId" + WHERE "s0"."MissionId" < 42 +) AS "t0" ON "s"."Id" = "t0"."SquadId" +ORDER BY "s"."Id", "t0"."SquadId", "t0"."MissionId", "t0"."Id", "t0"."SquadId0" +"""); } public override async Task Select_subquery_int_with_pushdown_and_coalesce2(bool async) @@ -5861,18 +6711,20 @@ public override async Task Select_subquery_int_with_pushdown_and_coalesce2(bool await base.Select_subquery_int_with_pushdown_and_coalesce2(async); AssertSql( - @"SELECT COALESCE(( - SELECT ""w"".""Id"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" +""" +SELECT COALESCE(( + SELECT "w"."Id" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" LIMIT 1), ( - SELECT ""w0"".""Id"" - FROM ""Weapons"" AS ""w0"" - WHERE ""g"".""FullName"" = ""w0"".""OwnerFullName"" - ORDER BY ""w0"".""Id"" + SELECT "w0"."Id" + FROM "Weapons" AS "w0" + WHERE "g"."FullName" = "w0"."OwnerFullName" + ORDER BY "w0"."Id" LIMIT 1)) -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task GroupBy_Property_Include_Select_LongCount(bool async) @@ -5880,9 +6732,11 @@ public override async Task GroupBy_Property_Include_Select_LongCount(bool async) await base.GroupBy_Property_Include_Select_LongCount(async); AssertSql( - @"SELECT COUNT(*) -FROM ""Gears"" AS ""g"" -GROUP BY ""g"".""Rank"""); +""" +SELECT COUNT(*) +FROM "Gears" AS "g" +GROUP BY "g"."Rank" +"""); } public override async Task ThenInclude_reference_on_derived_after_derived_collection(bool async) @@ -5890,14 +6744,16 @@ public override async Task ThenInclude_reference_on_derived_after_derived_collec await base.ThenInclude_reference_on_derived_after_derived_collection(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"", ""t"".""Name"", ""t"".""Discriminator"", ""t"".""LocustHordeId"", ""t"".""ThreatLevel"", ""t"".""ThreatLevelByte"", ""t"".""ThreatLevelNullableByte"", ""t"".""DefeatedByNickname"", ""t"".""DefeatedBySquadId"", ""t"".""HighCommandId"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator0"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated", "t"."Name", "t"."Discriminator", "t"."LocustHordeId", "t"."ThreatLevel", "t"."ThreatLevelByte", "t"."ThreatLevelNullableByte", "t"."DefeatedByNickname", "t"."DefeatedBySquadId", "t"."HighCommandId", "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator0", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"" AS ""Discriminator0"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" - FROM ""LocustLeaders"" AS ""l"" - LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"" -) AS ""t"" ON ""f"".""Id"" = ""t"".""LocustHordeId"" -ORDER BY ""f"".""Id"", ""t"".""Name"", ""t"".""Nickname"""); + SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator" AS "Discriminator0", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" + FROM "LocustLeaders" AS "l" + LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +) AS "t" ON "f"."Id" = "t"."LocustHordeId" +ORDER BY "f"."Id", "t"."Name", "t"."Nickname" +"""); } public override async Task Accessing_property_of_optional_navigation_in_child_projection_works(bool async) @@ -5905,15 +6761,17 @@ public override async Task Accessing_property_of_optional_navigation_in_child_pr await base.Accessing_property_of_optional_navigation_in_child_projection_works(async); AssertSql( - @"SELECT (""g"".""Nickname"" IS NOT NULL) AND (""g"".""SquadId"" IS NOT NULL), ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""t0"".""Nickname"", ""t0"".""Id"", ""t0"".""SquadId"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +""" +SELECT ("g"."Nickname" IS NOT NULL) AND ("g"."SquadId" IS NOT NULL), "t"."Id", "g"."Nickname", "g"."SquadId", "t0"."Nickname", "t0"."Id", "t0"."SquadId" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""w"".""Id"", ""g0"".""SquadId"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g0"" ON ""w"".""OwnerFullName"" = ""g0"".""FullName"" -) AS ""t0"" ON ""g"".""FullName"" = ""t0"".""OwnerFullName"" -ORDER BY ""t"".""Note"", ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"", ""t0"".""Id"", ""t0"".""Nickname"""); + SELECT "g0"."Nickname", "w"."Id", "g0"."SquadId", "w"."OwnerFullName" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g0" ON "w"."OwnerFullName" = "g0"."FullName" +) AS "t0" ON "g"."FullName" = "t0"."OwnerFullName" +ORDER BY "t"."Note", "t"."Id", "g"."Nickname", "g"."SquadId", "t0"."Id", "t0"."Nickname" +"""); } public override async Task ThenInclude_collection_on_derived_after_derived_reference(bool async) @@ -5921,16 +6779,18 @@ public override async Task ThenInclude_collection_on_derived_after_derived_refer await base.ThenInclude_collection_on_derived_after_derived_reference(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"", ""t"".""Name"", ""t"".""Discriminator"", ""t"".""LocustHordeId"", ""t"".""ThreatLevel"", ""t"".""ThreatLevelByte"", ""t"".""ThreatLevelNullableByte"", ""t"".""DefeatedByNickname"", ""t"".""DefeatedBySquadId"", ""t"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated", "t"."Name", "t"."Discriminator", "t"."LocustHordeId", "t"."ThreatLevel", "t"."ThreatLevelByte", "t"."ThreatLevelNullableByte", "t"."DefeatedByNickname", "t"."DefeatedBySquadId", "t"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""t"".""DefeatedBySquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Gears"" AS ""g0"" ON (""g"".""Nickname"" = ""g0"".""LeaderNickname"" OR ((""g"".""Nickname"" IS NULL) AND (""g0"".""LeaderNickname"" IS NULL))) AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""f"".""Id"", ""t"".""Name"", ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); + SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +LEFT JOIN "Gears" AS "g" ON "t"."DefeatedByNickname" = "g"."Nickname" AND "t"."DefeatedBySquadId" = "g"."SquadId" +LEFT JOIN "Gears" AS "g0" ON ("g"."Nickname" = "g0"."LeaderNickname" OR (("g"."Nickname" IS NULL) AND ("g0"."LeaderNickname" IS NULL))) AND "g"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "f"."Id", "t"."Name", "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(bool async) @@ -5938,12 +6798,14 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar_Projected(async); AssertSql( - @"SELECT ""t"".""Id"" AS ""Id1"", ""t0"".""Id"" AS ""Id2"" -FROM ""Tags"" AS ""t"" -CROSS JOIN ""Tags"" AS ""t0"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""t0"".""GearNickName"" = ""g0"".""Nickname"" AND ""t0"".""GearSquadId"" = ""g0"".""SquadId"" -WHERE ""g"".""Nickname"" = ""g0"".""Nickname"" OR ((""g"".""Nickname"" IS NULL) AND (""g0"".""Nickname"" IS NULL))"); +""" +SELECT "t"."Id" AS "Id1", "t0"."Id" AS "Id2" +FROM "Tags" AS "t" +CROSS JOIN "Tags" AS "t0" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Gears" AS "g0" ON "t0"."GearNickName" = "g0"."Nickname" AND "t0"."GearSquadId" = "g0"."SquadId" +WHERE "g"."Nickname" = "g0"."Nickname" OR (("g"."Nickname" IS NULL) AND ("g0"."Nickname" IS NULL)) +"""); } public override async Task Select_required_navigation_on_derived_type(bool async) @@ -5951,9 +6813,11 @@ public override async Task Select_required_navigation_on_derived_type(bool async await base.Select_required_navigation_on_derived_type(async); AssertSql( - @"SELECT ""l0"".""Name"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""LocustHighCommands"" AS ""l0"" ON ""l"".""HighCommandId"" = ""l0"".""Id"""); +""" +SELECT "l0"."Name" +FROM "LocustLeaders" AS "l" +LEFT JOIN "LocustHighCommands" AS "l0" ON "l"."HighCommandId" = "l0"."Id" +"""); } public override async Task Concat_with_collection_navigations(bool async) @@ -5961,19 +6825,21 @@ public override async Task Concat_with_collection_navigations(bool async) await base.Concat_with_collection_navigations(async); AssertSql( - @"SELECT ( +""" +SELECT ( SELECT COUNT(*) FROM ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" UNION - SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" - FROM ""Weapons"" AS ""w0"" - WHERE ""g"".""FullName"" = ""w0"".""OwnerFullName"" - ) AS ""t"") -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"""); + SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" + FROM "Weapons" AS "w0" + WHERE "g"."FullName" = "w0"."OwnerFullName" + ) AS "t") +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" +"""); } public override async Task Correlated_collections_multiple_nested_complex_collections(bool async) @@ -5981,34 +6847,36 @@ public override async Task Correlated_collections_multiple_nested_complex_collec await base.Correlated_collections_multiple_nested_complex_collections(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""g1"".""Nickname"", ""g1"".""SquadId"", ""t0"".""FullName"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""Id"", ""t0"".""Nickname0"", ""t0"".""SquadId0"", ""t0"".""Id0"", ""t0"".""Name"", ""t0"".""IsAutomatic"", ""t0"".""Id1"", ""t0"".""Nickname00"", ""t0"".""HasSoulPatch"", ""t0"".""SquadId00"", ""t2"".""Id"", ""t2"".""AmmunitionType"", ""t2"".""IsAutomatic"", ""t2"".""Name"", ""t2"".""OwnerFullName"", ""t2"".""SynergyWithId"", ""t2"".""Nickname"", ""t2"".""SquadId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -LEFT JOIN ""Gears"" AS ""g1"" ON ""t"".""GearNickName"" = ""g1"".""Nickname"" AND ""t"".""GearSquadId"" = ""g1"".""SquadId"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t"."Id", "g1"."Nickname", "g1"."SquadId", "t0"."FullName", "t0"."Nickname", "t0"."SquadId", "t0"."Id", "t0"."Nickname0", "t0"."SquadId0", "t0"."Id0", "t0"."Name", "t0"."IsAutomatic", "t0"."Id1", "t0"."Nickname00", "t0"."HasSoulPatch", "t0"."SquadId00", "t2"."Id", "t2"."AmmunitionType", "t2"."IsAutomatic", "t2"."Name", "t2"."OwnerFullName", "t2"."SynergyWithId", "t2"."Nickname", "t2"."SquadId" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +LEFT JOIN "Gears" AS "g1" ON "t"."GearNickName" = "g1"."Nickname" AND "t"."GearSquadId" = "g1"."SquadId" LEFT JOIN ( - SELECT ""g2"".""FullName"", ""g2"".""Nickname"", ""g2"".""SquadId"", ""t1"".""Id"", ""t1"".""Nickname"" AS ""Nickname0"", ""t1"".""SquadId"" AS ""SquadId0"", ""t1"".""Id0"", ""t1"".""Name"", ""t1"".""IsAutomatic"", ""t1"".""Id1"", ""t1"".""Nickname0"" AS ""Nickname00"", ""t1"".""HasSoulPatch"", ""t1"".""SquadId0"" AS ""SquadId00"", ""g2"".""Rank"", ""t1"".""IsAutomatic0"", ""g2"".""LeaderNickname"", ""g2"".""LeaderSquadId"" - FROM ""Gears"" AS ""g2"" + SELECT "g2"."FullName", "g2"."Nickname", "g2"."SquadId", "t1"."Id", "t1"."Nickname" AS "Nickname0", "t1"."SquadId" AS "SquadId0", "t1"."Id0", "t1"."Name", "t1"."IsAutomatic", "t1"."Id1", "t1"."Nickname0" AS "Nickname00", "t1"."HasSoulPatch", "t1"."SquadId0" AS "SquadId00", "g2"."Rank", "t1"."IsAutomatic0", "g2"."LeaderNickname", "g2"."LeaderSquadId" + FROM "Gears" AS "g2" LEFT JOIN ( - SELECT ""w"".""Id"", ""g3"".""Nickname"", ""g3"".""SquadId"", ""s"".""Id"" AS ""Id0"", ""w0"".""Name"", ""w0"".""IsAutomatic"", ""w0"".""Id"" AS ""Id1"", ""g4"".""Nickname"" AS ""Nickname0"", ""g4"".""HasSoulPatch"", ""g4"".""SquadId"" AS ""SquadId0"", ""w"".""IsAutomatic"" AS ""IsAutomatic0"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g3"" ON ""w"".""OwnerFullName"" = ""g3"".""FullName"" - LEFT JOIN ""Squads"" AS ""s"" ON ""g3"".""SquadId"" = ""s"".""Id"" - LEFT JOIN ""Weapons"" AS ""w0"" ON ""g3"".""FullName"" = ""w0"".""OwnerFullName"" - LEFT JOIN ""Gears"" AS ""g4"" ON ""s"".""Id"" = ""g4"".""SquadId"" - WHERE ""w"".""Name"" <> 'Bar' OR (""w"".""Name"" IS NULL) - ) AS ""t1"" ON ""g2"".""FullName"" = ""t1"".""OwnerFullName"" - WHERE ""g2"".""FullName"" <> 'Foo' -) AS ""t0"" ON ""g"".""Nickname"" = ""t0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t0"".""LeaderSquadId"" + SELECT "w"."Id", "g3"."Nickname", "g3"."SquadId", "s"."Id" AS "Id0", "w0"."Name", "w0"."IsAutomatic", "w0"."Id" AS "Id1", "g4"."Nickname" AS "Nickname0", "g4"."HasSoulPatch", "g4"."SquadId" AS "SquadId0", "w"."IsAutomatic" AS "IsAutomatic0", "w"."OwnerFullName" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g3" ON "w"."OwnerFullName" = "g3"."FullName" + LEFT JOIN "Squads" AS "s" ON "g3"."SquadId" = "s"."Id" + LEFT JOIN "Weapons" AS "w0" ON "g3"."FullName" = "w0"."OwnerFullName" + LEFT JOIN "Gears" AS "g4" ON "s"."Id" = "g4"."SquadId" + WHERE "w"."Name" <> 'Bar' OR ("w"."Name" IS NULL) + ) AS "t1" ON "g2"."FullName" = "t1"."OwnerFullName" + WHERE "g2"."FullName" <> 'Foo' +) AS "t0" ON "g"."Nickname" = "t0"."LeaderNickname" AND "g"."SquadId" = "t0"."LeaderSquadId" LEFT JOIN ( - SELECT ""w1"".""Id"", ""w1"".""AmmunitionType"", ""w1"".""IsAutomatic"", ""w1"".""Name"", ""w1"".""OwnerFullName"", ""w1"".""SynergyWithId"", ""g5"".""Nickname"", ""g5"".""SquadId"" - FROM ""Weapons"" AS ""w1"" - LEFT JOIN ""Gears"" AS ""g5"" ON ""w1"".""OwnerFullName"" = ""g5"".""FullName"" -) AS ""t2"" ON ""g1"".""FullName"" = ""t2"".""OwnerFullName"" -WHERE ""g"".""Discriminator"" = 'Officer' AND EXISTS ( + SELECT "w1"."Id", "w1"."AmmunitionType", "w1"."IsAutomatic", "w1"."Name", "w1"."OwnerFullName", "w1"."SynergyWithId", "g5"."Nickname", "g5"."SquadId" + FROM "Weapons" AS "w1" + LEFT JOIN "Gears" AS "g5" ON "w1"."OwnerFullName" = "g5"."FullName" +) AS "t2" ON "g1"."FullName" = "t2"."OwnerFullName" +WHERE "g"."Discriminator" = 'Officer' AND EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g0"" - WHERE ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"") -ORDER BY ""g"".""HasSoulPatch"" DESC, ""t"".""Note"", ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""g1"".""Nickname"", ""g1"".""SquadId"", ""t0"".""Rank"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""IsAutomatic0"", ""t0"".""Id"", ""t0"".""Nickname0"", ""t0"".""SquadId0"", ""t0"".""Id0"", ""t0"".""Id1"", ""t0"".""Nickname00"", ""t0"".""SquadId00"", ""t2"".""IsAutomatic"", ""t2"".""Nickname"" DESC, ""t2"".""Id"""); + FROM "Gears" AS "g0" + WHERE "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId") +ORDER BY "g"."HasSoulPatch" DESC, "t"."Note", "g"."Nickname", "g"."SquadId", "t"."Id", "g1"."Nickname", "g1"."SquadId", "t0"."Rank", "t0"."Nickname", "t0"."SquadId", "t0"."IsAutomatic0", "t0"."Id", "t0"."Nickname0", "t0"."SquadId0", "t0"."Id0", "t0"."Id1", "t0"."Nickname00", "t0"."SquadId00", "t2"."IsAutomatic", "t2"."Nickname" DESC, "t2"."Id" +"""); } public override async Task Bitwise_operation_with_null_arguments(bool async) @@ -6016,32 +6884,44 @@ public override async Task Bitwise_operation_with_null_arguments(bool async) await base.Bitwise_operation_with_null_arguments(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" IS NULL", +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" IS NULL +""", // - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" IS NULL", +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" IS NULL +""", // - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" IS NULL", +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" IS NULL +""", // - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w""", +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +""", // - @"@__prm_0='2' (Nullable = true) +""" +@__prm_0='2' (Nullable = true) -SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE (""w"".""AmmunitionType"" & @__prm_0) <> 0 OR (""w"".""AmmunitionType"" IS NULL)", +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE ("w"."AmmunitionType" & @__prm_0) <> 0 OR ("w"."AmmunitionType" IS NULL) +""", // - @"@__prm_0='1' (Nullable = true) +""" +@__prm_0='1' (Nullable = true) -SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE (""w"".""AmmunitionType"" & @__prm_0) = @__prm_0"); +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE ("w"."AmmunitionType" & @__prm_0) = @__prm_0 +"""); } public override async Task Include_with_client_method_and_member_access_still_applies_includes(bool async) @@ -6049,9 +6929,11 @@ public override async Task Include_with_client_method_and_member_access_still_ap await base.Include_with_client_method_and_member_access_still_applies_includes(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +"""); } public override async Task Optional_navigation_with_collection_composite_key(bool async) @@ -6059,13 +6941,15 @@ public override async Task Optional_navigation_with_collection_composite_key(boo await base.Optional_navigation_with_collection_composite_key(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' AND ( +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "g"."Discriminator" = 'Officer' AND ( SELECT COUNT(*) - FROM ""Gears"" AS ""g0"" - WHERE (""g"".""Nickname"" IS NOT NULL) AND (""g"".""SquadId"" IS NOT NULL) AND ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" AND ""g0"".""Nickname"" = 'Dom') > 0"); + FROM "Gears" AS "g0" + WHERE ("g"."Nickname" IS NOT NULL) AND ("g"."SquadId" IS NOT NULL) AND "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" AND "g0"."Nickname" = 'Dom') > 0 +"""); } public override async Task Include_with_order_by_constant(bool async) @@ -6073,10 +6957,12 @@ public override async Task Include_with_order_by_constant(bool async) await base.Include_with_order_by_constant(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Squads"" AS ""s"" -LEFT JOIN ""Gears"" AS ""g"" ON ""s"".""Id"" = ""g"".""SquadId"" -ORDER BY ""s"".""Id"", ""g"".""Nickname"""); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Squads" AS "s" +LEFT JOIN "Gears" AS "g" ON "s"."Id" = "g"."SquadId" +ORDER BY "s"."Id", "g"."Nickname" +"""); } public override async Task Include_on_derived_type_with_order_by_and_paging(bool async) @@ -6084,19 +6970,21 @@ public override async Task Include_on_derived_type_with_order_by_and_paging(bool await base.Include_on_derived_type_with_order_by_and_paging(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' -SELECT ""t0"".""Name"", ""t0"".""Discriminator"", ""t0"".""LocustHordeId"", ""t0"".""ThreatLevel"", ""t0"".""ThreatLevelByte"", ""t0"".""ThreatLevelNullableByte"", ""t0"".""DefeatedByNickname"", ""t0"".""DefeatedBySquadId"", ""t0"".""HighCommandId"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator0"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"", ""t0"".""Id"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" +SELECT "t0"."Name", "t0"."Discriminator", "t0"."LocustHordeId", "t0"."ThreatLevel", "t0"."ThreatLevelByte", "t0"."ThreatLevelNullableByte", "t0"."DefeatedByNickname", "t0"."DefeatedBySquadId", "t0"."HighCommandId", "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator0", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank", "t0"."Id", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" FROM ( - SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"" AS ""Discriminator0"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""t"".""Note"" - FROM ""LocustLeaders"" AS ""l"" - LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"" - LEFT JOIN ""Tags"" AS ""t"" ON (""g"".""Nickname"" = ""t"".""GearNickName"" OR ((""g"".""Nickname"" IS NULL) AND (""t"".""GearNickName"" IS NULL))) AND (""g"".""SquadId"" = ""t"".""GearSquadId"" OR ((""g"".""SquadId"" IS NULL) AND (""t"".""GearSquadId"" IS NULL))) - ORDER BY ""t"".""Note"" + SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator" AS "Discriminator0", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "t"."Note" + FROM "LocustLeaders" AS "l" + LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" + LEFT JOIN "Tags" AS "t" ON ("g"."Nickname" = "t"."GearNickName" OR (("g"."Nickname" IS NULL) AND ("t"."GearNickName" IS NULL))) AND ("g"."SquadId" = "t"."GearSquadId" OR (("g"."SquadId" IS NULL) AND ("t"."GearSquadId" IS NULL))) + ORDER BY "t"."Note" LIMIT @__p_0 -) AS ""t0"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""t0"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""t0"".""Note"", ""t0"".""Name"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""Id"""); +) AS "t0" +LEFT JOIN "Weapons" AS "w" ON "t0"."FullName" = "w"."OwnerFullName" +ORDER BY "t0"."Note", "t0"."Name", "t0"."Nickname", "t0"."SquadId", "t0"."Id" +"""); } public override async Task Trying_to_access_unmapped_property_in_projection(bool async) @@ -6104,8 +6992,10 @@ public override async Task Trying_to_access_unmapped_property_in_projection(bool await base.Trying_to_access_unmapped_property_in_projection(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +"""); } public override async Task GroupBy_with_boolean_groupin_key_thru_navigation_access(bool async) @@ -6113,11 +7003,13 @@ public override async Task GroupBy_with_boolean_groupin_key_thru_navigation_acce await base.GroupBy_with_boolean_groupin_key_thru_navigation_access(async); AssertSql( - @"SELECT ""g"".""HasSoulPatch"", lower(""s"".""Name"") AS ""Name"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" -GROUP BY ""g"".""HasSoulPatch"", ""s"".""Name"""); +""" +SELECT "g"."HasSoulPatch", lower("s"."Name") AS "Name" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" +GROUP BY "g"."HasSoulPatch", "s"."Name" +"""); } public override async Task Filter_with_complex_predicate_containing_subquery(bool async) @@ -6125,12 +7017,14 @@ public override async Task Filter_with_complex_predicate_containing_subquery(boo await base.Filter_with_complex_predicate_containing_subquery(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""FullName"" <> 'Dom' AND EXISTS ( +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."FullName" <> 'Dom' AND EXISTS ( SELECT 1 - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""w"".""IsAutomatic"")"); + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND "w"."IsAutomatic") +"""); } public override async Task Project_one_value_type_converted_to_nullable_from_empty_collection(bool async) @@ -6138,13 +7032,15 @@ public override async Task Project_one_value_type_converted_to_nullable_from_emp await base.Project_one_value_type_converted_to_nullable_from_empty_collection(async); AssertSql( - @"SELECT ""s"".""Name"", ( - SELECT ""g"".""SquadId"" - FROM ""Gears"" AS ""g"" - WHERE ""s"".""Id"" = ""g"".""SquadId"" AND ""g"".""HasSoulPatch"" - LIMIT 1) AS ""SquadId"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Name"" = 'Kilo'"); +""" +SELECT "s"."Name", ( + SELECT "g"."SquadId" + FROM "Gears" AS "g" + WHERE "s"."Id" = "g"."SquadId" AND "g"."HasSoulPatch" + LIMIT 1) AS "SquadId" +FROM "Squads" AS "s" +WHERE "s"."Name" = 'Kilo' +"""); } public override async Task Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(bool async) @@ -6152,27 +7048,29 @@ public override async Task Query_reusing_parameter_with_inner_query_doesnt_decla await base.Query_reusing_parameter_with_inner_query_doesnt_declare_duplicate_parameter(async); AssertSql( - @"@__squadId_0='1' +""" +@__squadId_0='1' -SELECT ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"" +SELECT "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank" FROM ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - INNER JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" + FROM "Gears" AS "g" + INNER JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" WHERE EXISTS ( SELECT 1 - FROM ""Squads"" AS ""s0"" - WHERE ""s0"".""Id"" = @__squadId_0 AND ""s0"".""Id"" = ""s"".""Id"") + FROM "Squads" AS "s0" + WHERE "s0"."Id" = @__squadId_0 AND "s0"."Id" = "s"."Id") UNION ALL - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - INNER JOIN ""Squads"" AS ""s1"" ON ""g0"".""SquadId"" = ""s1"".""Id"" + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" + FROM "Gears" AS "g0" + INNER JOIN "Squads" AS "s1" ON "g0"."SquadId" = "s1"."Id" WHERE EXISTS ( SELECT 1 - FROM ""Squads"" AS ""s2"" - WHERE ""s2"".""Id"" = @__squadId_0 AND ""s2"".""Id"" = ""s1"".""Id"") -) AS ""t"" -ORDER BY ""t"".""FullName"""); + FROM "Squads" AS "s2" + WHERE "s2"."Id" = @__squadId_0 AND "s2"."Id" = "s1"."Id") +) AS "t" +ORDER BY "t"."FullName" +"""); } public override async Task String_concat_with_null_conditional_argument(bool async) @@ -6180,10 +7078,12 @@ public override async Task String_concat_with_null_conditional_argument(bool asy await base.String_concat_with_null_conditional_argument(async); AssertSql( - @"SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -ORDER BY COALESCE(""w0"".""Name"", '') || CAST(5 AS TEXT)"); +""" +SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +ORDER BY COALESCE("w0"."Name", '') || CAST(5 AS TEXT) +"""); } public override async Task Sum_with_no_data_nullable_double(bool async) @@ -6191,9 +7091,11 @@ public override async Task Sum_with_no_data_nullable_double(bool async) await base.Sum_with_no_data_nullable_double(async); AssertSql( - @"SELECT COALESCE(SUM(""m"".""Rating""), 0.0) -FROM ""Missions"" AS ""m"" -WHERE ""m"".""CodeName"" = 'Operation Foobar'"); +""" +SELECT COALESCE(SUM("m"."Rating"), 0.0) +FROM "Missions" AS "m" +WHERE "m"."CodeName" = 'Operation Foobar' +"""); } public override async Task Select_subquery_boolean_with_pushdown(bool async) @@ -6201,13 +7103,15 @@ public override async Task Select_subquery_boolean_with_pushdown(bool async) await base.Select_subquery_boolean_with_pushdown(async); AssertSql( - @"SELECT ( - SELECT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" +""" +SELECT ( + SELECT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" LIMIT 1) -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Cast_to_derived_type_after_OfType_works(bool async) @@ -6215,9 +7119,11 @@ public override async Task Cast_to_derived_type_after_OfType_works(bool async) await base.Cast_to_derived_type_after_OfType_works(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""Discriminator"" = 'Officer'"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."Discriminator" = 'Officer' +"""); } public override async Task Optional_navigation_type_compensation_works_with_binary_expression(bool async) @@ -6225,10 +7131,12 @@ public override async Task Optional_navigation_type_compensation_works_with_bina await base.Optional_navigation_type_compensation_works_with_binary_expression(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""g"".""HasSoulPatch"" OR 'Cole' = '' OR instr(""t"".""Note"", 'Cole') > 0"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "g"."HasSoulPatch" OR 'Cole' = '' OR instr("t"."Note", 'Cole') > 0 +"""); } public override async Task Join_predicate_value(bool async) @@ -6236,9 +7144,11 @@ public override async Task Join_predicate_value(bool async) await base.Join_predicate_value(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Weapons"" AS ""w"" ON ""g"".""HasSoulPatch"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +INNER JOIN "Weapons" AS "w" ON "g"."HasSoulPatch" +"""); } public override async Task Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(bool async) @@ -6246,10 +7156,12 @@ public override async Task Multiple_order_bys_are_properly_lifted_from_subquery_ await base.Multiple_order_bys_are_properly_lifted_from_subquery_created_by_include(async); AssertSql( - @"SELECT ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -WHERE NOT (""g"".""HasSoulPatch"") -ORDER BY ""g"".""FullName"""); +""" +SELECT "g"."FullName" +FROM "Gears" AS "g" +WHERE NOT ("g"."HasSoulPatch") +ORDER BY "g"."FullName" +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_empty2(bool async) @@ -6257,13 +7169,15 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_empt await base.Select_subquery_distinct_singleordefault_boolean_empty2(async); AssertSql( - @"SELECT COALESCE(( - SELECT DISTINCT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""w"".""Name"" = 'BFG' +""" +SELECT COALESCE(( + SELECT DISTINCT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND "w"."Name" = 'BFG' LIMIT 1), 0) -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"""); +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" +"""); } public override async Task Correlated_collections_left_join_with_self_reference(bool async) @@ -6271,15 +7185,17 @@ public override async Task Correlated_collections_left_join_with_self_reference( await base.Correlated_collections_left_join_with_self_reference(async); AssertSql( - @"SELECT ""t"".""Note"", ""t"".""Id"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""g0"".""FullName"", ""g0"".""Nickname"", ""g0"".""SquadId"" -FROM ""Tags"" AS ""t"" +""" +SELECT "t"."Note", "t"."Id", "t0"."Nickname", "t0"."SquadId", "g0"."FullName", "g0"."Nickname", "g0"."SquadId" +FROM "Tags" AS "t" LEFT JOIN ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""Discriminator"" = 'Officer' -) AS ""t0"" ON ""t"".""GearNickName"" = ""t0"".""Nickname"" -LEFT JOIN ""Gears"" AS ""g0"" ON (""t0"".""Nickname"" = ""g0"".""LeaderNickname"" OR ((""t0"".""Nickname"" IS NULL) AND (""g0"".""LeaderNickname"" IS NULL))) AND ""t0"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""t"".""Id"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""g0"".""Nickname"""); + SELECT "g"."Nickname", "g"."SquadId" + FROM "Gears" AS "g" + WHERE "g"."Discriminator" = 'Officer' +) AS "t0" ON "t"."GearNickName" = "t0"."Nickname" +LEFT JOIN "Gears" AS "g0" ON ("t0"."Nickname" = "g0"."LeaderNickname" OR (("t0"."Nickname" IS NULL) AND ("g0"."LeaderNickname" IS NULL))) AND "t0"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "t"."Id", "t0"."Nickname", "t0"."SquadId", "g0"."Nickname" +"""); } public override async Task Streaming_correlated_collection_issue_11403(bool async) @@ -6287,19 +7203,21 @@ public override async Task Streaming_correlated_collection_issue_11403(bool asyn await base.Streaming_correlated_collection_issue_11403(async); AssertSql( - @"SELECT ""t"".""Nickname"", ""t"".""SquadId"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"" +""" +SELECT "t"."Nickname", "t"."SquadId", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId" FROM ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""FullName"" - FROM ""Gears"" AS ""g"" - ORDER BY ""g"".""Nickname"" + SELECT "g"."Nickname", "g"."SquadId", "g"."FullName" + FROM "Gears" AS "g" + ORDER BY "g"."Nickname" LIMIT 1 -) AS ""t"" +) AS "t" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE NOT (""w"".""IsAutomatic"") -) AS ""t0"" ON ""t"".""FullName"" = ""t0"".""OwnerFullName"" -ORDER BY ""t"".""Nickname"", ""t"".""SquadId"", ""t0"".""Id"""); + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE NOT ("w"."IsAutomatic") +) AS "t0" ON "t"."FullName" = "t0"."OwnerFullName" +ORDER BY "t"."Nickname", "t"."SquadId", "t0"."Id" +"""); } public override async Task Select_subquery_distinct_singleordefault_boolean_with_pushdown(bool async) @@ -6307,16 +7225,18 @@ public override async Task Select_subquery_distinct_singleordefault_boolean_with await base.Select_subquery_distinct_singleordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT ( - SELECT ""t"".""IsAutomatic"" +""" +SELECT ( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ('Lancer' = '' OR instr(""w"".""Name"", 'Lancer') > 0) - ) AS ""t"" + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND ('Lancer' = '' OR instr("w"."Name", 'Lancer') > 0) + ) AS "t" LIMIT 1) -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"""); +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" +"""); } public override async Task Select_null_propagation_negative7(bool async) @@ -6324,11 +7244,13 @@ public override async Task Select_null_propagation_negative7(bool async) await base.Select_null_propagation_negative7(async); AssertSql( - @"SELECT CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN 1 +""" +SELECT CASE + WHEN "g"."LeaderNickname" IS NOT NULL THEN 1 ELSE NULL END -FROM ""Gears"" AS ""g"""); +FROM "Gears" AS "g" +"""); } public override async Task Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(bool async) @@ -6336,11 +7258,13 @@ public override async Task Enum_flags_closure_typed_as_different_type_generates_ await base.Enum_flags_closure_typed_as_different_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='5' +""" +@__prm_0='5' -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (@__prm_0 & CAST(""g"".""Rank"" AS INTEGER)) = CAST(""g"".""Rank"" AS INTEGER)"); +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE (@__prm_0 & CAST("g"."Rank" AS INTEGER)) = CAST("g"."Rank" AS INTEGER) +"""); } public override async Task Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(bool async) @@ -6348,10 +7272,12 @@ public override async Task Subquery_containing_left_join_projecting_main_from_cl await base.Subquery_containing_left_join_projecting_main_from_clause_gets_lifted(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."Nickname" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" +ORDER BY "g"."Nickname" +"""); } public override async Task Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) @@ -6359,11 +7285,13 @@ public override async Task Enum_closure_typed_as_underlying_type_generates_corre await base.Enum_closure_typed_as_underlying_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='1' (Nullable = true) +""" +@__prm_0='1' (Nullable = true) -SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE @__prm_0 = ""w"".""AmmunitionType"""); +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE @__prm_0 = "w"."AmmunitionType" +"""); } public override async Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool async) @@ -6371,11 +7299,13 @@ public override async Task Optional_Navigation_Null_Coalesce_To_Clr_Type(bool as await base.Optional_Navigation_Null_Coalesce_To_Clr_Type(async); AssertSql( - @"SELECT COALESCE(""w0"".""IsAutomatic"", 0) AS ""IsAutomatic"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -ORDER BY ""w"".""Id"" -LIMIT 1"); +""" +SELECT COALESCE("w0"."IsAutomatic", 0) AS "IsAutomatic" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +ORDER BY "w"."Id" +LIMIT 1 +"""); } public override async Task Correlated_collections_complex_scenario2(bool async) @@ -6383,21 +7313,23 @@ public override async Task Correlated_collections_complex_scenario2(bool async) await base.Correlated_collections_complex_scenario2(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t0"".""FullName"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""Id"", ""t0"".""Nickname0"", ""t0"".""SquadId0"", ""t0"".""Id0"", ""t0"".""Nickname00"", ""t0"".""HasSoulPatch"", ""t0"".""SquadId00"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t0"."FullName", "t0"."Nickname", "t0"."SquadId", "t0"."Id", "t0"."Nickname0", "t0"."SquadId0", "t0"."Id0", "t0"."Nickname00", "t0"."HasSoulPatch", "t0"."SquadId00" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""g0"".""FullName"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""t"".""Id"", ""t"".""Nickname"" AS ""Nickname0"", ""t"".""SquadId"" AS ""SquadId0"", ""t"".""Id0"", ""t"".""Nickname0"" AS ""Nickname00"", ""t"".""HasSoulPatch"", ""t"".""SquadId0"" AS ""SquadId00"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"" - FROM ""Gears"" AS ""g0"" + SELECT "g0"."FullName", "g0"."Nickname", "g0"."SquadId", "t"."Id", "t"."Nickname" AS "Nickname0", "t"."SquadId" AS "SquadId0", "t"."Id0", "t"."Nickname0" AS "Nickname00", "t"."HasSoulPatch", "t"."SquadId0" AS "SquadId00", "g0"."LeaderNickname", "g0"."LeaderSquadId" + FROM "Gears" AS "g0" LEFT JOIN ( - SELECT ""w"".""Id"", ""g1"".""Nickname"", ""g1"".""SquadId"", ""s"".""Id"" AS ""Id0"", ""g2"".""Nickname"" AS ""Nickname0"", ""g2"".""HasSoulPatch"", ""g2"".""SquadId"" AS ""SquadId0"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g1"" ON ""w"".""OwnerFullName"" = ""g1"".""FullName"" - LEFT JOIN ""Squads"" AS ""s"" ON ""g1"".""SquadId"" = ""s"".""Id"" - LEFT JOIN ""Gears"" AS ""g2"" ON ""s"".""Id"" = ""g2"".""SquadId"" - ) AS ""t"" ON ""g0"".""FullName"" = ""t"".""OwnerFullName"" -) AS ""t0"" ON ""g"".""Nickname"" = ""t0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""Id"", ""t0"".""Nickname0"", ""t0"".""SquadId0"", ""t0"".""Id0"", ""t0"".""Nickname00"""); + SELECT "w"."Id", "g1"."Nickname", "g1"."SquadId", "s"."Id" AS "Id0", "g2"."Nickname" AS "Nickname0", "g2"."HasSoulPatch", "g2"."SquadId" AS "SquadId0", "w"."OwnerFullName" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g1" ON "w"."OwnerFullName" = "g1"."FullName" + LEFT JOIN "Squads" AS "s" ON "g1"."SquadId" = "s"."Id" + LEFT JOIN "Gears" AS "g2" ON "s"."Id" = "g2"."SquadId" + ) AS "t" ON "g0"."FullName" = "t"."OwnerFullName" +) AS "t0" ON "g"."Nickname" = "t0"."LeaderNickname" AND "g"."SquadId" = "t0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "g"."Nickname", "g"."SquadId", "t0"."Nickname", "t0"."SquadId", "t0"."Id", "t0"."Nickname0", "t0"."SquadId0", "t0"."Id0", "t0"."Nickname00" +"""); } public override async Task Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(bool async) @@ -6405,8 +7337,10 @@ public override async Task Cast_result_operator_on_subquery_is_properly_lifted_t await base.Cast_result_operator_on_subquery_is_properly_lifted_to_a_convert(async); AssertSql( - @"SELECT ""f"".""Eradicated"" -FROM ""Factions"" AS ""f"""); +""" +SELECT "f"."Eradicated" +FROM "Factions" AS "f" +"""); } public override async Task Optional_navigation_type_compensation_works_with_conditional_expression(bool async) @@ -6414,13 +7348,15 @@ public override async Task Optional_navigation_type_compensation_works_with_cond await base.Optional_navigation_type_compensation_works_with_conditional_expression(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE CASE - WHEN ""g"".""HasSoulPatch"" THEN 1 + WHEN "g"."HasSoulPatch" THEN 1 ELSE 0 -END"); +END +"""); } public override async Task Select_null_propagation_negative4(bool async) @@ -6428,10 +7364,12 @@ public override async Task Select_null_propagation_negative4(bool async) await base.Select_null_propagation_negative4(async); AssertSql( - @"SELECT (""g0"".""Nickname"" IS NOT NULL) AND (""g0"".""SquadId"" IS NOT NULL), ""g0"".""Nickname"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""HasSoulPatch"" -ORDER BY ""g0"".""Nickname"""); +""" +SELECT ("g0"."Nickname" IS NOT NULL) AND ("g0"."SquadId" IS NOT NULL), "g0"."Nickname" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."HasSoulPatch" +ORDER BY "g0"."Nickname" +"""); } public override async Task Null_propagation_optimization5(bool async) @@ -6439,15 +7377,17 @@ public override async Task Null_propagation_optimization5(bool async) await base.Null_propagation_optimization5(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN length(""g"".""LeaderNickname"") + WHEN "g"."LeaderNickname" IS NOT NULL THEN length("g"."LeaderNickname") ELSE NULL END = 5 AND (CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN length(""g"".""LeaderNickname"") + WHEN "g"."LeaderNickname" IS NOT NULL THEN length("g"."LeaderNickname") ELSE NULL -END IS NOT NULL)"); +END IS NOT NULL) +"""); } public override async Task Non_unicode_string_literal_is_used_for_non_unicode_column(bool async) @@ -6455,9 +7395,11 @@ public override async Task Non_unicode_string_literal_is_used_for_non_unicode_co await base.Non_unicode_string_literal_is_used_for_non_unicode_column(async); AssertSql( - @"SELECT ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Cities"" AS ""c"" -WHERE ""c"".""Location"" = 'Unknown'"); +""" +SELECT "c"."Name", "c"."Location", "c"."Nation" +FROM "Cities" AS "c" +WHERE "c"."Location" = 'Unknown' +"""); } public override async Task Include_with_join_multi_level(bool async) @@ -6465,12 +7407,14 @@ public override async Task Include_with_join_multi_level(bool async) await base.Include_with_join_multi_level(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"", ""t"".""Id"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Tags"" AS ""t"" ON ""g"".""SquadId"" = ""t"".""GearSquadId"" AND ""g"".""Nickname"" = ""t"".""GearNickName"" -INNER JOIN ""Cities"" AS ""c"" ON ""g"".""CityOfBirthName"" = ""c"".""Name"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""c"".""Name"" = ""g0"".""AssignedCityName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""c"".""Name"", ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "c"."Name", "c"."Location", "c"."Nation", "t"."Id", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +INNER JOIN "Tags" AS "t" ON "g"."SquadId" = "t"."GearSquadId" AND "g"."Nickname" = "t"."GearNickName" +INNER JOIN "Cities" AS "c" ON "g"."CityOfBirthName" = "c"."Name" +LEFT JOIN "Gears" AS "g0" ON "c"."Name" = "g0"."AssignedCityName" +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Id", "c"."Name", "g0"."Nickname" +"""); } public override async Task Include_with_join_collection1(bool async) @@ -6478,11 +7422,13 @@ public override async Task Include_with_join_collection1(bool async) await base.Include_with_join_collection1(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Tags"" AS ""t"" ON ""g"".""SquadId"" = ""t"".""GearSquadId"" AND ""g"".""Nickname"" = ""t"".""GearNickName"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +INNER JOIN "Tags" AS "t" ON "g"."SquadId" = "t"."GearSquadId" AND "g"."Nickname" = "t"."GearNickName" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Id" +"""); } public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool async) @@ -6490,13 +7436,15 @@ public override async Task Join_on_entity_qsre_keys_inner_key_is_navigation(bool await base.Join_on_entity_qsre_keys_inner_key_is_navigation(async); AssertSql( - @"SELECT ""c"".""Name"" AS ""CityName"", ""t"".""Nickname"" AS ""GearNickname"" -FROM ""Cities"" AS ""c"" +""" +SELECT "c"."Name" AS "CityName", "t"."Nickname" AS "GearNickname" +FROM "Cities" AS "c" INNER JOIN ( - SELECT ""g"".""Nickname"", ""c0"".""Name"" - FROM ""Gears"" AS ""g"" - LEFT JOIN ""Cities"" AS ""c0"" ON ""g"".""AssignedCityName"" = ""c0"".""Name"" -) AS ""t"" ON ""c"".""Name"" = ""t"".""Name"""); + SELECT "g"."Nickname", "c0"."Name" + FROM "Gears" AS "g" + LEFT JOIN "Cities" AS "c0" ON "g"."AssignedCityName" = "c0"."Name" +) AS "t" ON "c"."Name" = "t"."Name" +"""); } public override async Task Projecting_property_converted_to_nullable_into_member_access(bool async) @@ -6504,11 +7452,13 @@ public override async Task Projecting_property_converted_to_nullable_into_member await base.Projecting_property_converted_to_nullable_into_member_access(async); AssertSql( - @"SELECT ""g"".""Nickname"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -WHERE CAST(strftime('%m', ""t"".""IssueDate"") AS INTEGER) <> 5 OR (""t"".""IssueDate"" IS NULL) -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."Nickname" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +WHERE CAST(strftime('%m', "t"."IssueDate") AS INTEGER) <> 5 OR ("t"."IssueDate" IS NULL) +ORDER BY "g"."Nickname" +"""); } public override async Task Include_collection_OrderBy_aggregate(bool async) @@ -6516,14 +7466,16 @@ public override async Task Include_collection_OrderBy_aggregate(bool async) await base.Include_collection_OrderBy_aggregate(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' ORDER BY ( SELECT COUNT(*) - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName""), ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName"), "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Multiple_derived_included_on_one_method(bool async) @@ -6531,16 +7483,18 @@ public override async Task Multiple_derived_included_on_one_method(bool async) await base.Multiple_derived_included_on_one_method(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"", ""t"".""Name"", ""t"".""Discriminator"", ""t"".""LocustHordeId"", ""t"".""ThreatLevel"", ""t"".""ThreatLevelByte"", ""t"".""ThreatLevelNullableByte"", ""t"".""DefeatedByNickname"", ""t"".""DefeatedBySquadId"", ""t"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated", "t"."Name", "t"."Discriminator", "t"."LocustHordeId", "t"."ThreatLevel", "t"."ThreatLevelByte", "t"."ThreatLevelNullableByte", "t"."DefeatedByNickname", "t"."DefeatedBySquadId", "t"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""t"".""DefeatedBySquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Gears"" AS ""g0"" ON (""g"".""Nickname"" = ""g0"".""LeaderNickname"" OR ((""g"".""Nickname"" IS NULL) AND (""g0"".""LeaderNickname"" IS NULL))) AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""f"".""Id"", ""t"".""Name"", ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); + SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +LEFT JOIN "Gears" AS "g" ON "t"."DefeatedByNickname" = "g"."Nickname" AND "t"."DefeatedBySquadId" = "g"."SquadId" +LEFT JOIN "Gears" AS "g0" ON ("g"."Nickname" = "g0"."LeaderNickname" OR (("g"."Nickname" IS NULL) AND ("g0"."LeaderNickname" IS NULL))) AND "g"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "f"."Id", "t"."Name", "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Order_by_entity_qsre_composite_key(bool async) @@ -6548,10 +7502,12 @@ public override async Task Order_by_entity_qsre_composite_key(bool async) await base.Order_by_entity_qsre_composite_key(async); AssertSql( - @"SELECT ""w"".""Name"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Gears"" AS ""g"" ON ""w"".""OwnerFullName"" = ""g"".""FullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Id"""); +""" +SELECT "w"."Name" +FROM "Weapons" AS "w" +LEFT JOIN "Gears" AS "g" ON "w"."OwnerFullName" = "g"."FullName" +ORDER BY "g"."Nickname", "g"."SquadId", "w"."Id" +"""); } public override async Task Time_of_day_datetimeoffset(bool async) @@ -6559,8 +7515,10 @@ public override async Task Time_of_day_datetimeoffset(bool async) await base.Time_of_day_datetimeoffset(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Contains_on_collection_of_nullable_byte_subquery(bool async) @@ -6568,12 +7526,14 @@ public override async Task Contains_on_collection_of_nullable_byte_subquery(bool await base.Contains_on_collection_of_nullable_byte_subquery(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" WHERE EXISTS ( SELECT 1 - FROM ""LocustLeaders"" AS ""l0"" - WHERE ""l0"".""ThreatLevelNullableByte"" = ""l"".""ThreatLevelNullableByte"" OR ((""l0"".""ThreatLevelNullableByte"" IS NULL) AND (""l"".""ThreatLevelNullableByte"" IS NULL)))"); + FROM "LocustLeaders" AS "l0" + WHERE "l0"."ThreatLevelNullableByte" = "l"."ThreatLevelNullableByte" OR (("l0"."ThreatLevelNullableByte" IS NULL) AND ("l"."ThreatLevelNullableByte" IS NULL))) +"""); } public override async Task FirstOrDefault_over_int_compared_to_zero(bool async) @@ -6581,13 +7541,15 @@ public override async Task FirstOrDefault_over_int_compared_to_zero(bool async) await base.FirstOrDefault_over_int_compared_to_zero(async); AssertSql( - @"SELECT ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Name"" = 'Kilo' AND COALESCE(( - SELECT ""g"".""SquadId"" - FROM ""Gears"" AS ""g"" - WHERE ""s"".""Id"" = ""g"".""SquadId"" AND ""g"".""HasSoulPatch"" - LIMIT 1), 0) <> 0"); +""" +SELECT "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Name" = 'Kilo' AND COALESCE(( + SELECT "g"."SquadId" + FROM "Gears" AS "g" + WHERE "s"."Id" = "g"."SquadId" AND "g"."HasSoulPatch" + LIMIT 1), 0) <> 0 +"""); } public override async Task Select_ternary_operation_with_has_value_not_null(bool async) @@ -6595,12 +7557,14 @@ public override async Task Select_ternary_operation_with_has_value_not_null(bool await base.Select_ternary_operation_with_has_value_not_null(async); AssertSql( - @"SELECT ""w"".""Id"", CASE - WHEN (""w"".""AmmunitionType"" IS NOT NULL) AND ""w"".""AmmunitionType"" = 1 THEN 'Yes' +""" +SELECT "w"."Id", CASE + WHEN ("w"."AmmunitionType" IS NOT NULL) AND "w"."AmmunitionType" = 1 THEN 'Yes' ELSE 'No' -END AS ""IsCartridge"" -FROM ""Weapons"" AS ""w"" -WHERE (""w"".""AmmunitionType"" IS NOT NULL) AND ""w"".""AmmunitionType"" = 1"); +END AS "IsCartridge" +FROM "Weapons" AS "w" +WHERE ("w"."AmmunitionType" IS NOT NULL) AND "w"."AmmunitionType" = 1 +"""); } public override async Task Filter_on_subquery_projecting_one_value_type_from_empty_collection(bool async) @@ -6608,13 +7572,15 @@ public override async Task Filter_on_subquery_projecting_one_value_type_from_emp await base.Filter_on_subquery_projecting_one_value_type_from_empty_collection(async); AssertSql( - @"SELECT ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Name"" = 'Kilo' AND COALESCE(( - SELECT ""g"".""SquadId"" - FROM ""Gears"" AS ""g"" - WHERE ""s"".""Id"" = ""g"".""SquadId"" AND ""g"".""HasSoulPatch"" - LIMIT 1), 0) <> 0"); +""" +SELECT "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Name" = 'Kilo' AND COALESCE(( + SELECT "g"."SquadId" + FROM "Gears" AS "g" + WHERE "s"."Id" = "g"."SquadId" AND "g"."HasSoulPatch" + LIMIT 1), 0) <> 0 +"""); } public override async Task Include_on_derived_entity_with_cast(bool async) @@ -6622,10 +7588,12 @@ public override async Task Include_on_derived_entity_with_cast(bool async) await base.Include_on_derived_entity_with_cast(async); AssertSql( - @"SELECT ""f"".""Id"", ""f"".""CapitalName"", ""f"".""Discriminator"", ""f"".""Name"", ""f"".""ServerAddress"", ""f"".""CommanderName"", ""f"".""Eradicated"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"" -FROM ""Factions"" AS ""f"" -LEFT JOIN ""Cities"" AS ""c"" ON ""f"".""CapitalName"" = ""c"".""Name"" -ORDER BY ""f"".""Id"""); +""" +SELECT "f"."Id", "f"."CapitalName", "f"."Discriminator", "f"."Name", "f"."ServerAddress", "f"."CommanderName", "f"."Eradicated", "c"."Name", "c"."Location", "c"."Nation" +FROM "Factions" AS "f" +LEFT JOIN "Cities" AS "c" ON "f"."CapitalName" = "c"."Name" +ORDER BY "f"."Id" +"""); } public override async Task Select_subquery_projecting_multiple_constants_inside_anonymous(bool async) @@ -6633,17 +7601,19 @@ public override async Task Select_subquery_projecting_multiple_constants_inside_ await base.Select_subquery_projecting_multiple_constants_inside_anonymous(async); AssertSql( - @"SELECT ""s"".""Name"", ""t0"".""True1"", ""t0"".""False1"", ""t0"".""c"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Name", "t0"."True1", "t0"."False1", "t0"."c" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""t"".""True1"", ""t"".""False1"", ""t"".""c"", ""t"".""SquadId"" + SELECT "t"."True1", "t"."False1", "t"."c", "t"."SquadId" FROM ( - SELECT 1 AS ""True1"", 0 AS ""False1"", 1 AS ""c"", ""g"".""SquadId"", ROW_NUMBER() OVER(PARTITION BY ""g"".""SquadId"" ORDER BY ""g"".""Nickname"", ""g"".""SquadId"") AS ""row"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""HasSoulPatch"" - ) AS ""t"" - WHERE ""t"".""row"" <= 1 -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"""); + SELECT 1 AS "True1", 0 AS "False1", 1 AS "c", "g"."SquadId", ROW_NUMBER() OVER(PARTITION BY "g"."SquadId" ORDER BY "g"."Nickname", "g"."SquadId") AS "row" + FROM "Gears" AS "g" + WHERE "g"."HasSoulPatch" + ) AS "t" + WHERE "t"."row" <= 1 +) AS "t0" ON "s"."Id" = "t0"."SquadId" +"""); } public override async Task Where_nullable_enum_with_null_constant(bool async) @@ -6651,9 +7621,11 @@ public override async Task Where_nullable_enum_with_null_constant(bool async) await base.Where_nullable_enum_with_null_constant(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" IS NULL"); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" IS NULL +"""); } public override async Task Include_with_group_by_and_FirstOrDefault_gets_properly_applied(bool async) @@ -6661,22 +7633,24 @@ public override async Task Include_with_group_by_and_FirstOrDefault_gets_properl await base.Include_with_group_by_and_FirstOrDefault_gets_properly_applied(async); AssertSql( - @"SELECT ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""AssignedCityName"", ""t0"".""CityOfBirthName"", ""t0"".""Discriminator"", ""t0"".""FullName"", ""t0"".""HasSoulPatch"", ""t0"".""LeaderNickname"", ""t0"".""LeaderSquadId"", ""t0"".""Rank"", ""t0"".""Name"", ""t0"".""Location"", ""t0"".""Nation"" +""" +SELECT "t0"."Nickname", "t0"."SquadId", "t0"."AssignedCityName", "t0"."CityOfBirthName", "t0"."Discriminator", "t0"."FullName", "t0"."HasSoulPatch", "t0"."LeaderNickname", "t0"."LeaderSquadId", "t0"."Rank", "t0"."Name", "t0"."Location", "t0"."Nation" FROM ( - SELECT ""g"".""Rank"" - FROM ""Gears"" AS ""g"" - GROUP BY ""g"".""Rank"" -) AS ""t"" + SELECT "g"."Rank" + FROM "Gears" AS "g" + GROUP BY "g"."Rank" +) AS "t" LEFT JOIN ( - SELECT ""t1"".""Nickname"", ""t1"".""SquadId"", ""t1"".""AssignedCityName"", ""t1"".""CityOfBirthName"", ""t1"".""Discriminator"", ""t1"".""FullName"", ""t1"".""HasSoulPatch"", ""t1"".""LeaderNickname"", ""t1"".""LeaderSquadId"", ""t1"".""Rank"", ""t1"".""Name"", ""t1"".""Location"", ""t1"".""Nation"" + SELECT "t1"."Nickname", "t1"."SquadId", "t1"."AssignedCityName", "t1"."CityOfBirthName", "t1"."Discriminator", "t1"."FullName", "t1"."HasSoulPatch", "t1"."LeaderNickname", "t1"."LeaderSquadId", "t1"."Rank", "t1"."Name", "t1"."Location", "t1"."Nation" FROM ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""c"".""Name"", ""c"".""Location"", ""c"".""Nation"", ROW_NUMBER() OVER(PARTITION BY ""g0"".""Rank"" ORDER BY ""g0"".""Nickname"", ""g0"".""SquadId"", ""c"".""Name"") AS ""row"" - FROM ""Gears"" AS ""g0"" - INNER JOIN ""Cities"" AS ""c"" ON ""g0"".""CityOfBirthName"" = ""c"".""Name"" - WHERE ""g0"".""HasSoulPatch"" - ) AS ""t1"" - WHERE ""t1"".""row"" <= 1 -) AS ""t0"" ON ""t"".""Rank"" = ""t0"".""Rank"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "c"."Name", "c"."Location", "c"."Nation", ROW_NUMBER() OVER(PARTITION BY "g0"."Rank" ORDER BY "g0"."Nickname", "g0"."SquadId", "c"."Name") AS "row" + FROM "Gears" AS "g0" + INNER JOIN "Cities" AS "c" ON "g0"."CityOfBirthName" = "c"."Name" + WHERE "g0"."HasSoulPatch" + ) AS "t1" + WHERE "t1"."row" <= 1 +) AS "t0" ON "t"."Rank" = "t0"."Rank" +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate_negated_complex2(bool async) @@ -6684,13 +7658,15 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate_negated_complex2(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE NOT (CASE - WHEN NOT (""g"".""HasSoulPatch"") THEN 0 - ELSE ""g"".""HasSoulPatch"" -END)"); + WHEN NOT ("g"."HasSoulPatch") THEN 0 + ELSE "g"."HasSoulPatch" +END) +"""); } public override async Task Correlated_collections_basic_projecting_constant(bool async) @@ -6698,15 +7674,17 @@ public override async Task Correlated_collections_basic_projecting_constant(bool await base.Correlated_collections_basic_projecting_constant(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""c"", ""t"".""Id"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."c", "t"."Id" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT 'BFG' AS ""c"", ""w"".""Id"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" OR ""w"".""Name"" <> 'foo' OR (""w"".""Name"" IS NULL) -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); + SELECT 'BFG' AS "c", "w"."Id", "w"."OwnerFullName" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" OR "w"."Name" <> 'foo' OR ("w"."Name" IS NULL) +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Where_subquery_boolean_with_pushdown(bool async) @@ -6714,14 +7692,16 @@ public override async Task Where_subquery_boolean_with_pushdown(bool async) await base.Where_subquery_boolean_with_pushdown(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE ( - SELECT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" - LIMIT 1)"); + SELECT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" + LIMIT 1) +"""); } public override async Task Where_bitwise_or_enum(bool async) @@ -6729,9 +7709,11 @@ public override async Task Where_bitwise_or_enum(bool async) await base.Where_bitwise_or_enum(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" | 2) > 0"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE ("g"."Rank" | 2) > 0 +"""); } public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_inheritance_and_coalesce_result(bool async) @@ -6739,16 +7721,18 @@ public override async Task Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_i await base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_inheritance_and_coalesce_result(async); AssertSql( - @"SELECT ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"", ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank", "g"."Nickname", "g"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" - FROM ""Gears"" AS ""g0"" - WHERE ""g0"".""Discriminator"" = 'Officer' -) AS ""t"" ON ""g"".""LeaderNickname"" = ""t"".""Nickname"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""t"".""FullName"" = ""w"".""OwnerFullName"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""g"".""FullName"" = ""w0"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Nickname"", ""t"".""SquadId"", ""w"".""Id"""); + SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" + FROM "Gears" AS "g0" + WHERE "g0"."Discriminator" = 'Officer' +) AS "t" ON "g"."LeaderNickname" = "t"."Nickname" +LEFT JOIN "Weapons" AS "w" ON "t"."FullName" = "w"."OwnerFullName" +LEFT JOIN "Weapons" AS "w0" ON "g"."FullName" = "w0"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Nickname", "t"."SquadId", "w"."Id" +"""); } public override async Task Composite_key_entity_equal_null(bool async) @@ -6756,10 +7740,12 @@ public override async Task Composite_key_entity_equal_null(bool async) await base.Composite_key_entity_equal_null(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"" -WHERE ""l"".""Discriminator"" = 'LocustCommander' AND ((""g"".""Nickname"" IS NULL) OR (""g"".""SquadId"" IS NULL))"); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +WHERE "l"."Discriminator" = 'LocustCommander' AND (("g"."Nickname" IS NULL) OR ("g"."SquadId" IS NULL)) +"""); } public override async Task Coalesce_used_with_non_unicode_string_column_and_constant(bool async) @@ -6767,8 +7753,10 @@ public override async Task Coalesce_used_with_non_unicode_string_column_and_cons await base.Coalesce_used_with_non_unicode_string_column_and_constant(async); AssertSql( - @"SELECT COALESCE(""c"".""Location"", 'Unknown') -FROM ""Cities"" AS ""c"""); +""" +SELECT COALESCE("c"."Location", 'Unknown') +FROM "Cities" AS "c" +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(bool async) @@ -6776,15 +7764,17 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector(async); AssertSql( - @"@__isAutomatic_0='True' +""" +@__isAutomatic_0='True' -SELECT ""g"".""Nickname"", ""g"".""FullName"", ""t"".""Id"" IS NOT NULL AS ""Collection"" -FROM ""Gears"" AS ""g"" +SELECT "g"."Nickname", "g"."FullName", "t"."Id" IS NOT NULL AS "Collection" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" = @__isAutomatic_0 -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"""); + SELECT "w"."Id", "w"."OwnerFullName" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" = @__isAutomatic_0 +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +"""); } public override async Task Join_with_order_by_without_skip_or_take_nested(bool async) @@ -6792,10 +7782,12 @@ public override async Task Join_with_order_by_without_skip_or_take_nested(bool a await base.Join_with_order_by_without_skip_or_take_nested(async); AssertSql( - @"SELECT ""w"".""Name"", ""g"".""FullName"" -FROM ""Squads"" AS ""s"" -INNER JOIN ""Gears"" AS ""g"" ON ""s"".""Id"" = ""g"".""SquadId"" -INNER JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"""); +""" +SELECT "w"."Name", "g"."FullName" +FROM "Squads" AS "s" +INNER JOIN "Gears" AS "g" ON "s"."Id" = "g"."SquadId" +INNER JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +"""); } public override async Task Select_Where_Navigation(bool async) @@ -6803,10 +7795,12 @@ public override async Task Select_Where_Navigation(bool async) await base.Select_Where_Navigation(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""g"".""Nickname"" = 'Marcus'"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "g"."Nickname" = 'Marcus' +"""); } public override async Task Navigation_access_on_derived_entity_using_cast(bool async) @@ -6814,14 +7808,16 @@ public override async Task Navigation_access_on_derived_entity_using_cast(bool a await base.Navigation_access_on_derived_entity_using_cast(async); AssertSql( - @"SELECT ""f"".""Name"", ""t"".""ThreatLevel"" AS ""Threat"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Name", "t"."ThreatLevel" AS "Threat" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""ThreatLevel"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -ORDER BY ""f"".""Name"""); + SELECT "l"."Name", "l"."ThreatLevel" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +ORDER BY "f"."Name" +"""); } public override async Task Join_predicate_condition_equals_condition(bool async) @@ -6829,9 +7825,11 @@ public override async Task Join_predicate_condition_equals_condition(bool async) await base.Join_predicate_condition_equals_condition(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Weapons"" AS ""w"" ON ""w"".""SynergyWithId"" IS NOT NULL"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +INNER JOIN "Weapons" AS "w" ON "w"."SynergyWithId" IS NOT NULL +"""); } public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(bool async) @@ -6839,15 +7837,17 @@ public override async Task SelectMany_Where_DefaultIfEmpty_with_navigation_in_th await base.SelectMany_Where_DefaultIfEmpty_with_navigation_in_the_collection_selector_not_equal(async); AssertSql( - @"@__isAutomatic_0='True' +""" +@__isAutomatic_0='True' -SELECT ""g"".""Nickname"", ""g"".""FullName"", ""t"".""Id"" IS NOT NULL AS ""Collection"" -FROM ""Gears"" AS ""g"" +SELECT "g"."Nickname", "g"."FullName", "t"."Id" IS NOT NULL AS "Collection" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" <> @__isAutomatic_0 -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"""); + SELECT "w"."Id", "w"."OwnerFullName" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" <> @__isAutomatic_0 +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +"""); } public override async Task Correlated_collections_with_funky_orderby_complex_scenario2(bool async) @@ -6855,21 +7855,23 @@ public override async Task Correlated_collections_with_funky_orderby_complex_sce await base.Correlated_collections_with_funky_orderby_complex_scenario2(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t0"".""FullName"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""Id"", ""t0"".""Nickname0"", ""t0"".""SquadId0"", ""t0"".""Id0"", ""t0"".""Nickname00"", ""t0"".""HasSoulPatch"", ""t0"".""SquadId00"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t0"."FullName", "t0"."Nickname", "t0"."SquadId", "t0"."Id", "t0"."Nickname0", "t0"."SquadId0", "t0"."Id0", "t0"."Nickname00", "t0"."HasSoulPatch", "t0"."SquadId00" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""g0"".""FullName"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""t"".""Id"", ""t"".""Nickname"" AS ""Nickname0"", ""t"".""SquadId"" AS ""SquadId0"", ""t"".""Id0"", ""t"".""Nickname0"" AS ""Nickname00"", ""t"".""HasSoulPatch"", ""t"".""SquadId0"" AS ""SquadId00"", ""g0"".""HasSoulPatch"" AS ""HasSoulPatch0"", ""t"".""IsAutomatic"", ""t"".""Name"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"" - FROM ""Gears"" AS ""g0"" + SELECT "g0"."FullName", "g0"."Nickname", "g0"."SquadId", "t"."Id", "t"."Nickname" AS "Nickname0", "t"."SquadId" AS "SquadId0", "t"."Id0", "t"."Nickname0" AS "Nickname00", "t"."HasSoulPatch", "t"."SquadId0" AS "SquadId00", "g0"."HasSoulPatch" AS "HasSoulPatch0", "t"."IsAutomatic", "t"."Name", "g0"."LeaderNickname", "g0"."LeaderSquadId" + FROM "Gears" AS "g0" LEFT JOIN ( - SELECT ""w"".""Id"", ""g1"".""Nickname"", ""g1"".""SquadId"", ""s"".""Id"" AS ""Id0"", ""g2"".""Nickname"" AS ""Nickname0"", ""g2"".""HasSoulPatch"", ""g2"".""SquadId"" AS ""SquadId0"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"" - FROM ""Weapons"" AS ""w"" - LEFT JOIN ""Gears"" AS ""g1"" ON ""w"".""OwnerFullName"" = ""g1"".""FullName"" - LEFT JOIN ""Squads"" AS ""s"" ON ""g1"".""SquadId"" = ""s"".""Id"" - LEFT JOIN ""Gears"" AS ""g2"" ON ""s"".""Id"" = ""g2"".""SquadId"" - ) AS ""t"" ON ""g0"".""FullName"" = ""t"".""OwnerFullName"" -) AS ""t0"" ON ""g"".""Nickname"" = ""t0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t0"".""FullName"", ""t0"".""HasSoulPatch0"" DESC, ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""IsAutomatic"", ""t0"".""Name"" DESC, ""t0"".""Id"", ""t0"".""Nickname0"", ""t0"".""SquadId0"", ""t0"".""Id0"", ""t0"".""Nickname00"""); + SELECT "w"."Id", "g1"."Nickname", "g1"."SquadId", "s"."Id" AS "Id0", "g2"."Nickname" AS "Nickname0", "g2"."HasSoulPatch", "g2"."SquadId" AS "SquadId0", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName" + FROM "Weapons" AS "w" + LEFT JOIN "Gears" AS "g1" ON "w"."OwnerFullName" = "g1"."FullName" + LEFT JOIN "Squads" AS "s" ON "g1"."SquadId" = "s"."Id" + LEFT JOIN "Gears" AS "g2" ON "s"."Id" = "g2"."SquadId" + ) AS "t" ON "g0"."FullName" = "t"."OwnerFullName" +) AS "t0" ON "g"."Nickname" = "t0"."LeaderNickname" AND "g"."SquadId" = "t0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "g"."HasSoulPatch", "g"."LeaderNickname", "g"."FullName", "g"."Nickname", "g"."SquadId", "t0"."FullName", "t0"."HasSoulPatch0" DESC, "t0"."Nickname", "t0"."SquadId", "t0"."IsAutomatic", "t0"."Name" DESC, "t0"."Id", "t0"."Nickname0", "t0"."SquadId0", "t0"."Id0", "t0"."Nickname00" +"""); } public override async Task Where_count_subquery_without_collision(bool async) @@ -6877,12 +7879,14 @@ public override async Task Where_count_subquery_without_collision(bool async) await base.Where_count_subquery_without_collision(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE ( SELECT COUNT(*) - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"") = 2"); + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName") = 2 +"""); } public override async Task Enum_matching_take_value_gets_different_type_mapping(bool async) @@ -6890,13 +7894,15 @@ public override async Task Enum_matching_take_value_gets_different_type_mapping( await base.Enum_matching_take_value_gets_different_type_mapping(async); AssertSql( - @"@__value_1='1' +""" +@__value_1='1' @__p_0='1' -SELECT ""g"".""Rank"" & @__value_1 -FROM ""Gears"" AS ""g"" -ORDER BY ""g"".""Nickname"" -LIMIT @__p_0"); +SELECT "g"."Rank" & @__value_1 +FROM "Gears" AS "g" +ORDER BY "g"."Nickname" +LIMIT @__p_0 +"""); } public override async Task Group_by_nullable_property_HasValue_and_project_the_grouping_key(bool async) @@ -6904,12 +7910,14 @@ public override async Task Group_by_nullable_property_HasValue_and_project_the_g await base.Group_by_nullable_property_HasValue_and_project_the_grouping_key(async); AssertSql( - @"SELECT ""t"".""Key"" +""" +SELECT "t"."Key" FROM ( - SELECT ""w"".""SynergyWithId"" IS NOT NULL AS ""Key"" - FROM ""Weapons"" AS ""w"" -) AS ""t"" -GROUP BY ""t"".""Key"""); + SELECT "w"."SynergyWithId" IS NOT NULL AS "Key" + FROM "Weapons" AS "w" +) AS "t" +GROUP BY "t"."Key" +"""); } public override async Task Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let(bool async) @@ -6917,14 +7925,16 @@ public override async Task Query_with_complex_let_containing_ordering_and_filter await base.Query_with_complex_let_containing_ordering_and_filter_projecting_firstOrDefault_element_of_let(async); AssertSql( - @"SELECT ""g"".""Nickname"", ( - SELECT ""w"".""Name"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ""w"".""IsAutomatic"" - ORDER BY ""w"".""AmmunitionType"" DESC - LIMIT 1) AS ""WeaponName"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""Nickname"" <> 'Dom'"); +""" +SELECT "g"."Nickname", ( + SELECT "w"."Name" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND "w"."IsAutomatic" + ORDER BY "w"."AmmunitionType" DESC + LIMIT 1) AS "WeaponName" +FROM "Gears" AS "g" +WHERE "g"."Nickname" <> 'Dom' +"""); } public override async Task Subquery_is_lifted_from_additional_from_clause(bool async) @@ -6932,11 +7942,13 @@ public override async Task Subquery_is_lifted_from_additional_from_clause(bool a await base.Subquery_is_lifted_from_additional_from_clause(async); AssertSql( - @"SELECT ""g"".""FullName"" AS ""Name1"", ""g0"".""FullName"" AS ""Name2"" -FROM ""Gears"" AS ""g"" -CROSS JOIN ""Gears"" AS ""g0"" -WHERE ""g"".""HasSoulPatch"" AND NOT (""g0"".""HasSoulPatch"") -ORDER BY ""g"".""FullName"""); +""" +SELECT "g"."FullName" AS "Name1", "g0"."FullName" AS "Name2" +FROM "Gears" AS "g" +CROSS JOIN "Gears" AS "g0" +WHERE "g"."HasSoulPatch" AND NOT ("g0"."HasSoulPatch") +ORDER BY "g"."FullName" +"""); } public override async Task Contains_with_local_nullable_guid_list_closure(bool async) @@ -6944,9 +7956,11 @@ public override async Task Contains_with_local_nullable_guid_list_closure(bool a await base.Contains_with_local_nullable_guid_list_closure(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -WHERE ""t"".""Id"" IN ('D2C26679-562B-44D1-AB96-23D1775E0926', '23CBCF9B-CE14-45CF-AAFA-2C2667EBFDD3', 'AB1B82D7-88DB-42BD-A132-7EEF9AA68AF4')"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +WHERE "t"."Id" IN ('D2C26679-562B-44D1-AB96-23D1775E0926', '23CBCF9B-CE14-45CF-AAFA-2C2667EBFDD3', 'AB1B82D7-88DB-42BD-A132-7EEF9AA68AF4') +"""); } public override async Task Projecting_property_converted_to_nullable_with_addition_and_final_projection(bool async) @@ -6954,16 +7968,18 @@ public override async Task Projecting_property_converted_to_nullable_with_additi await base.Projecting_property_converted_to_nullable_with_addition_and_final_projection(async); AssertSql( - @"SELECT ""t"".""Note"", CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" +""" +SELECT "t"."Note", CASE + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL -END + 1 AS ""Value"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" +END + 1 AS "Value" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" WHERE CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""Nickname"" + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."Nickname" ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Correlated_collections_projection_of_collection_thru_navigation(bool async) @@ -6971,16 +7987,18 @@ public override async Task Correlated_collections_projection_of_collection_thru_ await base.Correlated_collections_projection_of_collection_thru_navigation(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""s"".""Id"", ""t"".""SquadId"", ""t"".""MissionId"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"" +""" +SELECT "g"."Nickname", "g"."SquadId", "s"."Id", "t"."SquadId", "t"."MissionId" +FROM "Gears" AS "g" +INNER JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" LEFT JOIN ( - SELECT ""s0"".""SquadId"", ""s0"".""MissionId"" - FROM ""SquadMissions"" AS ""s0"" - WHERE ""s0"".""MissionId"" <> 17 -) AS ""t"" ON ""s"".""Id"" = ""t"".""SquadId"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""s"".""Id"", ""t"".""SquadId"""); + SELECT "s0"."SquadId", "s0"."MissionId" + FROM "SquadMissions" AS "s0" + WHERE "s0"."MissionId" <> 17 +) AS "t" ON "s"."Id" = "t"."SquadId" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."FullName", "g"."Nickname", "g"."SquadId", "s"."Id", "t"."SquadId" +"""); } public override async Task Select_null_conditional_with_inheritance_negative(bool async) @@ -6988,11 +8006,13 @@ public override async Task Select_null_conditional_with_inheritance_negative(boo await base.Select_null_conditional_with_inheritance_negative(async); AssertSql( - @"SELECT CASE - WHEN ""f"".""CommanderName"" IS NOT NULL THEN ""f"".""Eradicated"" +""" +SELECT CASE + WHEN "f"."CommanderName" IS NOT NULL THEN "f"."Eradicated" ELSE NULL END -FROM ""Factions"" AS ""f"""); +FROM "Factions" AS "f" +"""); } public override async Task Optional_navigation_type_compensation_works_with_predicate2(bool async) @@ -7000,10 +8020,12 @@ public override async Task Optional_navigation_type_compensation_works_with_pred await base.Optional_navigation_type_compensation_works_with_predicate2(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""g"".""HasSoulPatch"""); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "g"."HasSoulPatch" +"""); } public override async Task Conditional_expression_with_test_being_simplified_to_constant_simple(bool async) @@ -7011,14 +8033,16 @@ public override async Task Conditional_expression_with_test_being_simplified_to_ await base.Conditional_expression_with_test_being_simplified_to_constant_simple(async); AssertSql( - @"@__prm_0='True' +""" +@__prm_0='True' -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE CASE - WHEN ""g"".""HasSoulPatch"" = @__prm_0 THEN 1 + WHEN "g"."HasSoulPatch" = @__prm_0 THEN 1 ELSE 0 -END"); +END +"""); } public override async Task OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(bool async) @@ -7026,15 +8050,17 @@ public override async Task OrderBy_same_expression_containing_IsNull_correctly_d await base.OrderBy_same_expression_containing_IsNull_correctly_deduplicates_the_ordering(async); AssertSql( - @"SELECT CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN length(""g"".""Nickname"") = 5 +""" +SELECT CASE + WHEN "g"."LeaderNickname" IS NOT NULL THEN length("g"."Nickname") = 5 ELSE NULL END -FROM ""Gears"" AS ""g"" +FROM "Gears" AS "g" ORDER BY CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN length(""g"".""Nickname"") = 5 + WHEN "g"."LeaderNickname" IS NOT NULL THEN length("g"."Nickname") = 5 ELSE NULL -END IS NOT NULL"); +END IS NOT NULL +"""); } public override async Task Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(bool async) @@ -7042,11 +8068,13 @@ public override async Task Enum_flags_closure_typed_as_underlying_type_generates await base.Enum_flags_closure_typed_as_underlying_type_generates_correct_parameter_type(async); AssertSql( - @"@__prm_0='133' +""" +@__prm_0='133' -SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE (@__prm_0 & ""g"".""Rank"") = ""g"".""Rank"""); +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE (@__prm_0 & "g"."Rank") = "g"."Rank" +"""); } public override async Task Include_with_join_and_inheritance2(bool async) @@ -7054,12 +8082,14 @@ public override async Task Include_with_join_and_inheritance2(bool async) await base.Include_with_join_and_inheritance2(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""t"".""Id"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Tags"" AS ""t"" ON ""g"".""SquadId"" = ""t"".""GearSquadId"" AND ""g"".""Nickname"" = ""t"".""GearNickName"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "t"."Id", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +INNER JOIN "Tags" AS "t" ON "g"."SquadId" = "t"."GearSquadId" AND "g"."Nickname" = "t"."GearNickName" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "g"."Nickname", "g"."SquadId", "t"."Id" +"""); } public override async Task Include_on_entity_that_is_not_present_in_final_projection_but_uses_TypeIs_instead(bool async) @@ -7067,8 +8097,10 @@ public override async Task Include_on_entity_that_is_not_present_in_final_projec await base.Include_on_entity_that_is_not_present_in_final_projection_but_uses_TypeIs_instead(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""Discriminator"" = 'Officer' AS ""IsOfficer"" -FROM ""Gears"" AS ""g"""); +""" +SELECT "g"."Nickname", "g"."Discriminator" = 'Officer' AS "IsOfficer" +FROM "Gears" AS "g" +"""); } public override async Task Select_comparison_with_null(bool async) @@ -7076,15 +8108,19 @@ public override async Task Select_comparison_with_null(bool async) await base.Select_comparison_with_null(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) -SELECT ""w"".""Id"", ""w"".""AmmunitionType"" = @__ammunitionType_0 AND (""w"".""AmmunitionType"" IS NOT NULL) AS ""Cartridge"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" = @__ammunitionType_0", +SELECT "w"."Id", "w"."AmmunitionType" = @__ammunitionType_0 AND ("w"."AmmunitionType" IS NOT NULL) AS "Cartridge" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" = @__ammunitionType_0 +""", // - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"" IS NULL AS ""Cartridge"" -FROM ""Weapons"" AS ""w"" -WHERE ""w"".""AmmunitionType"" IS NULL"); +""" +SELECT "w"."Id", "w"."AmmunitionType" IS NULL AS "Cartridge" +FROM "Weapons" AS "w" +WHERE "w"."AmmunitionType" IS NULL +"""); } public override async Task OfTypeNav2(bool async) @@ -7092,11 +8128,13 @@ public override async Task OfTypeNav2(bool async) await base.OfTypeNav2(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -LEFT JOIN ""Cities"" AS ""c"" ON ""g"".""AssignedCityName"" = ""c"".""Name"" -WHERE (""t"".""Note"" <> 'Foo' OR (""t"".""Note"" IS NULL)) AND ""g"".""Discriminator"" = 'Officer' AND (""c"".""Location"" <> 'Bar' OR (""c"".""Location"" IS NULL))"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +LEFT JOIN "Cities" AS "c" ON "g"."AssignedCityName" = "c"."Name" +WHERE ("t"."Note" <> 'Foo' OR ("t"."Note" IS NULL)) AND "g"."Discriminator" = 'Officer' AND ("c"."Location" <> 'Bar' OR ("c"."Location" IS NULL)) +"""); } public override async Task Correlated_collections_basic_projection(bool async) @@ -7104,15 +8142,17 @@ public override async Task Correlated_collections_basic_projection(bool async) await base.Correlated_collections_basic_projection(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""IsAutomatic"" OR ""w"".""Name"" <> 'foo' OR (""w"".""Name"" IS NULL) -) AS ""t"" ON ""g"".""FullName"" = ""t"".""OwnerFullName"" -WHERE ""g"".""Nickname"" <> 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "w"."IsAutomatic" OR "w"."Name" <> 'foo' OR ("w"."Name" IS NULL) +) AS "t" ON "g"."FullName" = "t"."OwnerFullName" +WHERE "g"."Nickname" <> 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Null_propagation_optimization4(bool async) @@ -7120,15 +8160,17 @@ public override async Task Null_propagation_optimization4(bool async) await base.Null_propagation_optimization4(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE CASE - WHEN ""g"".""LeaderNickname"" IS NULL THEN NULL - ELSE length(""g"".""LeaderNickname"") + WHEN "g"."LeaderNickname" IS NULL THEN NULL + ELSE length("g"."LeaderNickname") END = 5 AND (CASE - WHEN ""g"".""LeaderNickname"" IS NULL THEN NULL - ELSE length(""g"".""LeaderNickname"") -END IS NOT NULL)"); + WHEN "g"."LeaderNickname" IS NULL THEN NULL + ELSE length("g"."LeaderNickname") +END IS NOT NULL) +"""); } public override async Task Projecting_required_string_column_compared_to_null_parameter(bool async) @@ -7136,8 +8178,10 @@ public override async Task Projecting_required_string_column_compared_to_null_pa await base.Projecting_required_string_column_compared_to_null_parameter(async); AssertSql( - @"SELECT 0 -FROM ""Gears"" AS ""g"""); +""" +SELECT 0 +FROM "Gears" AS "g" +"""); } public override async Task Select_Where_Navigation_Null(bool async) @@ -7145,10 +8189,12 @@ public override async Task Select_Where_Navigation_Null(bool async) await base.Select_Where_Navigation_Null(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE (""g"".""Nickname"" IS NULL) OR (""g"".""SquadId"" IS NULL)"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE ("g"."Nickname" IS NULL) OR ("g"."SquadId" IS NULL) +"""); } public override async Task Where_subquery_distinct_firstordefault_boolean_with_pushdown(bool async) @@ -7156,17 +8202,19 @@ public override async Task Where_subquery_distinct_firstordefault_boolean_with_p await base.Where_subquery_distinct_firstordefault_boolean_with_pushdown(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""HasSoulPatch"" AND ( - SELECT ""t"".""IsAutomatic"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."HasSoulPatch" AND ( + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ) AS ""t"" - ORDER BY ""t"".""Id"" - LIMIT 1)"); + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ) AS "t" + ORDER BY "t"."Id" + LIMIT 1) +"""); } public override async Task Select_null_propagation_negative5(bool async) @@ -7174,10 +8222,12 @@ public override async Task Select_null_propagation_negative5(bool async) await base.Select_null_propagation_negative5(async); AssertSql( - @"SELECT (""g0"".""Nickname"" IS NOT NULL) AND (""g0"".""SquadId"" IS NOT NULL), ""g0"".""Nickname"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""HasSoulPatch"" -ORDER BY ""g0"".""Nickname"""); +""" +SELECT ("g0"."Nickname" IS NOT NULL) AND ("g0"."SquadId" IS NOT NULL), "g0"."Nickname" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."HasSoulPatch" +ORDER BY "g0"."Nickname" +"""); } public override async Task ThenInclude_collection_on_derived_after_base_reference(bool async) @@ -7185,11 +8235,13 @@ public override async Task ThenInclude_collection_on_derived_after_base_referenc await base.ThenInclude_collection_on_derived_after_base_reference(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""t"".""Id"", ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +ORDER BY "t"."Id", "g"."Nickname", "g"."SquadId" +"""); } public override async Task Project_collection_navigation_with_inheritance2(bool async) @@ -7197,16 +8249,18 @@ public override async Task Project_collection_navigation_with_inheritance2(bool await base.Project_collection_navigation_with_inheritance2(async); AssertSql( - @"SELECT ""f"".""Id"", ""t"".""Name"", ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Id", "t"."Name", "g"."Nickname", "g"."SquadId", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""t"".""DefeatedBySquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Gears"" AS ""g0"" ON (""g"".""Nickname"" = ""g0"".""LeaderNickname"" OR ((""g"".""Nickname"" IS NULL) AND (""g0"".""LeaderNickname"" IS NULL))) AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""f"".""Id"", ""t"".""Name"", ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); + SELECT "l"."Name", "l"."DefeatedByNickname", "l"."DefeatedBySquadId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +LEFT JOIN "Gears" AS "g" ON "t"."DefeatedByNickname" = "g"."Nickname" AND "t"."DefeatedBySquadId" = "g"."SquadId" +LEFT JOIN "Gears" AS "g0" ON ("g"."Nickname" = "g0"."LeaderNickname" OR (("g"."Nickname" IS NULL) AND ("g0"."LeaderNickname" IS NULL))) AND "g"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "f"."Id", "t"."Name", "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Checked_context_with_addition_does_not_fail(bool async) @@ -7214,9 +8268,11 @@ public override async Task Checked_context_with_addition_does_not_fail(bool asyn await base.Checked_context_with_addition_does_not_fail(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" -FROM ""LocustLeaders"" AS ""l"" -WHERE CAST(""l"".""ThreatLevel"" AS INTEGER) >= (5 + CAST(""l"".""ThreatLevel"" AS INTEGER))"); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" +FROM "LocustLeaders" AS "l" +WHERE CAST("l"."ThreatLevel" AS INTEGER) >= (5 + CAST("l"."ThreatLevel" AS INTEGER)) +"""); } public override async Task Concat_scalars_with_count(bool async) @@ -7224,14 +8280,16 @@ public override async Task Concat_scalars_with_count(bool async) await base.Concat_scalars_with_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( - SELECT ""g"".""Nickname"" - FROM ""Gears"" AS ""g"" + SELECT "g"."Nickname" + FROM "Gears" AS "g" UNION ALL - SELECT ""g0"".""FullName"" AS ""Nickname"" - FROM ""Gears"" AS ""g0"" -) AS ""t"""); + SELECT "g0"."FullName" AS "Nickname" + FROM "Gears" AS "g0" +) AS "t" +"""); } public override async Task Cast_ordered_subquery_to_base_type_using_typed_ToArray(bool async) @@ -7239,11 +8297,13 @@ public override async Task Cast_ordered_subquery_to_base_type_using_typed_ToArra await base.Cast_ordered_subquery_to_base_type_using_typed_ToArray(async); AssertSql( - @"SELECT ""c"".""Name"", ""g"".""CityOfBirthName"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Nickname"", ""g"".""Rank"", ""g"".""SquadId"" -FROM ""Cities"" AS ""c"" -LEFT JOIN ""Gears"" AS ""g"" ON ""c"".""Name"" = ""g"".""AssignedCityName"" -WHERE ""c"".""Name"" = 'Ephyra' -ORDER BY ""c"".""Name"", ""g"".""Nickname"" DESC"); +""" +SELECT "c"."Name", "g"."CityOfBirthName", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Nickname", "g"."Rank", "g"."SquadId" +FROM "Cities" AS "c" +LEFT JOIN "Gears" AS "g" ON "c"."Name" = "g"."AssignedCityName" +WHERE "c"."Name" = 'Ephyra' +ORDER BY "c"."Name", "g"."Nickname" DESC +"""); } public override async Task TimeSpan_Milliseconds(bool async) @@ -7251,8 +8311,10 @@ public override async Task TimeSpan_Milliseconds(bool async) await base.TimeSpan_Milliseconds(async); AssertSql( - @"SELECT ""m"".""Duration"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Duration" +FROM "Missions" AS "m" +"""); } public override async Task Double_order_by_on_is_null(bool async) @@ -7260,10 +8322,12 @@ public override async Task Double_order_by_on_is_null(bool async) await base.Double_order_by_on_is_null(async); AssertSql( - @"SELECT ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -ORDER BY ""w0"".""Name"" IS NULL"); +""" +SELECT "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +ORDER BY "w0"."Name" IS NULL +"""); } public override async Task Select_ternary_operation_multiple_conditions_2(bool async) @@ -7271,11 +8335,13 @@ public override async Task Select_ternary_operation_multiple_conditions_2(bool a await base.Select_ternary_operation_multiple_conditions_2(async); AssertSql( - @"SELECT ""w"".""Id"", CASE - WHEN NOT (""w"".""IsAutomatic"") AND ""w"".""SynergyWithId"" = 1 THEN 'Yes' +""" +SELECT "w"."Id", CASE + WHEN NOT ("w"."IsAutomatic") AND "w"."SynergyWithId" = 1 THEN 'Yes' ELSE 'No' -END AS ""IsCartridge"" -FROM ""Weapons"" AS ""w"""); +END AS "IsCartridge" +FROM "Weapons" AS "w" +"""); } public override async Task Select_subquery_projecting_single_constant_inside_anonymous(bool async) @@ -7283,17 +8349,19 @@ public override async Task Select_subquery_projecting_single_constant_inside_ano await base.Select_subquery_projecting_single_constant_inside_anonymous(async); AssertSql( - @"SELECT ""s"".""Name"", ""t0"".""One"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Name", "t0"."One" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""t"".""One"", ""t"".""SquadId"" + SELECT "t"."One", "t"."SquadId" FROM ( - SELECT 1 AS ""One"", ""g"".""SquadId"", ROW_NUMBER() OVER(PARTITION BY ""g"".""SquadId"" ORDER BY ""g"".""Nickname"", ""g"".""SquadId"") AS ""row"" - FROM ""Gears"" AS ""g"" - WHERE ""g"".""HasSoulPatch"" - ) AS ""t"" - WHERE ""t"".""row"" <= 1 -) AS ""t0"" ON ""s"".""Id"" = ""t0"".""SquadId"""); + SELECT 1 AS "One", "g"."SquadId", ROW_NUMBER() OVER(PARTITION BY "g"."SquadId" ORDER BY "g"."Nickname", "g"."SquadId") AS "row" + FROM "Gears" AS "g" + WHERE "g"."HasSoulPatch" + ) AS "t" + WHERE "t"."row" <= 1 +) AS "t0" ON "s"."Id" = "t0"."SquadId" +"""); } public override async Task Null_propagation_optimization1(bool async) @@ -7301,9 +8369,11 @@ public override async Task Null_propagation_optimization1(bool async) await base.Null_propagation_optimization1(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -WHERE ""g"".""LeaderNickname"" = 'Marcus' AND (""g"".""LeaderNickname"" IS NOT NULL)"); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +WHERE "g"."LeaderNickname" = 'Marcus' AND ("g"."LeaderNickname" IS NOT NULL) +"""); } public override async Task Project_collection_navigation_with_inheritance3(bool async) @@ -7311,16 +8381,18 @@ public override async Task Project_collection_navigation_with_inheritance3(bool await base.Project_collection_navigation_with_inheritance3(async); AssertSql( - @"SELECT ""f"".""Id"", ""t"".""Name"", ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Factions"" AS ""f"" +""" +SELECT "f"."Id", "t"."Name", "g"."Nickname", "g"."SquadId", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Factions" AS "f" LEFT JOIN ( - SELECT ""l"".""Name"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" ON ""f"".""CommanderName"" = ""t"".""Name"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""t"".""DefeatedBySquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Gears"" AS ""g0"" ON (""g"".""Nickname"" = ""g0"".""LeaderNickname"" OR ((""g"".""Nickname"" IS NULL) AND (""g0"".""LeaderNickname"" IS NULL))) AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""f"".""Id"", ""t"".""Name"", ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); + SELECT "l"."Name", "l"."DefeatedByNickname", "l"."DefeatedBySquadId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" ON "f"."CommanderName" = "t"."Name" +LEFT JOIN "Gears" AS "g" ON "t"."DefeatedByNickname" = "g"."Nickname" AND "t"."DefeatedBySquadId" = "g"."SquadId" +LEFT JOIN "Gears" AS "g0" ON ("g"."Nickname" = "g0"."LeaderNickname" OR (("g"."Nickname" IS NULL) AND ("g0"."LeaderNickname" IS NULL))) AND "g"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "f"."Id", "t"."Name", "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Include_using_alternate_key(bool async) @@ -7328,11 +8400,13 @@ public override async Task Include_using_alternate_key(bool async) await base.Include_using_alternate_key(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -WHERE ""g"".""Nickname"" = 'Marcus' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +WHERE "g"."Nickname" = 'Marcus' +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Comparing_two_collection_navigations_composite_key(bool async) @@ -7340,11 +8414,13 @@ public override async Task Comparing_two_collection_navigations_composite_key(bo await base.Comparing_two_collection_navigations_composite_key(async); AssertSql( - @"SELECT ""g"".""Nickname"" AS ""Nickname1"", ""g0"".""Nickname"" AS ""Nickname2"" -FROM ""Gears"" AS ""g"" -CROSS JOIN ""Gears"" AS ""g0"" -WHERE ""g"".""Nickname"" = ""g0"".""Nickname"" AND ""g"".""SquadId"" = ""g0"".""SquadId"" -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."Nickname" AS "Nickname1", "g0"."Nickname" AS "Nickname2" +FROM "Gears" AS "g" +CROSS JOIN "Gears" AS "g0" +WHERE "g"."Nickname" = "g0"."Nickname" AND "g"."SquadId" = "g0"."SquadId" +ORDER BY "g"."Nickname" +"""); } public override async Task Include_with_projection_of_unmapped_property_still_gets_applied(bool async) @@ -7352,10 +8428,12 @@ public override async Task Include_with_projection_of_unmapped_property_still_ge await base.Include_with_projection_of_unmapped_property_still_gets_applied(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId" +"""); } public override async Task Where_subquery_distinct_lastordefault_boolean(bool async) @@ -7363,18 +8441,20 @@ public override async Task Where_subquery_distinct_lastordefault_boolean(bool as await base.Where_subquery_distinct_lastordefault_boolean(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE NOT (( - SELECT ""t"".""IsAutomatic"" + SELECT "t"."IsAutomatic" FROM ( - SELECT DISTINCT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ) AS ""t"" - ORDER BY ""t"".""Id"" DESC + SELECT DISTINCT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ) AS "t" + ORDER BY "t"."Id" DESC LIMIT 1)) -ORDER BY ""g"".""Nickname"""); +ORDER BY "g"."Nickname" +"""); } public override async Task Select_null_propagation_negative2(bool async) @@ -7382,12 +8462,14 @@ public override async Task Select_null_propagation_negative2(bool async) await base.Select_null_propagation_negative2(async); AssertSql( - @"SELECT CASE - WHEN ""g"".""LeaderNickname"" IS NOT NULL THEN ""g0"".""LeaderNickname"" +""" +SELECT CASE + WHEN "g"."LeaderNickname" IS NOT NULL THEN "g0"."LeaderNickname" ELSE NULL END -FROM ""Gears"" AS ""g"" -CROSS JOIN ""Gears"" AS ""g0"""); +FROM "Gears" AS "g" +CROSS JOIN "Gears" AS "g0" +"""); } public override async Task Correlated_collections_nested_with_custom_ordering(bool async) @@ -7395,20 +8477,22 @@ public override async Task Correlated_collections_nested_with_custom_ordering(bo await base.Correlated_collections_nested_with_custom_ordering(async); AssertSql( - @"SELECT ""g"".""FullName"", ""g"".""Nickname"", ""g"".""SquadId"", ""t0"".""FullName"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""Id"", ""t0"".""AmmunitionType"", ""t0"".""IsAutomatic"", ""t0"".""Name"", ""t0"".""OwnerFullName"", ""t0"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."FullName", "g"."Nickname", "g"."SquadId", "t0"."FullName", "t0"."Nickname", "t0"."SquadId", "t0"."Id", "t0"."AmmunitionType", "t0"."IsAutomatic", "t0"."Name", "t0"."OwnerFullName", "t0"."SynergyWithId" +FROM "Gears" AS "g" LEFT JOIN ( - SELECT ""g0"".""FullName"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"", ""g0"".""Rank"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"" - FROM ""Gears"" AS ""g0"" + SELECT "g0"."FullName", "g0"."Nickname", "g0"."SquadId", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId", "g0"."Rank", "g0"."LeaderNickname", "g0"."LeaderSquadId" + FROM "Gears" AS "g0" LEFT JOIN ( - SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Weapons"" AS ""w"" - WHERE ""w"".""Name"" <> 'Bar' OR (""w"".""Name"" IS NULL) - ) AS ""t"" ON ""g0"".""FullName"" = ""t"".""OwnerFullName"" - WHERE ""g0"".""FullName"" <> 'Foo' -) AS ""t0"" ON ""g"".""Nickname"" = ""t0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""t0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""g"".""HasSoulPatch"" DESC, ""g"".""Nickname"", ""g"".""SquadId"", ""t0"".""Rank"", ""t0"".""Nickname"", ""t0"".""SquadId"", ""t0"".""IsAutomatic"""); + SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Weapons" AS "w" + WHERE "w"."Name" <> 'Bar' OR ("w"."Name" IS NULL) + ) AS "t" ON "g0"."FullName" = "t"."OwnerFullName" + WHERE "g0"."FullName" <> 'Foo' +) AS "t0" ON "g"."Nickname" = "t0"."LeaderNickname" AND "g"."SquadId" = "t0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "g"."HasSoulPatch" DESC, "g"."Nickname", "g"."SquadId", "t0"."Rank", "t0"."Nickname", "t0"."SquadId", "t0"."IsAutomatic" +"""); } public override async Task Include_collection_on_derived_type_using_lambda(bool async) @@ -7416,10 +8500,12 @@ public override async Task Include_collection_on_derived_type_using_lambda(bool await base.Include_collection_on_derived_type_using_lambda(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(bool async) @@ -7427,12 +8513,14 @@ public override async Task Select_Where_Navigation_Scalar_Equals_Navigation_Scal await base.Select_Where_Navigation_Scalar_Equals_Navigation_Scalar(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"", ""t0"".""Id"", ""t0"".""GearNickName"", ""t0"".""GearSquadId"", ""t0"".""IssueDate"", ""t0"".""Note"" -FROM ""Tags"" AS ""t"" -CROSS JOIN ""Tags"" AS ""t0"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""t0"".""GearNickName"" = ""g0"".""Nickname"" AND ""t0"".""GearSquadId"" = ""g0"".""SquadId"" -WHERE ""g"".""Nickname"" = ""g0"".""Nickname"" OR ((""g"".""Nickname"" IS NULL) AND (""g0"".""Nickname"" IS NULL))"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note", "t0"."Id", "t0"."GearNickName", "t0"."GearSquadId", "t0"."IssueDate", "t0"."Note" +FROM "Tags" AS "t" +CROSS JOIN "Tags" AS "t0" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Gears" AS "g0" ON "t0"."GearNickName" = "g0"."Nickname" AND "t0"."GearSquadId" = "g0"."SquadId" +WHERE "g"."Nickname" = "g0"."Nickname" OR (("g"."Nickname" IS NULL) AND ("g0"."Nickname" IS NULL)) +"""); } public override async Task Conditional_with_conditions_evaluating_to_false_gets_optimized(bool async) @@ -7440,8 +8528,10 @@ public override async Task Conditional_with_conditions_evaluating_to_false_gets_ await base.Conditional_with_conditions_evaluating_to_false_gets_optimized(async); AssertSql( - @"SELECT ""g"".""FullName"" -FROM ""Gears"" AS ""g"""); +""" +SELECT "g"."FullName" +FROM "Gears" AS "g" +"""); } public override async Task Order_by_entity_qsre_with_other_orderbys(bool async) @@ -7449,11 +8539,13 @@ public override async Task Order_by_entity_qsre_with_other_orderbys(bool async) await base.Order_by_entity_qsre_with_other_orderbys(async); AssertSql( - @"SELECT ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" -FROM ""Weapons"" AS ""w"" -LEFT JOIN ""Gears"" AS ""g"" ON ""w"".""OwnerFullName"" = ""g"".""FullName"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""w"".""SynergyWithId"" = ""w0"".""Id"" -ORDER BY ""w"".""IsAutomatic"", ""g"".""Nickname"" DESC, ""g"".""SquadId"" DESC, ""w0"".""Id"", ""w"".""Name"""); +""" +SELECT "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" +FROM "Weapons" AS "w" +LEFT JOIN "Gears" AS "g" ON "w"."OwnerFullName" = "g"."FullName" +LEFT JOIN "Weapons" AS "w0" ON "w"."SynergyWithId" = "w0"."Id" +ORDER BY "w"."IsAutomatic", "g"."Nickname" DESC, "g"."SquadId" DESC, "w0"."Id", "w"."Name" +"""); } public override async Task GroupBy_Select_sum(bool async) @@ -7461,9 +8553,11 @@ public override async Task GroupBy_Select_sum(bool async) await base.GroupBy_Select_sum(async); AssertSql( - @"SELECT COALESCE(SUM(""m"".""Rating""), 0.0) -FROM ""Missions"" AS ""m"" -GROUP BY ""m"".""CodeName"""); +""" +SELECT COALESCE(SUM("m"."Rating"), 0.0) +FROM "Missions" AS "m" +GROUP BY "m"."CodeName" +"""); } public override async Task Join_on_entity_qsre_keys_composite_key(bool async) @@ -7471,9 +8565,11 @@ public override async Task Join_on_entity_qsre_keys_composite_key(bool async) await base.Join_on_entity_qsre_keys_composite_key(async); AssertSql( - @"SELECT ""g"".""FullName"" AS ""GearName1"", ""g0"".""FullName"" AS ""GearName2"" -FROM ""Gears"" AS ""g"" -INNER JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""Nickname"" AND ""g"".""SquadId"" = ""g0"".""SquadId"""); +""" +SELECT "g"."FullName" AS "GearName1", "g0"."FullName" AS "GearName2" +FROM "Gears" AS "g" +INNER JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."Nickname" AND "g"."SquadId" = "g0"."SquadId" +"""); } public override async Task Select_null_propagation_optimization9(bool async) @@ -7481,8 +8577,10 @@ public override async Task Select_null_propagation_optimization9(bool async) await base.Select_null_propagation_optimization9(async); AssertSql( - @"SELECT length(""g"".""FullName"") -FROM ""Gears"" AS ""g"""); +""" +SELECT length("g"."FullName") +FROM "Gears" AS "g" +"""); } public override async Task Include_with_complex_order_by(bool async) @@ -7490,14 +8588,16 @@ public override async Task Include_with_complex_order_by(bool async) await base.Include_with_complex_order_by(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w0"".""Id"", ""w0"".""AmmunitionType"", ""w0"".""IsAutomatic"", ""w0"".""Name"", ""w0"".""OwnerFullName"", ""w0"".""SynergyWithId"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Weapons"" AS ""w0"" ON ""g"".""FullName"" = ""w0"".""OwnerFullName"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w0"."Id", "w0"."AmmunitionType", "w0"."IsAutomatic", "w0"."Name", "w0"."OwnerFullName", "w0"."SynergyWithId" +FROM "Gears" AS "g" +LEFT JOIN "Weapons" AS "w0" ON "g"."FullName" = "w0"."OwnerFullName" ORDER BY ( - SELECT ""w"".""Name"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" AND ('Gnasher' = '' OR instr(""w"".""Name"", 'Gnasher') > 0) - LIMIT 1), ""g"".""Nickname"", ""g"".""SquadId"""); + SELECT "w"."Name" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" AND ('Gnasher' = '' OR instr("w"."Name", 'Gnasher') > 0) + LIMIT 1), "g"."Nickname", "g"."SquadId" +"""); } public override async Task Multiple_includes_with_client_method_around_entity_and_also_projecting_included_collection() @@ -7505,15 +8605,17 @@ public override async Task Multiple_includes_with_client_method_around_entity_an await base.Multiple_includes_with_client_method_around_entity_and_also_projecting_included_collection(); AssertSql( - @"SELECT ""s"".""Name"", ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""t"".""Nickname"", ""t"".""SquadId"", ""t"".""AssignedCityName"", ""t"".""CityOfBirthName"", ""t"".""Discriminator"", ""t"".""FullName"", ""t"".""HasSoulPatch"", ""t"".""LeaderNickname"", ""t"".""LeaderSquadId"", ""t"".""Rank"", ""t"".""Id"", ""t"".""AmmunitionType"", ""t"".""IsAutomatic"", ""t"".""Name"", ""t"".""OwnerFullName"", ""t"".""SynergyWithId"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Name", "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "t"."Nickname", "t"."SquadId", "t"."AssignedCityName", "t"."CityOfBirthName", "t"."Discriminator", "t"."FullName", "t"."HasSoulPatch", "t"."LeaderNickname", "t"."LeaderSquadId", "t"."Rank", "t"."Id", "t"."AmmunitionType", "t"."IsAutomatic", "t"."Name", "t"."OwnerFullName", "t"."SynergyWithId" +FROM "Squads" AS "s" LEFT JOIN ( - SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"" - FROM ""Gears"" AS ""g"" - LEFT JOIN ""Weapons"" AS ""w"" ON ""g"".""FullName"" = ""w"".""OwnerFullName"" -) AS ""t"" ON ""s"".""Id"" = ""t"".""SquadId"" -WHERE ""s"".""Name"" = 'Delta' -ORDER BY ""s"".""Id"", ""t"".""Nickname"", ""t"".""SquadId"""); + SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId" + FROM "Gears" AS "g" + LEFT JOIN "Weapons" AS "w" ON "g"."FullName" = "w"."OwnerFullName" +) AS "t" ON "s"."Id" = "t"."SquadId" +WHERE "s"."Name" = 'Delta' +ORDER BY "s"."Id", "t"."Nickname", "t"."SquadId" +"""); } public override async Task Select_Where_Navigation_Equals_Navigation(bool async) @@ -7521,12 +8623,14 @@ public override async Task Select_Where_Navigation_Equals_Navigation(bool async) await base.Select_Where_Navigation_Equals_Navigation(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"", ""t0"".""Id"", ""t0"".""GearNickName"", ""t0"".""GearSquadId"", ""t0"".""IssueDate"", ""t0"".""Note"" -FROM ""Tags"" AS ""t"" -CROSS JOIN ""Tags"" AS ""t0"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""t0"".""GearNickName"" = ""g0"".""Nickname"" AND ""t0"".""GearSquadId"" = ""g0"".""SquadId"" -WHERE (""g"".""Nickname"" = ""g0"".""Nickname"" OR ((""g"".""Nickname"" IS NULL) AND (""g0"".""Nickname"" IS NULL))) AND (""g"".""SquadId"" = ""g0"".""SquadId"" OR ((""g"".""SquadId"" IS NULL) AND (""g0"".""SquadId"" IS NULL)))"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note", "t0"."Id", "t0"."GearNickName", "t0"."GearSquadId", "t0"."IssueDate", "t0"."Note" +FROM "Tags" AS "t" +CROSS JOIN "Tags" AS "t0" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +LEFT JOIN "Gears" AS "g0" ON "t0"."GearNickName" = "g0"."Nickname" AND "t0"."GearSquadId" = "g0"."SquadId" +WHERE ("g"."Nickname" = "g0"."Nickname" OR (("g"."Nickname" IS NULL) AND ("g0"."Nickname" IS NULL))) AND ("g"."SquadId" = "g0"."SquadId" OR (("g"."SquadId" IS NULL) AND ("g0"."SquadId" IS NULL))) +"""); } public override async Task Complex_GroupBy_after_set_operator_using_result_selector(bool async) @@ -7534,23 +8638,25 @@ public override async Task Complex_GroupBy_after_set_operator_using_result_selec await base.Complex_GroupBy_after_set_operator_using_result_selector(async); AssertSql( - @"SELECT ""t"".""Name"", ""t"".""Count"", COALESCE(SUM(""t"".""Count""), 0) AS ""Sum"" +""" +SELECT "t"."Name", "t"."Count", COALESCE(SUM("t"."Count"), 0) AS "Sum" FROM ( - SELECT ""c"".""Name"", ( + SELECT "c"."Name", ( SELECT COUNT(*) - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"") AS ""Count"" - FROM ""Gears"" AS ""g"" - LEFT JOIN ""Cities"" AS ""c"" ON ""g"".""AssignedCityName"" = ""c"".""Name"" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName") AS "Count" + FROM "Gears" AS "g" + LEFT JOIN "Cities" AS "c" ON "g"."AssignedCityName" = "c"."Name" UNION ALL - SELECT ""c0"".""Name"", ( + SELECT "c0"."Name", ( SELECT COUNT(*) - FROM ""Weapons"" AS ""w0"" - WHERE ""g0"".""FullName"" = ""w0"".""OwnerFullName"") AS ""Count"" - FROM ""Gears"" AS ""g0"" - INNER JOIN ""Cities"" AS ""c0"" ON ""g0"".""CityOfBirthName"" = ""c0"".""Name"" -) AS ""t"" -GROUP BY ""t"".""Name"", ""t"".""Count"""); + FROM "Weapons" AS "w0" + WHERE "g0"."FullName" = "w0"."OwnerFullName") AS "Count" + FROM "Gears" AS "g0" + INNER JOIN "Cities" AS "c0" ON "g0"."CityOfBirthName" = "c0"."Name" +) AS "t" +GROUP BY "t"."Name", "t"."Count" +"""); } public override async Task Optional_navigation_type_compensation_works_with_projection(bool async) @@ -7558,10 +8664,12 @@ public override async Task Optional_navigation_type_compensation_works_with_proj await base.Optional_navigation_type_compensation_works_with_projection(async); AssertSql( - @"SELECT ""g"".""SquadId"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL)"); +""" +SELECT "g"."SquadId" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL) +"""); } public override async Task Cast_to_derived_type_causes_client_eval(bool async) @@ -7569,8 +8677,10 @@ public override async Task Cast_to_derived_type_causes_client_eval(bool async) await base.Cast_to_derived_type_causes_client_eval(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +"""); } public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result2() @@ -7578,11 +8688,13 @@ public override void Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesc base.Include_on_GroupJoin_SelectMany_DefaultIfEmpty_with_coalesce_result2(); AssertSql( - @"SELECT ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"", ""g"".""Nickname"", ""g"".""SquadId"", ""w"".""Id"", ""w"".""AmmunitionType"", ""w"".""IsAutomatic"", ""w"".""Name"", ""w"".""OwnerFullName"", ""w"".""SynergyWithId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""LeaderNickname"" = ""g0"".""Nickname"" -LEFT JOIN ""Weapons"" AS ""w"" ON ""g0"".""FullName"" = ""w"".""OwnerFullName"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"", ""g0"".""SquadId"""); +""" +SELECT "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank", "g"."Nickname", "g"."SquadId", "w"."Id", "w"."AmmunitionType", "w"."IsAutomatic", "w"."Name", "w"."OwnerFullName", "w"."SynergyWithId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."LeaderNickname" = "g0"."Nickname" +LEFT JOIN "Weapons" AS "w" ON "g0"."FullName" = "w"."OwnerFullName" +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname", "g0"."SquadId" +"""); } public override async Task Select_conditional_with_anonymous_types(bool async) @@ -7590,9 +8702,11 @@ public override async Task Select_conditional_with_anonymous_types(bool async) await base.Select_conditional_with_anonymous_types(async); AssertSql( - @"SELECT ""g"".""LeaderNickname"" IS NOT NULL, ""g"".""Nickname"", ""g"".""FullName"" -FROM ""Gears"" AS ""g"" -ORDER BY ""g"".""Nickname"""); +""" +SELECT "g"."LeaderNickname" IS NOT NULL, "g"."Nickname", "g"."FullName" +FROM "Gears" AS "g" +ORDER BY "g"."Nickname" +"""); } public override async Task Include_collection_with_complex_OrderBy2(bool async) @@ -7600,16 +8714,18 @@ public override async Task Include_collection_with_complex_OrderBy2(bool async) await base.Include_collection_with_complex_OrderBy2(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' ORDER BY ( - SELECT ""w"".""IsAutomatic"" - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName"" - ORDER BY ""w"".""Id"" - LIMIT 1), ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); + SELECT "w"."IsAutomatic" + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName" + ORDER BY "w"."Id" + LIMIT 1), "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task Select_Where_Navigation_Included(bool async) @@ -7617,10 +8733,12 @@ public override async Task Select_Where_Navigation_Included(bool async) await base.Select_Where_Navigation_Included(async); AssertSql( - @"SELECT ""t"".""Id"", ""t"".""GearNickName"", ""t"".""GearSquadId"", ""t"".""IssueDate"", ""t"".""Note"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""g"".""Nickname"" = 'Marcus'"); +""" +SELECT "t"."Id", "t"."GearNickName", "t"."GearSquadId", "t"."IssueDate", "t"."Note", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "g"."Nickname" = 'Marcus' +"""); } public override async Task Optional_navigation_type_compensation_works_with_list_initializers(bool async) @@ -7628,11 +8746,13 @@ public override async Task Optional_navigation_type_compensation_works_with_list await base.Optional_navigation_type_compensation_works_with_list_initializers(async); AssertSql( - @"SELECT ""g"".""SquadId"", ""g"".""SquadId"" + 1 -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"" -WHERE ""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL) -ORDER BY ""t"".""Note"""); +""" +SELECT "g"."SquadId", "g"."SquadId" + 1 +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +WHERE "t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL) +ORDER BY "t"."Note" +"""); } public override async Task Projecting_property_converted_to_nullable_with_conditional(bool async) @@ -7640,15 +8760,17 @@ public override async Task Projecting_property_converted_to_nullable_with_condit await base.Projecting_property_converted_to_nullable_with_conditional(async); AssertSql( - @"SELECT CASE - WHEN ""t"".""Note"" <> 'K.I.A.' OR (""t"".""Note"" IS NULL) THEN CASE - WHEN ""t"".""GearNickName"" IS NOT NULL THEN ""g"".""SquadId"" +""" +SELECT CASE + WHEN "t"."Note" <> 'K.I.A.' OR ("t"."Note" IS NULL) THEN CASE + WHEN "t"."GearNickName" IS NOT NULL THEN "g"."SquadId" ELSE NULL END ELSE -1 END -FROM ""Tags"" AS ""t"" -LEFT JOIN ""Gears"" AS ""g"" ON ""t"".""GearNickName"" = ""g"".""Nickname"" AND ""t"".""GearSquadId"" = ""g"".""SquadId"""); +FROM "Tags" AS "t" +LEFT JOIN "Gears" AS "g" ON "t"."GearNickName" = "g"."Nickname" AND "t"."GearSquadId" = "g"."SquadId" +"""); } public override async Task All_with_optional_navigation_is_translated_to_sql(bool async) @@ -7656,11 +8778,13 @@ public override async Task All_with_optional_navigation_is_translated_to_sql(boo await base.All_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT NOT EXISTS ( +""" +SELECT NOT EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g"" - LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" - WHERE ""t"".""Note"" = 'Foo' AND (""t"".""Note"" IS NOT NULL))"); + FROM "Gears" AS "g" + LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" + WHERE "t"."Note" = 'Foo' AND ("t"."Note" IS NOT NULL)) +"""); } public override async Task Count_with_optional_navigation_is_translated_to_sql(bool async) @@ -7668,10 +8792,12 @@ public override async Task Count_with_optional_navigation_is_translated_to_sql(b await base.Count_with_optional_navigation_is_translated_to_sql(async); AssertSql( - @"SELECT COUNT(*) -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Tags"" AS ""t"" ON ""g"".""Nickname"" = ""t"".""GearNickName"" AND ""g"".""SquadId"" = ""t"".""GearSquadId"" -WHERE ""t"".""Note"" <> 'Foo' OR (""t"".""Note"" IS NULL)"); +""" +SELECT COUNT(*) +FROM "Gears" AS "g" +LEFT JOIN "Tags" AS "t" ON "g"."Nickname" = "t"."GearNickName" AND "g"."SquadId" = "t"."GearSquadId" +WHERE "t"."Note" <> 'Foo' OR ("t"."Note" IS NULL) +"""); } public override async Task Select_null_parameter(bool async) @@ -7679,21 +8805,29 @@ public override async Task Select_null_parameter(bool async) await base.Select_null_parameter(async); AssertSql( - @"@__ammunitionType_0='1' (Nullable = true) +""" +@__ammunitionType_0='1' (Nullable = true) -SELECT ""w"".""Id"", @__ammunitionType_0 AS ""AmmoType"" -FROM ""Weapons"" AS ""w""", +SELECT "w"."Id", @__ammunitionType_0 AS "AmmoType" +FROM "Weapons" AS "w" +""", // - @"SELECT ""w"".""Id"", NULL AS ""AmmoType"" -FROM ""Weapons"" AS ""w""", +""" +SELECT "w"."Id", NULL AS "AmmoType" +FROM "Weapons" AS "w" +""", // - @"@__ammunitionType_0='2' (Nullable = true) +""" +@__ammunitionType_0='2' (Nullable = true) -SELECT ""w"".""Id"", @__ammunitionType_0 AS ""AmmoType"" -FROM ""Weapons"" AS ""w""", +SELECT "w"."Id", @__ammunitionType_0 AS "AmmoType" +FROM "Weapons" AS "w" +""", // - @"SELECT ""w"".""Id"", NULL AS ""AmmoType"" -FROM ""Weapons"" AS ""w"""); +""" +SELECT "w"."Id", NULL AS "AmmoType" +FROM "Weapons" AS "w" +"""); } public override async Task Project_shadow_properties(bool async) @@ -7701,8 +8835,10 @@ public override async Task Project_shadow_properties(bool async) await base.Project_shadow_properties(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""AssignedCityName"" -FROM ""Gears"" AS ""g"""); +""" +SELECT "g"."Nickname", "g"."AssignedCityName" +FROM "Gears" AS "g" +"""); } public override async Task Select_enum_has_flag(bool async) @@ -7710,10 +8846,12 @@ public override async Task Select_enum_has_flag(bool async) await base.Select_enum_has_flag(async); AssertSql( - @"SELECT (""g"".""Rank"" & 2) = 2 AS ""hasFlagTrue"", (""g"".""Rank"" & 4) = 4 AS ""hasFlagFalse"" -FROM ""Gears"" AS ""g"" -WHERE (""g"".""Rank"" & 2) = 2 -LIMIT 1"); +""" +SELECT ("g"."Rank" & 2) = 2 AS "hasFlagTrue", ("g"."Rank" & 4) = 4 AS "hasFlagFalse" +FROM "Gears" AS "g" +WHERE ("g"."Rank" & 2) = 2 +LIMIT 1 +"""); } public override async Task @@ -7827,11 +8965,13 @@ public override async Task Include_after_SelectMany_throws(bool async) await base.Include_after_SelectMany_throws(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Factions"" AS ""f"" -LEFT JOIN ""Cities"" AS ""c"" ON ""f"".""CapitalName"" = ""c"".""Name"" -INNER JOIN ""Gears"" AS ""g"" ON ""c"".""Name"" = ""g"".""CityOfBirthName"" -INNER JOIN ""Squads"" AS ""s"" ON ""g"".""SquadId"" = ""s"".""Id"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Factions" AS "f" +LEFT JOIN "Cities" AS "c" ON "f"."CapitalName" = "c"."Name" +INNER JOIN "Gears" AS "g" ON "c"."Name" = "g"."CityOfBirthName" +INNER JOIN "Squads" AS "s" ON "g"."SquadId" = "s"."Id" +"""); } public override async Task Checked_context_throws_on_client_evaluation(bool async) @@ -7881,10 +9021,12 @@ public override async Task String_concat_on_various_types(bool async) await base.String_concat_on_various_types(async); AssertSql( - @"SELECT ('HasSoulPatch ' || CAST(""g"".""HasSoulPatch"" AS TEXT)) || ' HasSoulPatch' AS ""HasSoulPatch"", ('Rank ' || CAST(""g"".""Rank"" AS TEXT)) || ' Rank' AS ""Rank"", ('SquadId ' || CAST(""g"".""SquadId"" AS TEXT)) || ' SquadId' AS ""SquadId"", ('Rating ' || COALESCE(CAST(""m"".""Rating"" AS TEXT), '')) || ' Rating' AS ""Rating"", ('Timeline ' || CAST(""m"".""Timeline"" AS TEXT)) || ' Timeline' AS ""Timeline"" -FROM ""Gears"" AS ""g"" -CROSS JOIN ""Missions"" AS ""m"" -ORDER BY ""g"".""Nickname"", ""m"".""Id"""); +""" +SELECT ('HasSoulPatch ' || CAST("g"."HasSoulPatch" AS TEXT)) || ' HasSoulPatch' AS "HasSoulPatch", ('Rank ' || CAST("g"."Rank" AS TEXT)) || ' Rank' AS "Rank", ('SquadId ' || CAST("g"."SquadId" AS TEXT)) || ' SquadId' AS "SquadId", ('Rating ' || COALESCE(CAST("m"."Rating" AS TEXT), '')) || ' Rating' AS "Rating", ('Timeline ' || CAST("m"."Timeline" AS TEXT)) || ' Timeline' AS "Timeline" +FROM "Gears" AS "g" +CROSS JOIN "Missions" AS "m" +ORDER BY "g"."Nickname", "m"."Id" +"""); } public override async Task Nav_rewrite_Distinct_with_convert() @@ -7906,18 +9048,20 @@ public override async Task Navigation_based_on_complex_expression4(bool async) await base.Navigation_based_on_complex_expression4(async); AssertSql( - @"SELECT 1, ""t0"".""Name"", ""t0"".""Discriminator"", ""t0"".""LocustHordeId"", ""t0"".""ThreatLevel"", ""t0"".""ThreatLevelByte"", ""t0"".""ThreatLevelNullableByte"", ""t0"".""DefeatedByNickname"", ""t0"".""DefeatedBySquadId"", ""t0"".""HighCommandId"", ""t"".""Name"", ""t"".""Discriminator"", ""t"".""LocustHordeId"", ""t"".""ThreatLevel"", ""t"".""ThreatLevelByte"", ""t"".""ThreatLevelNullableByte"", ""t"".""DefeatedByNickname"", ""t"".""DefeatedBySquadId"", ""t"".""HighCommandId"" -FROM ""Factions"" AS ""f"" +""" +SELECT 1, "t0"."Name", "t0"."Discriminator", "t0"."LocustHordeId", "t0"."ThreatLevel", "t0"."ThreatLevelByte", "t0"."ThreatLevelNullableByte", "t0"."DefeatedByNickname", "t0"."DefeatedBySquadId", "t0"."HighCommandId", "t"."Name", "t"."Discriminator", "t"."LocustHordeId", "t"."ThreatLevel", "t"."ThreatLevelByte", "t"."ThreatLevelNullableByte", "t"."DefeatedByNickname", "t"."DefeatedBySquadId", "t"."HighCommandId" +FROM "Factions" AS "f" CROSS JOIN ( - SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" + SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" LEFT JOIN ( - SELECT ""l0"".""Name"", ""l0"".""Discriminator"", ""l0"".""LocustHordeId"", ""l0"".""ThreatLevel"", ""l0"".""ThreatLevelByte"", ""l0"".""ThreatLevelNullableByte"", ""l0"".""DefeatedByNickname"", ""l0"".""DefeatedBySquadId"", ""l0"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l0"" - WHERE ""l0"".""Discriminator"" = 'LocustCommander' -) AS ""t0"" ON ""f"".""CommanderName"" = ""t0"".""Name"""); + SELECT "l0"."Name", "l0"."Discriminator", "l0"."LocustHordeId", "l0"."ThreatLevel", "l0"."ThreatLevelByte", "l0"."ThreatLevelNullableByte", "l0"."DefeatedByNickname", "l0"."DefeatedBySquadId", "l0"."HighCommandId" + FROM "LocustLeaders" AS "l0" + WHERE "l0"."Discriminator" = 'LocustCommander' +) AS "t0" ON "f"."CommanderName" = "t0"."Name" +"""); } public override async Task Navigation_based_on_complex_expression5(bool async) @@ -7925,18 +9069,20 @@ public override async Task Navigation_based_on_complex_expression5(bool async) await base.Navigation_based_on_complex_expression5(async); AssertSql( - @"SELECT ""t0"".""Name"", ""t0"".""Discriminator"", ""t0"".""LocustHordeId"", ""t0"".""ThreatLevel"", ""t0"".""ThreatLevelByte"", ""t0"".""ThreatLevelNullableByte"", ""t0"".""DefeatedByNickname"", ""t0"".""DefeatedBySquadId"", ""t0"".""HighCommandId"", ""t"".""Name"", ""t"".""Discriminator"", ""t"".""LocustHordeId"", ""t"".""ThreatLevel"", ""t"".""ThreatLevelByte"", ""t"".""ThreatLevelNullableByte"", ""t"".""DefeatedByNickname"", ""t"".""DefeatedBySquadId"", ""t"".""HighCommandId"" -FROM ""Factions"" AS ""f"" +""" +SELECT "t0"."Name", "t0"."Discriminator", "t0"."LocustHordeId", "t0"."ThreatLevel", "t0"."ThreatLevelByte", "t0"."ThreatLevelNullableByte", "t0"."DefeatedByNickname", "t0"."DefeatedBySquadId", "t0"."HighCommandId", "t"."Name", "t"."Discriminator", "t"."LocustHordeId", "t"."ThreatLevel", "t"."ThreatLevelByte", "t"."ThreatLevelNullableByte", "t"."DefeatedByNickname", "t"."DefeatedBySquadId", "t"."HighCommandId" +FROM "Factions" AS "f" CROSS JOIN ( - SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" + SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" LEFT JOIN ( - SELECT ""l0"".""Name"", ""l0"".""Discriminator"", ""l0"".""LocustHordeId"", ""l0"".""ThreatLevel"", ""l0"".""ThreatLevelByte"", ""l0"".""ThreatLevelNullableByte"", ""l0"".""DefeatedByNickname"", ""l0"".""DefeatedBySquadId"", ""l0"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l0"" - WHERE ""l0"".""Discriminator"" = 'LocustCommander' -) AS ""t0"" ON ""f"".""CommanderName"" = ""t0"".""Name"""); + SELECT "l0"."Name", "l0"."Discriminator", "l0"."LocustHordeId", "l0"."ThreatLevel", "l0"."ThreatLevelByte", "l0"."ThreatLevelNullableByte", "l0"."DefeatedByNickname", "l0"."DefeatedBySquadId", "l0"."HighCommandId" + FROM "LocustLeaders" AS "l0" + WHERE "l0"."Discriminator" = 'LocustCommander' +) AS "t0" ON "f"."CommanderName" = "t0"."Name" +"""); } public override async Task Navigation_based_on_complex_expression6(bool async) @@ -7944,18 +9090,20 @@ public override async Task Navigation_based_on_complex_expression6(bool async) await base.Navigation_based_on_complex_expression6(async); AssertSql( - @"SELECT ""t0"".""Name"" = 'Queen Myrrah' AND (""t0"".""Name"" IS NOT NULL), ""t0"".""Name"", ""t0"".""Discriminator"", ""t0"".""LocustHordeId"", ""t0"".""ThreatLevel"", ""t0"".""ThreatLevelByte"", ""t0"".""ThreatLevelNullableByte"", ""t0"".""DefeatedByNickname"", ""t0"".""DefeatedBySquadId"", ""t0"".""HighCommandId"", ""t"".""Name"", ""t"".""Discriminator"", ""t"".""LocustHordeId"", ""t"".""ThreatLevel"", ""t"".""ThreatLevelByte"", ""t"".""ThreatLevelNullableByte"", ""t"".""DefeatedByNickname"", ""t"".""DefeatedBySquadId"", ""t"".""HighCommandId"" -FROM ""Factions"" AS ""f"" +""" +SELECT "t0"."Name" = 'Queen Myrrah' AND ("t0"."Name" IS NOT NULL), "t0"."Name", "t0"."Discriminator", "t0"."LocustHordeId", "t0"."ThreatLevel", "t0"."ThreatLevelByte", "t0"."ThreatLevelNullableByte", "t0"."DefeatedByNickname", "t0"."DefeatedBySquadId", "t0"."HighCommandId", "t"."Name", "t"."Discriminator", "t"."LocustHordeId", "t"."ThreatLevel", "t"."ThreatLevelByte", "t"."ThreatLevelNullableByte", "t"."DefeatedByNickname", "t"."DefeatedBySquadId", "t"."HighCommandId" +FROM "Factions" AS "f" CROSS JOIN ( - SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l"" - WHERE ""l"".""Discriminator"" = 'LocustCommander' -) AS ""t"" + SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId" + FROM "LocustLeaders" AS "l" + WHERE "l"."Discriminator" = 'LocustCommander' +) AS "t" LEFT JOIN ( - SELECT ""l0"".""Name"", ""l0"".""Discriminator"", ""l0"".""LocustHordeId"", ""l0"".""ThreatLevel"", ""l0"".""ThreatLevelByte"", ""l0"".""ThreatLevelNullableByte"", ""l0"".""DefeatedByNickname"", ""l0"".""DefeatedBySquadId"", ""l0"".""HighCommandId"" - FROM ""LocustLeaders"" AS ""l0"" - WHERE ""l0"".""Discriminator"" = 'LocustCommander' -) AS ""t0"" ON ""f"".""CommanderName"" = ""t0"".""Name"""); + SELECT "l0"."Name", "l0"."Discriminator", "l0"."LocustHordeId", "l0"."ThreatLevel", "l0"."ThreatLevelByte", "l0"."ThreatLevelNullableByte", "l0"."DefeatedByNickname", "l0"."DefeatedBySquadId", "l0"."HighCommandId" + FROM "LocustLeaders" AS "l0" + WHERE "l0"."Discriminator" = 'LocustCommander' +) AS "t0" ON "f"."CommanderName" = "t0"."Name" +"""); } public override async Task Include_after_select_with_cast_throws(bool async) @@ -8005,13 +9153,15 @@ public override async Task Join_with_complex_key_selector(bool async) await base.Join_with_complex_key_selector(async); AssertSql( - @"SELECT ""s"".""Id"", ""t0"".""Id"" AS ""TagId"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Id", "t0"."Id" AS "TagId" +FROM "Squads" AS "s" CROSS JOIN ( - SELECT ""t"".""Id"" - FROM ""Tags"" AS ""t"" - WHERE ""t"".""Note"" = 'Marcus'' Tag' -) AS ""t0"""); + SELECT "t"."Id" + FROM "Tags" AS "t" + WHERE "t"."Note" = 'Marcus'' Tag' +) AS "t0" +"""); } public override async Task Streaming_correlated_collection_issue_11403_returning_ordered_enumerable_throws(bool async) @@ -8125,12 +9275,14 @@ public override async Task Where_subquery_equality_to_null_with_composite_key(bo await base.Where_subquery_equality_to_null_with_composite_key(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" WHERE NOT (EXISTS ( SELECT 1 - FROM ""Gears"" AS ""g"" - WHERE ""s"".""Id"" = ""g"".""SquadId""))"); + FROM "Gears" AS "g" + WHERE "s"."Id" = "g"."SquadId")) +"""); } public override async Task Where_subquery_equality_to_null_without_composite_key(bool async) @@ -8138,12 +9290,14 @@ public override async Task Where_subquery_equality_to_null_without_composite_key await base.Where_subquery_equality_to_null_without_composite_key(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""Gears"" AS ""g"" +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "Gears" AS "g" WHERE NOT (EXISTS ( SELECT 1 - FROM ""Weapons"" AS ""w"" - WHERE ""g"".""FullName"" = ""w"".""OwnerFullName""))"); + FROM "Weapons" AS "w" + WHERE "g"."FullName" = "w"."OwnerFullName")) +"""); } public override async Task Include_reference_on_derived_type_using_EF_Property(bool async) @@ -8151,9 +9305,11 @@ public override async Task Include_reference_on_derived_type_using_EF_Property(b await base.Include_reference_on_derived_type_using_EF_Property(async); AssertSql( - @"SELECT ""l"".""Name"", ""l"".""Discriminator"", ""l"".""LocustHordeId"", ""l"".""ThreatLevel"", ""l"".""ThreatLevelByte"", ""l"".""ThreatLevelNullableByte"", ""l"".""DefeatedByNickname"", ""l"".""DefeatedBySquadId"", ""l"".""HighCommandId"", ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"" -FROM ""LocustLeaders"" AS ""l"" -LEFT JOIN ""Gears"" AS ""g"" ON ""l"".""DefeatedByNickname"" = ""g"".""Nickname"" AND ""l"".""DefeatedBySquadId"" = ""g"".""SquadId"""); +""" +SELECT "l"."Name", "l"."Discriminator", "l"."LocustHordeId", "l"."ThreatLevel", "l"."ThreatLevelByte", "l"."ThreatLevelNullableByte", "l"."DefeatedByNickname", "l"."DefeatedBySquadId", "l"."HighCommandId", "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank" +FROM "LocustLeaders" AS "l" +LEFT JOIN "Gears" AS "g" ON "l"."DefeatedByNickname" = "g"."Nickname" AND "l"."DefeatedBySquadId" = "g"."SquadId" +"""); } public override async Task Include_collection_on_derived_type_using_EF_Property(bool async) @@ -8161,10 +9317,12 @@ public override async Task Include_collection_on_derived_type_using_EF_Property( await base.Include_collection_on_derived_type_using_EF_Property(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } public override async Task EF_Property_based_Include_navigation_on_derived_type(bool async) @@ -8172,11 +9330,13 @@ public override async Task EF_Property_based_Include_navigation_on_derived_type( await base.EF_Property_based_Include_navigation_on_derived_type(async); AssertSql( - @"SELECT ""g"".""Nickname"", ""g"".""SquadId"", ""g"".""AssignedCityName"", ""g"".""CityOfBirthName"", ""g"".""Discriminator"", ""g"".""FullName"", ""g"".""HasSoulPatch"", ""g"".""LeaderNickname"", ""g"".""LeaderSquadId"", ""g"".""Rank"", ""g0"".""Nickname"", ""g0"".""SquadId"", ""g0"".""AssignedCityName"", ""g0"".""CityOfBirthName"", ""g0"".""Discriminator"", ""g0"".""FullName"", ""g0"".""HasSoulPatch"", ""g0"".""LeaderNickname"", ""g0"".""LeaderSquadId"", ""g0"".""Rank"" -FROM ""Gears"" AS ""g"" -LEFT JOIN ""Gears"" AS ""g0"" ON ""g"".""Nickname"" = ""g0"".""LeaderNickname"" AND ""g"".""SquadId"" = ""g0"".""LeaderSquadId"" -WHERE ""g"".""Discriminator"" = 'Officer' -ORDER BY ""g"".""Nickname"", ""g"".""SquadId"", ""g0"".""Nickname"""); +""" +SELECT "g"."Nickname", "g"."SquadId", "g"."AssignedCityName", "g"."CityOfBirthName", "g"."Discriminator", "g"."FullName", "g"."HasSoulPatch", "g"."LeaderNickname", "g"."LeaderSquadId", "g"."Rank", "g0"."Nickname", "g0"."SquadId", "g0"."AssignedCityName", "g0"."CityOfBirthName", "g0"."Discriminator", "g0"."FullName", "g0"."HasSoulPatch", "g0"."LeaderNickname", "g0"."LeaderSquadId", "g0"."Rank" +FROM "Gears" AS "g" +LEFT JOIN "Gears" AS "g0" ON "g"."Nickname" = "g0"."LeaderNickname" AND "g"."SquadId" = "g0"."LeaderSquadId" +WHERE "g"."Discriminator" = 'Officer' +ORDER BY "g"."Nickname", "g"."SquadId", "g0"."Nickname" +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindDbFunctionsQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindDbFunctionsQuerySqliteTest.cs index c3c2309c211..ddb845968bb 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindDbFunctionsQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindDbFunctionsQuerySqliteTest.cs @@ -28,9 +28,11 @@ await AssertCount( c => c.ContactName.Contains("M")); AssertSql( - @"SELECT COUNT(*) -FROM ""Customers"" AS ""c"" -WHERE glob('*M*', ""c"".""ContactName"")"); +""" +SELECT COUNT(*) +FROM "Customers" AS "c" +WHERE glob('*M*', "c"."ContactName") +"""); } protected override string CaseInsensitiveCollation @@ -49,9 +51,11 @@ await AssertCount( c => true); AssertSql( - @"SELECT COUNT(*) -FROM ""Orders"" AS ""o"" -WHERE abs(random() / 9.2233720368547799E+18) <= 1.0"); +""" +SELECT COUNT(*) +FROM "Orders" AS "o" +WHERE abs(random() / 9.2233720368547799E+18) <= 1.0 +"""); } public override async Task Random_return_greater_than_0(bool async) @@ -59,9 +63,11 @@ public override async Task Random_return_greater_than_0(bool async) await base.Random_return_greater_than_0(async); AssertSql( - @"SELECT COUNT(*) -FROM ""Orders"" AS ""o"" -WHERE abs(random() / 9.2233720368547799E+18) >= 0.0"); +""" +SELECT COUNT(*) +FROM "Orders" AS "o" +WHERE abs(random() / 9.2233720368547799E+18) >= 0.0 +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindFunctionsQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindFunctionsQuerySqliteTest.cs index f86dc168a00..3c80c16b9f9 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindFunctionsQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindFunctionsQuerySqliteTest.cs @@ -191,9 +191,11 @@ public override async Task String_StartsWith_Literal(bool async) await base.String_StartsWith_Literal(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (""c"".""ContactName"" IS NOT NULL) AND (""c"".""ContactName"" LIKE 'M%')"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE ("c"."ContactName" IS NOT NULL) AND ("c"."ContactName" LIKE 'M%') +"""); } public override async Task String_StartsWith_Identity(bool async) @@ -201,9 +203,11 @@ public override async Task String_StartsWith_Identity(bool async) await base.String_StartsWith_Identity(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ""c"".""ContactName"" = '' OR ((""c"".""ContactName"" IS NOT NULL) AND (((""c"".""ContactName"" LIKE ""c"".""ContactName"" || '%') AND substr(""c"".""ContactName"", 1, length(""c"".""ContactName"")) = ""c"".""ContactName"") OR ""c"".""ContactName"" = ''))"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE "c"."ContactName" = '' OR (("c"."ContactName" IS NOT NULL) AND ((("c"."ContactName" LIKE "c"."ContactName" || '%') AND substr("c"."ContactName", 1, length("c"."ContactName")) = "c"."ContactName") OR "c"."ContactName" = '')) +"""); } public override async Task String_StartsWith_Column(bool async) @@ -211,9 +215,11 @@ public override async Task String_StartsWith_Column(bool async) await base.String_StartsWith_Column(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ""c"".""ContactName"" = '' OR ((""c"".""ContactName"" IS NOT NULL) AND (((""c"".""ContactName"" LIKE ""c"".""ContactName"" || '%') AND substr(""c"".""ContactName"", 1, length(""c"".""ContactName"")) = ""c"".""ContactName"") OR ""c"".""ContactName"" = ''))"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE "c"."ContactName" = '' OR (("c"."ContactName" IS NOT NULL) AND ((("c"."ContactName" LIKE "c"."ContactName" || '%') AND substr("c"."ContactName", 1, length("c"."ContactName")) = "c"."ContactName") OR "c"."ContactName" = '')) +"""); } public override async Task String_StartsWith_MethodCall(bool async) @@ -221,9 +227,11 @@ public override async Task String_StartsWith_MethodCall(bool async) await base.String_StartsWith_MethodCall(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (""c"".""ContactName"" IS NOT NULL) AND (""c"".""ContactName"" LIKE 'M%')"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE ("c"."ContactName" IS NOT NULL) AND ("c"."ContactName" LIKE 'M%') +"""); } public override async Task String_EndsWith_Literal(bool async) @@ -231,9 +239,11 @@ public override async Task String_EndsWith_Literal(bool async) await base.String_EndsWith_Literal(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (""c"".""ContactName"" IS NOT NULL) AND (""c"".""ContactName"" LIKE '%b')"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE ("c"."ContactName" IS NOT NULL) AND ("c"."ContactName" LIKE '%b') +"""); } public override async Task String_EndsWith_Identity(bool async) @@ -241,9 +251,11 @@ public override async Task String_EndsWith_Identity(bool async) await base.String_EndsWith_Identity(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ""c"".""ContactName"" = '' OR ((""c"".""ContactName"" IS NOT NULL) AND (substr(""c"".""ContactName"", -length(""c"".""ContactName"")) = ""c"".""ContactName"" OR ""c"".""ContactName"" = ''))"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE "c"."ContactName" = '' OR (("c"."ContactName" IS NOT NULL) AND (substr("c"."ContactName", -length("c"."ContactName")) = "c"."ContactName" OR "c"."ContactName" = '')) +"""); } public override async Task String_EndsWith_Column(bool async) @@ -251,9 +263,11 @@ public override async Task String_EndsWith_Column(bool async) await base.String_EndsWith_Column(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ""c"".""ContactName"" = '' OR ((""c"".""ContactName"" IS NOT NULL) AND (substr(""c"".""ContactName"", -length(""c"".""ContactName"")) = ""c"".""ContactName"" OR ""c"".""ContactName"" = ''))"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE "c"."ContactName" = '' OR (("c"."ContactName" IS NOT NULL) AND (substr("c"."ContactName", -length("c"."ContactName")) = "c"."ContactName" OR "c"."ContactName" = '')) +"""); } public override async Task String_EndsWith_MethodCall(bool async) @@ -261,9 +275,11 @@ public override async Task String_EndsWith_MethodCall(bool async) await base.String_EndsWith_MethodCall(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (""c"".""ContactName"" IS NOT NULL) AND (""c"".""ContactName"" LIKE '%m')"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE ("c"."ContactName" IS NOT NULL) AND ("c"."ContactName" LIKE '%m') +"""); } public override async Task String_Contains_Literal(bool async) @@ -271,9 +287,11 @@ public override async Task String_Contains_Literal(bool async) await base.String_Contains_Literal(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE 'M' = '' OR instr(""c"".""ContactName"", 'M') > 0"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE 'M' = '' OR instr("c"."ContactName", 'M') > 0 +"""); } public override async Task String_Contains_Identity(bool async) @@ -281,9 +299,11 @@ public override async Task String_Contains_Identity(bool async) await base.String_Contains_Identity(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ""c"".""ContactName"" = '' OR instr(""c"".""ContactName"", ""c"".""ContactName"") > 0"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE "c"."ContactName" = '' OR instr("c"."ContactName", "c"."ContactName") > 0 +"""); } public override async Task String_Contains_Column(bool async) @@ -291,27 +311,33 @@ public override async Task String_Contains_Column(bool async) await base.String_Contains_Column(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ""c"".""ContactName"" = '' OR instr(""c"".""ContactName"", ""c"".""ContactName"") > 0"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE "c"."ContactName" = '' OR instr("c"."ContactName", "c"."ContactName") > 0 +"""); } public override async Task String_FirstOrDefault_MethodCall(bool async) { await base.String_FirstOrDefault_MethodCall(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE substr(""c"".""ContactName"", 1, 1) = 'A'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE substr("c"."ContactName", 1, 1) = 'A' +"""); } public override async Task String_LastOrDefault_MethodCall(bool async) { await base.String_LastOrDefault_MethodCall(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE substr(""c"".""ContactName"", length(""c"".""ContactName""), 1) = 's'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE substr("c"."ContactName", length("c"."ContactName"), 1) = 's' +"""); } public override async Task String_Contains_MethodCall(bool async) @@ -319,9 +345,11 @@ public override async Task String_Contains_MethodCall(bool async) await base.String_Contains_MethodCall(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE 'M' = '' OR instr(""c"".""ContactName"", 'M') > 0"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE 'M' = '' OR instr("c"."ContactName", 'M') > 0 +"""); } public override async Task String_Join_over_non_nullable_column(bool async) @@ -329,9 +357,11 @@ public override async Task String_Join_over_non_nullable_column(bool async) await base.String_Join_over_non_nullable_column(async); AssertSql( - @"SELECT ""c"".""City"", COALESCE(group_concat(""c"".""CustomerID"", '|'), '') AS ""Customers"" -FROM ""Customers"" AS ""c"" -GROUP BY ""c"".""City"""); +""" +SELECT "c"."City", COALESCE(group_concat("c"."CustomerID", '|'), '') AS "Customers" +FROM "Customers" AS "c" +GROUP BY "c"."City" +"""); } public override async Task String_Join_over_nullable_column(bool async) @@ -339,9 +369,11 @@ public override async Task String_Join_over_nullable_column(bool async) await base.String_Join_over_nullable_column(async); AssertSql( - @"SELECT ""c"".""City"", COALESCE(group_concat(COALESCE(""c"".""Region"", ''), '|'), '') AS ""Regions"" -FROM ""Customers"" AS ""c"" -GROUP BY ""c"".""City"""); +""" +SELECT "c"."City", COALESCE(group_concat(COALESCE("c"."Region", ''), '|'), '') AS "Regions" +FROM "Customers" AS "c" +GROUP BY "c"."City" +"""); } public override async Task String_Join_with_predicate(bool async) @@ -349,11 +381,13 @@ public override async Task String_Join_with_predicate(bool async) await base.String_Join_with_predicate(async); AssertSql( - @"SELECT ""c"".""City"", COALESCE(group_concat(CASE - WHEN length(""c"".""ContactName"") > 10 THEN ""c"".""CustomerID"" -END, '|'), '') AS ""Customers"" -FROM ""Customers"" AS ""c"" -GROUP BY ""c"".""City"""); +""" +SELECT "c"."City", COALESCE(group_concat(CASE + WHEN length("c"."ContactName") > 10 THEN "c"."CustomerID" +END, '|'), '') AS "Customers" +FROM "Customers" AS "c" +GROUP BY "c"."City" +"""); } public override async Task String_Join_with_ordering(bool async) @@ -362,14 +396,16 @@ public override async Task String_Join_with_ordering(bool async) await base.String_Join_with_ordering(async); AssertSql( - @"SELECT ""t"".""City"", ""c0"".""CustomerID"" +""" +SELECT "t"."City", "c0"."CustomerID" FROM ( - SELECT ""c"".""City"" - FROM ""Customers"" AS ""c"" - GROUP BY ""c"".""City"" -) AS ""t"" -LEFT JOIN ""Customers"" AS ""c0"" ON ""t"".""City"" = ""c0"".""City"" -ORDER BY ""t"".""City"", ""c0"".""CustomerID"" DESC"); + SELECT "c"."City" + FROM "Customers" AS "c" + GROUP BY "c"."City" +) AS "t" +LEFT JOIN "Customers" AS "c0" ON "t"."City" = "c0"."City" +ORDER BY "t"."City", "c0"."CustomerID" DESC +"""); } public override async Task String_Concat(bool async) @@ -377,9 +413,11 @@ public override async Task String_Concat(bool async) await base.String_Concat(async); AssertSql( - @"SELECT ""c"".""City"", COALESCE(group_concat(""c"".""CustomerID"", ''), '') AS ""Customers"" -FROM ""Customers"" AS ""c"" -GROUP BY ""c"".""City"""); +""" +SELECT "c"."City", COALESCE(group_concat("c"."CustomerID", ''), '') AS "Customers" +FROM "Customers" AS "c" +GROUP BY "c"."City" +"""); } public override async Task IsNullOrWhiteSpace_in_predicate(bool async) @@ -387,9 +425,11 @@ public override async Task IsNullOrWhiteSpace_in_predicate(bool async) await base.IsNullOrWhiteSpace_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (""c"".""Region"" IS NULL) OR trim(""c"".""Region"") = ''"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE ("c"."Region" IS NULL) OR trim("c"."Region") = '' +"""); } public override async Task Indexof_with_emptystring(bool async) @@ -397,9 +437,11 @@ public override async Task Indexof_with_emptystring(bool async) await base.Indexof_with_emptystring(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (instr(""c"".""ContactName"", '') - 1) = 0"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE (instr("c"."ContactName", '') - 1) = 0 +"""); } public override async Task Indexof_with_one_constant_arg(bool async) @@ -407,9 +449,11 @@ public override async Task Indexof_with_one_constant_arg(bool async) await base.Indexof_with_one_constant_arg(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (instr(""c"".""ContactName"", 'a') - 1) = 1"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE (instr("c"."ContactName", 'a') - 1) = 1 +"""); } public override async Task Indexof_with_one_parameter_arg(bool async) @@ -417,11 +461,13 @@ public override async Task Indexof_with_one_parameter_arg(bool async) await base.Indexof_with_one_parameter_arg(async); AssertSql( - @"@__pattern_0='a' (Size = 1) +""" +@__pattern_0='a' (Size = 1) -SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (instr(""c"".""ContactName"", @__pattern_0) - 1) = 1"); +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE (instr("c"."ContactName", @__pattern_0) - 1) = 1 +"""); } public override Task Indexof_with_constant_starting_position(bool async) @@ -435,9 +481,11 @@ public override async Task Replace_with_emptystring(bool async) await base.Replace_with_emptystring(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE replace(""c"".""ContactName"", 'ia', '') = 'Mar Anders'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE replace("c"."ContactName", 'ia', '') = 'Mar Anders' +"""); } public override async Task Replace_using_property_arguments(bool async) @@ -445,9 +493,11 @@ public override async Task Replace_using_property_arguments(bool async) await base.Replace_using_property_arguments(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE replace(""c"".""ContactName"", ""c"".""ContactName"", ""c"".""CustomerID"") = ""c"".""CustomerID"""); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE replace("c"."ContactName", "c"."ContactName", "c"."CustomerID") = "c"."CustomerID" +"""); } public override async Task Substring_with_one_arg_with_zero_startindex(bool async) @@ -455,9 +505,11 @@ public override async Task Substring_with_one_arg_with_zero_startindex(bool asyn await base.Substring_with_one_arg_with_zero_startindex(async); AssertSql( - @"SELECT ""c"".""ContactName"" -FROM ""Customers"" AS ""c"" -WHERE substr(""c"".""CustomerID"", 0 + 1) = 'ALFKI'"); +""" +SELECT "c"."ContactName" +FROM "Customers" AS "c" +WHERE substr("c"."CustomerID", 0 + 1) = 'ALFKI' +"""); } public override async Task Substring_with_one_arg_with_constant(bool async) @@ -465,9 +517,11 @@ public override async Task Substring_with_one_arg_with_constant(bool async) await base.Substring_with_one_arg_with_constant(async); AssertSql( - @"SELECT ""c"".""ContactName"" -FROM ""Customers"" AS ""c"" -WHERE substr(""c"".""CustomerID"", 1 + 1) = 'LFKI'"); +""" +SELECT "c"."ContactName" +FROM "Customers" AS "c" +WHERE substr("c"."CustomerID", 1 + 1) = 'LFKI' +"""); } public override async Task Substring_with_one_arg_with_closure(bool async) @@ -475,11 +529,13 @@ public override async Task Substring_with_one_arg_with_closure(bool async) await base.Substring_with_one_arg_with_closure(async); AssertSql( - @"@__start_0='2' +""" +@__start_0='2' -SELECT ""c"".""ContactName"" -FROM ""Customers"" AS ""c"" -WHERE substr(""c"".""CustomerID"", @__start_0 + 1) = 'FKI'"); +SELECT "c"."ContactName" +FROM "Customers" AS "c" +WHERE substr("c"."CustomerID", @__start_0 + 1) = 'FKI' +"""); } public override async Task Substring_with_two_args_with_zero_startindex(bool async) @@ -487,9 +543,11 @@ public override async Task Substring_with_two_args_with_zero_startindex(bool asy await base.Substring_with_two_args_with_zero_startindex(async); AssertSql( - @"SELECT substr(""c"".""ContactName"", 0 + 1, 3) -FROM ""Customers"" AS ""c"" -WHERE ""c"".""CustomerID"" = 'ALFKI'"); +""" +SELECT substr("c"."ContactName", 0 + 1, 3) +FROM "Customers" AS "c" +WHERE "c"."CustomerID" = 'ALFKI' +"""); } public override async Task Substring_with_two_args_with_constant(bool async) @@ -497,9 +555,11 @@ public override async Task Substring_with_two_args_with_constant(bool async) await base.Substring_with_two_args_with_constant(async); AssertSql( - @"SELECT substr(""c"".""ContactName"", 1 + 1, 3) -FROM ""Customers"" AS ""c"" -WHERE ""c"".""CustomerID"" = 'ALFKI'"); +""" +SELECT substr("c"."ContactName", 1 + 1, 3) +FROM "Customers" AS "c" +WHERE "c"."CustomerID" = 'ALFKI' +"""); } public override async Task Substring_with_two_args_with_closure(bool async) @@ -507,11 +567,13 @@ public override async Task Substring_with_two_args_with_closure(bool async) await base.Substring_with_two_args_with_closure(async); AssertSql( - @"@__start_0='2' +""" +@__start_0='2' -SELECT substr(""c"".""ContactName"", @__start_0 + 1, 3) -FROM ""Customers"" AS ""c"" -WHERE ""c"".""CustomerID"" = 'ALFKI'"); +SELECT substr("c"."ContactName", @__start_0 + 1, 3) +FROM "Customers" AS "c" +WHERE "c"."CustomerID" = 'ALFKI' +"""); } public override async Task Substring_with_two_args_with_Index_of(bool async) @@ -519,9 +581,11 @@ public override async Task Substring_with_two_args_with_Index_of(bool async) await base.Substring_with_two_args_with_Index_of(async); AssertSql( - @"SELECT substr(""c"".""ContactName"", (instr(""c"".""ContactName"", 'a') - 1) + 1, 3) -FROM ""Customers"" AS ""c"" -WHERE ""c"".""CustomerID"" = 'ALFKI'"); +""" +SELECT substr("c"."ContactName", (instr("c"."ContactName", 'a') - 1) + 1, 3) +FROM "Customers" AS "c" +WHERE "c"."CustomerID" = 'ALFKI' +"""); } public override async Task Substring_with_two_args_with_zero_length(bool async) @@ -529,9 +593,11 @@ public override async Task Substring_with_two_args_with_zero_length(bool async) await base.Substring_with_two_args_with_zero_length(async); AssertSql( - @"SELECT substr(""c"".""ContactName"", 2 + 1, 0) -FROM ""Customers"" AS ""c"" -WHERE ""c"".""CustomerID"" = 'ALFKI'"); +""" +SELECT substr("c"."ContactName", 2 + 1, 0) +FROM "Customers" AS "c" +WHERE "c"."CustomerID" = 'ALFKI' +"""); } public override async Task Where_math_abs1(bool async) @@ -539,9 +605,11 @@ public override async Task Where_math_abs1(bool async) await base.Where_math_abs1(async); AssertSql( - @"SELECT ""p"".""ProductID"", ""p"".""Discontinued"", ""p"".""ProductName"", ""p"".""SupplierID"", ""p"".""UnitPrice"", ""p"".""UnitsInStock"" -FROM ""Products"" AS ""p"" -WHERE abs(""p"".""ProductID"") > 10"); +""" +SELECT "p"."ProductID", "p"."Discontinued", "p"."ProductName", "p"."SupplierID", "p"."UnitPrice", "p"."UnitsInStock" +FROM "Products" AS "p" +WHERE abs("p"."ProductID") > 10 +"""); } public override async Task Where_math_abs2(bool async) @@ -549,9 +617,11 @@ public override async Task Where_math_abs2(bool async) await base.Where_math_abs2(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""ProductID"", ""o"".""Discount"", ""o"".""Quantity"", ""o"".""UnitPrice"" -FROM ""Order Details"" AS ""o"" -WHERE ""o"".""UnitPrice"" < 7.0 AND abs(""o"".""Quantity"") > 10"); +""" +SELECT "o"."OrderID", "o"."ProductID", "o"."Discount", "o"."Quantity", "o"."UnitPrice" +FROM "Order Details" AS "o" +WHERE "o"."UnitPrice" < 7.0 AND abs("o"."Quantity") > 10 +"""); } public override async Task Where_math_abs_uncorrelated(bool async) @@ -559,9 +629,11 @@ public override async Task Where_math_abs_uncorrelated(bool async) await base.Where_math_abs_uncorrelated(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""ProductID"", ""o"".""Discount"", ""o"".""Quantity"", ""o"".""UnitPrice"" -FROM ""Order Details"" AS ""o"" -WHERE ""o"".""UnitPrice"" < 7.0 AND 10 < ""o"".""ProductID"""); +""" +SELECT "o"."OrderID", "o"."ProductID", "o"."Discount", "o"."Quantity", "o"."UnitPrice" +FROM "Order Details" AS "o" +WHERE "o"."UnitPrice" < 7.0 AND 10 < "o"."ProductID" +"""); } public override async Task Select_math_round_int(bool async) @@ -569,9 +641,11 @@ public override async Task Select_math_round_int(bool async) await base.Select_math_round_int(async); AssertSql( - @"SELECT round(CAST(""o"".""OrderID"" AS REAL)) AS ""A"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderID"" < 10250"); +""" +SELECT round(CAST("o"."OrderID" AS REAL)) AS "A" +FROM "Orders" AS "o" +WHERE "o"."OrderID" < 10250 +"""); } public override async Task Where_math_min(bool async) @@ -579,9 +653,11 @@ public override async Task Where_math_min(bool async) await base.Where_math_min(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""ProductID"", ""o"".""Discount"", ""o"".""Quantity"", ""o"".""UnitPrice"" -FROM ""Order Details"" AS ""o"" -WHERE ""o"".""OrderID"" = 11077 AND min(""o"".""OrderID"", ""o"".""ProductID"") = ""o"".""ProductID"""); +""" +SELECT "o"."OrderID", "o"."ProductID", "o"."Discount", "o"."Quantity", "o"."UnitPrice" +FROM "Order Details" AS "o" +WHERE "o"."OrderID" = 11077 AND min("o"."OrderID", "o"."ProductID") = "o"."ProductID" +"""); } public override async Task Where_math_max(bool async) @@ -589,9 +665,11 @@ public override async Task Where_math_max(bool async) await base.Where_math_max(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""ProductID"", ""o"".""Discount"", ""o"".""Quantity"", ""o"".""UnitPrice"" -FROM ""Order Details"" AS ""o"" -WHERE ""o"".""OrderID"" = 11077 AND max(""o"".""OrderID"", ""o"".""ProductID"") = ""o"".""OrderID"""); +""" +SELECT "o"."OrderID", "o"."ProductID", "o"."Discount", "o"."Quantity", "o"."UnitPrice" +FROM "Order Details" AS "o" +WHERE "o"."OrderID" = 11077 AND max("o"."OrderID", "o"."ProductID") = "o"."OrderID" +"""); } public override async Task Where_string_to_lower(bool async) @@ -599,9 +677,11 @@ public override async Task Where_string_to_lower(bool async) await base.Where_string_to_lower(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE lower(""c"".""CustomerID"") = 'alfki'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE lower("c"."CustomerID") = 'alfki' +"""); } public override async Task Where_string_to_upper(bool async) @@ -609,9 +689,11 @@ public override async Task Where_string_to_upper(bool async) await base.Where_string_to_upper(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE upper(""c"".""CustomerID"") = 'ALFKI'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE upper("c"."CustomerID") = 'ALFKI' +"""); } public override async Task TrimStart_without_arguments_in_predicate(bool async) @@ -619,9 +701,11 @@ public override async Task TrimStart_without_arguments_in_predicate(bool async) await base.TrimStart_without_arguments_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ltrim(""c"".""ContactTitle"") = 'Owner'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE ltrim("c"."ContactTitle") = 'Owner' +"""); } public override async Task TrimStart_with_char_argument_in_predicate(bool async) @@ -629,9 +713,11 @@ public override async Task TrimStart_with_char_argument_in_predicate(bool async) await base.TrimStart_with_char_argument_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ltrim(""c"".""ContactTitle"", 'O') = 'wner'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE ltrim("c"."ContactTitle", 'O') = 'wner' +"""); } public override async Task TrimStart_with_char_array_argument_in_predicate(bool async) @@ -639,9 +725,11 @@ public override async Task TrimStart_with_char_array_argument_in_predicate(bool await base.TrimStart_with_char_array_argument_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ltrim(""c"".""ContactTitle"", 'Ow') = 'ner'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE ltrim("c"."ContactTitle", 'Ow') = 'ner' +"""); } public override async Task TrimEnd_without_arguments_in_predicate(bool async) @@ -649,9 +737,11 @@ public override async Task TrimEnd_without_arguments_in_predicate(bool async) await base.TrimEnd_without_arguments_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE rtrim(""c"".""ContactTitle"") = 'Owner'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE rtrim("c"."ContactTitle") = 'Owner' +"""); } public override async Task TrimEnd_with_char_argument_in_predicate(bool async) @@ -659,9 +749,11 @@ public override async Task TrimEnd_with_char_argument_in_predicate(bool async) await base.TrimEnd_with_char_argument_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE rtrim(""c"".""ContactTitle"", 'r') = 'Owne'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE rtrim("c"."ContactTitle", 'r') = 'Owne' +"""); } public override async Task TrimEnd_with_char_array_argument_in_predicate(bool async) @@ -669,9 +761,11 @@ public override async Task TrimEnd_with_char_array_argument_in_predicate(bool as await base.TrimEnd_with_char_array_argument_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE rtrim(""c"".""ContactTitle"", 'er') = 'Own'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE rtrim("c"."ContactTitle", 'er') = 'Own' +"""); } public override async Task Trim_without_argument_in_predicate(bool async) @@ -679,9 +773,11 @@ public override async Task Trim_without_argument_in_predicate(bool async) await base.Trim_without_argument_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE trim(""c"".""ContactTitle"") = 'Owner'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE trim("c"."ContactTitle") = 'Owner' +"""); } public override async Task Trim_with_char_argument_in_predicate(bool async) @@ -689,9 +785,11 @@ public override async Task Trim_with_char_argument_in_predicate(bool async) await base.Trim_with_char_argument_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE trim(""c"".""ContactTitle"", 'O') = 'wner'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE trim("c"."ContactTitle", 'O') = 'wner' +"""); } public override async Task Trim_with_char_array_argument_in_predicate(bool async) @@ -699,9 +797,11 @@ public override async Task Trim_with_char_array_argument_in_predicate(bool async await base.Trim_with_char_array_argument_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE trim(""c"".""ContactTitle"", 'Or') = 'wne'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE trim("c"."ContactTitle", 'Or') = 'wne' +"""); } public override async Task Regex_IsMatch_MethodCall(bool async) @@ -709,9 +809,11 @@ public override async Task Regex_IsMatch_MethodCall(bool async) await base.Regex_IsMatch_MethodCall(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE regexp('^T', ""c"".""CustomerID"")"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE regexp('^T', "c"."CustomerID") +"""); } public override async Task Regex_IsMatch_MethodCall_constant_input(bool async) @@ -719,9 +821,11 @@ public override async Task Regex_IsMatch_MethodCall_constant_input(bool async) await base.Regex_IsMatch_MethodCall_constant_input(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE regexp(""c"".""CustomerID"", 'ALFKI')"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE regexp("c"."CustomerID", 'ALFKI') +"""); } public override async Task IsNullOrEmpty_in_predicate(bool async) @@ -729,9 +833,11 @@ public override async Task IsNullOrEmpty_in_predicate(bool async) await base.IsNullOrEmpty_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (""c"".""Region"" IS NULL) OR ""c"".""Region"" = ''"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE ("c"."Region" IS NULL) OR "c"."Region" = '' +"""); } public override async Task IsNullOrEmpty_in_projection(bool async) @@ -739,8 +845,10 @@ public override async Task IsNullOrEmpty_in_projection(bool async) await base.IsNullOrEmpty_in_projection(async); AssertSql( - @"SELECT ""c"".""CustomerID"" AS ""Id"", (""c"".""Region"" IS NULL) OR ""c"".""Region"" = '' AS ""Value"" -FROM ""Customers"" AS ""c"""); +""" +SELECT "c"."CustomerID" AS "Id", ("c"."Region" IS NULL) OR "c"."Region" = '' AS "Value" +FROM "Customers" AS "c" +"""); } public override async Task IsNullOrEmpty_negated_in_predicate(bool async) @@ -748,9 +856,11 @@ public override async Task IsNullOrEmpty_negated_in_predicate(bool async) await base.IsNullOrEmpty_negated_in_predicate(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (""c"".""Region"" IS NOT NULL) AND ""c"".""Region"" <> ''"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE ("c"."Region" IS NOT NULL) AND "c"."Region" <> '' +"""); } public override Task Datetime_subtraction_TotalDays(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindMiscellaneousQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindMiscellaneousQuerySqliteTest.cs index 032b273aae9..32df73ef58b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindMiscellaneousQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindMiscellaneousQuerySqliteTest.cs @@ -25,9 +25,11 @@ public override async Task Query_expression_with_to_string_and_contains(bool asy await base.Query_expression_with_to_string_and_contains(async); AssertSql( - @"SELECT ""o"".""CustomerID"" -FROM ""Orders"" AS ""o"" -WHERE (""o"".""OrderDate"" IS NOT NULL) AND ('10' = '' OR instr(CAST(""o"".""EmployeeID"" AS TEXT), '10') > 0)"); +""" +SELECT "o"."CustomerID" +FROM "Orders" AS "o" +WHERE ("o"."OrderDate" IS NOT NULL) AND ('10' = '' OR instr(CAST("o"."EmployeeID" AS TEXT), '10') > 0) +"""); } public override async Task Take_Skip(bool async) @@ -35,18 +37,20 @@ public override async Task Take_Skip(bool async) await base.Take_Skip(async); AssertSql( - @"@__p_0='10' +""" +@__p_0='10' @__p_1='5' -SELECT ""t"".""CustomerID"", ""t"".""Address"", ""t"".""City"", ""t"".""CompanyName"", ""t"".""ContactName"", ""t"".""ContactTitle"", ""t"".""Country"", ""t"".""Fax"", ""t"".""Phone"", ""t"".""PostalCode"", ""t"".""Region"" +SELECT "t"."CustomerID", "t"."Address", "t"."City", "t"."CompanyName", "t"."ContactName", "t"."ContactTitle", "t"."Country", "t"."Fax", "t"."Phone", "t"."PostalCode", "t"."Region" FROM ( - SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" - FROM ""Customers"" AS ""c"" - ORDER BY ""c"".""ContactName"" + SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" + FROM "Customers" AS "c" + ORDER BY "c"."ContactName" LIMIT @__p_0 -) AS ""t"" -ORDER BY ""t"".""ContactName"" -LIMIT -1 OFFSET @__p_1"); +) AS "t" +ORDER BY "t"."ContactName" +LIMIT -1 OFFSET @__p_1 +"""); } [ConditionalTheory] @@ -58,8 +62,10 @@ await AssertQueryScalar( ss => ss.Set().Select(o => o.OrderDate.Value.AddYears(1).Millisecond)); AssertSql( - @"SELECT (CAST(strftime('%f', ""o"".""OrderDate"", CAST(1 AS TEXT) || ' years') AS REAL) * 1000.0) % 1000.0 -FROM ""Orders"" AS ""o"""); +""" +SELECT (CAST(strftime('%f', "o"."OrderDate", CAST(1 AS TEXT) || ' years') AS REAL) * 1000.0) % 1000.0 +FROM "Orders" AS "o" +"""); } [ConditionalTheory] @@ -71,8 +77,10 @@ await AssertQueryScalar( ss => ss.Set().Select(o => o.OrderDate.Value.AddYears(1).TimeOfDay)); AssertSql( - @"SELECT rtrim(rtrim(strftime('%H:%M:%f', ""o"".""OrderDate"", CAST(1 AS TEXT) || ' years'), '0'), '.') -FROM ""Orders"" AS ""o"""); +""" +SELECT rtrim(rtrim(strftime('%H:%M:%f', "o"."OrderDate", CAST(1 AS TEXT) || ' years'), '0'), '.') +FROM "Orders" AS "o" +"""); } public override async Task Select_expression_date_add_year(bool async) @@ -80,9 +88,11 @@ public override async Task Select_expression_date_add_year(bool async) await base.Select_expression_date_add_year(async); AssertSql( - @"SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', ""o"".""OrderDate"", CAST(1 AS TEXT) || ' years'), '0'), '.') AS ""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderDate"" IS NOT NULL"); +""" +SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', "o"."OrderDate", CAST(1 AS TEXT) || ' years'), '0'), '.') AS "OrderDate" +FROM "Orders" AS "o" +WHERE "o"."OrderDate" IS NOT NULL +"""); } public override async Task Select_expression_datetime_add_month(bool async) @@ -94,9 +104,11 @@ public override async Task Select_expression_datetime_add_month(bool async) () => base.Select_expression_datetime_add_month(async))).Actual); AssertSql( - @"SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', ""o"".""OrderDate"", CAST(1 AS TEXT) || ' months'), '0'), '.') AS ""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderDate"" IS NOT NULL"); +""" +SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', "o"."OrderDate", CAST(1 AS TEXT) || ' months'), '0'), '.') AS "OrderDate" +FROM "Orders" AS "o" +WHERE "o"."OrderDate" IS NOT NULL +"""); } public override async Task Select_expression_datetime_add_hour(bool async) @@ -104,9 +116,11 @@ public override async Task Select_expression_datetime_add_hour(bool async) await base.Select_expression_datetime_add_hour(async); AssertSql( - @"SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', ""o"".""OrderDate"", CAST(1.0 AS TEXT) || ' hours'), '0'), '.') AS ""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderDate"" IS NOT NULL"); +""" +SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', "o"."OrderDate", CAST(1.0 AS TEXT) || ' hours'), '0'), '.') AS "OrderDate" +FROM "Orders" AS "o" +WHERE "o"."OrderDate" IS NOT NULL +"""); } public override async Task Select_expression_datetime_add_minute(bool async) @@ -114,9 +128,11 @@ public override async Task Select_expression_datetime_add_minute(bool async) await base.Select_expression_datetime_add_minute(async); AssertSql( - @"SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', ""o"".""OrderDate"", CAST(1.0 AS TEXT) || ' minutes'), '0'), '.') AS ""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderDate"" IS NOT NULL"); +""" +SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', "o"."OrderDate", CAST(1.0 AS TEXT) || ' minutes'), '0'), '.') AS "OrderDate" +FROM "Orders" AS "o" +WHERE "o"."OrderDate" IS NOT NULL +"""); } public override async Task Select_expression_datetime_add_second(bool async) @@ -124,9 +140,11 @@ public override async Task Select_expression_datetime_add_second(bool async) await base.Select_expression_datetime_add_second(async); AssertSql( - @"SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', ""o"".""OrderDate"", CAST(1.0 AS TEXT) || ' seconds'), '0'), '.') AS ""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderDate"" IS NOT NULL"); +""" +SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', "o"."OrderDate", CAST(1.0 AS TEXT) || ' seconds'), '0'), '.') AS "OrderDate" +FROM "Orders" AS "o" +WHERE "o"."OrderDate" IS NOT NULL +"""); } public override async Task Select_expression_datetime_add_ticks(bool async) @@ -138,9 +156,11 @@ public override async Task Select_expression_datetime_add_ticks(bool async) () => base.Select_expression_datetime_add_ticks(async))).Actual); AssertSql( - @"SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', ""o"".""OrderDate"", CAST((10000 / 864000000000) AS TEXT) || ' seconds'), '0'), '.') AS ""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderDate"" IS NOT NULL"); +""" +SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', "o"."OrderDate", CAST((10000 / 864000000000) AS TEXT) || ' seconds'), '0'), '.') AS "OrderDate" +FROM "Orders" AS "o" +WHERE "o"."OrderDate" IS NOT NULL +"""); } public override async Task Select_expression_date_add_milliseconds_above_the_range(bool async) @@ -148,9 +168,11 @@ public override async Task Select_expression_date_add_milliseconds_above_the_ran await base.Select_expression_date_add_milliseconds_above_the_range(async); AssertSql( - @"SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', ""o"".""OrderDate"", CAST((1000000000000.0 / 1000.0) AS TEXT) || ' seconds'), '0'), '.') AS ""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderDate"" IS NOT NULL"); +""" +SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', "o"."OrderDate", CAST((1000000000000.0 / 1000.0) AS TEXT) || ' seconds'), '0'), '.') AS "OrderDate" +FROM "Orders" AS "o" +WHERE "o"."OrderDate" IS NOT NULL +"""); } public override async Task Select_expression_date_add_milliseconds_below_the_range(bool async) @@ -158,9 +180,11 @@ public override async Task Select_expression_date_add_milliseconds_below_the_ran await base.Select_expression_date_add_milliseconds_below_the_range(async); AssertSql( - @"SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', ""o"".""OrderDate"", CAST((-1000000000000.0 / 1000.0) AS TEXT) || ' seconds'), '0'), '.') AS ""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderDate"" IS NOT NULL"); +""" +SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', "o"."OrderDate", CAST((-1000000000000.0 / 1000.0) AS TEXT) || ' seconds'), '0'), '.') AS "OrderDate" +FROM "Orders" AS "o" +WHERE "o"."OrderDate" IS NOT NULL +"""); } public override async Task Select_expression_date_add_milliseconds_large_number_divided(bool async) @@ -168,11 +192,13 @@ public override async Task Select_expression_date_add_milliseconds_large_number_ await base.Select_expression_date_add_milliseconds_large_number_divided(async); AssertSql( - @"@__millisecondsPerDay_0='86400000' +""" +@__millisecondsPerDay_0='86400000' -SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', ""o"".""OrderDate"", COALESCE(CAST(CAST((CAST(((CAST(strftime('%f', ""o"".""OrderDate"") AS REAL) * 1000.0) % 1000.0) AS INTEGER) / @__millisecondsPerDay_0) AS REAL) AS TEXT), '') || ' days', COALESCE(CAST((CAST((CAST(((CAST(strftime('%f', ""o"".""OrderDate"") AS REAL) * 1000.0) % 1000.0) AS INTEGER) % @__millisecondsPerDay_0) AS REAL) / 1000.0) AS TEXT), '') || ' seconds'), '0'), '.') AS ""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderDate"" IS NOT NULL"); +SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', "o"."OrderDate", COALESCE(CAST(CAST((CAST(((CAST(strftime('%f', "o"."OrderDate") AS REAL) * 1000.0) % 1000.0) AS INTEGER) / @__millisecondsPerDay_0) AS REAL) AS TEXT), '') || ' days', COALESCE(CAST((CAST((CAST(((CAST(strftime('%f', "o"."OrderDate") AS REAL) * 1000.0) % 1000.0) AS INTEGER) % @__millisecondsPerDay_0) AS REAL) / 1000.0) AS TEXT), '') || ' seconds'), '0'), '.') AS "OrderDate" +FROM "Orders" AS "o" +WHERE "o"."OrderDate" IS NOT NULL +"""); } public override async Task Add_minutes_on_constant_value(bool async) @@ -180,10 +206,12 @@ public override async Task Add_minutes_on_constant_value(bool async) await base.Add_minutes_on_constant_value(async); AssertSql( - @"SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', '1900-01-01 00:00:00', CAST(CAST((""o"".""OrderID"" % 25) AS REAL) AS TEXT) || ' minutes'), '0'), '.') AS ""Test"" -FROM ""Orders"" AS ""o"" -WHERE ""o"".""OrderID"" < 10500 -ORDER BY ""o"".""OrderID"""); +""" +SELECT rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', '1900-01-01 00:00:00', CAST(CAST(("o"."OrderID" % 25) AS REAL) AS TEXT) || ' minutes'), '0'), '.') AS "Test" +FROM "Orders" AS "o" +WHERE "o"."OrderID" < 10500 +ORDER BY "o"."OrderID" +"""); } public override async Task Select_distinct_long_count(bool async) @@ -191,11 +219,13 @@ public override async Task Select_distinct_long_count(bool async) await base.Select_distinct_long_count(async); AssertSql( - @"SELECT COUNT(*) +""" +SELECT COUNT(*) FROM ( - SELECT DISTINCT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" - FROM ""Customers"" AS ""c"" -) AS ""t"""); + SELECT DISTINCT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" + FROM "Customers" AS "c" +) AS "t" +"""); } public override async Task Select_orderBy_skip_long_count(bool async) @@ -203,15 +233,17 @@ public override async Task Select_orderBy_skip_long_count(bool async) await base.Select_orderBy_skip_long_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT(*) FROM ( - SELECT ""c"".""CustomerID"", ""c"".""Country"" - FROM ""Customers"" AS ""c"" - ORDER BY ""c"".""Country"" + SELECT "c"."CustomerID", "c"."Country" + FROM "Customers" AS "c" + ORDER BY "c"."Country" LIMIT -1 OFFSET @__p_0 -) AS ""t"""); +) AS "t" +"""); } public override async Task Select_orderBy_take_long_count(bool async) @@ -219,15 +251,17 @@ public override async Task Select_orderBy_take_long_count(bool async) await base.Select_orderBy_take_long_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT(*) FROM ( - SELECT ""c"".""CustomerID"", ""c"".""Country"" - FROM ""Customers"" AS ""c"" - ORDER BY ""c"".""Country"" + SELECT "c"."CustomerID", "c"."Country" + FROM "Customers" AS "c" + ORDER BY "c"."Country" LIMIT @__p_0 -) AS ""t"""); +) AS "t" +"""); } public override async Task Select_skip_long_count(bool async) @@ -235,14 +269,16 @@ public override async Task Select_skip_long_count(bool async) await base.Select_skip_long_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT(*) FROM ( - SELECT ""c"".""CustomerID"" - FROM ""Customers"" AS ""c"" + SELECT "c"."CustomerID" + FROM "Customers" AS "c" LIMIT -1 OFFSET @__p_0 -) AS ""t"""); +) AS "t" +"""); } public override async Task Select_take_long_count(bool async) @@ -250,14 +286,16 @@ public override async Task Select_take_long_count(bool async) await base.Select_take_long_count(async); AssertSql( - @"@__p_0='7' +""" +@__p_0='7' SELECT COUNT(*) FROM ( - SELECT ""c"".""CustomerID"" - FROM ""Customers"" AS ""c"" + SELECT "c"."CustomerID" + FROM "Customers" AS "c" LIMIT @__p_0 -) AS ""t"""); +) AS "t" +"""); } public override Task Complex_nested_query_doesnt_try_binding_to_grandparent_when_parent_returns_complex_result(bool async) @@ -271,8 +309,10 @@ public override async Task Concat_string_int(bool async) await base.Concat_string_int(async); AssertSql( - @"SELECT CAST(""o"".""OrderID"" AS TEXT) || COALESCE(""o"".""CustomerID"", '') -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST("o"."OrderID" AS TEXT) || COALESCE("o"."CustomerID", '') +FROM "Orders" AS "o" +"""); } public override async Task Concat_int_string(bool async) @@ -280,8 +320,10 @@ public override async Task Concat_int_string(bool async) await base.Concat_int_string(async); AssertSql( - @"SELECT COALESCE(""o"".""CustomerID"", '') || CAST(""o"".""OrderID"" AS TEXT) -FROM ""Orders"" AS ""o"""); +""" +SELECT COALESCE("o"."CustomerID", '') || CAST("o"."OrderID" AS TEXT) +FROM "Orders" AS "o" +"""); } public override async Task Concat_parameter_string_int(bool async) @@ -289,10 +331,12 @@ public override async Task Concat_parameter_string_int(bool async) await base.Concat_parameter_string_int(async); AssertSql( - @"@__parameter_0='-' (Size = 1) +""" +@__parameter_0='-' (Size = 1) -SELECT @__parameter_0 || CAST(""o"".""OrderID"" AS TEXT) -FROM ""Orders"" AS ""o"""); +SELECT @__parameter_0 || CAST("o"."OrderID" AS TEXT) +FROM "Orders" AS "o" +"""); } public override async Task Concat_constant_string_int(bool async) @@ -300,8 +344,10 @@ public override async Task Concat_constant_string_int(bool async) await base.Concat_constant_string_int(async); AssertSql( - @"SELECT '-' || CAST(""o"".""OrderID"" AS TEXT) -FROM ""Orders"" AS ""o"""); +""" +SELECT '-' || CAST("o"."OrderID" AS TEXT) +FROM "Orders" AS "o" +"""); } public override async Task Client_code_using_instance_method_throws(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindQueryFiltersQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindQueryFiltersQuerySqliteTest.cs index 7821a64085e..72e3070343b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindQueryFiltersQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindQueryFiltersQuerySqliteTest.cs @@ -20,11 +20,13 @@ public override async Task Count_query(bool async) await base.Count_query(async); AssertSql( - @"@__ef_filter__TenantPrefix_0='B' (Size = 1) +""" +@__ef_filter__TenantPrefix_0='B' (Size = 1) SELECT COUNT(*) -FROM ""Customers"" AS ""c"" -WHERE @__ef_filter__TenantPrefix_0 = '' OR ((""c"".""CompanyName"" IS NOT NULL) AND (((""c"".""CompanyName"" LIKE @__ef_filter__TenantPrefix_0 || '%') AND substr(""c"".""CompanyName"", 1, length(@__ef_filter__TenantPrefix_0)) = @__ef_filter__TenantPrefix_0) OR @__ef_filter__TenantPrefix_0 = ''))"); +FROM "Customers" AS "c" +WHERE @__ef_filter__TenantPrefix_0 = '' OR (("c"."CompanyName" IS NOT NULL) AND ((("c"."CompanyName" LIKE @__ef_filter__TenantPrefix_0 || '%') AND substr("c"."CompanyName", 1, length(@__ef_filter__TenantPrefix_0)) = @__ef_filter__TenantPrefix_0) OR @__ef_filter__TenantPrefix_0 = '')) +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindSelectQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindSelectQuerySqliteTest.cs index d3879bff599..7616cdcbc6b 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindSelectQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindSelectQuerySqliteTest.cs @@ -20,8 +20,10 @@ public override async Task Select_datetime_year_component(bool async) await base.Select_datetime_year_component(async); AssertSql( - @"SELECT CAST(strftime('%Y', ""o"".""OrderDate"") AS INTEGER) -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST(strftime('%Y', "o"."OrderDate") AS INTEGER) +FROM "Orders" AS "o" +"""); } [ConditionalTheory] @@ -33,8 +35,10 @@ await AssertQueryScalar( ss => ss.Set().Select(o => o.OrderDate.Value.AddYears(1).Year)); AssertSql( - @"SELECT CAST(strftime('%Y', ""o"".""OrderDate"", CAST(1 AS TEXT) || ' years') AS INTEGER) -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST(strftime('%Y', "o"."OrderDate", CAST(1 AS TEXT) || ' years') AS INTEGER) +FROM "Orders" AS "o" +"""); } public override async Task Select_datetime_month_component(bool async) @@ -42,8 +46,10 @@ public override async Task Select_datetime_month_component(bool async) await base.Select_datetime_month_component(async); AssertSql( - @"SELECT CAST(strftime('%m', ""o"".""OrderDate"") AS INTEGER) -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST(strftime('%m', "o"."OrderDate") AS INTEGER) +FROM "Orders" AS "o" +"""); } public override async Task Select_datetime_day_of_year_component(bool async) @@ -51,8 +57,10 @@ public override async Task Select_datetime_day_of_year_component(bool async) await base.Select_datetime_day_of_year_component(async); AssertSql( - @"SELECT CAST(strftime('%j', ""o"".""OrderDate"") AS INTEGER) -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST(strftime('%j', "o"."OrderDate") AS INTEGER) +FROM "Orders" AS "o" +"""); } public override async Task Select_datetime_day_component(bool async) @@ -60,8 +68,10 @@ public override async Task Select_datetime_day_component(bool async) await base.Select_datetime_day_component(async); AssertSql( - @"SELECT CAST(strftime('%d', ""o"".""OrderDate"") AS INTEGER) -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST(strftime('%d', "o"."OrderDate") AS INTEGER) +FROM "Orders" AS "o" +"""); } public override async Task Select_datetime_hour_component(bool async) @@ -69,8 +79,10 @@ public override async Task Select_datetime_hour_component(bool async) await base.Select_datetime_hour_component(async); AssertSql( - @"SELECT CAST(strftime('%H', ""o"".""OrderDate"") AS INTEGER) -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST(strftime('%H', "o"."OrderDate") AS INTEGER) +FROM "Orders" AS "o" +"""); } public override async Task Select_datetime_minute_component(bool async) @@ -78,8 +90,10 @@ public override async Task Select_datetime_minute_component(bool async) await base.Select_datetime_minute_component(async); AssertSql( - @"SELECT CAST(strftime('%M', ""o"".""OrderDate"") AS INTEGER) -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST(strftime('%M', "o"."OrderDate") AS INTEGER) +FROM "Orders" AS "o" +"""); } public override async Task Select_datetime_second_component(bool async) @@ -87,8 +101,10 @@ public override async Task Select_datetime_second_component(bool async) await base.Select_datetime_second_component(async); AssertSql( - @"SELECT CAST(strftime('%S', ""o"".""OrderDate"") AS INTEGER) -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST(strftime('%S', "o"."OrderDate") AS INTEGER) +FROM "Orders" AS "o" +"""); } public override async Task Select_datetime_millisecond_component(bool async) @@ -96,8 +112,10 @@ public override async Task Select_datetime_millisecond_component(bool async) await base.Select_datetime_millisecond_component(async); AssertSql( - @"SELECT (CAST(strftime('%f', ""o"".""OrderDate"") AS REAL) * 1000.0) % 1000.0 -FROM ""Orders"" AS ""o"""); +""" +SELECT (CAST(strftime('%f', "o"."OrderDate") AS REAL) * 1000.0) % 1000.0 +FROM "Orders" AS "o" +"""); } public override async Task Select_datetime_DayOfWeek_component(bool async) @@ -105,8 +123,10 @@ public override async Task Select_datetime_DayOfWeek_component(bool async) await base.Select_datetime_DayOfWeek_component(async); AssertSql( - @"SELECT CAST(CAST(strftime('%w', ""o"".""OrderDate"") AS INTEGER) AS INTEGER) -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST(CAST(strftime('%w', "o"."OrderDate") AS INTEGER) AS INTEGER) +FROM "Orders" AS "o" +"""); } public override async Task Select_datetime_Ticks_component(bool async) @@ -114,8 +134,10 @@ public override async Task Select_datetime_Ticks_component(bool async) await base.Select_datetime_Ticks_component(async); AssertSql( - @"SELECT CAST(((julianday(""o"".""OrderDate"") - 1721425.5) * 864000000000.0) AS INTEGER) -FROM ""Orders"" AS ""o"""); +""" +SELECT CAST(((julianday("o"."OrderDate") - 1721425.5) * 864000000000.0) AS INTEGER) +FROM "Orders" AS "o" +"""); } public override async Task Select_datetime_TimeOfDay_component(bool async) @@ -123,8 +145,10 @@ public override async Task Select_datetime_TimeOfDay_component(bool async) await base.Select_datetime_TimeOfDay_component(async); AssertSql( - @"SELECT rtrim(rtrim(strftime('%H:%M:%f', ""o"".""OrderDate""), '0'), '.') -FROM ""Orders"" AS ""o"""); +""" +SELECT rtrim(rtrim(strftime('%H:%M:%f', "o"."OrderDate"), '0'), '.') +FROM "Orders" AS "o" +"""); } public override async Task diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindWhereQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindWhereQuerySqliteTest.cs index eea2decc032..76e29c20357 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindWhereQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/NorthwindWhereQuerySqliteTest.cs @@ -26,11 +26,13 @@ public override async Task Where_simple_closure(bool async) var queryString = await base.Where_simple_closure(async); AssertSql( - @"@__city_0='London' (Size = 6) +""" +@__city_0='London' (Size = 6) -SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE ""c"".""City"" = @__city_0"); +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE "c"."City" = @__city_0 +"""); Assert.Equal( @".param set @__city_0 'London' @@ -47,11 +49,13 @@ public override async Task Where_datetime_now(bool async) await base.Where_datetime_now(async); AssertSql( - @"@__myDatetime_0='2015-04-10T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='2015-04-10T00:00:00.0000000' (DbType = DateTime) -SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', 'now', 'localtime'), '0'), '.') <> @__myDatetime_0"); +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', 'now', 'localtime'), '0'), '.') <> @__myDatetime_0 +"""); } public override async Task Where_datetime_utcnow(bool async) @@ -59,11 +63,13 @@ public override async Task Where_datetime_utcnow(bool async) await base.Where_datetime_utcnow(async); AssertSql( - @"@__myDatetime_0='2015-04-10T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='2015-04-10T00:00:00.0000000' (DbType = DateTime) -SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', 'now'), '0'), '.') <> @__myDatetime_0"); +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', 'now'), '0'), '.') <> @__myDatetime_0 +"""); } public override async Task Where_datetime_today(bool async) @@ -71,9 +77,11 @@ public override async Task Where_datetime_today(bool async) await base.Where_datetime_today(async); AssertSql( - @"SELECT ""e"".""EmployeeID"", ""e"".""City"", ""e"".""Country"", ""e"".""FirstName"", ""e"".""ReportsTo"", ""e"".""Title"" -FROM ""Employees"" AS ""e"" -WHERE rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', 'now', 'localtime', 'start of day'), '0'), '.') = rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', 'now', 'localtime', 'start of day'), '0'), '.')"); +""" +SELECT "e"."EmployeeID", "e"."City", "e"."Country", "e"."FirstName", "e"."ReportsTo", "e"."Title" +FROM "Employees" AS "e" +WHERE rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', 'now', 'localtime', 'start of day'), '0'), '.') = rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', 'now', 'localtime', 'start of day'), '0'), '.') +"""); } public override async Task Where_datetime_date_component(bool async) @@ -81,11 +89,13 @@ public override async Task Where_datetime_date_component(bool async) await base.Where_datetime_date_component(async); AssertSql( - @"@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) +""" +@__myDatetime_0='1998-05-04T00:00:00.0000000' (DbType = DateTime) -SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', ""o"".""OrderDate"", 'start of day'), '0'), '.') = @__myDatetime_0"); +SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" +FROM "Orders" AS "o" +WHERE rtrim(rtrim(strftime('%Y-%m-%d %H:%M:%f', "o"."OrderDate", 'start of day'), '0'), '.') = @__myDatetime_0 +"""); } public override async Task Where_datetime_year_component(bool async) @@ -93,9 +103,11 @@ public override async Task Where_datetime_year_component(bool async) await base.Where_datetime_year_component(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE CAST(strftime('%Y', ""o"".""OrderDate"") AS INTEGER) = 1998"); +""" +SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" +FROM "Orders" AS "o" +WHERE CAST(strftime('%Y', "o"."OrderDate") AS INTEGER) = 1998 +"""); } public override async Task Where_datetime_month_component(bool async) @@ -103,9 +115,11 @@ public override async Task Where_datetime_month_component(bool async) await base.Where_datetime_month_component(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE CAST(strftime('%m', ""o"".""OrderDate"") AS INTEGER) = 4"); +""" +SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" +FROM "Orders" AS "o" +WHERE CAST(strftime('%m', "o"."OrderDate") AS INTEGER) = 4 +"""); } public override async Task Where_datetime_dayOfYear_component(bool async) @@ -113,9 +127,11 @@ public override async Task Where_datetime_dayOfYear_component(bool async) await base.Where_datetime_dayOfYear_component(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE CAST(strftime('%j', ""o"".""OrderDate"") AS INTEGER) = 68"); +""" +SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" +FROM "Orders" AS "o" +WHERE CAST(strftime('%j', "o"."OrderDate") AS INTEGER) = 68 +"""); } public override async Task Where_datetime_day_component(bool async) @@ -123,9 +139,11 @@ public override async Task Where_datetime_day_component(bool async) await base.Where_datetime_day_component(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE CAST(strftime('%d', ""o"".""OrderDate"") AS INTEGER) = 4"); +""" +SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" +FROM "Orders" AS "o" +WHERE CAST(strftime('%d', "o"."OrderDate") AS INTEGER) = 4 +"""); } public override async Task Where_datetime_hour_component(bool async) @@ -133,9 +151,11 @@ public override async Task Where_datetime_hour_component(bool async) await base.Where_datetime_hour_component(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE CAST(strftime('%H', ""o"".""OrderDate"") AS INTEGER) = 14"); +""" +SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" +FROM "Orders" AS "o" +WHERE CAST(strftime('%H', "o"."OrderDate") AS INTEGER) = 14 +"""); } public override async Task Where_datetime_minute_component(bool async) @@ -143,9 +163,11 @@ public override async Task Where_datetime_minute_component(bool async) await base.Where_datetime_minute_component(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE CAST(strftime('%M', ""o"".""OrderDate"") AS INTEGER) = 23"); +""" +SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" +FROM "Orders" AS "o" +WHERE CAST(strftime('%M', "o"."OrderDate") AS INTEGER) = 23 +"""); } public override async Task Where_datetime_second_component(bool async) @@ -153,9 +175,11 @@ public override async Task Where_datetime_second_component(bool async) await base.Where_datetime_second_component(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE CAST(strftime('%S', ""o"".""OrderDate"") AS INTEGER) = 44"); +""" +SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" +FROM "Orders" AS "o" +WHERE CAST(strftime('%S', "o"."OrderDate") AS INTEGER) = 44 +"""); } public override async Task Where_datetime_millisecond_component(bool async) @@ -163,9 +187,11 @@ public override async Task Where_datetime_millisecond_component(bool async) await base.Where_datetime_millisecond_component(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE ((CAST(strftime('%f', ""o"".""OrderDate"") AS REAL) * 1000.0) % 1000.0) = 88.0"); +""" +SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" +FROM "Orders" AS "o" +WHERE ((CAST(strftime('%f', "o"."OrderDate") AS REAL) * 1000.0) % 1000.0) = 88.0 +"""); } public override async Task Where_string_length(bool async) @@ -173,9 +199,11 @@ public override async Task Where_string_length(bool async) await base.Where_string_length(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE length(""c"".""City"") = 6"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE length("c"."City") = 6 +"""); } public override async Task Where_string_indexof(bool async) @@ -183,9 +211,11 @@ public override async Task Where_string_indexof(bool async) await base.Where_string_indexof(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE (instr(""c"".""City"", 'Sea') - 1) <> -1 OR (""c"".""City"" IS NULL)"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE (instr("c"."City", 'Sea') - 1) <> -1 OR ("c"."City" IS NULL) +"""); } public override async Task Where_string_replace(bool async) @@ -193,9 +223,11 @@ public override async Task Where_string_replace(bool async) await base.Where_string_replace(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE replace(""c"".""City"", 'Sea', 'Rea') = 'Reattle'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE replace("c"."City", 'Sea', 'Rea') = 'Reattle' +"""); } public override async Task Where_string_substring(bool async) @@ -203,9 +235,11 @@ public override async Task Where_string_substring(bool async) await base.Where_string_substring(async); AssertSql( - @"SELECT ""c"".""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" -FROM ""Customers"" AS ""c"" -WHERE substr(""c"".""City"", 1 + 1, 2) = 'ea'"); +""" +SELECT "c"."CustomerID", "c"."Address", "c"."City", "c"."CompanyName", "c"."ContactName", "c"."ContactTitle", "c"."Country", "c"."Fax", "c"."Phone", "c"."PostalCode", "c"."Region" +FROM "Customers" AS "c" +WHERE substr("c"."City", 1 + 1, 2) = 'ea' +"""); } public override async Task Decimal_cast_to_double_works(bool async) @@ -213,9 +247,11 @@ public override async Task Decimal_cast_to_double_works(bool async) await base.Decimal_cast_to_double_works(async); AssertSql( - @"SELECT ""p"".""ProductID"", ""p"".""Discontinued"", ""p"".""ProductName"", ""p"".""SupplierID"", ""p"".""UnitPrice"", ""p"".""UnitsInStock"" -FROM ""Products"" AS ""p"" -WHERE CAST(""p"".""UnitPrice"" AS REAL) > 100.0"); +""" +SELECT "p"."ProductID", "p"."Discontinued", "p"."ProductName", "p"."SupplierID", "p"."UnitPrice", "p"."UnitsInStock" +FROM "Products" AS "p" +WHERE CAST("p"."UnitPrice" AS REAL) > 100.0 +"""); } public override async Task Like_with_non_string_column_using_ToString(bool async) @@ -223,9 +259,11 @@ public override async Task Like_with_non_string_column_using_ToString(bool async await base.Like_with_non_string_column_using_ToString(async); AssertSql( - @"SELECT ""o"".""OrderID"", ""o"".""CustomerID"", ""o"".""EmployeeID"", ""o"".""OrderDate"" -FROM ""Orders"" AS ""o"" -WHERE CAST(""o"".""OrderID"" AS TEXT) LIKE '%20%'"); +""" +SELECT "o"."OrderID", "o"."CustomerID", "o"."EmployeeID", "o"."OrderDate" +FROM "Orders" AS "o" +WHERE CAST("o"."OrderID" AS TEXT) LIKE '%20%' +"""); } public override async Task Where_bitwise_xor(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/NullSemanticsQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/NullSemanticsQuerySqliteTest.cs index f2dd4cd143d..a24f9c503f7 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/NullSemanticsQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/NullSemanticsQuerySqliteTest.cs @@ -19,19 +19,25 @@ public override async Task Bool_equal_nullable_bool_HasValue(bool async) await base.Bool_equal_nullable_bool_HasValue(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE ""e"".""NullableBoolA"" IS NOT NULL", +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE "e"."NullableBoolA" IS NOT NULL +""", // - @"@__prm_0='False' +""" +@__prm_0='False' -SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE @__prm_0 = (""e"".""NullableBoolA"" IS NOT NULL)", +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE @__prm_0 = ("e"."NullableBoolA" IS NOT NULL) +""", // - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE ""e"".""BoolB"" = (""e"".""NullableBoolA"" IS NOT NULL)"); +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE "e"."BoolB" = ("e"."NullableBoolA" IS NOT NULL) +"""); } public override async Task Bool_equal_nullable_bool_compared_to_null(bool async) @@ -39,15 +45,19 @@ public override async Task Bool_equal_nullable_bool_compared_to_null(bool async) await base.Bool_equal_nullable_bool_compared_to_null(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE ""e"".""NullableBoolA"" IS NULL", +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE "e"."NullableBoolA" IS NULL +""", // - @"@__prm_0='False' +""" +@__prm_0='False' -SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE @__prm_0 = (""e"".""NullableBoolA"" IS NOT NULL)"); +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE @__prm_0 = ("e"."NullableBoolA" IS NOT NULL) +"""); } public override async Task Bool_not_equal_nullable_bool_HasValue(bool async) @@ -55,19 +65,25 @@ public override async Task Bool_not_equal_nullable_bool_HasValue(bool async) await base.Bool_not_equal_nullable_bool_HasValue(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE ""e"".""NullableBoolA"" IS NULL", +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE "e"."NullableBoolA" IS NULL +""", // - @"@__prm_0='False' +""" +@__prm_0='False' -SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE @__prm_0 <> (""e"".""NullableBoolA"" IS NOT NULL)", +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE @__prm_0 <> ("e"."NullableBoolA" IS NOT NULL) +""", // - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE ""e"".""BoolB"" <> (""e"".""NullableBoolA"" IS NOT NULL)"); +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE "e"."BoolB" <> ("e"."NullableBoolA" IS NOT NULL) +"""); } public override async Task Bool_not_equal_nullable_int_HasValue(bool async) @@ -75,19 +91,25 @@ public override async Task Bool_not_equal_nullable_int_HasValue(bool async) await base.Bool_not_equal_nullable_int_HasValue(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE ""e"".""NullableIntA"" IS NULL", +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE "e"."NullableIntA" IS NULL +""", // - @"@__prm_0='False' +""" +@__prm_0='False' -SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE @__prm_0 <> (""e"".""NullableIntA"" IS NOT NULL)", +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE @__prm_0 <> ("e"."NullableIntA" IS NOT NULL) +""", // - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE ""e"".""BoolB"" <> (""e"".""NullableIntA"" IS NOT NULL)"); +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE "e"."BoolB" <> ("e"."NullableIntA" IS NOT NULL) +"""); } public override async Task Bool_not_equal_nullable_bool_compared_to_null(bool async) @@ -95,15 +117,19 @@ public override async Task Bool_not_equal_nullable_bool_compared_to_null(bool as await base.Bool_not_equal_nullable_bool_compared_to_null(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE ""e"".""NullableBoolA"" IS NOT NULL", +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE "e"."NullableBoolA" IS NOT NULL +""", // - @"@__prm_0='False' +""" +@__prm_0='False' -SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE @__prm_0 <> (""e"".""NullableBoolA"" IS NOT NULL)"); +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE @__prm_0 <> ("e"."NullableBoolA" IS NOT NULL) +"""); } public override async Task Bool_logical_operation_with_nullable_bool_HasValue(bool async) @@ -111,16 +137,22 @@ public override async Task Bool_logical_operation_with_nullable_bool_HasValue(bo await base.Bool_logical_operation_with_nullable_bool_HasValue(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e""", +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +""", // - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE 0", +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE 0 +""", // - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE ""e"".""BoolB"" | (""e"".""NullableBoolA"" IS NOT NULL)"); +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE "e"."BoolB" | ("e"."NullableBoolA" IS NOT NULL) +"""); } public override async Task Comparison_compared_to_null_check_on_bool(bool async) @@ -128,13 +160,17 @@ public override async Task Comparison_compared_to_null_check_on_bool(bool async) await base.Comparison_compared_to_null_check_on_bool(async); AssertSql( - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE (""e"".""IntA"" = ""e"".""IntB"") <> (""e"".""NullableBoolA"" IS NOT NULL)", +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE ("e"."IntA" = "e"."IntB") <> ("e"."NullableBoolA" IS NOT NULL) +""", // - @"SELECT ""e"".""Id"", ""e"".""BoolA"", ""e"".""BoolB"", ""e"".""BoolC"", ""e"".""IntA"", ""e"".""IntB"", ""e"".""IntC"", ""e"".""NullableBoolA"", ""e"".""NullableBoolB"", ""e"".""NullableBoolC"", ""e"".""NullableIntA"", ""e"".""NullableIntB"", ""e"".""NullableIntC"", ""e"".""NullableStringA"", ""e"".""NullableStringB"", ""e"".""NullableStringC"", ""e"".""StringA"", ""e"".""StringB"", ""e"".""StringC"" -FROM ""Entities1"" AS ""e"" -WHERE (""e"".""IntA"" <> ""e"".""IntB"") = (""e"".""NullableBoolA"" IS NOT NULL)"); +""" +SELECT "e"."Id", "e"."BoolA", "e"."BoolB", "e"."BoolC", "e"."IntA", "e"."IntB", "e"."IntC", "e"."NullableBoolA", "e"."NullableBoolB", "e"."NullableBoolC", "e"."NullableIntA", "e"."NullableIntB", "e"."NullableIntC", "e"."NullableStringA", "e"."NullableStringB", "e"."NullableStringC", "e"."StringA", "e"."StringB", "e"."StringC" +FROM "Entities1" AS "e" +WHERE ("e"."IntA" <> "e"."IntB") = ("e"."NullableBoolA" IS NOT NULL) +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/SpatialQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/SpatialQuerySqliteTest.cs index 85244dea44e..06547917f93 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/SpatialQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/SpatialQuerySqliteTest.cs @@ -18,17 +18,25 @@ public override async Task SimpleSelect(bool async) await base.SimpleSelect(async); AssertSql( - @"SELECT ""p"".""Id"", ""p"".""Geometry"", ""p"".""Group"", ""p"".""Point"", ""p"".""PointM"", ""p"".""PointZ"", ""p"".""PointZM"" -FROM ""PointEntity"" AS ""p""", +""" +SELECT "p"."Id", "p"."Geometry", "p"."Group", "p"."Point", "p"."PointM", "p"."PointZ", "p"."PointZM" +FROM "PointEntity" AS "p" +""", // - @"SELECT ""l"".""Id"", ""l"".""LineString"" -FROM ""LineStringEntity"" AS ""l""", +""" +SELECT "l"."Id", "l"."LineString" +FROM "LineStringEntity" AS "l" +""", // - @"SELECT ""p"".""Id"", ""p"".""Polygon"" -FROM ""PolygonEntity"" AS ""p""", +""" +SELECT "p"."Id", "p"."Polygon" +FROM "PolygonEntity" AS "p" +""", // - @"SELECT ""m"".""Id"", ""m"".""MultiLineString"" -FROM ""MultiLineStringEntity"" AS ""m"""); +""" +SELECT "m"."Id", "m"."MultiLineString" +FROM "MultiLineStringEntity" AS "m" +"""); } public override async Task Distance_on_converted_geometry_type(bool async) @@ -36,10 +44,12 @@ public override async Task Distance_on_converted_geometry_type(bool async) await base.Distance_on_converted_geometry_type(async); AssertSql( - @"@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Nullable = false) (Size = 60) (DbType = String) +""" +@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Nullable = false) (Size = 60) (DbType = String) -SELECT ""g"".""Id"", Distance(""g"".""Location"", @__point_0) AS ""Distance"" -FROM ""GeoPointEntity"" AS ""g"""); +SELECT "g"."Id", Distance("g"."Location", @__point_0) AS "Distance" +FROM "GeoPointEntity" AS "g" +"""); } public override async Task Distance_on_converted_geometry_type_lhs(bool async) @@ -47,10 +57,12 @@ public override async Task Distance_on_converted_geometry_type_lhs(bool async) await base.Distance_on_converted_geometry_type_lhs(async); AssertSql( - @"@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Nullable = false) (Size = 60) (DbType = String) +""" +@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Nullable = false) (Size = 60) (DbType = String) -SELECT ""g"".""Id"", Distance(@__point_0, ""g"".""Location"") AS ""Distance"" -FROM ""GeoPointEntity"" AS ""g"""); +SELECT "g"."Id", Distance(@__point_0, "g"."Location") AS "Distance" +FROM "GeoPointEntity" AS "g" +"""); } public override async Task Distance_on_converted_geometry_type_constant(bool async) @@ -58,8 +70,10 @@ public override async Task Distance_on_converted_geometry_type_constant(bool asy await base.Distance_on_converted_geometry_type_constant(async); AssertSql( - @"SELECT ""g"".""Id"", Distance(""g"".""Location"", GeomFromText('POINT (0 1)')) AS ""Distance"" -FROM ""GeoPointEntity"" AS ""g"""); +""" +SELECT "g"."Id", Distance("g"."Location", GeomFromText('POINT (0 1)')) AS "Distance" +FROM "GeoPointEntity" AS "g" +"""); } public override async Task Distance_on_converted_geometry_type_constant_lhs(bool async) @@ -67,8 +81,10 @@ public override async Task Distance_on_converted_geometry_type_constant_lhs(bool await base.Distance_on_converted_geometry_type_constant_lhs(async); AssertSql( - @"SELECT ""g"".""Id"", Distance(GeomFromText('POINT (0 1)'), ""g"".""Location"") AS ""Distance"" -FROM ""GeoPointEntity"" AS ""g"""); +""" +SELECT "g"."Id", Distance(GeomFromText('POINT (0 1)'), "g"."Location") AS "Distance" +FROM "GeoPointEntity" AS "g" +"""); } public override async Task WithConversion(bool async) @@ -76,8 +92,10 @@ public override async Task WithConversion(bool async) await base.WithConversion(async); AssertSql( - @"SELECT ""g"".""Id"", ""g"".""Location"" -FROM ""GeoPointEntity"" AS ""g"""); +""" +SELECT "g"."Id", "g"."Location" +FROM "GeoPointEntity" AS "g" +"""); } public override async Task Area(bool async) @@ -85,8 +103,10 @@ public override async Task Area(bool async) await base.Area(async); AssertSql( - @"SELECT ""p"".""Id"", Area(""p"".""Polygon"") AS ""Area"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", Area("p"."Polygon") AS "Area" +FROM "PolygonEntity" AS "p" +"""); } public override async Task AsBinary(bool async) @@ -94,8 +114,10 @@ public override async Task AsBinary(bool async) await base.AsBinary(async); AssertSql( - @"SELECT ""p"".""Id"", AsBinary(""p"".""Point"") AS ""Binary"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", AsBinary("p"."Point") AS "Binary" +FROM "PointEntity" AS "p" +"""); } public override async Task AsBinary_with_null_check(bool async) @@ -103,11 +125,13 @@ public override async Task AsBinary_with_null_check(bool async) await base.AsBinary_with_null_check(async); AssertSql( - @"SELECT ""p"".""Id"", CASE - WHEN ""p"".""Point"" IS NULL THEN NULL - ELSE AsBinary(""p"".""Point"") -END AS ""Binary"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", CASE + WHEN "p"."Point" IS NULL THEN NULL + ELSE AsBinary("p"."Point") +END AS "Binary" +FROM "PointEntity" AS "p" +"""); } public override async Task AsText(bool async) @@ -115,8 +139,10 @@ public override async Task AsText(bool async) await base.AsText(async); AssertSql( - @"SELECT ""p"".""Id"", AsText(""p"".""Point"") AS ""Text"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", AsText("p"."Point") AS "Text" +FROM "PointEntity" AS "p" +"""); } public override async Task Boundary(bool async) @@ -124,8 +150,10 @@ public override async Task Boundary(bool async) await base.Boundary(async); AssertSql( - @"SELECT ""p"".""Id"", Boundary(""p"".""Polygon"") AS ""Boundary"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", Boundary("p"."Polygon") AS "Boundary" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Buffer(bool async) @@ -133,8 +161,10 @@ public override async Task Buffer(bool async) await base.Buffer(async); AssertSql( - @"SELECT ""p"".""Id"", Buffer(""p"".""Polygon"", 1.0) AS ""Buffer"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", Buffer("p"."Polygon", 1.0) AS "Buffer" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Buffer_quadrantSegments(bool async) @@ -142,8 +172,10 @@ public override async Task Buffer_quadrantSegments(bool async) await base.Buffer_quadrantSegments(async); AssertSql( - @"SELECT ""p"".""Id"", Buffer(""p"".""Polygon"", 1.0, 8) AS ""Buffer"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", Buffer("p"."Polygon", 1.0, 8) AS "Buffer" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Centroid(bool async) @@ -151,8 +183,10 @@ public override async Task Centroid(bool async) await base.Centroid(async); AssertSql( - @"SELECT ""p"".""Id"", Centroid(""p"".""Polygon"") AS ""Centroid"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", Centroid("p"."Polygon") AS "Centroid" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Combine_aggregate(bool async) @@ -160,10 +194,12 @@ public override async Task Combine_aggregate(bool async) await base.Combine_aggregate(async); AssertSql( - @"SELECT ""p"".""Group"" AS ""Id"", Collect(""p"".""Point"") AS ""Combined"" -FROM ""PointEntity"" AS ""p"" -WHERE ""p"".""Point"" IS NOT NULL -GROUP BY ""p"".""Group"""); +""" +SELECT "p"."Group" AS "Id", Collect("p"."Point") AS "Combined" +FROM "PointEntity" AS "p" +WHERE "p"."Point" IS NOT NULL +GROUP BY "p"."Group" +"""); } public override async Task EnvelopeCombine_aggregate(bool async) @@ -171,10 +207,12 @@ public override async Task EnvelopeCombine_aggregate(bool async) await base.EnvelopeCombine_aggregate(async); AssertSql( - @"SELECT ""p"".""Group"" AS ""Id"", Extent(""p"".""Point"") AS ""Combined"" -FROM ""PointEntity"" AS ""p"" -WHERE ""p"".""Point"" IS NOT NULL -GROUP BY ""p"".""Group"""); +""" +SELECT "p"."Group" AS "Id", Extent("p"."Point") AS "Combined" +FROM "PointEntity" AS "p" +WHERE "p"."Point" IS NOT NULL +GROUP BY "p"."Group" +"""); } public override async Task Contains(bool async) @@ -182,12 +220,14 @@ public override async Task Contains(bool async) await base.Contains(async); AssertSql( - @"@__point_0='0x000100000000000000000000D03F000000000000D03F000000000000D03F0000...' (Size = 60) (DbType = String) +""" +@__point_0='0x000100000000000000000000D03F000000000000D03F000000000000D03F0000...' (Size = 60) (DbType = String) -SELECT ""p"".""Id"", CASE - WHEN ""p"".""Polygon"" IS NOT NULL THEN Contains(""p"".""Polygon"", @__point_0) -END AS ""Contains"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", CASE + WHEN "p"."Polygon" IS NOT NULL THEN Contains("p"."Polygon", @__point_0) +END AS "Contains" +FROM "PolygonEntity" AS "p" +"""); } public override async Task ConvexHull(bool async) @@ -195,8 +235,10 @@ public override async Task ConvexHull(bool async) await base.ConvexHull(async); AssertSql( - @"SELECT ""p"".""Id"", ConvexHull(""p"".""Polygon"") AS ""ConvexHull"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", ConvexHull("p"."Polygon") AS "ConvexHull" +FROM "PolygonEntity" AS "p" +"""); } public override async Task ConvexHull_aggregate(bool async) @@ -204,10 +246,12 @@ public override async Task ConvexHull_aggregate(bool async) await base.ConvexHull_aggregate(async); AssertSql( - @"SELECT ""p"".""Group"" AS ""Id"", ConvexHull(Collect(""p"".""Point"")) AS ""ConvexHull"" -FROM ""PointEntity"" AS ""p"" -WHERE ""p"".""Point"" IS NOT NULL -GROUP BY ""p"".""Group"""); +""" +SELECT "p"."Group" AS "Id", ConvexHull(Collect("p"."Point")) AS "ConvexHull" +FROM "PointEntity" AS "p" +WHERE "p"."Point" IS NOT NULL +GROUP BY "p"."Group" +"""); } public override async Task IGeometryCollection_Count(bool async) @@ -215,8 +259,10 @@ public override async Task IGeometryCollection_Count(bool async) await base.IGeometryCollection_Count(async); AssertSql( - @"SELECT ""m"".""Id"", NumGeometries(""m"".""MultiLineString"") AS ""Count"" -FROM ""MultiLineStringEntity"" AS ""m"""); +""" +SELECT "m"."Id", NumGeometries("m"."MultiLineString") AS "Count" +FROM "MultiLineStringEntity" AS "m" +"""); } public override async Task LineString_Count(bool async) @@ -224,8 +270,10 @@ public override async Task LineString_Count(bool async) await base.LineString_Count(async); AssertSql( - @"SELECT ""l"".""Id"", NumPoints(""l"".""LineString"") AS ""Count"" -FROM ""LineStringEntity"" AS ""l"""); +""" +SELECT "l"."Id", NumPoints("l"."LineString") AS "Count" +FROM "LineStringEntity" AS "l" +"""); } public override async Task CoveredBy(bool async) @@ -233,12 +281,14 @@ public override async Task CoveredBy(bool async) await base.CoveredBy(async); AssertSql( - @"@__polygon_0='0x000100000000000000000000F0BF000000000000F0BF00000000000000400000...' (Size = 132) (DbType = String) +""" +@__polygon_0='0x000100000000000000000000F0BF000000000000F0BF00000000000000400000...' (Size = 132) (DbType = String) -SELECT ""p"".""Id"", CASE - WHEN ""p"".""Point"" IS NOT NULL THEN CoveredBy(""p"".""Point"", @__polygon_0) -END AS ""CoveredBy"" -FROM ""PointEntity"" AS ""p"""); +SELECT "p"."Id", CASE + WHEN "p"."Point" IS NOT NULL THEN CoveredBy("p"."Point", @__polygon_0) +END AS "CoveredBy" +FROM "PointEntity" AS "p" +"""); } public override async Task Covers(bool async) @@ -246,12 +296,14 @@ public override async Task Covers(bool async) await base.Covers(async); AssertSql( - @"@__point_0='0x000100000000000000000000D03F000000000000D03F000000000000D03F0000...' (Size = 60) (DbType = String) +""" +@__point_0='0x000100000000000000000000D03F000000000000D03F000000000000D03F0000...' (Size = 60) (DbType = String) -SELECT ""p"".""Id"", CASE - WHEN ""p"".""Polygon"" IS NOT NULL THEN Covers(""p"".""Polygon"", @__point_0) -END AS ""Covers"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", CASE + WHEN "p"."Polygon" IS NOT NULL THEN Covers("p"."Polygon", @__point_0) +END AS "Covers" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Crosses(bool async) @@ -259,12 +311,14 @@ public override async Task Crosses(bool async) await base.Crosses(async); AssertSql( - @"@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) +""" +@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) -SELECT ""l"".""Id"", CASE - WHEN ""l"".""LineString"" IS NOT NULL THEN Crosses(""l"".""LineString"", @__lineString_0) -END AS ""Crosses"" -FROM ""LineStringEntity"" AS ""l"""); +SELECT "l"."Id", CASE + WHEN "l"."LineString" IS NOT NULL THEN Crosses("l"."LineString", @__lineString_0) +END AS "Crosses" +FROM "LineStringEntity" AS "l" +"""); } public override async Task Difference(bool async) @@ -272,10 +326,12 @@ public override async Task Difference(bool async) await base.Difference(async); AssertSql( - @"@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) +""" +@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) -SELECT ""p"".""Id"", Difference(""p"".""Polygon"", @__polygon_0) AS ""Difference"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", Difference("p"."Polygon", @__polygon_0) AS "Difference" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Dimension(bool async) @@ -283,8 +339,10 @@ public override async Task Dimension(bool async) await base.Dimension(async); AssertSql( - @"SELECT ""p"".""Id"", Dimension(""p"".""Point"") AS ""Dimension"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", Dimension("p"."Point") AS "Dimension" +FROM "PointEntity" AS "p" +"""); } public override async Task Disjoint_with_cast_to_nullable(bool async) @@ -292,12 +350,14 @@ public override async Task Disjoint_with_cast_to_nullable(bool async) await base.Disjoint_with_cast_to_nullable(async); AssertSql( - @"@__point_0='0x000100000000000000000000F03F000000000000F03F000000000000F03F0000...' (Size = 60) (DbType = String) +""" +@__point_0='0x000100000000000000000000F03F000000000000F03F000000000000F03F0000...' (Size = 60) (DbType = String) -SELECT ""p"".""Id"", CASE - WHEN ""p"".""Polygon"" IS NOT NULL THEN Disjoint(""p"".""Polygon"", @__point_0) -END AS ""Disjoint"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", CASE + WHEN "p"."Polygon" IS NOT NULL THEN Disjoint("p"."Polygon", @__point_0) +END AS "Disjoint" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Disjoint_with_null_check(bool async) @@ -305,13 +365,15 @@ public override async Task Disjoint_with_null_check(bool async) await base.Disjoint_with_null_check(async); AssertSql( - @"@__point_0='0x000100000000000000000000F03F000000000000F03F000000000000F03F0000...' (Size = 60) (DbType = String) +""" +@__point_0='0x000100000000000000000000F03F000000000000F03F000000000000F03F0000...' (Size = 60) (DbType = String) -SELECT ""p"".""Id"", CASE - WHEN ""p"".""Polygon"" IS NULL THEN NULL - WHEN ""p"".""Polygon"" IS NOT NULL THEN Disjoint(""p"".""Polygon"", @__point_0) -END AS ""Disjoint"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", CASE + WHEN "p"."Polygon" IS NULL THEN NULL + WHEN "p"."Polygon" IS NOT NULL THEN Disjoint("p"."Polygon", @__point_0) +END AS "Disjoint" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Distance_with_null_check(bool async) @@ -319,10 +381,12 @@ public override async Task Distance_with_null_check(bool async) await base.Distance_with_null_check(async); AssertSql( - @"@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Size = 60) (DbType = String) +""" +@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Size = 60) (DbType = String) -SELECT ""p"".""Id"", Distance(""p"".""Point"", @__point_0) AS ""Distance"" -FROM ""PointEntity"" AS ""p"""); +SELECT "p"."Id", Distance("p"."Point", @__point_0) AS "Distance" +FROM "PointEntity" AS "p" +"""); } public override async Task Distance_with_cast_to_nullable(bool async) @@ -330,10 +394,12 @@ public override async Task Distance_with_cast_to_nullable(bool async) await base.Distance_with_cast_to_nullable(async); AssertSql( - @"@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Size = 60) (DbType = String) +""" +@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Size = 60) (DbType = String) -SELECT ""p"".""Id"", Distance(""p"".""Point"", @__point_0) AS ""Distance"" -FROM ""PointEntity"" AS ""p"""); +SELECT "p"."Id", Distance("p"."Point", @__point_0) AS "Distance" +FROM "PointEntity" AS "p" +"""); } public override async Task Distance_geometry(bool async) @@ -341,10 +407,12 @@ public override async Task Distance_geometry(bool async) await base.Distance_geometry(async); AssertSql( - @"@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Size = 60) (DbType = String) +""" +@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Size = 60) (DbType = String) -SELECT ""p"".""Id"", Distance(""p"".""Geometry"", @__point_0) AS ""Distance"" -FROM ""PointEntity"" AS ""p"""); +SELECT "p"."Id", Distance("p"."Geometry", @__point_0) AS "Distance" +FROM "PointEntity" AS "p" +"""); } public override async Task Distance_constant(bool async) @@ -352,8 +420,10 @@ public override async Task Distance_constant(bool async) await base.Distance_constant(async); AssertSql( - @"SELECT ""p"".""Id"", Distance(""p"".""Point"", GeomFromText('POINT (0 1)')) AS ""Distance"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", Distance("p"."Point", GeomFromText('POINT (0 1)')) AS "Distance" +FROM "PointEntity" AS "p" +"""); } public override async Task Distance_constant_srid_4326(bool async) @@ -361,8 +431,10 @@ public override async Task Distance_constant_srid_4326(bool async) await base.Distance_constant_srid_4326(async); AssertSql( - @"SELECT ""p"".""Id"", Distance(""p"".""Point"", GeomFromText('POINT (1 1)', 4326)) AS ""Distance"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", Distance("p"."Point", GeomFromText('POINT (1 1)', 4326)) AS "Distance" +FROM "PointEntity" AS "p" +"""); } public override async Task Distance_constant_lhs(bool async) @@ -370,8 +442,10 @@ public override async Task Distance_constant_lhs(bool async) await base.Distance_constant_lhs(async); AssertSql( - @"SELECT ""p"".""Id"", Distance(GeomFromText('POINT (0 1)'), ""p"".""Point"") AS ""Distance"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", Distance(GeomFromText('POINT (0 1)'), "p"."Point") AS "Distance" +FROM "PointEntity" AS "p" +"""); } public override async Task EndPoint(bool async) @@ -379,8 +453,10 @@ public override async Task EndPoint(bool async) await base.EndPoint(async); AssertSql( - @"SELECT ""l"".""Id"", EndPoint(""l"".""LineString"") AS ""EndPoint"" -FROM ""LineStringEntity"" AS ""l"""); +""" +SELECT "l"."Id", EndPoint("l"."LineString") AS "EndPoint" +FROM "LineStringEntity" AS "l" +"""); } public override async Task Envelope(bool async) @@ -388,8 +464,10 @@ public override async Task Envelope(bool async) await base.Envelope(async); AssertSql( - @"SELECT ""p"".""Id"", Envelope(""p"".""Polygon"") AS ""Envelope"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", Envelope("p"."Polygon") AS "Envelope" +FROM "PolygonEntity" AS "p" +"""); } public override async Task EqualsTopologically(bool async) @@ -397,12 +475,14 @@ public override async Task EqualsTopologically(bool async) await base.EqualsTopologically(async); AssertSql( - @"@__point_0='0x0001000000000000000000000000000000000000000000000000000000000000...' (Size = 60) (DbType = String) +""" +@__point_0='0x0001000000000000000000000000000000000000000000000000000000000000...' (Size = 60) (DbType = String) -SELECT ""p"".""Id"", CASE - WHEN ""p"".""Point"" IS NOT NULL THEN Equals(""p"".""Point"", @__point_0) -END AS ""EqualsTopologically"" -FROM ""PointEntity"" AS ""p"""); +SELECT "p"."Id", CASE + WHEN "p"."Point" IS NOT NULL THEN Equals("p"."Point", @__point_0) +END AS "EqualsTopologically" +FROM "PointEntity" AS "p" +"""); } public override async Task ExteriorRing(bool async) @@ -410,8 +490,10 @@ public override async Task ExteriorRing(bool async) await base.ExteriorRing(async); AssertSql( - @"SELECT ""p"".""Id"", ExteriorRing(""p"".""Polygon"") AS ""ExteriorRing"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", ExteriorRing("p"."Polygon") AS "ExteriorRing" +FROM "PolygonEntity" AS "p" +"""); } public override async Task GeometryType(bool async) @@ -419,7 +501,8 @@ public override async Task GeometryType(bool async) await base.GeometryType(async); AssertSql( - @"SELECT ""p"".""Id"", CASE rtrim(GeometryType(""p"".""Point""), ' ZM') +""" +SELECT "p"."Id", CASE rtrim(GeometryType("p"."Point"), ' ZM') WHEN 'POINT' THEN 'Point' WHEN 'LINESTRING' THEN 'LineString' WHEN 'POLYGON' THEN 'Polygon' @@ -427,8 +510,9 @@ public override async Task GeometryType(bool async) WHEN 'MULTILINESTRING' THEN 'MultiLineString' WHEN 'MULTIPOLYGON' THEN 'MultiPolygon' WHEN 'GEOMETRYCOLLECTION' THEN 'GeometryCollection' -END AS ""GeometryType"" -FROM ""PointEntity"" AS ""p"""); +END AS "GeometryType" +FROM "PointEntity" AS "p" +"""); } public override async Task GetGeometryN(bool async) @@ -436,8 +520,10 @@ public override async Task GetGeometryN(bool async) await base.GetGeometryN(async); AssertSql( - @"SELECT ""m"".""Id"", GeometryN(""m"".""MultiLineString"", 0 + 1) AS ""Geometry0"" -FROM ""MultiLineStringEntity"" AS ""m"""); +""" +SELECT "m"."Id", GeometryN("m"."MultiLineString", 0 + 1) AS "Geometry0" +FROM "MultiLineStringEntity" AS "m" +"""); } public override async Task GetGeometryN_with_null_argument(bool async) @@ -445,11 +531,13 @@ public override async Task GetGeometryN_with_null_argument(bool async) await base.GetGeometryN_with_null_argument(async); AssertSql( - @"SELECT ""m"".""Id"", GeometryN(""m"".""MultiLineString"", ( - SELECT MAX(""m0"".""Id"") - FROM ""MultiLineStringEntity"" AS ""m0"" - WHERE 0) + 1) AS ""Geometry0"" -FROM ""MultiLineStringEntity"" AS ""m"""); +""" +SELECT "m"."Id", GeometryN("m"."MultiLineString", ( + SELECT MAX("m0"."Id") + FROM "MultiLineStringEntity" AS "m0" + WHERE 0) + 1) AS "Geometry0" +FROM "MultiLineStringEntity" AS "m" +"""); } public override async Task GetInteriorRingN(bool async) @@ -457,11 +545,13 @@ public override async Task GetInteriorRingN(bool async) await base.GetInteriorRingN(async); AssertSql( - @"SELECT ""p"".""Id"", CASE - WHEN NumInteriorRing(""p"".""Polygon"") = 0 THEN NULL - ELSE InteriorRingN(""p"".""Polygon"", 0 + 1) -END AS ""InteriorRing0"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", CASE + WHEN NumInteriorRing("p"."Polygon") = 0 THEN NULL + ELSE InteriorRingN("p"."Polygon", 0 + 1) +END AS "InteriorRing0" +FROM "PolygonEntity" AS "p" +"""); } public override async Task GetPointN(bool async) @@ -469,8 +559,10 @@ public override async Task GetPointN(bool async) await base.GetPointN(async); AssertSql( - @"SELECT ""l"".""Id"", PointN(""l"".""LineString"", 0 + 1) AS ""Point0"" -FROM ""LineStringEntity"" AS ""l"""); +""" +SELECT "l"."Id", PointN("l"."LineString", 0 + 1) AS "Point0" +FROM "LineStringEntity" AS "l" +"""); } public override async Task InteriorPoint(bool async) @@ -478,8 +570,10 @@ public override async Task InteriorPoint(bool async) await base.InteriorPoint(async); AssertSql( - @"SELECT ""p"".""Id"", PointOnSurface(""p"".""Polygon"") AS ""InteriorPoint"", ""p"".""Polygon"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", PointOnSurface("p"."Polygon") AS "InteriorPoint", "p"."Polygon" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Intersection(bool async) @@ -487,10 +581,12 @@ public override async Task Intersection(bool async) await base.Intersection(async); AssertSql( - @"@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) +""" +@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) -SELECT ""p"".""Id"", Intersection(""p"".""Polygon"", @__polygon_0) AS ""Intersection"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", Intersection("p"."Polygon", @__polygon_0) AS "Intersection" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Intersects(bool async) @@ -498,12 +594,14 @@ public override async Task Intersects(bool async) await base.Intersects(async); AssertSql( - @"@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) +""" +@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) -SELECT ""l"".""Id"", CASE - WHEN ""l"".""LineString"" IS NOT NULL THEN Intersects(""l"".""LineString"", @__lineString_0) -END AS ""Intersects"" -FROM ""LineStringEntity"" AS ""l"""); +SELECT "l"."Id", CASE + WHEN "l"."LineString" IS NOT NULL THEN Intersects("l"."LineString", @__lineString_0) +END AS "Intersects" +FROM "LineStringEntity" AS "l" +"""); } public override async Task ICurve_IsClosed(bool async) @@ -511,10 +609,12 @@ public override async Task ICurve_IsClosed(bool async) await base.ICurve_IsClosed(async); AssertSql( - @"SELECT ""l"".""Id"", CASE - WHEN ""l"".""LineString"" IS NOT NULL THEN IsClosed(""l"".""LineString"") -END AS ""IsClosed"" -FROM ""LineStringEntity"" AS ""l"""); +""" +SELECT "l"."Id", CASE + WHEN "l"."LineString" IS NOT NULL THEN IsClosed("l"."LineString") +END AS "IsClosed" +FROM "LineStringEntity" AS "l" +"""); } public override async Task IMultiCurve_IsClosed(bool async) @@ -522,10 +622,12 @@ public override async Task IMultiCurve_IsClosed(bool async) await base.IMultiCurve_IsClosed(async); AssertSql( - @"SELECT ""m"".""Id"", CASE - WHEN ""m"".""MultiLineString"" IS NOT NULL THEN IsClosed(""m"".""MultiLineString"") -END AS ""IsClosed"" -FROM ""MultiLineStringEntity"" AS ""m"""); +""" +SELECT "m"."Id", CASE + WHEN "m"."MultiLineString" IS NOT NULL THEN IsClosed("m"."MultiLineString") +END AS "IsClosed" +FROM "MultiLineStringEntity" AS "m" +"""); } public override async Task IsEmpty(bool async) @@ -533,10 +635,12 @@ public override async Task IsEmpty(bool async) await base.IsEmpty(async); AssertSql( - @"SELECT ""m"".""Id"", CASE - WHEN ""m"".""MultiLineString"" IS NOT NULL THEN IsEmpty(""m"".""MultiLineString"") -END AS ""IsEmpty"" -FROM ""MultiLineStringEntity"" AS ""m"""); +""" +SELECT "m"."Id", CASE + WHEN "m"."MultiLineString" IS NOT NULL THEN IsEmpty("m"."MultiLineString") +END AS "IsEmpty" +FROM "MultiLineStringEntity" AS "m" +"""); } public override async Task IsRing(bool async) @@ -544,10 +648,12 @@ public override async Task IsRing(bool async) await base.IsRing(async); AssertSql( - @"SELECT ""l"".""Id"", CASE - WHEN ""l"".""LineString"" IS NOT NULL THEN IsRing(""l"".""LineString"") -END AS ""IsRing"" -FROM ""LineStringEntity"" AS ""l"""); +""" +SELECT "l"."Id", CASE + WHEN "l"."LineString" IS NOT NULL THEN IsRing("l"."LineString") +END AS "IsRing" +FROM "LineStringEntity" AS "l" +"""); } public override async Task IsSimple(bool async) @@ -555,10 +661,12 @@ public override async Task IsSimple(bool async) await base.IsSimple(async); AssertSql( - @"SELECT ""l"".""Id"", CASE - WHEN ""l"".""LineString"" IS NOT NULL THEN IsSimple(""l"".""LineString"") -END AS ""IsSimple"" -FROM ""LineStringEntity"" AS ""l"""); +""" +SELECT "l"."Id", CASE + WHEN "l"."LineString" IS NOT NULL THEN IsSimple("l"."LineString") +END AS "IsSimple" +FROM "LineStringEntity" AS "l" +"""); } public override async Task IsValid(bool async) @@ -566,10 +674,12 @@ public override async Task IsValid(bool async) await base.IsValid(async); AssertSql( - @"SELECT ""p"".""Id"", CASE - WHEN ""p"".""Point"" IS NOT NULL THEN IsValid(""p"".""Point"") -END AS ""IsValid"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", CASE + WHEN "p"."Point" IS NOT NULL THEN IsValid("p"."Point") +END AS "IsValid" +FROM "PointEntity" AS "p" +"""); } public override async Task IsWithinDistance(bool async) @@ -577,10 +687,12 @@ public override async Task IsWithinDistance(bool async) await base.IsWithinDistance(async); AssertSql( - @"@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Size = 60) (DbType = String) +""" +@__point_0='0x0001000000000000000000000000000000000000F03F00000000000000000000...' (Size = 60) (DbType = String) -SELECT ""p"".""Id"", Distance(""p"".""Point"", @__point_0) <= 1.0 AS ""IsWithinDistance"" -FROM ""PointEntity"" AS ""p"""); +SELECT "p"."Id", Distance("p"."Point", @__point_0) <= 1.0 AS "IsWithinDistance" +FROM "PointEntity" AS "p" +"""); } public override async Task Item(bool async) @@ -588,8 +700,10 @@ public override async Task Item(bool async) await base.Item(async); AssertSql( - @"SELECT ""m"".""Id"", GeometryN(""m"".""MultiLineString"", 0 + 1) AS ""Item0"" -FROM ""MultiLineStringEntity"" AS ""m"""); +""" +SELECT "m"."Id", GeometryN("m"."MultiLineString", 0 + 1) AS "Item0" +FROM "MultiLineStringEntity" AS "m" +"""); } public override async Task Length(bool async) @@ -597,8 +711,10 @@ public override async Task Length(bool async) await base.Length(async); AssertSql( - @"SELECT ""l"".""Id"", GLength(""l"".""LineString"") AS ""Length"" -FROM ""LineStringEntity"" AS ""l"""); +""" +SELECT "l"."Id", GLength("l"."LineString") AS "Length" +FROM "LineStringEntity" AS "l" +"""); } public override async Task M(bool async) @@ -606,8 +722,10 @@ public override async Task M(bool async) await base.M(async); AssertSql( - @"SELECT ""p"".""Id"", M(""p"".""Point"") AS ""M"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", M("p"."Point") AS "M" +FROM "PointEntity" AS "p" +"""); } // No Sqlite Translation @@ -619,8 +737,10 @@ public override async Task NumGeometries(bool async) await base.NumGeometries(async); AssertSql( - @"SELECT ""m"".""Id"", NumGeometries(""m"".""MultiLineString"") AS ""NumGeometries"" -FROM ""MultiLineStringEntity"" AS ""m"""); +""" +SELECT "m"."Id", NumGeometries("m"."MultiLineString") AS "NumGeometries" +FROM "MultiLineStringEntity" AS "m" +"""); } public override async Task NumInteriorRings(bool async) @@ -628,8 +748,10 @@ public override async Task NumInteriorRings(bool async) await base.NumInteriorRings(async); AssertSql( - @"SELECT ""p"".""Id"", NumInteriorRing(""p"".""Polygon"") AS ""NumInteriorRings"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", NumInteriorRing("p"."Polygon") AS "NumInteriorRings" +FROM "PolygonEntity" AS "p" +"""); } public override async Task NumPoints(bool async) @@ -637,8 +759,10 @@ public override async Task NumPoints(bool async) await base.NumPoints(async); AssertSql( - @"SELECT ""l"".""Id"", NumPoints(""l"".""LineString"") AS ""NumPoints"" -FROM ""LineStringEntity"" AS ""l"""); +""" +SELECT "l"."Id", NumPoints("l"."LineString") AS "NumPoints" +FROM "LineStringEntity" AS "l" +"""); } public override async Task OgcGeometryType(bool async) @@ -646,7 +770,8 @@ public override async Task OgcGeometryType(bool async) await base.OgcGeometryType(async); AssertSql( - @"SELECT ""p"".""Id"", CASE rtrim(GeometryType(""p"".""Point""), ' ZM') +""" +SELECT "p"."Id", CASE rtrim(GeometryType("p"."Point"), ' ZM') WHEN 'POINT' THEN 1 WHEN 'LINESTRING' THEN 2 WHEN 'POLYGON' THEN 3 @@ -654,8 +779,9 @@ public override async Task OgcGeometryType(bool async) WHEN 'MULTILINESTRING' THEN 5 WHEN 'MULTIPOLYGON' THEN 6 WHEN 'GEOMETRYCOLLECTION' THEN 7 -END AS ""OgcGeometryType"" -FROM ""PointEntity"" AS ""p"""); +END AS "OgcGeometryType" +FROM "PointEntity" AS "p" +"""); } public override async Task Overlaps(bool async) @@ -663,12 +789,14 @@ public override async Task Overlaps(bool async) await base.Overlaps(async); AssertSql( - @"@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) +""" +@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) -SELECT ""p"".""Id"", CASE - WHEN ""p"".""Polygon"" IS NOT NULL THEN Overlaps(""p"".""Polygon"", @__polygon_0) -END AS ""Overlaps"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", CASE + WHEN "p"."Polygon" IS NOT NULL THEN Overlaps("p"."Polygon", @__polygon_0) +END AS "Overlaps" +FROM "PolygonEntity" AS "p" +"""); } public override async Task PointOnSurface(bool async) @@ -676,8 +804,10 @@ public override async Task PointOnSurface(bool async) await base.PointOnSurface(async); AssertSql( - @"SELECT ""p"".""Id"", PointOnSurface(""p"".""Polygon"") AS ""PointOnSurface"", ""p"".""Polygon"" -FROM ""PolygonEntity"" AS ""p"""); +""" +SELECT "p"."Id", PointOnSurface("p"."Polygon") AS "PointOnSurface", "p"."Polygon" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Relate(bool async) @@ -685,12 +815,14 @@ public override async Task Relate(bool async) await base.Relate(async); AssertSql( - @"@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) +""" +@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) -SELECT ""p"".""Id"", CASE - WHEN ""p"".""Polygon"" IS NOT NULL THEN Relate(""p"".""Polygon"", @__polygon_0, '212111212') -END AS ""Relate"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", CASE + WHEN "p"."Polygon" IS NOT NULL THEN Relate("p"."Polygon", @__polygon_0, '212111212') +END AS "Relate" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Reverse(bool async) @@ -698,8 +830,10 @@ public override async Task Reverse(bool async) await base.Reverse(async); AssertSql( - @"SELECT ""l"".""Id"", ST_Reverse(""l"".""LineString"") AS ""Reverse"" -FROM ""LineStringEntity"" AS ""l"""); +""" +SELECT "l"."Id", ST_Reverse("l"."LineString") AS "Reverse" +FROM "LineStringEntity" AS "l" +"""); } public override async Task SRID(bool async) @@ -707,8 +841,10 @@ public override async Task SRID(bool async) await base.SRID(async); AssertSql( - @"SELECT ""p"".""Id"", SRID(""p"".""Point"") AS ""SRID"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", SRID("p"."Point") AS "SRID" +FROM "PointEntity" AS "p" +"""); } public override async Task SRID_geometry(bool async) @@ -716,8 +852,10 @@ public override async Task SRID_geometry(bool async) await base.SRID_geometry(async); AssertSql( - @"SELECT ""p"".""Id"", SRID(""p"".""Geometry"") AS ""SRID"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", SRID("p"."Geometry") AS "SRID" +FROM "PointEntity" AS "p" +"""); } public override async Task StartPoint(bool async) @@ -725,8 +863,10 @@ public override async Task StartPoint(bool async) await base.StartPoint(async); AssertSql( - @"SELECT ""l"".""Id"", StartPoint(""l"".""LineString"") AS ""StartPoint"" -FROM ""LineStringEntity"" AS ""l"""); +""" +SELECT "l"."Id", StartPoint("l"."LineString") AS "StartPoint" +FROM "LineStringEntity" AS "l" +"""); } public override async Task SymmetricDifference(bool async) @@ -734,10 +874,12 @@ public override async Task SymmetricDifference(bool async) await base.SymmetricDifference(async); AssertSql( - @"@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) +""" +@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) -SELECT ""p"".""Id"", SymDifference(""p"".""Polygon"", @__polygon_0) AS ""SymmetricDifference"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", SymDifference("p"."Polygon", @__polygon_0) AS "SymmetricDifference" +FROM "PolygonEntity" AS "p" +"""); } public override async Task ToBinary(bool async) @@ -745,8 +887,10 @@ public override async Task ToBinary(bool async) await base.ToBinary(async); AssertSql( - @"SELECT ""p"".""Id"", AsBinary(""p"".""Point"") AS ""Binary"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", AsBinary("p"."Point") AS "Binary" +FROM "PointEntity" AS "p" +"""); } public override async Task ToText(bool async) @@ -754,8 +898,10 @@ public override async Task ToText(bool async) await base.ToText(async); AssertSql( - @"SELECT ""p"".""Id"", AsText(""p"".""Point"") AS ""Text"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", AsText("p"."Point") AS "Text" +FROM "PointEntity" AS "p" +"""); } public override async Task Touches(bool async) @@ -763,12 +909,14 @@ public override async Task Touches(bool async) await base.Touches(async); AssertSql( - @"@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) +""" +@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) -SELECT ""p"".""Id"", CASE - WHEN ""p"".""Polygon"" IS NOT NULL THEN Touches(""p"".""Polygon"", @__polygon_0) -END AS ""Touches"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", CASE + WHEN "p"."Polygon" IS NOT NULL THEN Touches("p"."Polygon", @__polygon_0) +END AS "Touches" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Union(bool async) @@ -776,10 +924,12 @@ public override async Task Union(bool async) await base.Union(async); AssertSql( - @"@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) +""" +@__polygon_0='0x00010000000000000000000000000000000000000000000000000000F03F0000...' (Size = 116) (DbType = String) -SELECT ""p"".""Id"", GUnion(""p"".""Polygon"", @__polygon_0) AS ""Union"" -FROM ""PolygonEntity"" AS ""p"""); +SELECT "p"."Id", GUnion("p"."Polygon", @__polygon_0) AS "Union" +FROM "PolygonEntity" AS "p" +"""); } public override async Task Union_aggregate(bool async) @@ -787,10 +937,12 @@ public override async Task Union_aggregate(bool async) await base.Union_aggregate(async); AssertSql( - @"SELECT ""p"".""Group"" AS ""Id"", GUnion(""p"".""Point"") AS ""Union"" -FROM ""PointEntity"" AS ""p"" -WHERE ""p"".""Point"" IS NOT NULL -GROUP BY ""p"".""Group"""); +""" +SELECT "p"."Group" AS "Id", GUnion("p"."Point") AS "Union" +FROM "PointEntity" AS "p" +WHERE "p"."Point" IS NOT NULL +GROUP BY "p"."Group" +"""); } public override async Task Union_void(bool async) @@ -798,8 +950,10 @@ public override async Task Union_void(bool async) await base.Union_void(async); AssertSql( - @"SELECT ""m"".""Id"", UnaryUnion(""m"".""MultiLineString"") AS ""Union"" -FROM ""MultiLineStringEntity"" AS ""m"""); +""" +SELECT "m"."Id", UnaryUnion("m"."MultiLineString") AS "Union" +FROM "MultiLineStringEntity" AS "m" +"""); } public override async Task Within(bool async) @@ -807,12 +961,14 @@ public override async Task Within(bool async) await base.Within(async); AssertSql( - @"@__polygon_0='0x000100000000000000000000F0BF000000000000F0BF00000000000000400000...' (Size = 132) (DbType = String) +""" +@__polygon_0='0x000100000000000000000000F0BF000000000000F0BF00000000000000400000...' (Size = 132) (DbType = String) -SELECT ""p"".""Id"", CASE - WHEN ""p"".""Point"" IS NOT NULL THEN Within(""p"".""Point"", @__polygon_0) -END AS ""Within"" -FROM ""PointEntity"" AS ""p"""); +SELECT "p"."Id", CASE + WHEN "p"."Point" IS NOT NULL THEN Within("p"."Point", @__polygon_0) +END AS "Within" +FROM "PointEntity" AS "p" +"""); } public override async Task X(bool async) @@ -820,8 +976,10 @@ public override async Task X(bool async) await base.X(async); AssertSql( - @"SELECT ""p"".""Id"", X(""p"".""Point"") AS ""X"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", X("p"."Point") AS "X" +FROM "PointEntity" AS "p" +"""); } public override async Task Y(bool async) @@ -829,8 +987,10 @@ public override async Task Y(bool async) await base.Y(async); AssertSql( - @"SELECT ""p"".""Id"", Y(""p"".""Point"") AS ""Y"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", Y("p"."Point") AS "Y" +FROM "PointEntity" AS "p" +"""); } public override async Task Z(bool async) @@ -838,8 +998,10 @@ public override async Task Z(bool async) await base.Z(async); AssertSql( - @"SELECT ""p"".""Id"", Z(""p"".""Point"") AS ""Z"" -FROM ""PointEntity"" AS ""p"""); +""" +SELECT "p"."Id", Z("p"."Point") AS "Z" +FROM "PointEntity" AS "p" +"""); } public override async Task IsEmpty_equal_to_null(bool async) @@ -847,11 +1009,13 @@ public override async Task IsEmpty_equal_to_null(bool async) await base.IsEmpty_equal_to_null(async); AssertSql( - @"SELECT ""p"".""Id"" -FROM ""PointEntity"" AS ""p"" +""" +SELECT "p"."Id" +FROM "PointEntity" AS "p" WHERE CASE - WHEN ""p"".""Point"" IS NOT NULL THEN IsEmpty(""p"".""Point"") -END IS NULL"); + WHEN "p"."Point" IS NOT NULL THEN IsEmpty("p"."Point") +END IS NULL +"""); } public override async Task IsEmpty_not_equal_to_null(bool async) @@ -859,11 +1023,13 @@ public override async Task IsEmpty_not_equal_to_null(bool async) await base.IsEmpty_not_equal_to_null(async); AssertSql( - @"SELECT ""p"".""Id"" -FROM ""PointEntity"" AS ""p"" +""" +SELECT "p"."Id" +FROM "PointEntity" AS "p" WHERE CASE - WHEN ""p"".""Point"" IS NOT NULL THEN IsEmpty(""p"".""Point"") -END IS NOT NULL"); + WHEN "p"."Point" IS NOT NULL THEN IsEmpty("p"."Point") +END IS NOT NULL +"""); } public override async Task Intersects_equal_to_null(bool async) @@ -871,21 +1037,25 @@ public override async Task Intersects_equal_to_null(bool async) await base.Intersects_equal_to_null(async); AssertSql( - @"@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) +""" +@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) -SELECT ""l"".""Id"" -FROM ""LineStringEntity"" AS ""l"" +SELECT "l"."Id" +FROM "LineStringEntity" AS "l" WHERE CASE - WHEN ""l"".""LineString"" IS NOT NULL THEN Intersects(""l"".""LineString"", @__lineString_0) -END IS NULL", + WHEN "l"."LineString" IS NOT NULL THEN Intersects("l"."LineString", @__lineString_0) +END IS NULL +""", // - @"@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) +""" +@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) -SELECT ""l"".""Id"" -FROM ""LineStringEntity"" AS ""l"" +SELECT "l"."Id" +FROM "LineStringEntity" AS "l" WHERE CASE - WHEN ""l"".""LineString"" IS NOT NULL THEN Intersects(@__lineString_0, ""l"".""LineString"") -END IS NULL"); + WHEN "l"."LineString" IS NOT NULL THEN Intersects(@__lineString_0, "l"."LineString") +END IS NULL +"""); } public override async Task Intersects_not_equal_to_null(bool async) @@ -893,21 +1063,25 @@ public override async Task Intersects_not_equal_to_null(bool async) await base.Intersects_not_equal_to_null(async); AssertSql( - @"@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) +""" +@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) -SELECT ""l"".""Id"" -FROM ""LineStringEntity"" AS ""l"" +SELECT "l"."Id" +FROM "LineStringEntity" AS "l" WHERE CASE - WHEN ""l"".""LineString"" IS NOT NULL THEN Intersects(""l"".""LineString"", @__lineString_0) -END IS NOT NULL", + WHEN "l"."LineString" IS NOT NULL THEN Intersects("l"."LineString", @__lineString_0) +END IS NOT NULL +""", // - @"@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) +""" +@__lineString_0='0x000100000000000000000000E03F000000000000E0BF000000000000E03F0000...' (Size = 80) (DbType = String) -SELECT ""l"".""Id"" -FROM ""LineStringEntity"" AS ""l"" +SELECT "l"."Id" +FROM "LineStringEntity" AS "l" WHERE CASE - WHEN ""l"".""LineString"" IS NOT NULL THEN Intersects(@__lineString_0, ""l"".""LineString"") -END IS NOT NULL"); + WHEN "l"."LineString" IS NOT NULL THEN Intersects(@__lineString_0, "l"."LineString") +END IS NOT NULL +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/TPCGearsOfWarQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/TPCGearsOfWarQuerySqliteTest.cs index fa3c72ebdb2..2e12f285fa9 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/TPCGearsOfWarQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/TPCGearsOfWarQuerySqliteTest.cs @@ -212,9 +212,11 @@ public override async Task Negate_on_binary_expression(bool async) await base.Negate_on_binary_expression(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Id"" = -(""s"".""Id"" + ""s"".""Id"")"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Id" = -("s"."Id" + "s"."Id") +"""); } public override async Task Negate_on_column(bool async) @@ -222,9 +224,11 @@ public override async Task Negate_on_column(bool async) await base.Negate_on_column(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Id"" = -""s"".""Id"""); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Id" = -"s"."Id" +"""); } public override async Task Negate_on_like_expression(bool async) @@ -232,9 +236,11 @@ public override async Task Negate_on_like_expression(bool async) await base.Negate_on_like_expression(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE (""s"".""Name"" IS NOT NULL) AND NOT (""s"".""Name"" LIKE 'us%')"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE ("s"."Name" IS NOT NULL) AND NOT ("s"."Name" LIKE 'us%') +"""); } public override async Task Select_datetimeoffset_comparison_in_projection(bool async) @@ -242,8 +248,10 @@ public override async Task Select_datetimeoffset_comparison_in_projection(bool a await base.Select_datetimeoffset_comparison_in_projection(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Byte_array_contains_literal(bool async) @@ -251,9 +259,11 @@ public override async Task Byte_array_contains_literal(bool async) await base.Byte_array_contains_literal(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE instr(""s"".""Banner"", X'01') > 0"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE instr("s"."Banner", X'01') > 0 +"""); } public override async Task Byte_array_contains_parameter(bool async) @@ -261,11 +271,13 @@ public override async Task Byte_array_contains_parameter(bool async) await base.Byte_array_contains_parameter(async); AssertSql( - @"@__someByte_0='1' +""" +@__someByte_0='1' -SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE instr(""s"".""Banner"", char(@__someByte_0)) > 0"); +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE instr("s"."Banner", char(@__someByte_0)) > 0 +"""); } public override async Task Byte_array_filter_by_length_literal(bool async) @@ -273,9 +285,11 @@ public override async Task Byte_array_filter_by_length_literal(bool async) await base.Byte_array_filter_by_length_literal(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE length(""s"".""Banner"") = 1"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE length("s"."Banner") = 1 +"""); } public override async Task Byte_array_filter_by_length_parameter(bool async) @@ -283,11 +297,13 @@ public override async Task Byte_array_filter_by_length_parameter(bool async) await base.Byte_array_filter_by_length_parameter(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' -SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE length(""s"".""Banner"") = @__p_0"); +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE length("s"."Banner") = @__p_0 +"""); } public override void Byte_array_filter_by_length_parameter_compiled() @@ -295,11 +311,13 @@ public override void Byte_array_filter_by_length_parameter_compiled() base.Byte_array_filter_by_length_parameter_compiled(); AssertSql( - @"@__byteArrayParam='0x2A80' (Size = 2) +""" +@__byteArrayParam='0x2A80' (Size = 2) SELECT COUNT(*) -FROM ""Squads"" AS ""s"" -WHERE length(""s"".""Banner"") = length(@__byteArrayParam)"); +FROM "Squads" AS "s" +WHERE length("s"."Banner") = length(@__byteArrayParam) +"""); } public override async Task Byte_array_filter_by_SequenceEqual(bool async) @@ -307,11 +325,13 @@ public override async Task Byte_array_filter_by_SequenceEqual(bool async) await base.Byte_array_filter_by_SequenceEqual(async); AssertSql( - @"@__byteArrayParam_0='0x0405060708' (Size = 5) +""" +@__byteArrayParam_0='0x0405060708' (Size = 5) -SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Banner5"" = @__byteArrayParam_0"); +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Banner5" = @__byteArrayParam_0 +"""); } public override Task Where_TimeSpan_Hours(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/TPTGearsOfWarQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/TPTGearsOfWarQuerySqliteTest.cs index 6353da76c7e..f18b7a6c8bb 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/TPTGearsOfWarQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/TPTGearsOfWarQuerySqliteTest.cs @@ -212,9 +212,11 @@ public override async Task Negate_on_binary_expression(bool async) await base.Negate_on_binary_expression(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Id"" = -(""s"".""Id"" + ""s"".""Id"")"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Id" = -("s"."Id" + "s"."Id") +"""); } public override async Task Negate_on_column(bool async) @@ -222,9 +224,11 @@ public override async Task Negate_on_column(bool async) await base.Negate_on_column(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Id"" = -""s"".""Id"""); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Id" = -"s"."Id" +"""); } public override async Task Negate_on_like_expression(bool async) @@ -232,9 +236,11 @@ public override async Task Negate_on_like_expression(bool async) await base.Negate_on_like_expression(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE (""s"".""Name"" IS NOT NULL) AND NOT (""s"".""Name"" LIKE 'us%')"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE ("s"."Name" IS NOT NULL) AND NOT ("s"."Name" LIKE 'us%') +"""); } public override async Task Select_datetimeoffset_comparison_in_projection(bool async) @@ -242,8 +248,10 @@ public override async Task Select_datetimeoffset_comparison_in_projection(bool a await base.Select_datetimeoffset_comparison_in_projection(async); AssertSql( - @"SELECT ""m"".""Timeline"" -FROM ""Missions"" AS ""m"""); +""" +SELECT "m"."Timeline" +FROM "Missions" AS "m" +"""); } public override async Task Byte_array_contains_literal(bool async) @@ -251,9 +259,11 @@ public override async Task Byte_array_contains_literal(bool async) await base.Byte_array_contains_literal(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE instr(""s"".""Banner"", X'01') > 0"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE instr("s"."Banner", X'01') > 0 +"""); } public override async Task Byte_array_contains_parameter(bool async) @@ -261,11 +271,13 @@ public override async Task Byte_array_contains_parameter(bool async) await base.Byte_array_contains_parameter(async); AssertSql( - @"@__someByte_0='1' +""" +@__someByte_0='1' -SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE instr(""s"".""Banner"", char(@__someByte_0)) > 0"); +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE instr("s"."Banner", char(@__someByte_0)) > 0 +"""); } public override async Task Byte_array_filter_by_length_literal(bool async) @@ -273,9 +285,11 @@ public override async Task Byte_array_filter_by_length_literal(bool async) await base.Byte_array_filter_by_length_literal(async); AssertSql( - @"SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE length(""s"".""Banner"") = 1"); +""" +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE length("s"."Banner") = 1 +"""); } public override async Task Byte_array_filter_by_length_parameter(bool async) @@ -283,11 +297,13 @@ public override async Task Byte_array_filter_by_length_parameter(bool async) await base.Byte_array_filter_by_length_parameter(async); AssertSql( - @"@__p_0='1' +""" +@__p_0='1' -SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE length(""s"".""Banner"") = @__p_0"); +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE length("s"."Banner") = @__p_0 +"""); } public override void Byte_array_filter_by_length_parameter_compiled() @@ -295,11 +311,13 @@ public override void Byte_array_filter_by_length_parameter_compiled() base.Byte_array_filter_by_length_parameter_compiled(); AssertSql( - @"@__byteArrayParam='0x2A80' (Size = 2) +""" +@__byteArrayParam='0x2A80' (Size = 2) SELECT COUNT(*) -FROM ""Squads"" AS ""s"" -WHERE length(""s"".""Banner"") = length(@__byteArrayParam)"); +FROM "Squads" AS "s" +WHERE length("s"."Banner") = length(@__byteArrayParam) +"""); } public override async Task Byte_array_filter_by_SequenceEqual(bool async) @@ -307,11 +325,13 @@ public override async Task Byte_array_filter_by_SequenceEqual(bool async) await base.Byte_array_filter_by_SequenceEqual(async); AssertSql( - @"@__byteArrayParam_0='0x0405060708' (Size = 5) +""" +@__byteArrayParam_0='0x0405060708' (Size = 5) -SELECT ""s"".""Id"", ""s"".""Banner"", ""s"".""Banner5"", ""s"".""InternalNumber"", ""s"".""Name"" -FROM ""Squads"" AS ""s"" -WHERE ""s"".""Banner5"" = @__byteArrayParam_0"); +SELECT "s"."Id", "s"."Banner", "s"."Banner5", "s"."InternalNumber", "s"."Name" +FROM "Squads" AS "s" +WHERE "s"."Banner5" = @__byteArrayParam_0 +"""); } public override Task Where_TimeSpan_Hours(bool async) diff --git a/test/EFCore.Sqlite.FunctionalTests/Query/ToSqlQuerySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Query/ToSqlQuerySqliteTest.cs index 7dab8a91b7d..cd8c2efdbf3 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Query/ToSqlQuerySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Query/ToSqlQuerySqliteTest.cs @@ -17,11 +17,13 @@ public override async Task Entity_type_with_navigation_mapped_to_SqlQuery(bool a await base.Entity_type_with_navigation_mapped_to_SqlQuery(async); AssertSql( - @"SELECT ""a"".""Id"", ""a"".""Name"", ""a"".""PostStatAuthorId"", ""m"".""Count"" AS ""PostCount"" -FROM ""Authors"" AS ""a"" +""" +SELECT "a"."Id", "a"."Name", "a"."PostStatAuthorId", "m"."Count" AS "PostCount" +FROM "Authors" AS "a" LEFT JOIN ( SELECT * FROM PostStats -) AS ""m"" ON ""a"".""PostStatAuthorId"" = ""m"".""AuthorId"""); +) AS "m" ON "a"."PostStatAuthorId" = "m"."AuthorId" +"""); } private void AssertSql(params string[] expected) diff --git a/test/EFCore.Sqlite.FunctionalTests/TableSplittingSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/TableSplittingSqliteTest.cs index fb799a1f5cb..74bd41ed246 100644 --- a/test/EFCore.Sqlite.FunctionalTests/TableSplittingSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/TableSplittingSqliteTest.cs @@ -17,13 +17,17 @@ public override async Task ExecuteUpdate_works_for_table_sharing(bool async) await base.ExecuteUpdate_works_for_table_sharing(async); AssertSql( - @"UPDATE ""Vehicles"" AS ""v"" -SET ""SeatingCapacity"" = 1", +""" +UPDATE "Vehicles" AS "v" +SET "SeatingCapacity" = 1 +""", // - @"SELECT NOT EXISTS ( +""" +SELECT NOT EXISTS ( SELECT 1 - FROM ""Vehicles"" AS ""v"" - WHERE ""v"".""SeatingCapacity"" <> 1)"); + FROM "Vehicles" AS "v" + WHERE "v"."SeatingCapacity" <> 1) +"""); } protected override void OnModelCreating(ModelBuilder modelBuilder) diff --git a/test/EFCore.Sqlite.FunctionalTests/Update/SqliteUpdateSqlGeneratorTest.cs b/test/EFCore.Sqlite.FunctionalTests/Update/SqliteUpdateSqlGeneratorTest.cs index 91a885f3716..b8144d8a434 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Update/SqliteUpdateSqlGeneratorTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Update/SqliteUpdateSqlGeneratorTest.cs @@ -43,97 +43,108 @@ public override void GenerateNextSequenceValueOperation_returns_statement_with_s protected override void AppendInsertOperation_insert_if_store_generated_columns_exist_verification(StringBuilder stringBuilder) => AssertBaseline( - @"INSERT INTO ""Ducks"" (""Name"", ""Quacks"", ""ConcurrencyToken"") +""" +INSERT INTO "Ducks" ("Name", "Quacks", "ConcurrencyToken") VALUES (@p0, @p1, @p2) -RETURNING ""Id"", ""Computed""; -", +RETURNING "Id", "Computed"; +""", stringBuilder.ToString()); protected override void AppendInsertOperation_for_store_generated_columns_but_no_identity_verification( StringBuilder stringBuilder) => AssertBaseline( - @"INSERT INTO ""Ducks"" (""Id"", ""Name"", ""Quacks"", ""ConcurrencyToken"") +""" +INSERT INTO "Ducks" ("Id", "Name", "Quacks", "ConcurrencyToken") VALUES (@p0, @p1, @p2, @p3) -RETURNING ""Computed""; -", +RETURNING "Computed"; +""", stringBuilder.ToString()); protected override void AppendInsertOperation_for_only_identity_verification(StringBuilder stringBuilder) => AssertBaseline( - @"INSERT INTO ""Ducks"" (""Name"", ""Quacks"", ""ConcurrencyToken"") +""" +INSERT INTO "Ducks" ("Name", "Quacks", "ConcurrencyToken") VALUES (@p0, @p1, @p2) -RETURNING ""Id""; -", +RETURNING "Id"; +""", stringBuilder.ToString()); protected override void AppendInsertOperation_for_all_store_generated_columns_verification(StringBuilder stringBuilder) => AssertBaseline( - @"INSERT INTO ""Ducks"" +""" +INSERT INTO "Ducks" DEFAULT VALUES -RETURNING ""Id"", ""Computed""; -", +RETURNING "Id", "Computed"; +""", stringBuilder.ToString()); protected override void AppendInsertOperation_for_only_single_identity_columns_verification( StringBuilder stringBuilder) => AssertBaseline( - @"INSERT INTO ""Ducks"" +""" +INSERT INTO "Ducks" DEFAULT VALUES -RETURNING ""Id""; -", +RETURNING "Id"; +""", stringBuilder.ToString()); protected override void AppendUpdateOperation_for_computed_property_verification(StringBuilder stringBuilder) => AssertBaseline( - @"UPDATE ""Ducks"" SET ""Name"" = @p0, ""Quacks"" = @p1, ""ConcurrencyToken"" = @p2 -WHERE ""Id"" = @p3 -RETURNING ""Computed""; -", +""" +UPDATE "Ducks" SET "Name" = @p0, "Quacks" = @p1, "ConcurrencyToken" = @p2 +WHERE "Id" = @p3 +RETURNING "Computed"; +""", stringBuilder.ToString()); protected override void AppendUpdateOperation_if_store_generated_columns_exist_verification( StringBuilder stringBuilder) => AssertBaseline( - @"UPDATE ""Ducks"" SET ""Name"" = @p0, ""Quacks"" = @p1, ""ConcurrencyToken"" = @p2 -WHERE ""Id"" = @p3 AND ""ConcurrencyToken"" IS NULL -RETURNING ""Computed""; -", +""" +UPDATE "Ducks" SET "Name" = @p0, "Quacks" = @p1, "ConcurrencyToken" = @p2 +WHERE "Id" = @p3 AND "ConcurrencyToken" IS NULL +RETURNING "Computed"; +""", stringBuilder.ToString()); protected override void AppendUpdateOperation_if_store_generated_columns_dont_exist_verification( StringBuilder stringBuilder) => AssertBaseline( - @"UPDATE ""Ducks"" SET ""Name"" = @p0, ""Quacks"" = @p1, ""ConcurrencyToken"" = @p2 -WHERE ""Id"" = @p3 +""" +UPDATE "Ducks" SET "Name" = @p0, "Quacks" = @p1, "ConcurrencyToken" = @p2 +WHERE "Id" = @p3 RETURNING 1; -", +""", stringBuilder.ToString()); protected override void AppendUpdateOperation_appends_where_for_concurrency_token_verification(StringBuilder stringBuilder) => AssertBaseline( - @"UPDATE ""Ducks"" SET ""Name"" = @p0, ""Quacks"" = @p1, ""ConcurrencyToken"" = @p2 -WHERE ""Id"" = @p3 AND ""ConcurrencyToken"" IS NULL +""" +UPDATE "Ducks" SET "Name" = @p0, "Quacks" = @p1, "ConcurrencyToken" = @p2 +WHERE "Id" = @p3 AND "ConcurrencyToken" IS NULL RETURNING 1; -", +""", stringBuilder.ToString()); protected override void AppendDeleteOperation_creates_full_delete_command_text_verification(StringBuilder stringBuilder) => AssertBaseline( - @"DELETE FROM ""Ducks"" -WHERE ""Id"" = @p0 +""" +DELETE FROM "Ducks" +WHERE "Id" = @p0 RETURNING 1; -", +""", stringBuilder.ToString()); protected override void AppendDeleteOperation_creates_full_delete_command_text_with_concurrency_check_verification( StringBuilder stringBuilder) => AssertBaseline( - @"DELETE FROM ""Ducks"" -WHERE ""Id"" = @p0 AND ""ConcurrencyToken"" IS NULL +""" +DELETE FROM "Ducks" +WHERE "Id" = @p0 AND "ConcurrencyToken" IS NULL RETURNING 1; -", +""", stringBuilder.ToString()); private void AssertBaseline(string expected, string actual) - => Assert.Equal(expected, actual, ignoreLineEndingDifferences: true); + => Assert.Equal(expected.TrimEnd(), actual.TrimEnd(), ignoreLineEndingDifferences: true); } diff --git a/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationLegacySqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationLegacySqliteTest.cs index 7ae8527f766..7cdb2995b11 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationLegacySqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationLegacySqliteTest.cs @@ -41,13 +41,15 @@ public override async Task Add_with_generated_values(bool async) await base.Add_with_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' -INSERT INTO ""WithSomeDatabaseGenerated"" (""Data2"") +INSERT INTO "WithSomeDatabaseGenerated" ("Data2") VALUES (@p0); -SELECT ""Id"", ""Data1"" -FROM ""WithSomeDatabaseGenerated"" -WHERE changes() = 1 AND ""rowid"" = last_insert_rowid();"); +SELECT "Id", "Data1" +FROM "WithSomeDatabaseGenerated" +WHERE changes() = 1 AND "rowid" = last_insert_rowid(); +"""); } public override async Task Add_with_no_generated_values(bool async) @@ -55,13 +57,15 @@ public override async Task Add_with_no_generated_values(bool async) await base.Add_with_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' -INSERT INTO ""WithNoDatabaseGenerated"" (""Id"", ""Data1"", ""Data2"") +INSERT INTO "WithNoDatabaseGenerated" ("Id", "Data1", "Data2") VALUES (@p0, @p1, @p2); -SELECT changes();"); +SELECT changes(); +"""); } public override async Task Add_with_all_generated_values(bool async) @@ -69,11 +73,13 @@ public override async Task Add_with_all_generated_values(bool async) await base.Add_with_all_generated_values(async); AssertSql( - @"INSERT INTO ""WithAllDatabaseGenerated"" +""" +INSERT INTO "WithAllDatabaseGenerated" DEFAULT VALUES; -SELECT ""Id"", ""Data1"", ""Data2"" -FROM ""WithAllDatabaseGenerated"" -WHERE changes() = 1 AND ""rowid"" = last_insert_rowid();"); +SELECT "Id", "Data1", "Data2" +FROM "WithAllDatabaseGenerated" +WHERE changes() = 1 AND "rowid" = last_insert_rowid(); +"""); } public override async Task Modify_with_generated_values(bool async) @@ -81,14 +87,16 @@ public override async Task Modify_with_generated_values(bool async) await base.Modify_with_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' -UPDATE ""WithSomeDatabaseGenerated"" SET ""Data2"" = @p0 -WHERE ""Id"" = @p1; -SELECT ""Data1"" -FROM ""WithSomeDatabaseGenerated"" -WHERE changes() = 1 AND ""Id"" = @p1;"); +UPDATE "WithSomeDatabaseGenerated" SET "Data2" = @p0 +WHERE "Id" = @p1; +SELECT "Data1" +FROM "WithSomeDatabaseGenerated" +WHERE changes() = 1 AND "Id" = @p1; +"""); } public override async Task Modify_with_no_generated_values(bool async) @@ -96,13 +104,15 @@ public override async Task Modify_with_no_generated_values(bool async) await base.Modify_with_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' -UPDATE ""WithNoDatabaseGenerated"" SET ""Data1"" = @p0, ""Data2"" = @p1 -WHERE ""Id"" = @p2; -SELECT changes();"); +UPDATE "WithNoDatabaseGenerated" SET "Data1" = @p0, "Data2" = @p1 +WHERE "Id" = @p2; +SELECT changes(); +"""); } public override async Task Delete(bool async) @@ -110,11 +120,13 @@ public override async Task Delete(bool async) await base.Delete(async); AssertSql( - @"@p0='1' +""" +@p0='1' -DELETE FROM ""WithSomeDatabaseGenerated"" -WHERE ""Id"" = @p0; -SELECT changes();"); +DELETE FROM "WithSomeDatabaseGenerated" +WHERE "Id" = @p0; +SELECT changes(); +"""); } #endregion Single operation @@ -126,21 +138,25 @@ public override async Task Add_Add_with_same_entity_type_and_generated_values(bo await base.Add_Add_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' -INSERT INTO ""WithSomeDatabaseGenerated"" (""Data2"") +INSERT INTO "WithSomeDatabaseGenerated" ("Data2") VALUES (@p0); -SELECT ""Id"", ""Data1"" -FROM ""WithSomeDatabaseGenerated"" -WHERE changes() = 1 AND ""rowid"" = last_insert_rowid();", +SELECT "Id", "Data1" +FROM "WithSomeDatabaseGenerated" +WHERE changes() = 1 AND "rowid" = last_insert_rowid(); +""", // - @"@p0='1001' +""" +@p0='1001' -INSERT INTO ""WithSomeDatabaseGenerated"" (""Data2"") +INSERT INTO "WithSomeDatabaseGenerated" ("Data2") VALUES (@p0); -SELECT ""Id"", ""Data1"" -FROM ""WithSomeDatabaseGenerated"" -WHERE changes() = 1 AND ""rowid"" = last_insert_rowid();"); +SELECT "Id", "Data1" +FROM "WithSomeDatabaseGenerated" +WHERE changes() = 1 AND "rowid" = last_insert_rowid(); +"""); } public override async Task Add_Add_with_same_entity_type_and_no_generated_values(bool async) @@ -148,21 +164,25 @@ public override async Task Add_Add_with_same_entity_type_and_no_generated_values await base.Add_Add_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' -INSERT INTO ""WithNoDatabaseGenerated"" (""Id"", ""Data1"", ""Data2"") +INSERT INTO "WithNoDatabaseGenerated" ("Id", "Data1", "Data2") VALUES (@p0, @p1, @p2); -SELECT changes();", +SELECT changes(); +""", // - @"@p0='101' +""" +@p0='101' @p1='1001' @p2='1001' -INSERT INTO ""WithNoDatabaseGenerated"" (""Id"", ""Data1"", ""Data2"") +INSERT INTO "WithNoDatabaseGenerated" ("Id", "Data1", "Data2") VALUES (@p0, @p1, @p2); -SELECT changes();"); +SELECT changes(); +"""); } public override async Task Add_Add_with_same_entity_type_and_all_generated_values(bool async) @@ -170,17 +190,21 @@ public override async Task Add_Add_with_same_entity_type_and_all_generated_value await base.Add_Add_with_same_entity_type_and_all_generated_values(async); AssertSql( - @"INSERT INTO ""WithAllDatabaseGenerated"" +""" +INSERT INTO "WithAllDatabaseGenerated" DEFAULT VALUES; -SELECT ""Id"", ""Data1"", ""Data2"" -FROM ""WithAllDatabaseGenerated"" -WHERE changes() = 1 AND ""rowid"" = last_insert_rowid();", +SELECT "Id", "Data1", "Data2" +FROM "WithAllDatabaseGenerated" +WHERE changes() = 1 AND "rowid" = last_insert_rowid(); +""", // - @"INSERT INTO ""WithAllDatabaseGenerated"" +""" +INSERT INTO "WithAllDatabaseGenerated" DEFAULT VALUES; -SELECT ""Id"", ""Data1"", ""Data2"" -FROM ""WithAllDatabaseGenerated"" -WHERE changes() = 1 AND ""rowid"" = last_insert_rowid();"); +SELECT "Id", "Data1", "Data2" +FROM "WithAllDatabaseGenerated" +WHERE changes() = 1 AND "rowid" = last_insert_rowid(); +"""); } public override async Task Modify_Modify_with_same_entity_type_and_generated_values(bool async) @@ -188,23 +212,27 @@ public override async Task Modify_Modify_with_same_entity_type_and_generated_val await base.Modify_Modify_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' -UPDATE ""WithSomeDatabaseGenerated"" SET ""Data2"" = @p0 -WHERE ""Id"" = @p1; -SELECT ""Data1"" -FROM ""WithSomeDatabaseGenerated"" -WHERE changes() = 1 AND ""Id"" = @p1;", +UPDATE "WithSomeDatabaseGenerated" SET "Data2" = @p0 +WHERE "Id" = @p1; +SELECT "Data1" +FROM "WithSomeDatabaseGenerated" +WHERE changes() = 1 AND "Id" = @p1; +""", // - @"@p1='2' +""" +@p1='2' @p0='1001' -UPDATE ""WithSomeDatabaseGenerated"" SET ""Data2"" = @p0 -WHERE ""Id"" = @p1; -SELECT ""Data1"" -FROM ""WithSomeDatabaseGenerated"" -WHERE changes() = 1 AND ""Id"" = @p1;"); +UPDATE "WithSomeDatabaseGenerated" SET "Data2" = @p0 +WHERE "Id" = @p1; +SELECT "Data1" +FROM "WithSomeDatabaseGenerated" +WHERE changes() = 1 AND "Id" = @p1; +"""); } public override async Task Modify_Modify_with_same_entity_type_and_no_generated_values(bool async) @@ -212,21 +240,25 @@ public override async Task Modify_Modify_with_same_entity_type_and_no_generated_ await base.Modify_Modify_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' -UPDATE ""WithNoDatabaseGenerated"" SET ""Data1"" = @p0, ""Data2"" = @p1 -WHERE ""Id"" = @p2; -SELECT changes();", +UPDATE "WithNoDatabaseGenerated" SET "Data1" = @p0, "Data2" = @p1 +WHERE "Id" = @p2; +SELECT changes(); +""", // - @"@p2='2' +""" +@p2='2' @p0='1001' @p1='1001' -UPDATE ""WithNoDatabaseGenerated"" SET ""Data1"" = @p0, ""Data2"" = @p1 -WHERE ""Id"" = @p2; -SELECT changes();"); +UPDATE "WithNoDatabaseGenerated" SET "Data1" = @p0, "Data2" = @p1 +WHERE "Id" = @p2; +SELECT changes(); +"""); } public override async Task Delete_Delete_with_same_entity_type(bool async) @@ -234,17 +266,21 @@ public override async Task Delete_Delete_with_same_entity_type(bool async) await base.Delete_Delete_with_same_entity_type(async); AssertSql( - @"@p0='1' +""" +@p0='1' -DELETE FROM ""WithSomeDatabaseGenerated"" -WHERE ""Id"" = @p0; -SELECT changes();", +DELETE FROM "WithSomeDatabaseGenerated" +WHERE "Id" = @p0; +SELECT changes(); +""", // - @"@p0='2' +""" +@p0='2' -DELETE FROM ""WithSomeDatabaseGenerated"" -WHERE ""Id"" = @p0; -SELECT changes();"); +DELETE FROM "WithSomeDatabaseGenerated" +WHERE "Id" = @p0; +SELECT changes(); +"""); } #endregion Same two operations with same entity type @@ -256,21 +292,25 @@ public override async Task Add_Add_with_different_entity_types_and_generated_val await base.Add_Add_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' -INSERT INTO ""WithSomeDatabaseGenerated"" (""Data2"") +INSERT INTO "WithSomeDatabaseGenerated" ("Data2") VALUES (@p0); -SELECT ""Id"", ""Data1"" -FROM ""WithSomeDatabaseGenerated"" -WHERE changes() = 1 AND ""rowid"" = last_insert_rowid();", +SELECT "Id", "Data1" +FROM "WithSomeDatabaseGenerated" +WHERE changes() = 1 AND "rowid" = last_insert_rowid(); +""", // - @"@p0='1001' +""" +@p0='1001' -INSERT INTO ""WithSomeDatabaseGenerated2"" (""Data2"") +INSERT INTO "WithSomeDatabaseGenerated2" ("Data2") VALUES (@p0); -SELECT ""Id"", ""Data1"" -FROM ""WithSomeDatabaseGenerated2"" -WHERE changes() = 1 AND ""rowid"" = last_insert_rowid();"); +SELECT "Id", "Data1" +FROM "WithSomeDatabaseGenerated2" +WHERE changes() = 1 AND "rowid" = last_insert_rowid(); +"""); } public override async Task Add_Add_with_different_entity_types_and_no_generated_values(bool async) @@ -278,21 +318,25 @@ public override async Task Add_Add_with_different_entity_types_and_no_generated_ await base.Add_Add_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' -INSERT INTO ""WithNoDatabaseGenerated"" (""Id"", ""Data1"", ""Data2"") +INSERT INTO "WithNoDatabaseGenerated" ("Id", "Data1", "Data2") VALUES (@p0, @p1, @p2); -SELECT changes();", +SELECT changes(); +""", // - @"@p0='101' +""" +@p0='101' @p1='1001' @p2='1001' -INSERT INTO ""WithNoDatabaseGenerated2"" (""Id"", ""Data1"", ""Data2"") +INSERT INTO "WithNoDatabaseGenerated2" ("Id", "Data1", "Data2") VALUES (@p0, @p1, @p2); -SELECT changes();"); +SELECT changes(); +"""); } public override async Task Add_Add_with_different_entity_types_and_all_generated_values(bool async) @@ -300,17 +344,21 @@ public override async Task Add_Add_with_different_entity_types_and_all_generated await base.Add_Add_with_different_entity_types_and_all_generated_values(async); AssertSql( - @"INSERT INTO ""WithAllDatabaseGenerated"" +""" +INSERT INTO "WithAllDatabaseGenerated" DEFAULT VALUES; -SELECT ""Id"", ""Data1"", ""Data2"" -FROM ""WithAllDatabaseGenerated"" -WHERE changes() = 1 AND ""rowid"" = last_insert_rowid();", +SELECT "Id", "Data1", "Data2" +FROM "WithAllDatabaseGenerated" +WHERE changes() = 1 AND "rowid" = last_insert_rowid(); +""", // - @"INSERT INTO ""WithAllDatabaseGenerated2"" +""" +INSERT INTO "WithAllDatabaseGenerated2" DEFAULT VALUES; -SELECT ""Id"", ""Data1"", ""Data2"" -FROM ""WithAllDatabaseGenerated2"" -WHERE changes() = 1 AND ""rowid"" = last_insert_rowid();"); +SELECT "Id", "Data1", "Data2" +FROM "WithAllDatabaseGenerated2" +WHERE changes() = 1 AND "rowid" = last_insert_rowid(); +"""); } public override async Task Modify_Modify_with_different_entity_types_and_generated_values(bool async) @@ -318,23 +366,27 @@ public override async Task Modify_Modify_with_different_entity_types_and_generat await base.Modify_Modify_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' -UPDATE ""WithSomeDatabaseGenerated"" SET ""Data2"" = @p0 -WHERE ""Id"" = @p1; -SELECT ""Data1"" -FROM ""WithSomeDatabaseGenerated"" -WHERE changes() = 1 AND ""Id"" = @p1;", +UPDATE "WithSomeDatabaseGenerated" SET "Data2" = @p0 +WHERE "Id" = @p1; +SELECT "Data1" +FROM "WithSomeDatabaseGenerated" +WHERE changes() = 1 AND "Id" = @p1; +""", // - @"@p1='2' +""" +@p1='2' @p0='1001' -UPDATE ""WithSomeDatabaseGenerated2"" SET ""Data2"" = @p0 -WHERE ""Id"" = @p1; -SELECT ""Data1"" -FROM ""WithSomeDatabaseGenerated2"" -WHERE changes() = 1 AND ""Id"" = @p1;"); +UPDATE "WithSomeDatabaseGenerated2" SET "Data2" = @p0 +WHERE "Id" = @p1; +SELECT "Data1" +FROM "WithSomeDatabaseGenerated2" +WHERE changes() = 1 AND "Id" = @p1; +"""); } public override async Task Modify_Modify_with_different_entity_types_and_no_generated_values(bool async) @@ -342,21 +394,25 @@ public override async Task Modify_Modify_with_different_entity_types_and_no_gene await base.Modify_Modify_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' -UPDATE ""WithNoDatabaseGenerated"" SET ""Data1"" = @p0, ""Data2"" = @p1 -WHERE ""Id"" = @p2; -SELECT changes();", +UPDATE "WithNoDatabaseGenerated" SET "Data1" = @p0, "Data2" = @p1 +WHERE "Id" = @p2; +SELECT changes(); +""", // - @"@p2='2' +""" +@p2='2' @p0='1001' @p1='1001' -UPDATE ""WithNoDatabaseGenerated2"" SET ""Data1"" = @p0, ""Data2"" = @p1 -WHERE ""Id"" = @p2; -SELECT changes();"); +UPDATE "WithNoDatabaseGenerated2" SET "Data1" = @p0, "Data2" = @p1 +WHERE "Id" = @p2; +SELECT changes(); +"""); } public override async Task Delete_Delete_with_different_entity_types(bool async) @@ -364,17 +420,21 @@ public override async Task Delete_Delete_with_different_entity_types(bool async) await base.Delete_Delete_with_different_entity_types(async); AssertSql( - @"@p0='1' +""" +@p0='1' -DELETE FROM ""WithSomeDatabaseGenerated"" -WHERE ""Id"" = @p0; -SELECT changes();", +DELETE FROM "WithSomeDatabaseGenerated" +WHERE "Id" = @p0; +SELECT changes(); +""", // - @"@p0='2' +""" +@p0='2' -DELETE FROM ""WithSomeDatabaseGenerated2"" -WHERE ""Id"" = @p0; -SELECT changes();"); +DELETE FROM "WithSomeDatabaseGenerated2" +WHERE "Id" = @p0; +SELECT changes(); +"""); } #endregion Same two operations with different entity types diff --git a/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationSqliteTest.cs b/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationSqliteTest.cs index acb582a9958..a84143fffec 100644 --- a/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationSqliteTest.cs +++ b/test/EFCore.Sqlite.FunctionalTests/Update/StoreValueGenerationSqliteTest.cs @@ -31,11 +31,13 @@ public override async Task Add_with_generated_values(bool async) await base.Add_with_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' -INSERT INTO ""WithSomeDatabaseGenerated"" (""Data2"") +INSERT INTO "WithSomeDatabaseGenerated" ("Data2") VALUES (@p0) -RETURNING ""Id"", ""Data1"";"); +RETURNING "Id", "Data1"; +"""); } public override async Task Add_with_no_generated_values(bool async) @@ -43,12 +45,14 @@ public override async Task Add_with_no_generated_values(bool async) await base.Add_with_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' -INSERT INTO ""WithNoDatabaseGenerated"" (""Id"", ""Data1"", ""Data2"") -VALUES (@p0, @p1, @p2);"); +INSERT INTO "WithNoDatabaseGenerated" ("Id", "Data1", "Data2") +VALUES (@p0, @p1, @p2); +"""); } public override async Task Add_with_all_generated_values(bool async) @@ -56,9 +60,11 @@ public override async Task Add_with_all_generated_values(bool async) await base.Add_with_all_generated_values(async); AssertSql( - @"INSERT INTO ""WithAllDatabaseGenerated"" +""" +INSERT INTO "WithAllDatabaseGenerated" DEFAULT VALUES -RETURNING ""Id"", ""Data1"", ""Data2"";"); +RETURNING "Id", "Data1", "Data2"; +"""); } public override async Task Modify_with_generated_values(bool async) @@ -66,12 +72,14 @@ public override async Task Modify_with_generated_values(bool async) await base.Modify_with_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' -UPDATE ""WithSomeDatabaseGenerated"" SET ""Data2"" = @p0 -WHERE ""Id"" = @p1 -RETURNING ""Data1"";"); +UPDATE "WithSomeDatabaseGenerated" SET "Data2" = @p0 +WHERE "Id" = @p1 +RETURNING "Data1"; +"""); } public override async Task Modify_with_no_generated_values(bool async) @@ -79,13 +87,15 @@ public override async Task Modify_with_no_generated_values(bool async) await base.Modify_with_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' -UPDATE ""WithNoDatabaseGenerated"" SET ""Data1"" = @p0, ""Data2"" = @p1 -WHERE ""Id"" = @p2 -RETURNING 1;"); +UPDATE "WithNoDatabaseGenerated" SET "Data1" = @p0, "Data2" = @p1 +WHERE "Id" = @p2 +RETURNING 1; +"""); } public override async Task Delete(bool async) @@ -93,11 +103,13 @@ public override async Task Delete(bool async) await base.Delete(async); AssertSql( - @"@p0='1' +""" +@p0='1' -DELETE FROM ""WithSomeDatabaseGenerated"" -WHERE ""Id"" = @p0 -RETURNING 1;"); +DELETE FROM "WithSomeDatabaseGenerated" +WHERE "Id" = @p0 +RETURNING 1; +"""); } #endregion Single operation @@ -109,17 +121,21 @@ public override async Task Add_Add_with_same_entity_type_and_generated_values(bo await base.Add_Add_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' -INSERT INTO ""WithSomeDatabaseGenerated"" (""Data2"") +INSERT INTO "WithSomeDatabaseGenerated" ("Data2") VALUES (@p0) -RETURNING ""Id"", ""Data1"";", +RETURNING "Id", "Data1"; +""", // - @"@p0='1001' +""" +@p0='1001' -INSERT INTO ""WithSomeDatabaseGenerated"" (""Data2"") +INSERT INTO "WithSomeDatabaseGenerated" ("Data2") VALUES (@p0) -RETURNING ""Id"", ""Data1"";"); +RETURNING "Id", "Data1"; +"""); } public override async Task Add_Add_with_same_entity_type_and_no_generated_values(bool async) @@ -127,19 +143,23 @@ public override async Task Add_Add_with_same_entity_type_and_no_generated_values await base.Add_Add_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' -INSERT INTO ""WithNoDatabaseGenerated"" (""Id"", ""Data1"", ""Data2"") -VALUES (@p0, @p1, @p2);", +INSERT INTO "WithNoDatabaseGenerated" ("Id", "Data1", "Data2") +VALUES (@p0, @p1, @p2); +""", // - @"@p0='101' +""" +@p0='101' @p1='1001' @p2='1001' -INSERT INTO ""WithNoDatabaseGenerated"" (""Id"", ""Data1"", ""Data2"") -VALUES (@p0, @p1, @p2);"); +INSERT INTO "WithNoDatabaseGenerated" ("Id", "Data1", "Data2") +VALUES (@p0, @p1, @p2); +"""); } public override async Task Add_Add_with_same_entity_type_and_all_generated_values(bool async) @@ -147,13 +167,17 @@ public override async Task Add_Add_with_same_entity_type_and_all_generated_value await base.Add_Add_with_same_entity_type_and_all_generated_values(async); AssertSql( - @"INSERT INTO ""WithAllDatabaseGenerated"" +""" +INSERT INTO "WithAllDatabaseGenerated" DEFAULT VALUES -RETURNING ""Id"", ""Data1"", ""Data2"";", +RETURNING "Id", "Data1", "Data2"; +""", // - @"INSERT INTO ""WithAllDatabaseGenerated"" +""" +INSERT INTO "WithAllDatabaseGenerated" DEFAULT VALUES -RETURNING ""Id"", ""Data1"", ""Data2"";"); +RETURNING "Id", "Data1", "Data2"; +"""); } public override async Task Modify_Modify_with_same_entity_type_and_generated_values(bool async) @@ -161,19 +185,23 @@ public override async Task Modify_Modify_with_same_entity_type_and_generated_val await base.Modify_Modify_with_same_entity_type_and_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' -UPDATE ""WithSomeDatabaseGenerated"" SET ""Data2"" = @p0 -WHERE ""Id"" = @p1 -RETURNING ""Data1"";", +UPDATE "WithSomeDatabaseGenerated" SET "Data2" = @p0 +WHERE "Id" = @p1 +RETURNING "Data1"; +""", // - @"@p1='2' +""" +@p1='2' @p0='1001' -UPDATE ""WithSomeDatabaseGenerated"" SET ""Data2"" = @p0 -WHERE ""Id"" = @p1 -RETURNING ""Data1"";"); +UPDATE "WithSomeDatabaseGenerated" SET "Data2" = @p0 +WHERE "Id" = @p1 +RETURNING "Data1"; +"""); } public override async Task Modify_Modify_with_same_entity_type_and_no_generated_values(bool async) @@ -181,21 +209,25 @@ public override async Task Modify_Modify_with_same_entity_type_and_no_generated_ await base.Modify_Modify_with_same_entity_type_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' -UPDATE ""WithNoDatabaseGenerated"" SET ""Data1"" = @p0, ""Data2"" = @p1 -WHERE ""Id"" = @p2 -RETURNING 1;", +UPDATE "WithNoDatabaseGenerated" SET "Data1" = @p0, "Data2" = @p1 +WHERE "Id" = @p2 +RETURNING 1; +""", // - @"@p2='2' +""" +@p2='2' @p0='1001' @p1='1001' -UPDATE ""WithNoDatabaseGenerated"" SET ""Data1"" = @p0, ""Data2"" = @p1 -WHERE ""Id"" = @p2 -RETURNING 1;"); +UPDATE "WithNoDatabaseGenerated" SET "Data1" = @p0, "Data2" = @p1 +WHERE "Id" = @p2 +RETURNING 1; +"""); } public override async Task Delete_Delete_with_same_entity_type(bool async) @@ -203,17 +235,21 @@ public override async Task Delete_Delete_with_same_entity_type(bool async) await base.Delete_Delete_with_same_entity_type(async); AssertSql( - @"@p0='1' +""" +@p0='1' -DELETE FROM ""WithSomeDatabaseGenerated"" -WHERE ""Id"" = @p0 -RETURNING 1;", +DELETE FROM "WithSomeDatabaseGenerated" +WHERE "Id" = @p0 +RETURNING 1; +""", // - @"@p0='2' +""" +@p0='2' -DELETE FROM ""WithSomeDatabaseGenerated"" -WHERE ""Id"" = @p0 -RETURNING 1;"); +DELETE FROM "WithSomeDatabaseGenerated" +WHERE "Id" = @p0 +RETURNING 1; +"""); } #endregion Same two operations with same entity type @@ -225,17 +261,21 @@ public override async Task Add_Add_with_different_entity_types_and_generated_val await base.Add_Add_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p0='1000' +""" +@p0='1000' -INSERT INTO ""WithSomeDatabaseGenerated"" (""Data2"") +INSERT INTO "WithSomeDatabaseGenerated" ("Data2") VALUES (@p0) -RETURNING ""Id"", ""Data1"";", +RETURNING "Id", "Data1"; +""", // - @"@p0='1001' +""" +@p0='1001' -INSERT INTO ""WithSomeDatabaseGenerated2"" (""Data2"") +INSERT INTO "WithSomeDatabaseGenerated2" ("Data2") VALUES (@p0) -RETURNING ""Id"", ""Data1"";"); +RETURNING "Id", "Data1"; +"""); } public override async Task Add_Add_with_different_entity_types_and_no_generated_values(bool async) @@ -243,19 +283,23 @@ public override async Task Add_Add_with_different_entity_types_and_no_generated_ await base.Add_Add_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p0='100' +""" +@p0='100' @p1='1000' @p2='1000' -INSERT INTO ""WithNoDatabaseGenerated"" (""Id"", ""Data1"", ""Data2"") -VALUES (@p0, @p1, @p2);", +INSERT INTO "WithNoDatabaseGenerated" ("Id", "Data1", "Data2") +VALUES (@p0, @p1, @p2); +""", // - @"@p0='101' +""" +@p0='101' @p1='1001' @p2='1001' -INSERT INTO ""WithNoDatabaseGenerated2"" (""Id"", ""Data1"", ""Data2"") -VALUES (@p0, @p1, @p2);"); +INSERT INTO "WithNoDatabaseGenerated2" ("Id", "Data1", "Data2") +VALUES (@p0, @p1, @p2); +"""); } public override async Task Add_Add_with_different_entity_types_and_all_generated_values(bool async) @@ -263,13 +307,17 @@ public override async Task Add_Add_with_different_entity_types_and_all_generated await base.Add_Add_with_different_entity_types_and_all_generated_values(async); AssertSql( - @"INSERT INTO ""WithAllDatabaseGenerated"" +""" +INSERT INTO "WithAllDatabaseGenerated" DEFAULT VALUES -RETURNING ""Id"", ""Data1"", ""Data2"";", +RETURNING "Id", "Data1", "Data2"; +""", // - @"INSERT INTO ""WithAllDatabaseGenerated2"" +""" +INSERT INTO "WithAllDatabaseGenerated2" DEFAULT VALUES -RETURNING ""Id"", ""Data1"", ""Data2"";"); +RETURNING "Id", "Data1", "Data2"; +"""); } public override async Task Modify_Modify_with_different_entity_types_and_generated_values(bool async) @@ -277,19 +325,23 @@ public override async Task Modify_Modify_with_different_entity_types_and_generat await base.Modify_Modify_with_different_entity_types_and_generated_values(async); AssertSql( - @"@p1='1' +""" +@p1='1' @p0='1000' -UPDATE ""WithSomeDatabaseGenerated"" SET ""Data2"" = @p0 -WHERE ""Id"" = @p1 -RETURNING ""Data1"";", +UPDATE "WithSomeDatabaseGenerated" SET "Data2" = @p0 +WHERE "Id" = @p1 +RETURNING "Data1"; +""", // - @"@p1='2' +""" +@p1='2' @p0='1001' -UPDATE ""WithSomeDatabaseGenerated2"" SET ""Data2"" = @p0 -WHERE ""Id"" = @p1 -RETURNING ""Data1"";"); +UPDATE "WithSomeDatabaseGenerated2" SET "Data2" = @p0 +WHERE "Id" = @p1 +RETURNING "Data1"; +"""); } public override async Task Modify_Modify_with_different_entity_types_and_no_generated_values(bool async) @@ -297,21 +349,25 @@ public override async Task Modify_Modify_with_different_entity_types_and_no_gene await base.Modify_Modify_with_different_entity_types_and_no_generated_values(async); AssertSql( - @"@p2='1' +""" +@p2='1' @p0='1000' @p1='1000' -UPDATE ""WithNoDatabaseGenerated"" SET ""Data1"" = @p0, ""Data2"" = @p1 -WHERE ""Id"" = @p2 -RETURNING 1;", +UPDATE "WithNoDatabaseGenerated" SET "Data1" = @p0, "Data2" = @p1 +WHERE "Id" = @p2 +RETURNING 1; +""", // - @"@p2='2' +""" +@p2='2' @p0='1001' @p1='1001' -UPDATE ""WithNoDatabaseGenerated2"" SET ""Data1"" = @p0, ""Data2"" = @p1 -WHERE ""Id"" = @p2 -RETURNING 1;"); +UPDATE "WithNoDatabaseGenerated2" SET "Data1" = @p0, "Data2" = @p1 +WHERE "Id" = @p2 +RETURNING 1; +"""); } public override async Task Delete_Delete_with_different_entity_types(bool async) @@ -319,17 +375,21 @@ public override async Task Delete_Delete_with_different_entity_types(bool async) await base.Delete_Delete_with_different_entity_types(async); AssertSql( - @"@p0='1' +""" +@p0='1' -DELETE FROM ""WithSomeDatabaseGenerated"" -WHERE ""Id"" = @p0 -RETURNING 1;", +DELETE FROM "WithSomeDatabaseGenerated" +WHERE "Id" = @p0 +RETURNING 1; +""", // - @"@p0='2' +""" +@p0='2' -DELETE FROM ""WithSomeDatabaseGenerated2"" -WHERE ""Id"" = @p0 -RETURNING 1;"); +DELETE FROM "WithSomeDatabaseGenerated2" +WHERE "Id" = @p0 +RETURNING 1; +"""); } #endregion Same two operations with different entity types